UNPKG

zebec-instant-card-sdk

Version:

An sdk for interacting with zebec instant card program in solana.

1,772 lines 56.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IDL = void 0; exports.IDL = { version: "0.1.0", name: "zebec_card_contract", instructions: [ { name: "initCardConfigs", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "usdcToken", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitCardConfigParams", }, }, ], }, { name: "deposit", accounts: [ { name: "user", isMut: true, isSigner: true, }, { name: "userAta", isMut: true, isSigner: false, }, { name: "tokenMint", isMut: false, isSigner: false, }, { name: "userVault", isMut: true, isSigner: false, }, { name: "userVaultAta", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "vaultPda", isMut: true, isSigner: false, }, { name: "revenueVault", isMut: true, isSigner: false, }, { name: "revenueVaultAta", isMut: true, isSigner: false, }, { name: "feeMapPda", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "DepositParams", }, }, ], }, { name: "buyPrepaidDigitalCard", accounts: [ { name: "user", isMut: true, isSigner: true, }, { name: "usdcToken", isMut: false, isSigner: false, }, { name: "userVault", isMut: true, isSigner: false, }, { name: "userVaultAta", isMut: true, isSigner: false, }, { name: "buyerPda", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "cardVault", isMut: true, isSigner: false, }, { name: "cardVaultAta", isMut: true, isSigner: false, }, { name: "revenueVault", isMut: true, isSigner: false, }, { name: "commissionVault", isMut: true, isSigner: false, }, { name: "revenueVaultAta", isMut: true, isSigner: false, }, { name: "commissionVaultAta", isMut: true, isSigner: false, }, { name: "vaultPda", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "BuyPrepaidCardParams", }, }, ], }, { name: "buyCardDirect", accounts: [ { name: "user", isMut: true, isSigner: true, }, { name: "usdcToken", isMut: false, isSigner: false, }, { name: "userAta", isMut: true, isSigner: false, }, { name: "buyerPda", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "cardVault", isMut: true, isSigner: false, }, { name: "cardVaultAta", isMut: true, isSigner: false, }, { name: "revenueVault", isMut: true, isSigner: false, }, { name: "revenueVaultAta", isMut: true, isSigner: false, }, { name: "vaultPda", isMut: true, isSigner: false, }, { name: "feeMapPda", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "BuyCardDirectParams", }, }, ], }, { name: "generateYield", accounts: [ { name: "user", isMut: true, isSigner: true, }, { name: "userVault", isMut: true, isSigner: false, }, { name: "userVaultAta", isMut: true, isSigner: false, }, { name: "flexlendUserAccount", isMut: true, isSigner: false, }, { name: "flexlendUserAta", isMut: true, isSigner: false, }, { name: "vaultPda", isMut: true, isSigner: false, }, { name: "reserveAdmin", isMut: true, isSigner: false, }, { name: "promotionReserve", isMut: true, isSigner: false, }, { name: "tokenMint", isMut: false, isSigner: false, }, { name: "flexlendProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, ], }, { name: "withdrawYield", accounts: [ { name: "user", isMut: true, isSigner: true, }, { name: "userVault", isMut: true, isSigner: false, }, { name: "userVaultAta", isMut: true, isSigner: false, }, { name: "flexlendUserAccount", isMut: true, isSigner: false, }, { name: "reserveAdmin", isMut: true, isSigner: false, }, { name: "promotionReserve", isMut: true, isSigner: false, }, { name: "flexlendUserAta", isMut: true, isSigner: false, }, { name: "vaultPda", isMut: true, isSigner: false, }, { name: "tokenMint", isMut: false, isSigner: false, }, { name: "flexlendProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, { name: "withdrawAll", type: "bool", }, ], }, { name: "withdraw", accounts: [ { name: "user", isMut: true, isSigner: true, }, { name: "userAta", isMut: true, isSigner: false, }, { name: "tokenMint", isMut: false, isSigner: false, }, { name: "userVault", isMut: true, isSigner: false, }, { name: "userVaultAta", isMut: true, isSigner: false, }, { name: "vaultPda", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, ], }, { name: "setCardConfigs", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "cardPda", isMut: true, isSigner: false, }, ], args: [ { name: "params", type: { defined: "SetCardConfigParams", }, }, ], }, { name: "setCustomFees", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "feeMapPda", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { vec: { defined: "Fees", }, }, }, ], }, { name: "deleteCustomFees", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "feeMapPda", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { vec: "publicKey", }, }, ], }, { name: "initBotConfig", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "cardBotConfig", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitBotConfigParams", }, }, ], }, { name: "buyCardBot", accounts: [ { name: "botAdmin", isMut: true, isSigner: true, }, { name: "usdcToken", isMut: false, isSigner: false, }, { name: "userCustody", isMut: true, isSigner: false, }, { name: "userCustodyAta", isMut: true, isSigner: false, }, { name: "cardBotConfig", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "cardVault", isMut: true, isSigner: false, }, { name: "cardVaultAta", isMut: true, isSigner: false, }, { name: "revenueVault", isMut: true, isSigner: false, }, { name: "revenueVaultAta", isMut: true, isSigner: false, }, { name: "feeMapPda", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "BuyCardBotParams", }, }, ], }, { name: "initBotPda", accounts: [ { name: "botAdmin", isMut: true, isSigner: true, }, { name: "userCustody", isMut: true, isSigner: false, }, { name: "userCustodyAta", isMut: true, isSigner: false, }, { name: "cardBotConfig", isMut: true, isSigner: false, }, { name: "usdcToken", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitBotPdaParams", }, }, ], }, { name: "setBotAdmin", accounts: [ { name: "zicOwner", isMut: false, isSigner: true, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "cardBotConfig", isMut: true, isSigner: false, }, ], args: [ { name: "newAdmin", type: "publicKey", }, ], }, { name: "initOnRampConfig", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "onRampConfig", isMut: true, isSigner: false, }, { name: "cardPda", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitOnRampParams", }, }, ], }, { name: "initOnRampPda", accounts: [ { name: "admin", isMut: true, isSigner: true, }, { name: "userCustody", isMut: true, isSigner: false, }, { name: "onRampConfig", isMut: false, isSigner: false, }, { name: "userCustodyAta", isMut: true, isSigner: false, }, { name: "zbcnToken", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitOnRampPdaParams", }, }, ], }, { name: "setOnRampAdmin", accounts: [ { name: "zicOwner", isMut: false, isSigner: true, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "onRampConfig", isMut: true, isSigner: false, }, ], args: [ { name: "newAdmin", type: "publicKey", }, ], }, { name: "transferZbcn", accounts: [ { name: "admin", isMut: true, isSigner: true, }, { name: "from", isMut: true, isSigner: false, }, { name: "fromAta", isMut: true, isSigner: false, }, { name: "to", isMut: false, isSigner: false, }, { name: "toAta", isMut: true, isSigner: false, }, { name: "onRampConfig", isMut: true, isSigner: false, }, { name: "zbcnToken", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "TransferZbcnParams", }, }, ], }, { name: "initProposalConfigs", accounts: [ { name: "zicOwner", isMut: true, isSigner: true, }, { name: "proposalConfig", isMut: true, isSigner: false, }, { name: "cardPda", isMut: true, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitProposalConfigParams", }, }, ], }, { name: "initProposal", accounts: [ { name: "creator", isMut: true, isSigner: true, }, { name: "creatorAta", isMut: true, isSigner: false, }, { name: "proposalConfig", isMut: true, isSigner: false, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "proposalVault", isMut: true, isSigner: false, }, { name: "proposalVaultAta", isMut: true, isSigner: false, }, { name: "zbcnToken", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "InitProposalParams", }, }, ], }, { name: "vote", accounts: [ { name: "voter", isMut: true, isSigner: true, }, { name: "voterAta", isMut: true, isSigner: false, }, { name: "voterPda", isMut: true, isSigner: false, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "proposalVault", isMut: true, isSigner: false, }, { name: "proposalVaultAta", isMut: true, isSigner: false, }, { name: "proposalConfig", isMut: true, isSigner: false, }, { name: "creator", isMut: false, isSigner: false, }, { name: "zbcnToken", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "params", type: { defined: "VoteParams", }, }, ], }, { name: "withdrawVote", accounts: [ { name: "voter", isMut: true, isSigner: true, }, { name: "creator", isMut: false, isSigner: false, }, { name: "proposalConfig", isMut: true, isSigner: false, }, { name: "voterAta", isMut: true, isSigner: false, }, { name: "voterPda", isMut: true, isSigner: false, }, { name: "proposalVault", isMut: true, isSigner: false, }, { name: "proposalVaultAta", isMut: true, isSigner: false, }, { name: "proposal", isMut: true, isSigner: false, }, { name: "zbcnToken", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [], }, ], accounts: [ { name: "cardBot", type: { kind: "struct", fields: [ { name: "botAdmin", type: "publicKey", }, ], }, }, { name: "cardCustodyData", type: { kind: "struct", fields: [ { name: "userId", type: "string", }, { name: "totalBoughtPerDay", type: "u64", }, { name: "dateTimeInUnix", type: "u64", }, ], }, }, { name: "card", type: { kind: "struct", fields: [ { name: "index", type: "u64", }, { name: "zicOwner", type: "publicKey", }, { name: "nativeFee", type: "u64", }, { name: "nonNativeFee", type: "u64", }, { name: "revenueFee", type: "u64", }, { name: "usdcMint", type: "publicKey", }, { name: "revenueVault", type: "publicKey", }, { name: "commissionVault", type: "publicKey", }, { name: "cardVault", type: "publicKey", }, { name: "totalBought", type: "u64", }, { name: "dailyCardBuyLimit", type: "u64", }, { name: "providerConfig", type: { defined: "ProviderConfig", }, }, ], }, }, { name: "customFeeMap", type: { kind: "struct", fields: [ { name: "feeMap", type: { vec: { defined: "Fees", }, }, }, ], }, }, { name: "onRamp", type: { kind: "struct", fields: [ { name: "admin", type: "publicKey", }, { name: "zbcnToken", type: "publicKey", }, ], }, }, { name: "onRampCustody", type: { kind: "struct", fields: [ { name: "userId", type: "string", }, ], }, }, { name: "prepaidCardBuyer", type: { kind: "struct", fields: [ { name: "index", type: "u64", }, { name: "buyerAddress", type: "publicKey", }, { name: "amount", type: "u64", }, { name: "purchaseAt", type: "i64", }, ], }, }, { name: "proposalConfigs", type: { kind: "struct", fields: [ { name: "stakingToken", type: "publicKey", }, { name: "creatorStakingCap", type: "u64", }, { name: "votersStakingCap", type: "u64", }, ], }, }, { name: "proposal", type: { kind: "struct", fields: [ { name: "creator", type: "publicKey", }, { name: "name", type: "string", }, { name: "startTime", type: "i64", }, { name: "endTime", type: "i64", }, { name: "totalVotes", type: "u64", }, ], }, }, { name: "vault", type: { kind: "struct", fields: [ { name: "userAddress", type: "publicKey", }, { name: "totalBoughtPerDay", type: "u64", }, { name: "dateTimeInUnix", type: "u64", }, ], }, }, { name: "voter", type: { kind: "struct", fields: [ { name: "voterAddress", type: "publicKey", }, { name: "proposalAddress", type: "publicKey", }, { name: "votingAmount", type: "u64", }, { name: "voteStatus", type: "bool", }, { name: "voterFlag", type: "bool", }, { name: "isWithdrawn", type: "bool", }, ], }, }, ], types: [ { name: "BuyCardBotParams", type: { kind: "struct", fields: [ { name: "userId", type: "string", }, { name: "amount", type: "u64", }, { name: "cardType", type: "string", }, { name: "sourceTokenAddress", type: "publicKey", }, ], }, }, { name: "InitBotConfigParams", type: { kind: "struct", fields: [ { name: "botAdmin", type: "publicKey", }, ], }, }, { name: "InitBotPdaParams", type: { kind: "struct", fields: [ { name: "userId", type: "string", }, ], }, }, { name: "InitProposalConfigParams", type: { kind: "struct", fields: [ { name: "stakingToken", type: "publicKey", }, { name: "creatorStakingCap", type: "u64", }, { name: "votersStakingCap", type: "u64", }, ], }, }, { name: "InitProposalParams", type: { kind: "struct", fields: [ { name: "name", type: "string", }, { name: "votingStartTime", type: "i64", }, { name: "votingEndTime", type: "i64", }, ], }, }, { name: "VoteParams", type: { kind: "struct", fields: [ { name: "voteStatus", type: "bool", }, { name: "votingAmount", type: "u64", }, ], }, }, { name: "InitOnRampParams", type: { kind: "struct", fields: [ { name: "admin", type: "publicKey", }, { name: "zbcnToken", type: "publicKey", }, ], }, }, { name: "InitOnRampPdaParams", type: { kind: "struct", fields: [ { name: "userId", type: "string", }, ], }, }, { name: "TransferZbcnParams", type: { kind: "struct", fields: [ { name: "amount", type: "u64", }, { name: "userId", type: "string", }, ], }, }, { name: "BuyCardDirectParams", type: { kind: "struct", fields: [ { name: "index", type: "u64", }, { name: "amount", type: "u64", }, { name: "cardType", type: "string", }, { name: "sourceTokenAddress", type: "publicKey", }, ], }, }, { name: "BuyPrepaidCardParams", type: { kind: "struct", fields: [ { name: "index", type: "u64", }, { name: "amount", type: "u64", }, { name: "cardType", type: "string", }, ], }, }, { name: "DepositParams", type: { kind: "struct", fields: [ { name: "amount", type: "u64", }, { name: "sourceTokenAddress", type: "publicKey", }, ], }, }, { name: "InitCardConfigParams", type: { kind: "struct", fields: [ { name: "nativeFee", type: "u64", }, { name: "nonNativeFee", type: "u64", }, { name: "revenueFee", type: "u64", }, { name: "cardVault", type: "publicKey", }, { name: "revenueVault", type: "publicKey", }, { name: "commissionVault", type: "publicKey", }, { name: "minCardAmount", type: "u64", }, { name: "maxCardAmount", type: "u64", }, { name: "dailyCardBuyLimit", type: "u64", }, { name: "feeTier", type: { vec: { defined: "FeeTier", }, }, }, ], }, }, { name: "SetCardConfigParams", type: { kind: "struct", fields: [ { name: "nativeFee", type: "u64", }, { name: "nonNativeFee", type: "u64", }, { name: "revenueFee", type: "u64", }, { name: "cardVault", type: "publicKey", }, { name: "revenueVault", type: "publicKey", }, { name: "commissionVault", type: "publicKey", }, { name: "zicOwner", type: "publicKey", }, { name: "minCardAmount", type: "u64", }, { name: "maxCardAmount", type: "u64", }, { name: "dailyCar