@frakt-protocol/frakt-sdk
Version:
Frakt SDK for interacting with frakt.xyz protocols
1,552 lines (1,551 loc) • 43.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.idl = void 0;
exports.idl = {
version: "0.0.0",
name: "gem_farm",
instructions: [
{
name: "initFarm",
accounts: [
{
name: "farm",
isMut: true,
isSigner: true,
},
{
name: "farmManager",
isMut: false,
isSigner: true,
},
{
name: "farmAuthority",
isMut: true,
isSigner: false,
},
{
name: "farmTreasury",
isMut: false,
isSigner: false,
},
{
name: "rewardAPot",
isMut: true,
isSigner: false,
},
{
name: "rewardAMint",
isMut: false,
isSigner: false,
},
{
name: "rewardBPot",
isMut: true,
isSigner: false,
},
{
name: "rewardBMint",
isMut: false,
isSigner: false,
},
{
name: "bank",
isMut: true,
isSigner: true,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
{
name: "rent",
isMut: false,
isSigner: false,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "bumpTreasury",
type: "u8",
},
{
name: "bumpPotA",
type: "u8",
},
{
name: "bumpPotB",
type: "u8",
},
{
name: "rewardTypeA",
type: {
defined: "RewardType",
},
},
{
name: "rewardTypeB",
type: {
defined: "RewardType",
},
},
{
name: "farmConfig",
type: {
defined: "FarmConfig",
},
},
],
},
{
name: "updateFarm",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmManager",
isMut: false,
isSigner: true,
},
],
args: [
{
name: "config",
type: {
option: {
defined: "FarmConfig",
},
},
},
{
name: "manager",
type: {
option: "publicKey",
},
},
],
},
{
name: "payoutFromTreasury",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmManager",
isMut: false,
isSigner: true,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "farmTreasury",
isMut: true,
isSigner: false,
},
{
name: "destination",
isMut: true,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "bumpTreasury",
type: "u8",
},
{
name: "lamports",
type: "u64",
},
],
},
{
name: "addToBankWhitelist",
accounts: [
{
name: "farm",
isMut: false,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "bank",
isMut: true,
isSigner: false,
},
{
name: "addressToWhitelist",
isMut: false,
isSigner: false,
},
{
name: "whitelistProof",
isMut: true,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "bumpWl",
type: "u8",
},
{
name: "whitelistType",
type: "u8",
},
],
},
{
name: "removeFromBankWhitelist",
accounts: [
{
name: "farm",
isMut: false,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "farmAuthority",
isMut: true,
isSigner: false,
},
{
name: "bank",
isMut: true,
isSigner: false,
},
{
name: "addressToRemove",
isMut: false,
isSigner: false,
},
{
name: "whitelistProof",
isMut: true,
isSigner: false,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "bumpWl",
type: "u8",
},
],
},
{
name: "initFarmer",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: false,
isSigner: true,
},
{
name: "bank",
isMut: true,
isSigner: false,
},
{
name: "vault",
isMut: true,
isSigner: false,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
{
name: "payer",
isMut: true,
isSigner: true,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpFarmer",
type: "u8",
},
{
name: "bumpVault",
type: "u8",
},
],
},
{
name: "stake",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: true,
isSigner: true,
},
{
name: "bank",
isMut: false,
isSigner: false,
},
{
name: "vault",
isMut: true,
isSigner: false,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "bumpFarmer",
type: "u8",
},
],
},
{
name: "unstake",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "farmTreasury",
isMut: true,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: true,
isSigner: true,
},
{
name: "bank",
isMut: false,
isSigner: false,
},
{
name: "vault",
isMut: true,
isSigner: false,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "bumpTreasury",
type: "u8",
},
{
name: "bumpFarmer",
type: "u8",
},
],
},
{
name: "claim",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: true,
isSigner: true,
},
{
name: "rewardAPot",
isMut: true,
isSigner: false,
},
{
name: "rewardAMint",
isMut: false,
isSigner: false,
},
{
name: "rewardADestination",
isMut: true,
isSigner: false,
},
{
name: "rewardBPot",
isMut: true,
isSigner: false,
},
{
name: "rewardBMint",
isMut: false,
isSigner: false,
},
{
name: "rewardBDestination",
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: "bumpFarmer",
type: "u8",
},
{
name: "bumpPotA",
type: "u8",
},
{
name: "bumpPotB",
type: "u8",
},
],
},
{
name: "flashDeposit",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: true,
isSigner: true,
},
{
name: "bank",
isMut: false,
isSigner: false,
},
{
name: "vault",
isMut: true,
isSigner: false,
},
{
name: "vaultAuthority",
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,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpFarmer",
type: "u8",
},
{
name: "bumpVaultAuth",
type: "u8",
},
{
name: "bumpGemBox",
type: "u8",
},
{
name: "bumpGdr",
type: "u8",
},
{
name: "amount",
type: "u64",
},
],
},
{
name: "refreshFarmer",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bump",
type: "u8",
},
],
},
{
name: "refreshFarmerSigned",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmer",
isMut: true,
isSigner: false,
},
{
name: "identity",
isMut: false,
isSigner: true,
},
],
args: [
{
name: "bump",
type: "u8",
},
{
name: "reenroll",
type: "bool",
},
],
},
{
name: "authorizeFunder",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "funderToAuthorize",
isMut: false,
isSigner: false,
},
{
name: "authorizationProof",
isMut: true,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bump",
type: "u8",
},
],
},
{
name: "deauthorizeFunder",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "funderToDeauthorize",
isMut: false,
isSigner: false,
},
{
name: "authorizationProof",
isMut: true,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bump",
type: "u8",
},
],
},
{
name: "fundReward",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "authorizationProof",
isMut: false,
isSigner: false,
},
{
name: "authorizedFunder",
isMut: true,
isSigner: true,
},
{
name: "rewardPot",
isMut: true,
isSigner: false,
},
{
name: "rewardSource",
isMut: true,
isSigner: false,
},
{
name: "rewardMint",
isMut: false,
isSigner: false,
},
{
name: "tokenProgram",
isMut: false,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpProof",
type: "u8",
},
{
name: "bumpPot",
type: "u8",
},
{
name: "variableRateConfig",
type: {
option: {
defined: "VariableRateConfig",
},
},
},
{
name: "fixedRateConfig",
type: {
option: {
defined: "FixedRateConfig",
},
},
},
],
},
{
name: "cancelReward",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "rewardPot",
isMut: true,
isSigner: false,
},
{
name: "rewardDestination",
isMut: true,
isSigner: false,
},
{
name: "rewardMint",
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: "bumpPot",
type: "u8",
},
],
},
{
name: "lockReward",
accounts: [
{
name: "farm",
isMut: true,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "rewardMint",
isMut: false,
isSigner: false,
},
],
args: [],
},
{
name: "addRaritiesToBank",
accounts: [
{
name: "farm",
isMut: false,
isSigner: false,
},
{
name: "farmManager",
isMut: true,
isSigner: true,
},
{
name: "farmAuthority",
isMut: false,
isSigner: false,
},
{
name: "bank",
isMut: false,
isSigner: false,
},
{
name: "gemBank",
isMut: false,
isSigner: false,
},
{
name: "systemProgram",
isMut: false,
isSigner: false,
},
],
args: [
{
name: "bumpAuth",
type: "u8",
},
{
name: "rarityConfigs",
type: {
vec: {
defined: "RarityConfig",
},
},
},
],
},
],
accounts: [
{
name: "authorizationProof",
type: {
kind: "struct",
fields: [
{
name: "authorizedFunder",
type: "publicKey",
},
{
name: "farm",
type: "publicKey",
},
],
},
},
{
name: "farm",
type: {
kind: "struct",
fields: [
{
name: "version",
type: "u16",
},
{
name: "farmManager",
type: "publicKey",
},
{
name: "farmTreasury",
type: "publicKey",
},
{
name: "farmAuthority",
type: "publicKey",
},
{
name: "farmAuthoritySeed",
type: "publicKey",
},
{
name: "farmAuthorityBumpSeed",
type: {
array: ["u8", 1],
},
},
{
name: "bank",
type: "publicKey",
},
{
name: "config",
type: {
defined: "FarmConfig",
},
},
{
name: "farmerCount",
type: "u64",
},
{
name: "stakedFarmerCount",
type: "u64",
},
{
name: "gemsStaked",
type: "u64",
},
{
name: "rarityPointsStaked",
type: "u64",
},
{
name: "authorizedFunderCount",
type: "u64",
},
{
name: "rewardA",
type: {
defined: "FarmReward",
},
},
{
name: "rewardB",
type: {
defined: "FarmReward",
},
},
],
},
},
{
name: "farmer",
type: {
kind: "struct",
fields: [
{
name: "farm",
type: "publicKey",
},
{
name: "identity",
type: "publicKey",
},
{
name: "vault",
type: "publicKey",
},
{
name: "state",
type: {
defined: "FarmerState",
},
},
{
name: "gemsStaked",
type: "u64",
},
{
name: "minStakingEndsTs",
type: "u64",
},
{
name: "cooldownEndsTs",
type: "u64",
},
{
name: "rewardA",
type: {
defined: "FarmerReward",
},
},
{
name: "rewardB",
type: {
defined: "FarmerReward",
},
},
],
},
},
],
types: [
{
name: "FarmConfig",
type: {
kind: "struct",
fields: [
{
name: "minStakingPeriodSec",
type: "u64",
},
{
name: "cooldownPeriodSec",
type: "u64",
},
{
name: "unstakingFeeLamp",
type: "u64",
},
],
},
},
{
name: "FundsTracker",
type: {
kind: "struct",
fields: [
{
name: "totalFunded",
type: "u64",
},
{
name: "totalRefunded",
type: "u64",
},
{
name: "totalAccruedToStakers",
type: "u64",
},
],
},
},
{
name: "TimeTracker",
type: {
kind: "struct",
fields: [
{
name: "durationSec",
type: "u64",
},
{
name: "rewardEndTs",
type: "u64",
},
{
name: "lockEndTs",
type: "u64",
},
],
},
},
{
name: "FarmReward",
type: {
kind: "struct",
fields: [
{
name: "rewardMint",
type: "publicKey",
},
{
name: "rewardPot",
type: "publicKey",
},
{
name: "rewardType",
type: {
defined: "RewardType",
},
},
{
name: "fixedRate",
type: {
defined: "FixedRateReward",
},
},
{
name: "variableRate",
type: {
defined: "VariableRateReward",
},
},
{
name: "funds",
type: {
defined: "FundsTracker",
},
},
{
name: "times",
type: {
defined: "TimeTracker",
},
},
],
},
},
{
name: "FarmerReward",
type: {
kind: "struct",
fields: [
{
name: "paidOutReward",
type: "u64",
},
{
name: "accruedReward",
type: "u64",
},
{
name: "variableRate",
type: {
defined: "FarmerVariableRateReward",
},
},
{
name: "fixedRate",
type: {
defined: "FarmerFixedRateReward",
},
},
],
},
},
{
name: "FarmerVariableRateReward",
type: {
kind: "struct",
fields: [
{
name: "lastRecordedAccruedRewardPerRarityPoint",
type: {
defined: "Number128",
},
},
],
},
},
{
name: "FarmerFixedRateReward",
type: {
kind: "struct",
fields: [
{
name: "beginStakingTs",
type: "u64",
},
{
name: "beginScheduleTs",
type: "u64",
},
{
name: "lastUpdatedTs",
type: "u64",
},
{
name: "promisedSchedule",
type: {
defined: "FixedRateSchedule",
},
},
{
name: "promisedDuration",
type: "u64",
},
],
},
},
{
name: "TierConfig",
type: {
kind: "struct",
fields: [
{
name: "rewardRate",
type: "u64",
},
{
name: "requiredTenure",
type: "u64",
},
],
},
},
{
name: "FixedRateSchedule",
type: {
kind: "struct",
fields: [
{
name: "baseRate",
type: "u64",
},
{
name: "tier1",
type: {
option: {
defined: "TierConfig",
},
},
},
{
name: "tier2",
type: {
option: {
defined: "TierConfig",
},
},
},
{
name: "tier3",
type: {
option: {
defined: "TierConfig",
},
},
},
{
name: "denominator",
type: "u64",
},
],
},
},
{
name: "FixedRateConfig",
type: {
kind: "struct",
fields: [
{
name: "schedule",
type: {
defined: "FixedRateSchedule",
},
},
{
name: "amount",
type: "u64",
},
{
name: "durationSec",
type: "u64",
},
],
},
},
{
name: "FixedRateReward",
type: {
kind: "struct",
fields: [
{
name: "schedule",
type: {
defined: "FixedRateSchedule",
},
},
{
name: "reservedAmount",
type: "u64",
},
],
},
},
{
name: "RarityConfig",
type: {
kind: "struct",
fields: [
{
name: "mint",
type: "publicKey",
},
{
name: "rarityPoints",
type: "u16",
},
],
},
},
{
name: "Number128",
type: {
kind: "struct",
fields: [
{
name: "n",
type: "u128",
},
],
},
},
{
name: "VariableRateConfig",
type: {
kind: "struct",
fields: [
{
name: "amount",
type: "u64",
},
{
name: "durationSec",
type: "u64",
},
],
},
},
{
name: "VariableRateReward",
type: {
kind: "struct",
fields: [
{
name: "rewardRate",
type: {
defined: "Number128",
},
},
{
name: "rewardLastUpdatedTs",
type: "u64",
},
{
name: "accruedRewardPerRarityPoint",
type: {
defined: "Number128",
},
},
],
},
},
{
name: "RewardType",
type: {
kind: "enum",
variants: [
{
name: "Variable",
},
{
name: "Fixed",
},
],
},
},
{
name: "FarmerState",
type: {
kind: "enum",
variants: [
{
name: "Unstaked",
},
{
name: "Staked",
},
{
name: "PendingCooldown",
},
],
},
},
{
name: "FixedRateRewardTier",
type: {
kind: "enum",
variants: [
{
name: "Base",
},
{
name: "Tier1",
},
{
name: "Tier2",
},
{
name: "Tier3",
},
],
},
},
],
};