UNPKG

@frakt-protocol/frakt-sdk

Version:

Frakt SDK for interacting with frakt.xyz protocols

1,090 lines (1,089 loc) 32.4 kB
{ "version": "0.0.1", "name": "multi_reward_staking", "instructions": [ { "name": "initNewMainRout", "accounts": [ { "name": "admin", "isMut": true, "isSigner": true }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": false, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountInput", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountOutput", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "configInput", "isMut": true, "isSigner": false }, { "name": "configOutput", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpConfigInput", "type": "u8" }, { "name": "bumpConfigOutput", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "endTime", "type": "u64" }, { "name": "decimalsInput", "type": "u64" }, { "name": "decimalsOutput", "type": "u64" } ] }, { "name": "topupMain", "accounts": [ { "name": "admin", "isMut": true, "isSigner": true }, { "name": "adminTokenAccountOutput", "isMut": true, "isSigner": false }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountOutput", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "configOutput", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "inputAmount", "type": "u64" } ] }, { "name": "stakeSingle", "accounts": [ { "name": "initializer", "isMut": true, "isSigner": true }, { "name": "userTokenAccountInput", "isMut": true, "isSigner": false }, { "name": "tokenMintInput", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountInput", "isMut": true, "isSigner": false }, { "name": "tokenMintOutput", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "configInput", "isMut": true, "isSigner": false }, { "name": "stakeAccount", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpConfigInput", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "bumpStake", "type": "u8" }, { "name": "stakeAmount", "type": "u64" } ] }, { "name": "unstakeSingle", "accounts": [ { "name": "initializer", "isMut": true, "isSigner": true }, { "name": "userTokenAccountInput", "isMut": true, "isSigner": false }, { "name": "tokenMintInput", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountInput", "isMut": true, "isSigner": false }, { "name": "tokenMintOutput", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "configInput", "isMut": true, "isSigner": false }, { "name": "stakeAccount", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpConfigInput", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "bumpStake", "type": "u8" }, { "name": "unstakeAmount", "type": "u64" } ] }, { "name": "harvestMainReward", "accounts": [ { "name": "initializer", "isMut": true, "isSigner": true }, { "name": "tokenMintInput", "isMut": true, "isSigner": false }, { "name": "userTokenAccountOutput", "isMut": true, "isSigner": false }, { "name": "tokenMintOutput", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountOutput", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "configOutput", "isMut": true, "isSigner": false }, { "name": "stakeAccount", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpConfigOutput", "type": "u8" }, { "name": "bumpRouter", "type": "u8" }, { "name": "bumpStake", "type": "u8" } ] }, { "name": "initSecondaryRewards", "accounts": [ { "name": "admin", "isMut": true, "isSigner": true }, { "name": "adminRewardAccount", "isMut": true, "isSigner": false }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": false, "isSigner": false }, { "name": "tokenMintRewards", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountReward", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": false, "isSigner": false }, { "name": "secondaryReward", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "bumpSecondaryReward", "type": "u8" }, { "name": "inputAmount", "type": "u64" }, { "name": "tokensPerSecondPerPoint", "type": "u64" }, { "name": "endTime", "type": "u64" }, { "name": "decimalsOutput", "type": "u64" } ] }, { "name": "harvestSecondaryRewards", "accounts": [ { "name": "initializer", "isMut": true, "isSigner": true }, { "name": "userTokenAccountRewards", "isMut": true, "isSigner": false }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": false, "isSigner": false }, { "name": "tokenMintRewards", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountRewards", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": false, "isSigner": false }, { "name": "stakeAccount", "isMut": true, "isSigner": false }, { "name": "secondaryReward", "isMut": true, "isSigner": false }, { "name": "secondaryStakeAccount", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "bumpSecondaryReward", "type": "u8" }, { "name": "bumpSecondaryStake", "type": "u8" }, { "name": "bumpStake", "type": "u8" } ] }, { "name": "updateSpeedSecondaryRewards", "accounts": [ { "name": "admin", "isMut": true, "isSigner": true }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": false, "isSigner": false }, { "name": "tokenMintRewards", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "secondaryReward", "isMut": true, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "bumpSecondaryReward", "type": "u8" }, { "name": "tokensPerSecondPerPoint", "type": "u64" } ] }, { "name": "topupSecondaryReward", "accounts": [ { "name": "admin", "isMut": true, "isSigner": true }, { "name": "adminRewardAccount", "isMut": true, "isSigner": false }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": false, "isSigner": false }, { "name": "tokenMintRewards", "isMut": true, "isSigner": false }, { "name": "vaultOwnerPda", "isMut": true, "isSigner": false }, { "name": "vaultTokenAccountReward", "isMut": true, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "secondaryReward", "isMut": true, "isSigner": false }, { "name": "rent", "isMut": false, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false }, { "name": "tokenProgram", "isMut": false, "isSigner": false }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpAuth", "type": "u8" }, { "name": "bumpMainRouter", "type": "u8" }, { "name": "bumpSecondaryReward", "type": "u8" }, { "name": "inputAmount", "type": "u64" } ] }, { "name": "updateEndTimeMain", "accounts": [ { "name": "admin", "isMut": true, "isSigner": true }, { "name": "tokenMintInput", "isMut": false, "isSigner": false }, { "name": "tokenMintOutput", "isMut": false, "isSigner": false }, { "name": "mainRouter", "isMut": true, "isSigner": false }, { "name": "systemProgram", "isMut": false, "isSigner": false } ], "args": [ { "name": "bumpMainRouter", "type": "u8" }, { "name": "endTime", "type": "u64" } ] } ], "accounts": [ { "name": "mainConfig", "type": { "kind": "struct", "fields": [ { "name": "vaultOwnerPda", "type": "publicKey" }, { "name": "tokenMint", "type": "publicKey" }, { "name": "vaultTokenAccount", "type": "publicKey" }, { "name": "poolVaultBalance", "type": "u64" } ] } }, { "name": "mainRouter", "type": { "kind": "struct", "fields": [ { "name": "tokenMintInput", "type": "publicKey" }, { "name": "tokenMintOutput", "type": "publicKey" }, { "name": "poolConfigInput", "type": "publicKey" }, { "name": "poolConfigOutput", "type": "publicKey" }, { "name": "amountOfStaked", "type": "u64" }, { "name": "amountToReturn", "type": "u64" }, { "name": "apr", "type": "u64" }, { "name": "cumulative", "type": "u64" }, { "name": "lastTime", "type": "u64" }, { "name": "decimalsInput", "type": "u64" }, { "name": "decimalsOutput", "type": "u64" }, { "name": "oldCumulative", "type": "u64" }, { "name": "endTime", "type": "u64" }, { "name": "startTime", "type": "u64" } ] } }, { "name": "secondStakeAccount", "type": { "kind": "struct", "fields": [ { "name": "rewardOwner", "type": "publicKey" }, { "name": "stakeAccount", "type": "publicKey" }, { "name": "secondaryReward", "type": "publicKey" }, { "name": "startTime", "type": "u64" }, { "name": "lastHarvestedAt", "type": "u64" } ] } }, { "name": "secondaryReward", "type": { "kind": "struct", "fields": [ { "name": "routerPubkey", "type": "publicKey" }, { "name": "tokenMint", "type": "publicKey" }, { "name": "poolVaultBalance", "type": "u64" }, { "name": "tokensPerSecondPerPoint", "type": "u64" }, { "name": "decimalsOutput", "type": "u64" }, { "name": "startTime", "type": "u64" }, { "name": "endTime", "type": "u64" } ] } }, { "name": "stakeAccount", "type": { "kind": "struct", "fields": [ { "name": "stakeOwner", "type": "publicKey" }, { "name": "tokenMintInput", "type": "publicKey" }, { "name": "tokenMintOutput", "type": "publicKey" }, { "name": "router", "type": "publicKey" }, { "name": "amount", "type": "u64" }, { "name": "stakedAt", "type": "u64" }, { "name": "stakeEnd", "type": "u64" }, { "name": "stakedAtCumulative", "type": "u64" }, { "name": "unstakedAtCumulative", "type": "u64" }, { "name": "lastHarvestedAt", "type": "u64" }, { "name": "isStaked", "type": "bool" } ] } } ], "errors": [ { "code": 6000, "name": "ArithmeticError", "msg": "failed to perform some math operation safely" }, { "code": 6001, "name": "UnknownInstruction", "msg": "unknown instruction called" }, { "code": 6002, "name": "InvalidParameter", "msg": "invalid parameter passed" }, { "code": 6003, "name": "AnchorSerializationIssue", "msg": "anchor serialization issue" }, { "code": 6004, "name": "ExpectedAmountMismatch", "msg": "problems with pool, check msgs" }, { "code": 6005, "name": "ZeroReturn", "msg": "no return amount" }, { "code": 6006, "name": "TimeIsUp", "msg": "time Is up" }, { "code": 6007, "name": "CannotHarvest", "msg": "cannot harvest anymore on unstaked account" } ] }