UNPKG

solace-sdk

Version:

SDK to interact with the Solace Program

1,005 lines (1,004 loc) 29.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IDL = void 0; exports.IDL = { "version": "0.1.0", "name": "solace", "instructions": [ { "name": "createWallet", "accounts": [ { "name": "signer", "isMut": true, "isSigner": true }, { "name": "rentPayer", "isMut": true, "isSigner": true }, { "name": "wallet", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "const", "type": "string", "value": "SOLACE" }, { "kind": "arg", "type": "string", "path": "name" } ] } }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "owner", "type": "publicKey" }, { "name": "guardianKeys", "type": { "vec": "publicKey" } }, { "name": "name", "type": "string" } ] }, { "name": "endIncubation", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true } ], "args": [] }, { "name": "requestInstantSplTransfer", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": true, "isSigner": true }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "recieverAccount", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenMint", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "requestInstantSolTransfer", "accounts": [ { "name": "toAccount", "isMut": true, "isSigner": false }, { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "amount", "type": "u64" } ] }, { "name": "requestGuardedSplTransfer", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": true, "isSigner": true }, { "name": "rentPayer", "isMut": true, "isSigner": true }, { "name": "transfer", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "account", "type": "publicKey", "account": "Wallet", "path": "wallet" }, { "kind": "arg", "type": { "defined": "crate::GuardedSPLTransferData" }, "path": "data.random" } ] } }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "data", "type": { "defined": "GuardedSPLTransferData" } } ] }, { "name": "requestGuardedSolTransfer", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": true, "isSigner": true }, { "name": "rentPayer", "isMut": true, "isSigner": true }, { "name": "transfer", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "account", "type": "publicKey", "account": "Wallet", "path": "wallet" }, { "kind": "arg", "type": { "defined": "crate::GuardedSOLTransferData" }, "path": "data.random" } ] } }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "data", "type": { "defined": "GuardedSOLTransferData" } } ] }, { "name": "approveTransfer", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "guardian", "isMut": true, "isSigner": true }, { "name": "transfer", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "approveAndExecuteSplTransfer", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "guardian", "isMut": true, "isSigner": true }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "transfer", "isMut": true, "isSigner": false }, { "name": "recieverAccount", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenMint", "isMut": false, "isSigner": false } ], "args": [ { "name": "seedKey", "type": "publicKey" } ] }, { "name": "approveAndExecuteSolTransfer", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "guardian", "isMut": true, "isSigner": true }, { "name": "toAccount", "isMut": true, "isSigner": false }, { "name": "transfer", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "executeTransfer", "accounts": [ { "name": "transferAccount", "isMut": true, "isSigner": false }, { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "tokenAccount", "isMut": true, "isSigner": false }, { "name": "recieverAccount", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "tokenMint", "isMut": false, "isSigner": false } ], "args": [] }, { "name": "addGuardians", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true } ], "args": [ { "name": "guardian", "type": "publicKey" } ] }, { "name": "setGuardianThreshold", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true } ], "args": [ { "name": "threshold", "type": "u8" } ] }, { "name": "approveGuardianship", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false } ], "args": [ { "name": "guardian", "type": "publicKey" } ] }, { "name": "requestRemoveGuardian", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true } ], "args": [ { "name": "guardian", "type": "publicKey" } ] }, { "name": "confirmGuardianRemoval", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false } ], "args": [ { "name": "guardian", "type": "publicKey" } ] }, { "name": "initiateWalletRecovery", "accounts": [ { "name": "rentPayer", "isMut": true, "isSigner": true }, { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "recovery", "isMut": true, "isSigner": false, "pda": { "seeds": [ { "kind": "account", "type": "publicKey", "account": "Wallet", "path": "wallet" }, { "kind": "account", "type": "u64", "account": "Wallet", "path": "wallet.wallet_recovery_sequence" } ] } }, { "name": "proposer", "isMut": true, "isSigner": true }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "newOwner", "type": "publicKey" } ] }, { "name": "approveRecoveryByKeypair", "accounts": [ { "name": "walletToRecover", "isMut": true, "isSigner": false }, { "name": "guardian", "isMut": true, "isSigner": true }, { "name": "recoveryAttempt", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "approveRecoveryBySolace", "accounts": [ { "name": "walletToRecover", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": true, "isSigner": true }, { "name": "guardianWallet", "isMut": true, "isSigner": false }, { "name": "recoveryAttempt", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "rejectRecovery", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "addTrustedPubkey", "accounts": [ { "name": "wallet", "isMut": true, "isSigner": false }, { "name": "owner", "isMut": false, "isSigner": true } ], "args": [ { "name": "pubkey", "type": "publicKey" } ] } ], "accounts": [ { "name": "wallet", "type": { "kind": "struct", "fields": [ { "name": "pendingGuardians", "type": { "vec": "publicKey" } }, { "name": "pendingGuardiansApprovalFrom", "type": { "vec": "i64" } }, { "name": "approvedGuardians", "type": { "vec": "publicKey" } }, { "name": "owner", "type": "publicKey" }, { "name": "name", "type": "string" }, { "name": "bump", "type": "u8" }, { "name": "recoveryMode", "type": "bool" }, { "name": "approvalThreshold", "type": "u8" }, { "name": "walletRecoverySequence", "type": "u64" }, { "name": "currentRecovery", "type": { "option": "publicKey" } }, { "name": "guarding", "type": { "vec": "publicKey" } }, { "name": "createdAt", "type": "i64" }, { "name": "trustedPubkeys", "type": { "vec": "publicKey" } }, { "name": "pubkeyHistory", "type": { "vec": "publicKey" } }, { "name": "incubationMode", "type": "bool" }, { "name": "ongoingTransfers", "type": { "vec": "publicKey" } }, { "name": "guardiansToRemove", "type": { "vec": "publicKey" } }, { "name": "guardiansToRemoveFrom", "type": { "vec": "i64" } } ] } }, { "name": "recoveryAttempt", "type": { "kind": "struct", "fields": [ { "name": "bump", "type": "u8" }, { "name": "wallet", "type": "publicKey" }, { "name": "owner", "type": "publicKey" }, { "name": "proposer", "type": "publicKey" }, { "name": "newOwner", "type": "publicKey" }, { "name": "guardians", "type": { "vec": "publicKey" } }, { "name": "approvals", "type": { "vec": "bool" } }, { "name": "isExecuted", "type": "bool" } ] } }, { "name": "guardedTransfer", "type": { "kind": "struct", "fields": [ { "name": "isSplTransfer", "type": "bool" }, { "name": "from", "type": "publicKey" }, { "name": "to", "type": "publicKey" }, { "name": "fromTokenAccount", "type": { "option": "publicKey" } }, { "name": "toBase", "type": { "option": "publicKey" } }, { "name": "tokenMint", "type": { "option": "publicKey" } }, { "name": "programId", "type": { "option": "publicKey" } }, { "name": "amount", "type": "u64" }, { "name": "approvers", "type": { "vec": "publicKey" } }, { "name": "approvals", "type": { "vec": "bool" } }, { "name": "threshold", "type": "u8" }, { "name": "isExecutable", "type": "bool" }, { "name": "rentPayer", "type": "publicKey" }, { "name": "random", "type": "publicKey" } ] } } ], "types": [ { "name": "GuardedSPLTransferData", "type": { "kind": "struct", "fields": [ { "name": "to", "type": "publicKey" }, { "name": "toBase", "type": "publicKey" }, { "name": "mint", "type": "publicKey" }, { "name": "fromTokenAccount", "type": "publicKey" }, { "name": "tokenProgram", "type": "publicKey" }, { "name": "amount", "type": "u64" }, { "name": "random", "type": "publicKey" } ] } }, { "name": "GuardedSOLTransferData", "type": { "kind": "struct", "fields": [ { "name": "to", "type": "publicKey" }, { "name": "amount", "type": "u64" }, { "name": "random", "type": "publicKey" } ] } } ], "errors": [ { "code": 6000, "name": "InvalidGuardian", "msg": "Invalid guardian" }, { "code": 6001, "name": "FullfillmentAmountNotExact", "msg": "Amount not exact" }, { "code": 6002, "name": "NoApprovedGuardians", "msg": "No approved guardian" }, { "code": 6003, "name": "GuardianAlreadyAdded", "msg": "Guardian already added" }, { "code": 6004, "name": "InvalidThreshold", "msg": "Can't be bigger than the total guardian number" }, { "code": 6005, "name": "GuardianApprovalTimeNotElapsed", "msg": "Guardian approval time not elapsed" }, { "code": 6006, "name": "KeyNotFound", "msg": "Key not found" }, { "code": 6007, "name": "PaymentsDisabled", "msg": "Payments are disabled - Wallet in recovery mode" }, { "code": 6008, "name": "TransferNotExecutable", "msg": "Requested transfer is not executable" }, { "code": 6009, "name": "TransferAlreadyComplete", "msg": "Requested transfer is already completed" }, { "code": 6010, "name": "KeyMisMatch", "msg": "Keys mismatch" }, { "code": 6011, "name": "WalletNotInIncubation", "msg": "Wallet is not in incubation mode" }, { "code": 6012, "name": "TrustedPubkeyNoTransactions", "msg": "No transaction history with pub key" }, { "code": 6013, "name": "TrustedPubkeyAlreadyTrusted", "msg": "Pubkey is already trusted" }, { "code": 6014, "name": "OngoingTransferIncomplete", "msg": "Ongoing transfer is incomplete" }, { "code": 6015, "name": "InvalidTransferType", "msg": "The requested transfer type is invalid" }, { "code": 6016, "name": "InvalidTransferData", "msg": "Invalid transfer data" } ] };