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,485 lines (1,484 loc) 28.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IDL = void 0; const IDL = { 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" }] }; exports.IDL = IDL; //# sourceMappingURL=solana_project.js.map