UNPKG

@frakt-protocol/frakt-sdk

Version:

Frakt SDK for interacting with frakt.xyz protocols

1,550 lines (1,549 loc) 43.4 kB
export declare type GemFarm = { 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"; } ]; }; } ]; }; export declare const idl: GemFarm;