UNPKG

@lucoadam/zebec-wormhole-sdk

Version:

This sdk can be use to transfer assets across chains and to interact with the Zebec's xchain bridge smart contracts for passing message from EVM chain to solana specially to utilize the features of Zebec Streaming and Zebec Multisig Streaming protocol.

1,921 lines (1,920 loc) 30.4 kB
{ "version": "0.1.0", "name": "solana_project", "instructions": [ { "name": "initialize", "accounts": [ { "name": "config", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "registerChain", "accounts": [ { "name": "owner", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "config", "isMut": false, "isSigner": false }, { "name": "emitterAcc", "isMut": true, "isSigner": false } ], "args": [ { "name": "chainId", "type": "u16" }, { "name": "emitterAddr", "type": "string" } ] }, { "name": "storeMsg", "accounts": [ { "name": "payer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "processedVaa", "isMut": true, "isSigner": false }, { "name": "emitterAcc", "isMut": false, "isSigner": false }, { "name": "coreBridgeVaa", "isMut": false, "isSigner": false, "docs": ["This requires some fancy hashing, so confirm it's derived address in the function itself."] }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false } ], "args": [ { "name": "currentCount", "type": "u8" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "transactionDeposit", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "chainId", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "createTransactionStream", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "transactionStreamUpdate", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "chainId", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "transactionPauseResume", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "chainId", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "createTransactionReceiverWithdraw", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "createTransactionCancel", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "createTransactionSenderWithdraw", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "createTransactionInstantTransfer", "accounts": [ { "name": "transaction", "isMut": true, "isSigner": true }, { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false } ], "args": [ { "name": "pid", "type": "publicKey" }, { "name": "accs", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "sender", "type": { "array": ["u8", 32] } } ] }, { "name": "transactionDirectTransferNative", "accounts": [ { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false }, { "name": "config", "isMut": true, "isSigner": false }, { "name": "portalConfig", "isMut": true, "isSigner": false }, { "name": "from", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": true, "isSigner": false }, { "name": "portalCustody", "isMut": true, "isSigner": false }, { "name": "portalAuthoritySigner", "isMut": false, "isSigner": false }, { "name": "portalCustodySigner", "isMut": false, "isSigner": false }, { "name": "bridgeConfig", "isMut": true, "isSigner": false }, { "name": "portalMessage", "isMut": true, "isSigner": true }, { "name": "portalEmitter", "isMut": true, "isSigner": false }, { "name": "portalSequence", "isMut": true, "isSigner": false }, { "name": "bridgeFeeCollector", "isMut": true, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "portalBridgeProgram", "isMut": false, "isSigner": false }, { "name": "coreBridgeProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "sender", "type": { "array": ["u8", 32] } }, { "name": "chainId", "type": "bytes" }, { "name": "targetChain", "type": "u16" }, { "name": "fee", "type": "u64" } ] }, { "name": "transactionDirectTransferWrapped", "accounts": [ { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false }, { "name": "config", "isMut": true, "isSigner": false }, { "name": "from", "isMut": true, "isSigner": false }, { "name": "portalConfig", "isMut": true, "isSigner": false }, { "name": "wrappedMint", "isMut": true, "isSigner": false }, { "name": "wrappedMeta", "isMut": true, "isSigner": false }, { "name": "portalAuthoritySigner", "isMut": false, "isSigner": false }, { "name": "bridgeConfig", "isMut": true, "isSigner": false }, { "name": "portalMessage", "isMut": true, "isSigner": true }, { "name": "portalEmitter", "isMut": true, "isSigner": false }, { "name": "portalSequence", "isMut": true, "isSigner": false }, { "name": "bridgeFeeCollector", "isMut": true, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "portalBridgeProgram", "isMut": false, "isSigner": false }, { "name": "coreBridgeProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "sender", "type": { "array": ["u8", 32] } }, { "name": "senderChain", "type": "bytes" }, { "name": "tokenAddress", "type": "bytes" }, { "name": "tokenChain", "type": "u16" }, { "name": "currentCount", "type": "u8" }, { "name": "targetChain", "type": "u16" }, { "name": "fee", "type": "u64" } ] }, { "name": "executeTransaction", "accounts": [ { "name": "pdaSigner", "isMut": true, "isSigner": false, "docs": ["if different seeds passed the signature will not match"] }, { "name": "transaction", "isMut": true, "isSigner": false } ], "args": [ { "name": "ethAdd", "type": { "array": ["u8", 32] } }, { "name": "fromChainId", "type": "bytes" } ] }, { "name": "transferWrapped", "accounts": [ { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false }, { "name": "config", "isMut": true, "isSigner": false }, { "name": "from", "isMut": true, "isSigner": false }, { "name": "portalConfig", "isMut": true, "isSigner": false }, { "name": "wrappedMint", "isMut": true, "isSigner": false }, { "name": "wrappedMeta", "isMut": true, "isSigner": false }, { "name": "portalAuthoritySigner", "isMut": false, "isSigner": false }, { "name": "bridgeConfig", "isMut": true, "isSigner": false }, { "name": "portalMessage", "isMut": true, "isSigner": true }, { "name": "portalEmitter", "isMut": true, "isSigner": false }, { "name": "portalSequence", "isMut": true, "isSigner": false }, { "name": "bridgeFeeCollector", "isMut": true, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "portalBridgeProgram", "isMut": false, "isSigner": false }, { "name": "coreBridgeProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "sender", "type": "bytes" }, { "name": "senderChain", "type": "bytes" }, { "name": "targetChain", "type": "u16" }, { "name": "fee", "type": "u64" }, { "name": "receiver", "type": "bytes" } ] }, { "name": "transferNative", "accounts": [ { "name": "zebecEoa", "isMut": true, "isSigner": true }, { "name": "dataStorage", "isMut": true, "isSigner": false }, { "name": "txnCount", "isMut": true, "isSigner": false }, { "name": "pdaSigner", "isMut": true, "isSigner": false }, { "name": "config", "isMut": true, "isSigner": false }, { "name": "portalConfig", "isMut": true, "isSigner": false }, { "name": "from", "isMut": true, "isSigner": false }, { "name": "mint", "isMut": true, "isSigner": false }, { "name": "portalCustody", "isMut": true, "isSigner": false }, { "name": "portalAuthoritySigner", "isMut": false, "isSigner": false }, { "name": "portalCustodySigner", "isMut": false, "isSigner": false }, { "name": "bridgeConfig", "isMut": true, "isSigner": false }, { "name": "portalMessage", "isMut": true, "isSigner": true }, { "name": "portalEmitter", "isMut": true, "isSigner": false }, { "name": "portalSequence", "isMut": true, "isSigner": false }, { "name": "bridgeFeeCollector", "isMut": true, "isSigner": false }, { "name": "clock", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "portalBridgeProgram", "isMut": false, "isSigner": false }, { "name": "coreBridgeProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "sender", "type": { "array": ["u8", 32] } }, { "name": "senderChain", "type": "bytes" }, { "name": "targetChain", "type": "u16" }, { "name": "fee", "type": "u64" }, { "name": "receiver", "type": "bytes" } ] } ], "accounts": [ { "name": "Config", "type": { "kind": "struct", "fields": [ { "name": "owner", "type": "publicKey" }, { "name": "nonce", "type": "u32" } ] } }, { "name": "EmitterAddrAccount", "type": { "kind": "struct", "fields": [ { "name": "chainId", "type": "u16" }, { "name": "emitterAddr", "type": "string" } ] } }, { "name": "ProcessedVAA", "type": { "kind": "struct", "fields": [] } }, { "name": "Transaction", "type": { "kind": "struct", "fields": [ { "name": "programId", "type": "publicKey" }, { "name": "accounts", "type": { "vec": { "defined": "TransactionAccount" } } }, { "name": "data", "type": "bytes" }, { "name": "didExecute", "type": "bool" } ] } }, { "name": "TransactionData", "type": { "kind": "struct", "fields": [ { "name": "sender", "type": "bytes" }, { "name": "receiver", "type": "bytes" }, { "name": "dataAccount", "type": "publicKey" }, { "name": "fromChainId", "type": "u64" }, { "name": "tokenMint", "type": "publicKey" }, { "name": "amount", "type": "u64" }, { "name": "startTime", "type": "u64" }, { "name": "endTime", "type": "u64" }, { "name": "canUpdate", "type": "bool" }, { "name": "canCancel", "type": "bool" } ] } }, { "name": "Count", "type": { "kind": "struct", "fields": [ { "name": "count", "type": "u8" } ] } } ], "types": [ { "name": "TransferWrappedData", "type": { "kind": "struct", "fields": [ { "name": "nonce", "type": "u32" }, { "name": "amount", "type": "u64" }, { "name": "fee", "type": "u64" }, { "name": "targetAddress", "type": { "array": ["u8", 32] } }, { "name": "targetChain", "type": "u16" } ] } }, { "name": "TransferNativeData", "type": { "kind": "struct", "fields": [ { "name": "nonce", "type": "u32" }, { "name": "amount", "type": "u64" }, { "name": "fee", "type": "u64" }, { "name": "targetAddress", "type": { "array": ["u8", 32] } }, { "name": "targetChain", "type": "u16" } ] } }, { "name": "TransactionAccount", "type": { "kind": "struct", "fields": [ { "name": "pubkey", "type": "publicKey" }, { "name": "isSigner", "type": "bool" }, { "name": "isWritable", "type": "bool" } ] } }, { "name": "PostMessageData", "type": { "kind": "struct", "fields": [ { "name": "nonce", "docs": ["Unique nonce for this message"], "type": "u32" }, { "name": "payload", "docs": ["Message payload"], "type": "bytes" }, { "name": "consistencyLevel", "docs": ["Commitment Level required for an attestation to be produced"], "type": { "defined": "ConsistencyLevel" } } ] } }, { "name": "BridgeData", "type": { "kind": "struct", "fields": [ { "name": "guardianSetIndex", "docs": ["The current guardian set index, used to decide which signature sets to accept."], "type": "u32" }, { "name": "lastLamports", "docs": ["Lamports in the collection account"], "type": "u64" }, { "name": "config", "docs": ["Bridge configuration, which is set once upon initialization."], "type": { "defined": "BridgeConfig" } } ] } }, { "name": "BridgeConfig", "type": { "kind": "struct", "fields": [ { "name": "guardianSetExpirationTime", "docs": [ "Period for how long a guardian set is valid after it has been replaced by a new one. This", "guarantees that VAAs issued by that set can still be submitted for a certain period. In", "this period we still trust the old guardian set." ], "type": "u32" }, { "name": "fee", "docs": ["Amount of lamports that needs to be paid to the protocol to post a message"], "type": "u64" } ] } }, { "name": "Instruction", "type": { "kind": "enum", "variants": [ { "name": "Initialize" }, { "name": "AttestToken" }, { "name": "CompleteNative" }, { "name": "CompleteWrapped" }, { "name": "TransferWrapped" }, { "name": "TransferNative" }, { "name": "RegisterChain" }, { "name": "CreateWrapped" }, { "name": "UpgradeContract" }, { "name": "CompleteNativeWithPayload" }, { "name": "CompleteWrappedWithPayload" }, { "name": "TransferWrappedWithPayload" }, { "name": "TransferNativeWithPayload" } ] } }, { "name": "PortalError", "type": { "kind": "enum", "variants": [ { "name": "CustomZeroError" } ] } }, { "name": "ConsistencyLevel", "type": { "kind": "enum", "variants": [ { "name": "Confirmed" }, { "name": "Finalized" } ] } }, { "name": "Instruction", "type": { "kind": "enum", "variants": [ { "name": "Initialize" }, { "name": "PostMessage" }, { "name": "PostVAA" }, { "name": "SetFees" }, { "name": "TransferFees" }, { "name": "UpgradeContract" }, { "name": "UpgradeGuardianSet" }, { "name": "VerifySignatures" } ] } } ], "events": [ { "name": "Initialized", "fields": [ { "name": "owner", "type": "publicKey", "index": false }, { "name": "nonce", "type": "u32", "index": false } ] }, { "name": "RegisteredChain", "fields": [ { "name": "chainId", "type": "u16", "index": false }, { "name": "emitterAddr", "type": "string", "index": false } ] }, { "name": "StoredMsg", "fields": [ { "name": "msgType", "type": "u64", "index": false }, { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "count", "type": "u8", "index": false } ] }, { "name": "Deposited", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "StreamUpdated", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "PausedResumed", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "DirectTransferredNative", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "senderChain", "type": "bytes", "index": false }, { "name": "targetChain", "type": "u16", "index": false }, { "name": "receiver", "type": "bytes", "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "DirectTransferredWrapped", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "senderChain", "type": "bytes", "index": false }, { "name": "targetChain", "type": "u16", "index": false }, { "name": "receiver", "type": "bytes", "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "StreamCreated", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "CancelCreated", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "SenderWithdrawCreated", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "InstantTransferCreated", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "ReceiverWithdrawCreated", "fields": [ { "name": "sender", "type": { "array": ["u8", 32] }, "index": false }, { "name": "currentCount", "type": "u8", "index": false } ] }, { "name": "ExecutedTransaction", "fields": [ { "name": "fromChainId", "type": "bytes", "index": false }, { "name": "ethAdd", "type": { "array": ["u8", 32] }, "index": false }, { "name": "transaction", "type": "publicKey", "index": false } ] } ], "errors": [ { "code": 6000, "name": "VAAKeyMismatch", "msg": "Posted VAA Key Mismatch" }, { "code": 6001, "name": "VAAEmitterMismatch", "msg": "Posted VAA Emitter Chain ID or Address Mismatch" }, { "code": 6002, "name": "InvalidSenderWallet", "msg": "Sender Wallet Mismatch" }, { "code": 6003, "name": "AlreadyExecuted", "msg": "The given transaction has already been executed." }, { "code": 6004, "name": "InvalidCPI", "msg": "Invalid CPI" }, { "code": 6005, "name": "InvalidCaller", "msg": "Invalid Caller" }, { "code": 6006, "name": "Overflow", "msg": "Overflow" }, { "code": 6007, "name": "InvalidPayload", "msg": "Invalid Payload" }, { "code": 6008, "name": "InvalidEmitterAddress", "msg": "Invalid Emitter Address Provided" }, { "code": 6009, "name": "CountMismatch", "msg": "Invalid Count" }, { "code": 6010, "name": "MintKeyMismatch", "msg": "Invalid Mint Key" }, { "code": 6011, "name": "PdaSenderMismatch", "msg": "Invalid Pda Sender" }, { "code": 6012, "name": "PdaReceiverMismatch", "msg": "Invalid Pda Receiver" }, { "code": 6013, "name": "SenderDerivedKeyMismatch", "msg": "Invalid Sender Derived Public Key" }, { "code": 6014, "name": "ReceiverDerivedKeyMismatch", "msg": "Invalid Receiver Derived Public Key" }, { "code": 6015, "name": "AmountMismatch", "msg": "Invalid Amount" }, { "code": 6016, "name": "StartTimeMismatch", "msg": "Invalid Start Time" }, { "code": 6017, "name": "EndTimeMismatch", "msg": "Invalid End Time" }, { "code": 6018, "name": "CanCancelMismatch", "msg": "Invalid Can Cancel" }, { "code": 6019, "name": "CanUpdateMismatch", "msg": "Invalid Can Update" }, { "code": 6020, "name": "DataAccountMismatch", "msg": "Invalid Data Account" } ] }