Options
All
  • Public
  • Public/Protected
  • All
Menu

Index

Type Aliases

BankDecentralized: { accounts: [{ name: "bankConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["program main signing authority"]; name: "bankSigningAuthority"; type: "publicKey" }]; kind: "struct" } }, { name: "depositPoolAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["current deposit amount"]; name: "currentValue"; type: "u64" }, { docs: ["total deposited amount"]; name: "totalValue"; type: "u64" }]; kind: "struct" } }, { name: "distributionPoolAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["current deposit amount"]; name: "currentValue"; type: "u64" }, { docs: ["total deposited amount"]; name: "totalValue"; type: "u64" }]; kind: "struct" } }, { name: "mainConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["program main signing authority"]; name: "mainSigningAuthority"; type: "publicKey" }]; kind: "struct" } }, { name: "solConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "solSigningAuthority"; type: "publicKey" }, { name: "incomeAccount"; type: "publicKey" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "minWithdraw"; type: "u64" }, { name: "maxWithdraw"; type: "u64" }]; kind: "struct" } }, { name: "tokenConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "tokenSigningAuthority"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "incomeAccount"; type: "publicKey" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "minWithdraw"; type: "u64" }, { name: "maxWithdraw"; type: "u64" }]; kind: "struct" } }, { name: "userSolAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "user"; type: "publicKey" }, { name: "currentValue"; type: "u64" }, { name: "totalDepositValue"; type: "u64" }, { name: "totalWithdrawValue"; type: "u64" }, { name: "totalSpendValue"; type: "u64" }, { name: "totalDistributeValue"; type: "u64" }, { name: "lastAction"; type: { defined: "UserSolAction" } }]; kind: "struct" } }, { name: "userTokenAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "user"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "currentValue"; type: "u64" }, { name: "totalDepositValue"; type: "u64" }, { name: "totalWithdrawValue"; type: "u64" }, { name: "totalSpendValue"; type: "u64" }, { name: "totalDistributeValue"; type: "u64" }, { name: "lastAction"; type: { defined: "UserTokenAction" } }]; kind: "struct" } }]; errors: [{ code: 6000; msg: "Invalid Main Signing Authority"; name: "InvalidMainSigningAuthority" }, { code: 6001; msg: "Invalid Bank Signing Authority"; name: "InvalidBankSigningAuthority" }, { code: 6002; msg: "Invalid Token Signing Authority"; name: "InvalidTokenSigningAuthority" }, { code: 6003; msg: "Invalid Sol Signing Authority"; name: "InvalidSolSigningAuthority" }, { code: 6004; msg: "Signing Authority Is Require"; name: "SigningAuthorityIsRequire" }, { code: 6005; msg: "Invalid Min Withdraw"; name: "InvalidMinWithdraw" }, { code: 6006; msg: "Invalid Max Withdraw"; name: "InvalidMaxWithdraw" }, { code: 6007; msg: "Invalid Min Max Withdraw"; name: "InvalidMinMaxWithdraw" }, { code: 6008; msg: "Invalid Amount"; name: "InvalidAmount" }, { code: 6009; msg: "Invalid Income Account"; name: "InvalidIncomeAccount" }]; events: [{ fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "depositFrom"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }]; name: "SolDepositEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }]; name: "SolDistributionEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "incomeAccount"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }]; name: "SolSpendEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "receiver"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }]; name: "SolWithdrawEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "depositFrom"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenDepositEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenDistributionEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "incomeAccount"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenSpendEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "receiver"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenWithdrawEvent" }]; instructions: [{ accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "mainSigningAuthority" }, { isMut: true; isSigner: false; name: "mainConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "initializeMainConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "bankSigningAuthority" }, { isMut: true; isSigner: false; name: "mainConfig" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "mainConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }]; name: "createBankConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "bankSigningAuthority" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "createSolConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "bankSigningAuthority" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "distributionPoolTokenAccount" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "incomeTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "createTokenConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "updateSolConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "incomeTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "updateTokenConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: true; name: "supplyProvider" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "addSolDistributionSupply" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "supplyProvider" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "distributionPoolTokenAccount" }, { isMut: true; isSigner: false; name: "supplyProviderTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "distributionPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "addTokenDistributionSupply" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositSolWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: true; name: "user" }, { isMut: true; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "userSolConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: true; name: "user" }, { isMut: true; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "userSolConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawSolWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "userSolConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "spendSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "distributeSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "depositFromTokenAccount" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositToken" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "depositFromTokenAccount" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositTokenWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: false; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "receiverTokenAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "userTokenConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawToken" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: false; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "receiverTokenAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "userTokenConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawTokenWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "incomeTokenAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "userTokenConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "spendToken" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "distributionPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "distributionPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "distributeToken" }]; name: "bank_decentralized"; types: [{ name: "UserSolAction"; type: { kind: "enum"; variants: [{ name: "None" }, { name: "Deposit" }, { name: "Withdraw" }, { name: "Spend" }, { name: "Distribute" }] } }, { name: "UserTokenAction"; type: { kind: "enum"; variants: [{ name: "None" }, { name: "Deposit" }, { name: "Withdraw" }, { name: "Spend" }, { name: "Distribute" }] } }]; version: "0.1.0" }

Type declaration

  • accounts: [{ name: "bankConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["program main signing authority"]; name: "bankSigningAuthority"; type: "publicKey" }]; kind: "struct" } }, { name: "depositPoolAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["current deposit amount"]; name: "currentValue"; type: "u64" }, { docs: ["total deposited amount"]; name: "totalValue"; type: "u64" }]; kind: "struct" } }, { name: "distributionPoolAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["current deposit amount"]; name: "currentValue"; type: "u64" }, { docs: ["total deposited amount"]; name: "totalValue"; type: "u64" }]; kind: "struct" } }, { name: "mainConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { docs: ["program main signing authority"]; name: "mainSigningAuthority"; type: "publicKey" }]; kind: "struct" } }, { name: "solConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "solSigningAuthority"; type: "publicKey" }, { name: "incomeAccount"; type: "publicKey" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "minWithdraw"; type: "u64" }, { name: "maxWithdraw"; type: "u64" }]; kind: "struct" } }, { name: "tokenConfigAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "tokenSigningAuthority"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "incomeAccount"; type: "publicKey" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "minWithdraw"; type: "u64" }, { name: "maxWithdraw"; type: "u64" }]; kind: "struct" } }, { name: "userSolAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "user"; type: "publicKey" }, { name: "currentValue"; type: "u64" }, { name: "totalDepositValue"; type: "u64" }, { name: "totalWithdrawValue"; type: "u64" }, { name: "totalSpendValue"; type: "u64" }, { name: "totalDistributeValue"; type: "u64" }, { name: "lastAction"; type: { defined: "UserSolAction" } }]; kind: "struct" } }, { name: "userTokenAccount"; type: { fields: [{ docs: ["timestamp when account updated"]; name: "lastBlockTimestamp"; type: "i64" }, { name: "user"; type: "publicKey" }, { name: "mint"; type: "publicKey" }, { name: "currentValue"; type: "u64" }, { name: "totalDepositValue"; type: "u64" }, { name: "totalWithdrawValue"; type: "u64" }, { name: "totalSpendValue"; type: "u64" }, { name: "totalDistributeValue"; type: "u64" }, { name: "lastAction"; type: { defined: "UserTokenAction" } }]; kind: "struct" } }]
  • errors: [{ code: 6000; msg: "Invalid Main Signing Authority"; name: "InvalidMainSigningAuthority" }, { code: 6001; msg: "Invalid Bank Signing Authority"; name: "InvalidBankSigningAuthority" }, { code: 6002; msg: "Invalid Token Signing Authority"; name: "InvalidTokenSigningAuthority" }, { code: 6003; msg: "Invalid Sol Signing Authority"; name: "InvalidSolSigningAuthority" }, { code: 6004; msg: "Signing Authority Is Require"; name: "SigningAuthorityIsRequire" }, { code: 6005; msg: "Invalid Min Withdraw"; name: "InvalidMinWithdraw" }, { code: 6006; msg: "Invalid Max Withdraw"; name: "InvalidMaxWithdraw" }, { code: 6007; msg: "Invalid Min Max Withdraw"; name: "InvalidMinMaxWithdraw" }, { code: 6008; msg: "Invalid Amount"; name: "InvalidAmount" }, { code: 6009; msg: "Invalid Income Account"; name: "InvalidIncomeAccount" }]
  • events: [{ fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "depositFrom"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }]; name: "SolDepositEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }]; name: "SolDistributionEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "incomeAccount"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }]; name: "SolSpendEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "solConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "receiver"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }]; name: "SolWithdrawEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "depositFrom"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenDepositEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenDistributionEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "incomeAccount"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenSpendEvent" }, { fields: [{ index: false; name: "bankName"; type: "string" }, { index: false; name: "tokenConfig"; type: "publicKey" }, { index: false; name: "user"; type: "publicKey" }, { index: false; name: "receiver"; type: "publicKey" }, { index: false; name: "amount"; type: "u64" }, { index: false; name: "withAuthority"; type: "bool" }, { index: false; name: "mint"; type: "publicKey" }]; name: "TokenWithdrawEvent" }]
  • instructions: [{ accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "mainSigningAuthority" }, { isMut: true; isSigner: false; name: "mainConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: []; name: "initializeMainConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "bankSigningAuthority" }, { isMut: true; isSigner: false; name: "mainConfig" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "mainConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }]; name: "createBankConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "bankSigningAuthority" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "createSolConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "bankSigningAuthority" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "distributionPoolTokenAccount" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "incomeTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "createTokenConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "updateSolConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "incomeTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "isSigningAuthorityRequired"; type: "bool" }, { name: "isMaxWithdrawEnable"; type: "bool" }, { name: "isMinWithdrawEnable"; type: "bool" }, { name: "maxWithdraw"; type: "u64" }, { name: "minWithdraw"; type: "u64" }]; name: "updateTokenConfig" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: true; name: "supplyProvider" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "addSolDistributionSupply" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "supplyProvider" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "distributionPoolTokenAccount" }, { isMut: true; isSigner: false; name: "supplyProviderTokenAccount" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "distributionPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "addTokenDistributionSupply" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositSolWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: true; isSigner: true; name: "user" }, { isMut: true; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "userSolConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: true; name: "user" }, { isMut: true; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "userSolConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawSolWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: true; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "userSolConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "spendSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "solSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "solConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "userSolConfig" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "solConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "distributeSol" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "depositFromTokenAccount" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositToken" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "depositFrom" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "depositFromTokenAccount" }, { isMut: false; isSigner: false; name: "user" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "depositTokenWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: false; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "receiverTokenAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "userTokenConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawToken" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: false; isSigner: false; name: "receiver" }, { isMut: true; isSigner: false; name: "receiverTokenAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "userTokenConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "withdrawTokenWithAuthority" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: false; isSigner: false; name: "incomeAccount" }, { isMut: true; isSigner: false; name: "incomeTokenAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "userTokenConfigBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "spendToken" }, { accounts: [{ isMut: true; isSigner: true; name: "payer" }, { isMut: false; isSigner: true; name: "tokenSigningAuthority" }, { isMut: false; isSigner: true; name: "user" }, { isMut: false; isSigner: false; name: "tokenMintAccount" }, { isMut: true; isSigner: false; name: "bankConfig" }, { isMut: true; isSigner: false; name: "tokenConfig" }, { isMut: true; isSigner: false; name: "depositPool" }, { isMut: true; isSigner: false; name: "depositPoolTokenAccount" }, { isMut: true; isSigner: false; name: "distributionPool" }, { isMut: true; isSigner: false; name: "distributionPoolTokenAccount" }, { isMut: true; isSigner: false; name: "userTokenConfig" }, { isMut: false; isSigner: false; name: "tokenProgram" }, { isMut: false; isSigner: false; name: "associatedTokenProgram" }, { isMut: false; isSigner: false; name: "systemProgram" }, { isMut: false; isSigner: false; name: "rent" }]; args: [{ name: "bankConfigBump"; type: "u8" }, { name: "bankSeedName"; type: "string" }, { name: "tokenConfigBump"; type: "u8" }, { name: "depositPoolBump"; type: "u8" }, { name: "depositPoolTokenAccountBump"; type: "u8" }, { name: "distributionPoolBump"; type: "u8" }, { name: "distributionPoolTokenAccountBump"; type: "u8" }, { name: "amount"; type: "u64" }]; name: "distributeToken" }]
  • name: "bank_decentralized"
  • types: [{ name: "UserSolAction"; type: { kind: "enum"; variants: [{ name: "None" }, { name: "Deposit" }, { name: "Withdraw" }, { name: "Spend" }, { name: "Distribute" }] } }, { name: "UserTokenAction"; type: { kind: "enum"; variants: [{ name: "None" }, { name: "Deposit" }, { name: "Withdraw" }, { name: "Spend" }, { name: "Distribute" }] } }]
  • version: "0.1.0"

Variables

BANK_DECENTRALIZED_PROGRAM_ID: PublicKey = ...
BANK_DECENTRALIZED_PROGRAM_ID_MAIN_NET: PublicKey = ...
SOL_DEPOSIT_EVENT_NAME: string = "SolDepositEvent"
SOL_DISTRIBUTION_EVENT_NAME: string = "SolDistributionEvent"
SOL_SPEND_EVENT_NAME: string = "SolSpendEvent"
SOL_WITHDRAW_EVENT_NAME: string = "SolWithdrawEvent"
TOKEN_DEPOSIT_EVENT_NAME: string = "TokenDepositEvent"
TOKEN_DISTRIBUTION_EVENT_NAME: string = "TokenDistributionEvent"
TOKEN_SPEND_EVENT_NAME: string = "TokenSpendEvent"
TOKEN_WITHDRAW_EVENT_NAME: string = "TokenWithdrawEvent"

Generated using TypeDoc