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"