@frakters/nft-lending-v2
Version:
Client library for interacting with nft lenging solana program
615 lines (614 loc) • 16.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IDL = void 0;
exports.IDL = {
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",
},
],
},
},
],
};