UNPKG

@coral-xyz/soulbound

Version:
174 lines 8 kB
/// <reference types="bn.js" /> import * as anchor from "@coral-xyz/anchor"; import { Program } from "@coral-xyz/anchor"; import { PublicKey, TransactionSignature, TransactionInstruction } from "@solana/web3.js"; import { SoulBoundAuthority } from "./_idls/soulBoundAuthority"; import { CardinalStakePool } from "./_idls/cardinalStakePool"; import { CardinalRewardDistributor } from "./_idls/cardinalRewardDistributor"; declare const BN: typeof anchor.BN; export declare function createStakeApi(PROVIDER: any): { stake: ({ user, nft, stakePool, rewardDistributor, stakePoolProgram, rewardDistributorProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; rewardDistributor?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; }) => Promise<TransactionSignature>; stakeInstruction: ({ user, nft, stakePool, rewardDistributor, stakePoolProgram, rewardDistributorProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; rewardDistributor?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; }) => Promise<TransactionInstruction>; unstake: ({ user, nft, stakePool, stakePoolProgram, options, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; options?: any; }) => Promise<TransactionSignature>; unstakeInstruction: ({ user, nft, stakePool, stakePoolProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; }) => Promise<TransactionInstruction>; claimAndUnstakeInstructions: ({ user, nft, stakePool, stakePoolProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; }) => Promise<Array<TransactionInstruction>>; isStaked: ({ user, nft, stakePool, stakePoolProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; }) => Promise<boolean>; isSoulBoundAuthorityUserInitialized: (user: PublicKey, soulboundProgram?: anchor.Program<SoulBoundAuthority>) => Promise<any>; readGoldPoints: ({ user, nft, goldMint, stakePool, rewardDistributor, soulboundProgram, stakePoolProgram, rewardDistributorProgram, accounts, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; goldMint?: anchor.web3.PublicKey | undefined; soulboundProgram?: anchor.Program<SoulBoundAuthority> | undefined; stakePool?: anchor.web3.PublicKey | undefined; rewardDistributor?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; accounts?: any; }) => Promise<number>; readUnclaimedGoldPoints: ({ user, nft, stakePool, rewardDistributor, stakePoolProgram, rewardDistributorProgram, accounts, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; rewardDistributor?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; accounts?: { stakeEntry: any; rewardEntry: any; rewardDistributor: any; goldTokenAccount: any; } | undefined; }) => Promise<anchor.BN>; readClaimedGoldPoints: ({ user, nft, goldMint, soulboundProgram, rewardDistributorProgram, accounts, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; goldMint?: anchor.web3.PublicKey | undefined; soulboundProgram?: anchor.Program<SoulBoundAuthority> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; accounts?: { stakeEntry: any; rewardEntry: any; goldTokenAccount: any; } | undefined; }) => Promise<anchor.BN>; transferRewards: ({ amount, fromUser, fromNft, toNft, goldMint, stakePool, rewardDistributor, soulboundProgram, stakePoolProgram, rewardDistributorProgram, }: { amount?: anchor.BN | undefined; fromUser: PublicKey; fromNft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; toNft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; goldMint?: anchor.web3.PublicKey | undefined; stakePool?: anchor.web3.PublicKey | undefined; rewardDistributor?: anchor.web3.PublicKey | undefined; soulboundProgram?: anchor.Program<SoulBoundAuthority> | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; }) => Promise<TransactionSignature>; anchor: { soulbound: anchor.Program<SoulBoundAuthority>; rewardDistributor: anchor.Program<CardinalRewardDistributor>; stakePool: anchor.Program<CardinalStakePool>; }; constants: { REWARD_DISTRIBUTOR: anchor.web3.PublicKey; }; rewardEntryAddress: ({ user, nft, stakePool, rewardDistributor, stakePoolProgram, rewardDistributorProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; rewardDistributor?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; }) => Promise<anchor.web3.PublicKey>; stakeEntryAddress: ({ user, nft, stakePool, stakePoolProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; stakePool?: anchor.web3.PublicKey | undefined; stakePoolProgram?: anchor.Program<CardinalStakePool> | undefined; }) => Promise<anchor.web3.PublicKey>; goldPointsAddress: ({ user, nft, goldMint, soulboundProgram, rewardDistributorProgram, }: { user: PublicKey; nft: { mintAddress: PublicKey; metadataAddress: PublicKey; }; goldMint?: anchor.web3.PublicKey | undefined; soulboundProgram?: anchor.Program<SoulBoundAuthority> | undefined; rewardDistributorProgram?: anchor.Program<CardinalRewardDistributor> | undefined; }) => Promise<PublicKey>; }; export {}; //# sourceMappingURL=index.d.ts.map