@coral-xyz/soulbound
Version:
Node.js client for the soulbound protocol
574 lines • 16.6 kB
TypeScript
export type CardinalRewardDistributor = {
version: "2.2.1";
name: "cardinal_reward_distributor";
instructions: [
{
name: "initRewardDistributor";
accounts: [
{
name: "rewardDistributor";
isMut: true;
isSigner: false;
},
{
name: "stakePool";
isMut: false;
isSigner: false;
},
{
name: "rewardMint";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: true;
isSigner: true;
},
{
name: "payer";
isMut: true;
isSigner: true;
},
{
name: "tokenProgram";
isMut: false;
isSigner: false;
},
{
name: "systemProgram";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "ix";
type: {
defined: "InitRewardDistributorIx";
};
}
];
},
{
name: "initRewardEntry";
accounts: [
{
name: "rewardEntry";
isMut: true;
isSigner: false;
},
{
name: "stakeEntry";
isMut: false;
isSigner: false;
},
{
name: "rewardDistributor";
isMut: true;
isSigner: false;
},
{
name: "payer";
isMut: true;
isSigner: true;
},
{
name: "systemProgram";
isMut: false;
isSigner: false;
}
];
args: [];
},
{
name: "claimRewards";
accounts: [
{
name: "rewardEntry";
isMut: true;
isSigner: false;
},
{
name: "rewardDistributor";
isMut: true;
isSigner: false;
},
{
name: "stakeEntry";
isMut: false;
isSigner: false;
},
{
name: "stakePool";
isMut: false;
isSigner: false;
},
{
name: "originalMint";
isMut: false;
isSigner: false;
},
{
name: "rewardMint";
isMut: true;
isSigner: false;
},
{
name: "userRewardMintTokenAccount";
isMut: true;
isSigner: false;
},
{
name: "authority";
isMut: false;
isSigner: true;
},
{
name: "user";
isMut: true;
isSigner: false;
docs: [
"is a function of the mint and the last staker, and the last",
"staker is indeed this user."
];
},
{
name: "associatedTokenProgram";
isMut: false;
isSigner: false;
},
{
name: "tokenProgram";
isMut: false;
isSigner: false;
},
{
name: "systemProgram";
isMut: false;
isSigner: false;
},
{
name: "rent";
isMut: false;
isSigner: false;
}
];
args: [];
},
{
name: "transferRewards";
accounts: [
{
name: "rewardEntryA";
isMut: true;
isSigner: false;
},
{
name: "rewardEntryB";
isMut: true;
isSigner: false;
},
{
name: "rewardDistributor";
isMut: true;
isSigner: false;
},
{
name: "stakeEntryA";
isMut: false;
isSigner: false;
},
{
name: "stakeEntryB";
isMut: false;
isSigner: false;
},
{
name: "stakePool";
isMut: false;
isSigner: false;
},
{
name: "originalMintA";
isMut: false;
isSigner: false;
},
{
name: "originalMintB";
isMut: false;
isSigner: false;
},
{
name: "rewardMint";
isMut: true;
isSigner: false;
},
{
name: "userRewardMintTokenAccountA";
isMut: true;
isSigner: false;
},
{
name: "userRewardMintTokenAccountB";
isMut: true;
isSigner: false;
},
{
name: "authorityA";
isMut: false;
isSigner: true;
},
{
name: "authorityB";
isMut: false;
isSigner: false;
},
{
name: "user";
isMut: true;
isSigner: false;
docs: [
"is a function of the mint and the last staker, and the last",
"staker is indeed this user."
];
},
{
name: "associatedTokenProgram";
isMut: false;
isSigner: false;
},
{
name: "tokenProgram";
isMut: false;
isSigner: false;
},
{
name: "systemProgram";
isMut: false;
isSigner: false;
},
{
name: "rent";
isMut: false;
isSigner: false;
}
];
args: [
{
name: "amount";
type: {
option: "u64";
};
}
];
}
];
accounts: [
{
name: "rewardEntry";
type: {
kind: "struct";
fields: [
{
name: "bump";
type: "u8";
},
{
name: "stakeEntry";
type: "publicKey";
},
{
name: "rewardDistributor";
type: "publicKey";
},
{
name: "rewardSecondsReceived";
type: "u128";
},
{
name: "multiplier";
type: "u64";
}
];
};
},
{
name: "rewardDistributor";
type: {
kind: "struct";
fields: [
{
name: "bump";
type: "u8";
},
{
name: "stakePool";
type: "publicKey";
},
{
name: "kind";
type: "u8";
},
{
name: "authority";
type: "publicKey";
},
{
name: "rewardMint";
type: "publicKey";
},
{
name: "rewardAmount";
type: "u64";
},
{
name: "rewardDurationSeconds";
type: "u128";
},
{
name: "rewardsIssued";
type: "u128";
},
{
name: "maxSupply";
type: {
option: "u64";
};
},
{
name: "defaultMultiplier";
type: "u64";
},
{
name: "multiplierDecimals";
type: "u8";
},
{
name: "maxRewardSecondsReceived";
type: {
option: "u128";
};
}
];
};
}
];
types: [
{
name: "InitRewardDistributorIx";
type: {
kind: "struct";
fields: [
{
name: "rewardAmount";
type: "u64";
},
{
name: "rewardDurationSeconds";
type: "u128";
},
{
name: "kind";
type: "u8";
},
{
name: "supply";
type: {
option: "u64";
};
},
{
name: "maxSupply";
type: {
option: "u64";
};
},
{
name: "defaultMultiplier";
type: {
option: "u64";
};
},
{
name: "multiplierDecimals";
type: {
option: "u8";
};
},
{
name: "maxRewardSecondsReceived";
type: {
option: "u128";
};
}
];
};
},
{
name: "UpdateRewardDistributorIx";
type: {
kind: "struct";
fields: [
{
name: "defaultMultiplier";
type: "u64";
},
{
name: "multiplierDecimals";
type: "u8";
},
{
name: "rewardAmount";
type: "u64";
},
{
name: "rewardDurationSeconds";
type: "u128";
},
{
name: "maxRewardSecondsReceived";
type: {
option: "u128";
};
}
];
};
},
{
name: "UpdateRewardEntryIx";
type: {
kind: "struct";
fields: [
{
name: "multiplier";
type: "u64";
}
];
};
},
{
name: "RewardDistributorKind";
type: {
kind: "enum";
variants: [
{
name: "Mint";
},
{
name: "Treasury";
}
];
};
}
];
errors: [
{
code: 6000;
name: "InvalidTokenAccount";
msg: "Invalid token account";
},
{
code: 6001;
name: "InvalidRewardMint";
msg: "Invalid reward mint";
},
{
code: 6002;
name: "InvalidUserRewardMintTokenAccount";
msg: "Invalid user reward mint token account";
},
{
code: 6003;
name: "InvalidRewardDistributor";
msg: "Invalid reward distributor";
},
{
code: 6004;
name: "InvalidRewardDistributorAuthority";
msg: "Invalid reward distributor authority";
},
{
code: 6005;
name: "InvalidRewardDistributorKind";
msg: "Invalid reward distributor kind";
},
{
code: 6006;
name: "SupplyRequired";
msg: "Initial supply required for kind treasury";
},
{
code: 6007;
name: "InvalidAuthority";
msg: "Invalid authority";
},
{
code: 6008;
name: "InvalidPoolDistributor";
msg: "Invalid distributor for pool";
},
{
code: 6009;
name: "DistributorNotClosed";
msg: "Distributor is already open";
},
{
code: 6010;
name: "DistributorAlreadyClosed";
msg: "Distributor is already closed";
},
{
code: 6011;
name: "InvalidStakeEntry";
msg: "Invalid stake entry";
},
{
code: 6012;
name: "InvalidRewardEntry";
msg: "Invalid reward entry";
},
{
code: 6013;
name: "InvalidRewardDistributorTokenAccount";
msg: "Invalid reward distributor token account";
},
{
code: 6014;
name: "InvalidAuthorityTokenAccount";
msg: "Invalid authority token account";
},
{
code: 6015;
name: "InvalidPayer";
msg: "Invalid payer";
},
{
code: 6016;
name: "MaxRewardSecondsClaimed";
msg: "Max reward seconds claimed";
},
{
code: 6017;
name: "InvalidRewardTokenOwner";
msg: "Invalid reward token account owner";
},
{
code: 6018;
name: "InvalidSelfTransfer";
msg: "Invalid self transfer";
},
{
code: 6019;
name: "NotEnoughRewardTokens";
msg: "Not enough reward tokens";
},
{
code: 6020;
name: "InvalidInstruction";
msg: "Invalid instruction";
}
];
};
export declare const IDL: CardinalRewardDistributor;
//# sourceMappingURL=cardinalRewardDistributor.d.ts.map