Type alias ClaimStakeIDL

ClaimStakeIDL: {
    accounts: [{
        name: "claimStakeVar";
        type: {
            fields: [{
                docs: ["Account version"];
                name: "version";
                type: "u8";
            }, {
                docs: ["Mint Pubkey"];
                name: "claimStakeMint";
                type: "publicKey";
            }, {
                docs: ["Amount of fuel emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied by [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "fuelRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Amount of arms emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied by [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "armsRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Amount of food emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied by [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "foodRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Amount of toolkit emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied my [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "toolkitRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Max reserve of fuel of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "fuelMaxReserve";
                type: "u64";
            }, {
                docs: ["Max reserve of food of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "foodMaxReserve";
                type: "u64";
            }, {
                docs: ["Max reserve of arms of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "armsMaxReserve";
                type: "u64";
            }, {
                docs: ["Max reserve of toolkits of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "toolkitMaxReserve";
                type: "u64";
            }, {
                docs: ["Bump for Claim Stake Vars Account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "claimStaking";
        type: {
            fields: [{
                docs: ["Account version"];
                name: "version";
                type: "u8";
            }, {
                docs: ["Faction Id of the player"];
                name: "factionId";
                type: "u8";
            }, {
                docs: ["Claim Stake escrow owner"];
                name: "owner";
                type: "publicKey";
            }, {
                docs: ["Claim Stake Mint"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["Timestamp of last harvest ix call"];
                name: "lastHarvestTimestamp";
                type: "i64";
            }, {
                docs: ["Amount deposited - to be returned on withdraw"];
                name: "claimStakesInEscrow";
                type: "u64";
            }, {
                docs: ["Fuel reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "fuelToPay";
                type: "u64";
            }, {
                docs: ["Food reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "foodToPay";
                type: "u64";
            }, {
                docs: ["Arms reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "armsToPay";
                type: "u64";
            }, {
                docs: ["toolkit reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "toolkitToPay";
                type: "u64";
            }, {
                docs: ["Total fuel paid as reward (stored as token count)"];
                name: "totalFuelPaid";
                type: "u64";
            }, {
                docs: ["Total food paid as reward (stored as token count)"];
                name: "totalFoodPaid";
                type: "u64";
            }, {
                docs: ["Total arms paid as reward (stored as token count)"];
                name: "totalArmsPaid";
                type: "u64";
            }, {
                docs: ["Total toolkit paid as reward (stored as token count)"];
                name: "totalToolkitPaid";
                type: "u64";
            }, {
                docs: ["Total Fuel Seconds paid"];
                name: "totalFuelSecondsPaid";
                type: "u64";
            }, {
                docs: ["Total Arms Seconds Paid"];
                name: "totalArmsSecondsPaid";
                type: "u64";
            }, {
                docs: ["Total Food Seconds Paid"];
                name: "totalFoodSecondsPaid";
                type: "u64";
            }, {
                docs: ["Total Toolkit seconds Paid"];
                name: "totalToolkitSecondsPaid";
                type: "u64";
            }, {
                docs: ["Timestamp in second when the claim stakes are staked (in seconds)"];
                name: "stakedAtTimestamp";
                type: "i64";
            }, {
                docs: ["Bump for Claim Staking Account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "globalVars";
        type: {
            fields: [{
                docs: ["Account version"];
                name: "version";
                type: "u8";
            }, {
                docs: ["Update authority key"];
                name: "updateAuthorityMaster";
                type: "publicKey";
            }, {
                docs: ["Mint for Fuel R4"];
                name: "fuelMint";
                type: "publicKey";
            }, {
                docs: ["Mint for Food R4"];
                name: "foodMint";
                type: "publicKey";
            }, {
                docs: ["Mint for Arms R4"];
                name: "armsMint";
                type: "publicKey";
            }, {
                docs: ["Mint for Toolkit R4"];
                name: "toolkitMint";
                type: "publicKey";
            }, {
                docs: ["Bump for Global Vars Account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }];
    errors: [{
        code: 6000;
        msg: "Mint does not match";
        name: "MintMismatch";
    }, {
        code: 6001;
        msg: "Account Should not be initialized";
        name: "AccountInitializeError";
    }, {
        code: 6002;
        msg: "Global Vars Authority Mismatch";
        name: "GlobalVarsAuthInvalid";
    }, {
        code: 6003;
        msg: "Authority key is not valid";
        name: "AuthInvalid";
    }, {
        code: 6004;
        msg: "Cannot Deposit 0 Claim Stakes";
        name: "InvalidInput";
    }, {
        code: 6005;
        msg: "Account not Initialized";
        name: "NotInitialized";
    }, {
        code: 6006;
        msg: "Owner key does not match";
        name: "OwnerMismatch";
    }, {
        code: 6007;
        msg: "No Claims Staked";
        name: "ZeroClaimError";
    }, {
        code: 6008;
        msg: "Numerical Overflow Error";
        name: "NumericalOverflowError";
    }, {
        code: 6009;
        msg: "Wrong Owner";
        name: "InvalidOwner";
    }, {
        code: 6010;
        msg: "Global Vars Account not initialized";
        name: "GlobalVarsNotInitialized";
    }, {
        code: 6011;
        msg: "Invalid Player Faction";
        name: "InvalidPlayerFaction";
    }];
    instructions: [{
        accounts: [{
            docs: ["Player Account Info"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["`ClaimStaking` Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["`ClaimStakeVar` Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Fuel Treasury token Account"];
            isMut: true;
            isSigner: false;
            name: "fuelTreasuryTokenAccount";
        }, {
            docs: ["Arms Treasury token Account"];
            isMut: true;
            isSigner: false;
            name: "armsTreasuryTokenAccount";
        }, {
            docs: ["Food treasury token Account"];
            isMut: true;
            isSigner: false;
            name: "foodTreasuryTokenAccount";
        }, {
            docs: ["ToolKit treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "toolkitTreasuryTokenAccount";
        }, {
            docs: ["Player fuel token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFuelTokenAccount";
        }, {
            docs: ["Player arms token Account"];
            isMut: true;
            isSigner: false;
            name: "playerArmsTokenAccount";
        }, {
            docs: ["Player food token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFoodTokenAccount";
        }, {
            docs: ["Player toolkit Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerToolkitTokenAccount";
        }, {
            docs: ["Treasury Authority Account"];
            isMut: false;
            isSigner: false;
            name: "treasuryAuthorityAccount";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "processHarvest";
    }, {
        accounts: [{
            docs: ["Funder for Instruction"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The player account and the signer"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["The Claim Staking PDA"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVars";
        }, {
            docs: ["Player faction account"];
            isMut: false;
            isSigner: false;
            name: "playerFactionAccount";
        }, {
            docs: ["Claim Stake Escrow Authority Account"];
            isMut: false;
            isSigner: false;
            name: "escrowAuthority";
        }, {
            docs: ["Player/Source Claim Stake Token Account Source"];
            isMut: true;
            isSigner: false;
            name: "claimStakeTokenAccountSource";
        }, {
            docs: ["Escrow Claim Stake Token Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeTokenAccountEscrow";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["Rent"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }];
        args: [{
            name: "claimStakeQuantity";
            type: "u64";
        }];
        name: "processInitialDeposit";
    }, {
        accounts: [{
            docs: ["Instruction funder"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["Update Authority Account"];
            isMut: true;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            docs: ["`GlobalVars` Account"];
            isMut: true;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            docs: ["Fuel Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "fuelTreasuryAccount";
        }, {
            docs: ["Arms Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "armsTreasuryAccount";
        }, {
            docs: ["Food Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "foodTreasuryAccount";
        }, {
            docs: ["Toolkit Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "toolkitTreasuryAccount";
        }, {
            docs: ["Treasury Authority Account"];
            isMut: false;
            isSigner: false;
            name: "treasuryAuthorityAccount";
        }, {
            docs: ["Fuel Mint"];
            isMut: false;
            isSigner: false;
            name: "fuelMint";
        }, {
            docs: ["Food Mint"];
            isMut: false;
            isSigner: false;
            name: "foodMint";
        }, {
            docs: ["Arms Mint"];
            isMut: false;
            isSigner: false;
            name: "armsMint";
        }, {
            docs: ["Toolkit Mint"];
            isMut: false;
            isSigner: false;
            name: "toolkitMint";
        }, {
            docs: ["Rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }];
        args: [];
        name: "processInitialize";
    }, {
        accounts: [{
            docs: ["Player Account"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["Claim Staking Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Claim Stake escrow Auth"];
            isMut: false;
            isSigner: false;
            name: "escrowAuthority";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["Player Token Account"];
            isMut: true;
            isSigner: false;
            name: "fromTokenAccount";
        }, {
            docs: ["Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeEscrow";
        }];
        args: [{
            name: "claimStakeQuantity";
            type: "u64";
        }];
        name: "processPartialDeposit";
    }, {
        accounts: [{
            docs: ["Funder"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["Update Authority Account"];
            isMut: false;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            docs: ["Global Vars Account"];
            isMut: false;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "rewardRatePerSecond";
            type: {
                defined: "RewardRateValuesInputUnpacked";
            };
        }, {
            name: "claimStakeMaxReserves";
            type: {
                defined: "MaxReserveValuesInputUnpacked";
            };
        }];
        name: "processRegisterClaimStake";
    }, {
        accounts: [{
            docs: ["Claim Staking Account Info"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Global Vars"];
            isMut: false;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }];
        args: [];
        name: "processSettle";
    }, {
        accounts: [{
            docs: ["Authority Account"];
            isMut: false;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            docs: ["Global Vars Account"];
            isMut: false;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Claim stake mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }];
        args: [{
            name: "rewardRateValues";
            type: {
                defined: "RewardRateValuesInputUnpacked";
            };
        }, {
            name: "maxReserveValues";
            type: {
                defined: "MaxReserveValuesInputUnpacked";
            };
        }];
        name: "processUpdateClaimStakeVars";
    }, {
        accounts: [{
            docs: ["Player Account"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["Claim Staking Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Player Claim Stakes Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerTokenAccount";
        }, {
            docs: ["Player Fuel Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFuelTokenAccount";
        }, {
            docs: ["Player Arms Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerArmsTokenAccount";
        }, {
            docs: ["Player Food Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFoodTokenAccount";
        }, {
            docs: ["Player ToolKit Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerToolkitTokenAccount";
        }, {
            docs: ["Claim Staking Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeEscrowAccount";
        }, {
            docs: ["Fuel Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "fuelTreasuryTokenAccount";
        }, {
            docs: ["Arms Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "armsTreasuryTokenAccount";
        }, {
            docs: ["Food Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "foodTreasuryTokenAccount";
        }, {
            docs: ["ToolKit Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "toolkitTreasuryTokenAccount";
        }, {
            docs: ["Treasury Authority Account"];
            isMut: false;
            isSigner: false;
            name: "treasuryAuthorityAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "escrowAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }];
        args: [];
        name: "processWithdrawClaimStakes";
    }];
    name: "claim_stake";
    types: [{
        docs: ["Max Reserve Values"];
        name: "MaxReserveValuesInput";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`MaxReserveValuesInput`]"];
        name: "MaxReserveValuesInputUnpacked";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Reward Rate Values"];
        name: "RewardRateValuesInput";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RewardRateValuesInput`]"];
        name: "RewardRateValuesInputUnpacked";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }];
    version: "0.1.0";
}

Type declaration

  • accounts: [{
        name: "claimStakeVar";
        type: {
            fields: [{
                docs: ["Account version"];
                name: "version";
                type: "u8";
            }, {
                docs: ["Mint Pubkey"];
                name: "claimStakeMint";
                type: "publicKey";
            }, {
                docs: ["Amount of fuel emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied by [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "fuelRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Amount of arms emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied by [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "armsRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Amount of food emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied by [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "foodRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Amount of toolkit emitted as reward by claim stake of `claim_stake_mint` per second // Multiplied my [crate::util::REWARD_RATE_MULTIPLIER] to maintain precision"];
                name: "toolkitRewardRatePerSecond";
                type: "u64";
            }, {
                docs: ["Max reserve of fuel of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "fuelMaxReserve";
                type: "u64";
            }, {
                docs: ["Max reserve of food of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "foodMaxReserve";
                type: "u64";
            }, {
                docs: ["Max reserve of arms of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "armsMaxReserve";
                type: "u64";
            }, {
                docs: ["Max reserve of toolkits of claim stake of `claim_stake_mint` // stored in tokens * [crate::util::REWARD_RATE_MULTIPLIER]"];
                name: "toolkitMaxReserve";
                type: "u64";
            }, {
                docs: ["Bump for Claim Stake Vars Account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "claimStaking";
        type: {
            fields: [{
                docs: ["Account version"];
                name: "version";
                type: "u8";
            }, {
                docs: ["Faction Id of the player"];
                name: "factionId";
                type: "u8";
            }, {
                docs: ["Claim Stake escrow owner"];
                name: "owner";
                type: "publicKey";
            }, {
                docs: ["Claim Stake Mint"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["Timestamp of last harvest ix call"];
                name: "lastHarvestTimestamp";
                type: "i64";
            }, {
                docs: ["Amount deposited - to be returned on withdraw"];
                name: "claimStakesInEscrow";
                type: "u64";
            }, {
                docs: ["Fuel reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "fuelToPay";
                type: "u64";
            }, {
                docs: ["Food reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "foodToPay";
                type: "u64";
            }, {
                docs: ["Arms reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "armsToPay";
                type: "u64";
            }, {
                docs: ["toolkit reward to pay on harvest/ withdraw // stored as (token count * [`crate::util::REWARD_RATE_MULTIPLIER`])"];
                name: "toolkitToPay";
                type: "u64";
            }, {
                docs: ["Total fuel paid as reward (stored as token count)"];
                name: "totalFuelPaid";
                type: "u64";
            }, {
                docs: ["Total food paid as reward (stored as token count)"];
                name: "totalFoodPaid";
                type: "u64";
            }, {
                docs: ["Total arms paid as reward (stored as token count)"];
                name: "totalArmsPaid";
                type: "u64";
            }, {
                docs: ["Total toolkit paid as reward (stored as token count)"];
                name: "totalToolkitPaid";
                type: "u64";
            }, {
                docs: ["Total Fuel Seconds paid"];
                name: "totalFuelSecondsPaid";
                type: "u64";
            }, {
                docs: ["Total Arms Seconds Paid"];
                name: "totalArmsSecondsPaid";
                type: "u64";
            }, {
                docs: ["Total Food Seconds Paid"];
                name: "totalFoodSecondsPaid";
                type: "u64";
            }, {
                docs: ["Total Toolkit seconds Paid"];
                name: "totalToolkitSecondsPaid";
                type: "u64";
            }, {
                docs: ["Timestamp in second when the claim stakes are staked (in seconds)"];
                name: "stakedAtTimestamp";
                type: "i64";
            }, {
                docs: ["Bump for Claim Staking Account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        name: "globalVars";
        type: {
            fields: [{
                docs: ["Account version"];
                name: "version";
                type: "u8";
            }, {
                docs: ["Update authority key"];
                name: "updateAuthorityMaster";
                type: "publicKey";
            }, {
                docs: ["Mint for Fuel R4"];
                name: "fuelMint";
                type: "publicKey";
            }, {
                docs: ["Mint for Food R4"];
                name: "foodMint";
                type: "publicKey";
            }, {
                docs: ["Mint for Arms R4"];
                name: "armsMint";
                type: "publicKey";
            }, {
                docs: ["Mint for Toolkit R4"];
                name: "toolkitMint";
                type: "publicKey";
            }, {
                docs: ["Bump for Global Vars Account"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }]
  • errors: [{
        code: 6000;
        msg: "Mint does not match";
        name: "MintMismatch";
    }, {
        code: 6001;
        msg: "Account Should not be initialized";
        name: "AccountInitializeError";
    }, {
        code: 6002;
        msg: "Global Vars Authority Mismatch";
        name: "GlobalVarsAuthInvalid";
    }, {
        code: 6003;
        msg: "Authority key is not valid";
        name: "AuthInvalid";
    }, {
        code: 6004;
        msg: "Cannot Deposit 0 Claim Stakes";
        name: "InvalidInput";
    }, {
        code: 6005;
        msg: "Account not Initialized";
        name: "NotInitialized";
    }, {
        code: 6006;
        msg: "Owner key does not match";
        name: "OwnerMismatch";
    }, {
        code: 6007;
        msg: "No Claims Staked";
        name: "ZeroClaimError";
    }, {
        code: 6008;
        msg: "Numerical Overflow Error";
        name: "NumericalOverflowError";
    }, {
        code: 6009;
        msg: "Wrong Owner";
        name: "InvalidOwner";
    }, {
        code: 6010;
        msg: "Global Vars Account not initialized";
        name: "GlobalVarsNotInitialized";
    }, {
        code: 6011;
        msg: "Invalid Player Faction";
        name: "InvalidPlayerFaction";
    }]
  • instructions: [{
        accounts: [{
            docs: ["Player Account Info"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["`ClaimStaking` Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["`ClaimStakeVar` Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Fuel Treasury token Account"];
            isMut: true;
            isSigner: false;
            name: "fuelTreasuryTokenAccount";
        }, {
            docs: ["Arms Treasury token Account"];
            isMut: true;
            isSigner: false;
            name: "armsTreasuryTokenAccount";
        }, {
            docs: ["Food treasury token Account"];
            isMut: true;
            isSigner: false;
            name: "foodTreasuryTokenAccount";
        }, {
            docs: ["ToolKit treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "toolkitTreasuryTokenAccount";
        }, {
            docs: ["Player fuel token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFuelTokenAccount";
        }, {
            docs: ["Player arms token Account"];
            isMut: true;
            isSigner: false;
            name: "playerArmsTokenAccount";
        }, {
            docs: ["Player food token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFoodTokenAccount";
        }, {
            docs: ["Player toolkit Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerToolkitTokenAccount";
        }, {
            docs: ["Treasury Authority Account"];
            isMut: false;
            isSigner: false;
            name: "treasuryAuthorityAccount";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "processHarvest";
    }, {
        accounts: [{
            docs: ["Funder for Instruction"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The player account and the signer"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["The Claim Staking PDA"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVars";
        }, {
            docs: ["Player faction account"];
            isMut: false;
            isSigner: false;
            name: "playerFactionAccount";
        }, {
            docs: ["Claim Stake Escrow Authority Account"];
            isMut: false;
            isSigner: false;
            name: "escrowAuthority";
        }, {
            docs: ["Player/Source Claim Stake Token Account Source"];
            isMut: true;
            isSigner: false;
            name: "claimStakeTokenAccountSource";
        }, {
            docs: ["Escrow Claim Stake Token Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeTokenAccountEscrow";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["Rent"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }];
        args: [{
            name: "claimStakeQuantity";
            type: "u64";
        }];
        name: "processInitialDeposit";
    }, {
        accounts: [{
            docs: ["Instruction funder"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["Update Authority Account"];
            isMut: true;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            docs: ["`GlobalVars` Account"];
            isMut: true;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            docs: ["Fuel Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "fuelTreasuryAccount";
        }, {
            docs: ["Arms Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "armsTreasuryAccount";
        }, {
            docs: ["Food Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "foodTreasuryAccount";
        }, {
            docs: ["Toolkit Treasury Token Account"];
            isMut: true;
            isSigner: false;
            name: "toolkitTreasuryAccount";
        }, {
            docs: ["Treasury Authority Account"];
            isMut: false;
            isSigner: false;
            name: "treasuryAuthorityAccount";
        }, {
            docs: ["Fuel Mint"];
            isMut: false;
            isSigner: false;
            name: "fuelMint";
        }, {
            docs: ["Food Mint"];
            isMut: false;
            isSigner: false;
            name: "foodMint";
        }, {
            docs: ["Arms Mint"];
            isMut: false;
            isSigner: false;
            name: "armsMint";
        }, {
            docs: ["Toolkit Mint"];
            isMut: false;
            isSigner: false;
            name: "toolkitMint";
        }, {
            docs: ["Rent sysvar"];
            isMut: false;
            isSigner: false;
            name: "rent";
        }];
        args: [];
        name: "processInitialize";
    }, {
        accounts: [{
            docs: ["Player Account"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["Claim Staking Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Claim Stake escrow Auth"];
            isMut: false;
            isSigner: false;
            name: "escrowAuthority";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["Player Token Account"];
            isMut: true;
            isSigner: false;
            name: "fromTokenAccount";
        }, {
            docs: ["Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeEscrow";
        }];
        args: [{
            name: "claimStakeQuantity";
            type: "u64";
        }];
        name: "processPartialDeposit";
    }, {
        accounts: [{
            docs: ["Funder"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["Update Authority Account"];
            isMut: false;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            docs: ["Global Vars Account"];
            isMut: false;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }, {
            docs: ["System Program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "rewardRatePerSecond";
            type: {
                defined: "RewardRateValuesInputUnpacked";
            };
        }, {
            name: "claimStakeMaxReserves";
            type: {
                defined: "MaxReserveValuesInputUnpacked";
            };
        }];
        name: "processRegisterClaimStake";
    }, {
        accounts: [{
            docs: ["Claim Staking Account Info"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Global Vars"];
            isMut: false;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Claim Stake Mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }];
        args: [];
        name: "processSettle";
    }, {
        accounts: [{
            docs: ["Authority Account"];
            isMut: false;
            isSigner: true;
            name: "updateAuthorityAccount";
        }, {
            docs: ["Global Vars Account"];
            isMut: false;
            isSigner: false;
            name: "globalVarsAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Claim stake mint"];
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }];
        args: [{
            name: "rewardRateValues";
            type: {
                defined: "RewardRateValuesInputUnpacked";
            };
        }, {
            name: "maxReserveValues";
            type: {
                defined: "MaxReserveValuesInputUnpacked";
            };
        }];
        name: "processUpdateClaimStakeVars";
    }, {
        accounts: [{
            docs: ["Player Account"];
            isMut: false;
            isSigner: true;
            name: "playerAccount";
        }, {
            docs: ["Claim Staking Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakingAccount";
        }, {
            docs: ["Claim Stake Vars Account"];
            isMut: false;
            isSigner: false;
            name: "claimStakeVarsAccount";
        }, {
            docs: ["Player Claim Stakes Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerTokenAccount";
        }, {
            docs: ["Player Fuel Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFuelTokenAccount";
        }, {
            docs: ["Player Arms Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerArmsTokenAccount";
        }, {
            docs: ["Player Food Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerFoodTokenAccount";
        }, {
            docs: ["Player ToolKit Token Account"];
            isMut: true;
            isSigner: false;
            name: "playerToolkitTokenAccount";
        }, {
            docs: ["Claim Staking Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "claimStakeEscrowAccount";
        }, {
            docs: ["Fuel Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "fuelTreasuryTokenAccount";
        }, {
            docs: ["Arms Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "armsTreasuryTokenAccount";
        }, {
            docs: ["Food Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "foodTreasuryTokenAccount";
        }, {
            docs: ["ToolKit Treasury Account"];
            isMut: true;
            isSigner: false;
            name: "toolkitTreasuryTokenAccount";
        }, {
            docs: ["Treasury Authority Account"];
            isMut: false;
            isSigner: false;
            name: "treasuryAuthorityAccount";
        }, {
            isMut: false;
            isSigner: false;
            name: "escrowAuthority";
        }, {
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }, {
            isMut: false;
            isSigner: false;
            name: "claimStakeMint";
        }];
        args: [];
        name: "processWithdrawClaimStakes";
    }]
  • name: "claim_stake"
  • types: [{
        docs: ["Max Reserve Values"];
        name: "MaxReserveValuesInput";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`MaxReserveValuesInput`]"];
        name: "MaxReserveValuesInputUnpacked";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Reward Rate Values"];
        name: "RewardRateValuesInput";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RewardRateValuesInput`]"];
        name: "RewardRateValuesInputUnpacked";
        type: {
            fields: [{
                name: "fuel";
                type: "u64";
            }, {
                name: "arms";
                type: "u64";
            }, {
                name: "food";
                type: "u64";
            }, {
                name: "toolkit";
                type: "u64";
            }];
            kind: "struct";
        };
    }]
  • version: "0.1.0"

Generated using TypeDoc