@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,392 lines (1,391 loc) • 22.4 kB
JSON
{
"version": "0.1.0",
"name": "zebec",
"instructions": [
{
"name": "createFeeAccount",
"accounts": [
{
"name": "feeVault",
"isMut": true,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "feePercentage",
"type": "u64"
}
]
},
{
"name": "withdrawFeesToken",
"accounts": [
{
"name": "feeOwner",
"isMut": true,
"isSigner": true
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "feeReceiverVaultTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwnerTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "withdrawFeesSol",
"accounts": [
{
"name": "feeOwner",
"isMut": true,
"isSigner": true
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "updateFees",
"accounts": [
{
"name": "feeVault",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "feePercentage",
"type": "u64"
}
]
},
{
"name": "depositSol",
"accounts": [
{
"name": "zebecVault",
"isMut": true,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "nativeStream",
"accounts": [
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": false,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "receiver",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "startTime",
"type": "u64"
},
{
"name": "endTime",
"type": "u64"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "canCancel",
"type": "bool"
},
{
"name": "canUpdate",
"type": "bool"
}
]
},
{
"name": "nativeStreamUpdate",
"accounts": [
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "receiver",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "startTime",
"type": "u64"
},
{
"name": "endTime",
"type": "u64"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "withdrawStream",
"accounts": [
{
"name": "zebecVault",
"isMut": true,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": false
},
{
"name": "receiver",
"isMut": true,
"isSigner": true
},
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "pauseStream",
"accounts": [
{
"name": "sender",
"isMut": false,
"isSigner": true
},
{
"name": "receiver",
"isMut": false,
"isSigner": false
},
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "cancelStream",
"accounts": [
{
"name": "zebecVault",
"isMut": true,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "receiver",
"isMut": true,
"isSigner": false
},
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": []
},
{
"name": "instantNativeTransfer",
"accounts": [
{
"name": "zebecVault",
"isMut": true,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "receiver",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "nativeWithdrawal",
"accounts": [
{
"name": "zebecVault",
"isMut": true,
"isSigner": false
},
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "sendSolDirectly",
"accounts": [
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "receiver",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "depositToken",
"accounts": [
{
"name": "zebecVault",
"isMut": true,
"isSigner": false
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "sourceAccountTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "pdaAccountTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "tokenStream",
"accounts": [
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": false,
"isSigner": false
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "destAccount",
"isMut": false,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "startTime",
"type": "u64"
},
{
"name": "endTime",
"type": "u64"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "canCancel",
"type": "bool"
},
{
"name": "canUpdate",
"type": "bool"
}
]
},
{
"name": "tokenStreamUpdate",
"accounts": [
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "destAccount",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
}
],
"args": [
{
"name": "startTime",
"type": "u64"
},
{
"name": "endTime",
"type": "u64"
},
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "withdrawTokenStream",
"accounts": [
{
"name": "zebecVault",
"isMut": false,
"isSigner": false
},
{
"name": "destAccount",
"isMut": true,
"isSigner": true
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": false
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": false,
"isSigner": false
},
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "pdaAccountTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "destTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "feeReceiverTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "pauseResumeTokenStream",
"accounts": [
{
"name": "sender",
"isMut": true,
"isSigner": true
},
{
"name": "receiver",
"isMut": false,
"isSigner": false
},
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "cancelTokenStream",
"accounts": [
{
"name": "zebecVault",
"isMut": false,
"isSigner": false
},
{
"name": "destAccount",
"isMut": true,
"isSigner": false
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "feeOwner",
"isMut": false,
"isSigner": false
},
{
"name": "feeVaultData",
"isMut": false,
"isSigner": false
},
{
"name": "feeVault",
"isMut": false,
"isSigner": false
},
{
"name": "dataAccount",
"isMut": true,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "pdaAccountTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "destTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "feeReceiverTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": []
},
{
"name": "instantTokenTransfer",
"accounts": [
{
"name": "zebecVault",
"isMut": false,
"isSigner": false
},
{
"name": "destAccount",
"isMut": true,
"isSigner": false
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "pdaAccountTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "destTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "tokenWithdrawal",
"accounts": [
{
"name": "zebecVault",
"isMut": false,
"isSigner": false
},
{
"name": "withdrawData",
"isMut": true,
"isSigner": false
},
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "sourceAccountTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "pdaAccountTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
},
{
"name": "sendTokenDirectly",
"accounts": [
{
"name": "sourceAccount",
"isMut": true,
"isSigner": true
},
{
"name": "destAccount",
"isMut": true,
"isSigner": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false
},
{
"name": "tokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "associatedTokenProgram",
"isMut": false,
"isSigner": false
},
{
"name": "rent",
"isMut": false,
"isSigner": false
},
{
"name": "mint",
"isMut": false,
"isSigner": false
},
{
"name": "sourceAccountTokenAccount",
"isMut": true,
"isSigner": false
},
{
"name": "destTokenAccount",
"isMut": true,
"isSigner": false
}
],
"args": [
{
"name": "amount",
"type": "u64"
}
]
}
],
"accounts": [
{
"name": "FeeVaultData",
"type": {
"kind": "struct",
"fields": [
{
"name": "feeVaultAddress",
"type": "publicKey"
},
{
"name": "feeOwner",
"type": "publicKey"
},
{
"name": "feePercentage",
"type": "u64"
}
]
}
},
{
"name": "Stream",
"type": {
"kind": "struct",
"fields": [
{
"name": "startTime",
"type": "u64"
},
{
"name": "endTime",
"type": "u64"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "paused",
"type": "u64"
},
{
"name": "withdrawLimit",
"type": "u64"
},
{
"name": "sender",
"type": "publicKey"
},
{
"name": "receiver",
"type": "publicKey"
},
{
"name": "withdrawn",
"type": "u64"
},
{
"name": "pausedAt",
"type": "u64"
},
{
"name": "feeOwner",
"type": "publicKey"
},
{
"name": "feePercentage",
"type": "u64"
},
{
"name": "pausedAmt",
"type": "u64"
},
{
"name": "canCancel",
"type": "bool"
},
{
"name": "canUpdate",
"type": "bool"
}
]
}
},
{
"name": "SolWithdraw",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
}
]
}
},
{
"name": "StreamToken",
"type": {
"kind": "struct",
"fields": [
{
"name": "startTime",
"type": "u64"
},
{
"name": "endTime",
"type": "u64"
},
{
"name": "paused",
"type": "u64"
},
{
"name": "withdrawLimit",
"type": "u64"
},
{
"name": "amount",
"type": "u64"
},
{
"name": "sender",
"type": "publicKey"
},
{
"name": "receiver",
"type": "publicKey"
},
{
"name": "tokenMint",
"type": "publicKey"
},
{
"name": "withdrawn",
"type": "u64"
},
{
"name": "pausedAt",
"type": "u64"
},
{
"name": "feeOwner",
"type": "publicKey"
},
{
"name": "feePercentage",
"type": "u64"
},
{
"name": "pausedAmt",
"type": "u64"
},
{
"name": "canCancel",
"type": "bool"
},
{
"name": "canUpdate",
"type": "bool"
}
]
}
},
{
"name": "TokenWithdraw",
"type": {
"kind": "struct",
"fields": [
{
"name": "amount",
"type": "u64"
}
]
}
}
],
"errors": [
{
"code": 6000,
"name": "NotRentExempt",
"msg": "Lamport balance below rent-exempt threshold"
},
{
"code": 6001,
"name": "EscrowMismatch",
"msg": "Account not associated with this Escrow"
},
{
"code": 6002,
"name": "OwnerMismatch",
"msg": "Owner does not match"
},
{
"code": 6003,
"name": "InvalidInstruction",
"msg": "Invalid instruction"
},
{
"code": 6004,
"name": "TimeEnd",
"msg": "Time has already passed"
},
{
"code": 6005,
"name": "StartTimeOverFlow",
"msg": "Start time cannot be equal to end time"
},
{
"code": 6006,
"name": "AlreadyCancel",
"msg": "Stream already cancelled"
},
{
"code": 6007,
"name": "AlreadyWithdrawn",
"msg": "Paused stream, streamed amount already withdrawn"
},
{
"code": 6008,
"name": "Overflow",
"msg": "Operation overflowed"
},
{
"code": 6009,
"name": "PublicKeyMismatch",
"msg": "Public key mismatched"
},
{
"code": 6010,
"name": "AlreadyPaused",
"msg": "Transaction is already paused"
},
{
"code": 6011,
"name": "AlreadyResumed",
"msg": "Transaction is not paused"
},
{
"code": 6012,
"name": "StreamAlreadyCreated",
"msg": "Stream Already Created"
},
{
"code": 6013,
"name": "StreamNotStarted",
"msg": "Stream has not been started"
},
{
"code": 6014,
"name": "StreamAlreadyCompleted",
"msg": "Stream already completed"
},
{
"code": 6015,
"name": "StreamedAmt",
"msg": "Cannot withdraw streaming amount"
},
{
"code": 6016,
"name": "CancelNotAllowed",
"msg": "Cannot cancel this transaction"
},
{
"code": 6017,
"name": "InsufficientFunds",
"msg": "An account's balance was too small to complete the instruction"
},
{
"code": 6018,
"name": "AlreadyWithdrawnStreamingAmount",
"msg": "Already Withdrawn streamed amount"
},
{
"code": 6019,
"name": "NumericalOverflow",
"msg": "NumericalOverflow"
},
{
"code": 6020,
"name": "PausedAmountExceeds",
"msg": "PausedAmountExceeds"
},
{
"code": 6021,
"name": "StreamAlreadyStarted",
"msg": "StreamAlreadyStarted"
},
{
"code": 6022,
"name": "UpdateNotAllowed",
"msg": "UpdateNotAllowed"
},
{
"code": 6023,
"name": "OutOfBound",
"msg": "OutOfBound"
}
]
}