UNPKG

@frakters/nft-lending-v2

Version:

Client library for interacting with nft lenging solana program

613 lines (612 loc) 16.7 kB
export declare type GemBank = { version: "0.0.0"; name: "gem_bank"; instructions: [ { name: "initBank"; accounts: [ { name: "bank"; isMut: true; isSigner: true; }, { name: "bankManager"; isMut: false; isSigner: true; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: []; }, { name: "setBankFlags"; accounts: [ { name: "bank"; isMut: true; isSigner: false; }, { name: "bankManager"; isMut: false; isSigner: true; } ]; args: [ { name: "flags"; type: "u32"; } ]; }, { name: "initVault"; accounts: [ { name: "bank"; isMut: true; isSigner: false; }, { name: "vault"; isMut: true; isSigner: false; }, { name: "creator"; isMut: false; isSigner: true; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "bump"; type: "u8"; }, { name: "owner"; type: "publicKey"; }, { name: "name"; type: "string"; } ]; }, { name: "setVaultLock"; accounts: [ { name: "bank"; isMut: false; isSigner: false; }, { name: "bankManager"; isMut: false; isSigner: true; }, { name: "vault"; isMut: true; isSigner: false; } ]; args: [ { name: "vaultLock"; type: "bool"; } ]; }, { name: "updateVaultOwner"; accounts: [ { name: "bank"; isMut: false; isSigner: false; }, { name: "vault"; isMut: true; isSigner: false; }, { name: "owner"; isMut: false; isSigner: true; } ]; args: [ { name: "newOwner"; type: "publicKey"; } ]; }, { name: "depositGem"; accounts: [ { name: "bank"; isMut: false; isSigner: false; }, { name: "vault"; isMut: true; isSigner: false; }, { name: "owner"; isMut: true; isSigner: true; }, { name: "authority"; isMut: false; isSigner: false; }, { name: "gemBox"; isMut: true; isSigner: false; }, { name: "gemDepositReceipt"; isMut: true; isSigner: false; }, { name: "gemSource"; isMut: true; isSigner: false; }, { name: "gemMint"; isMut: false; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; } ]; args: [ { name: "bumpAuth"; type: "u8"; }, { name: "bumpGemBox"; type: "u8"; }, { name: "bumpGdr"; type: "u8"; }, { name: "amount"; type: "u64"; } ]; }, { name: "withdrawGem"; accounts: [ { name: "bank"; isMut: false; isSigner: false; }, { name: "vault"; isMut: true; isSigner: false; }, { name: "owner"; isMut: true; isSigner: true; }, { name: "authority"; isMut: false; isSigner: false; }, { name: "gemBox"; isMut: true; isSigner: false; }, { name: "gemDepositReceipt"; isMut: true; isSigner: false; }, { name: "gemDestination"; isMut: true; isSigner: false; }, { name: "gemMint"; isMut: false; isSigner: false; }, { name: "receiver"; isMut: true; isSigner: false; }, { name: "tokenProgram"; isMut: false; isSigner: false; }, { name: "associatedTokenProgram"; isMut: false; isSigner: false; }, { name: "systemProgram"; isMut: false; isSigner: false; }, { name: "rent"; isMut: false; isSigner: false; } ]; args: [ { name: "bumpAuth"; type: "u8"; }, { name: "bumpGemBox"; type: "u8"; }, { name: "bumpGdr"; type: "u8"; }, { name: "amount"; type: "u64"; } ]; }, { name: "addToWhitelist"; accounts: [ { name: "bank"; isMut: true; isSigner: false; }, { name: "bankManager"; isMut: false; isSigner: true; }, { name: "addressToWhitelist"; isMut: false; isSigner: false; }, { name: "whitelistProof"; isMut: true; isSigner: false; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "bump"; type: "u8"; }, { name: "whitelistType"; type: "u8"; } ]; }, { name: "removeFromWhitelist"; accounts: [ { name: "bank"; isMut: true; isSigner: false; }, { name: "bankManager"; isMut: true; isSigner: true; }, { name: "addressToRemove"; isMut: false; isSigner: false; }, { name: "whitelistProof"; isMut: true; isSigner: false; } ]; args: [ { name: "bump"; type: "u8"; } ]; }, { name: "updateBankManager"; accounts: [ { name: "bank"; isMut: true; isSigner: false; }, { name: "bankManager"; isMut: false; isSigner: true; } ]; args: [ { name: "newManager"; type: "publicKey"; } ]; }, { name: "recordRarityPoints"; accounts: [ { name: "bank"; isMut: false; isSigner: false; }, { name: "bankManager"; isMut: false; isSigner: true; }, { name: "payer"; isMut: true; isSigner: true; }, { name: "systemProgram"; isMut: false; isSigner: false; } ]; args: [ { name: "rarityConfigs"; type: { vec: { defined: "RarityConfig"; }; }; } ]; } ]; accounts: [ { name: "bank"; type: { kind: "struct"; fields: [ { name: "version"; type: "u16"; }, { name: "bankManager"; type: "publicKey"; }, { name: "flags"; type: "u32"; }, { name: "whitelistedCreators"; type: "u32"; }, { name: "whitelistedMints"; type: "u32"; }, { name: "vaultCount"; type: "u64"; } ]; }; }, { name: "gemDepositReceipt"; type: { kind: "struct"; fields: [ { name: "vault"; type: "publicKey"; }, { name: "gemBoxAddress"; type: "publicKey"; }, { name: "gemMint"; type: "publicKey"; }, { name: "gemCount"; type: "u64"; } ]; }; }, { name: "rarity"; type: { kind: "struct"; fields: [ { name: "points"; type: "u16"; } ]; }; }, { name: "vault"; type: { kind: "struct"; fields: [ { name: "bank"; type: "publicKey"; }, { name: "owner"; type: "publicKey"; }, { name: "creator"; type: "publicKey"; }, { name: "authority"; type: "publicKey"; }, { name: "authoritySeed"; type: "publicKey"; }, { name: "authorityBumpSeed"; type: { array: ["u8", 1]; }; }, { name: "locked"; type: "bool"; }, { name: "name"; type: { array: ["u8", 32]; }; }, { name: "gemBoxCount"; type: "u64"; }, { name: "gemCount"; type: "u64"; }, { name: "rarityPoints"; type: "u64"; } ]; }; }, { name: "whitelistProof"; type: { kind: "struct"; fields: [ { name: "whitelistType"; type: "u8"; }, { name: "whitelistedAddress"; type: "publicKey"; }, { name: "bank"; type: "publicKey"; } ]; }; } ]; types: [ { name: "RarityConfig"; type: { kind: "struct"; fields: [ { name: "mint"; type: "publicKey"; }, { name: "rarityPoints"; type: "u16"; } ]; }; } ]; }; export declare const IDL: GemBank;