zebec-instant-card-sdk
Version:
An sdk for interacting with zebec instant card program in solana.
1,772 lines • 56.5 kB
JavaScript
"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