import { Program } from '@coral-xyz/anchor'; import { PublicKey } from '@solana/web3.js'; import { OrraProtocol } from './types/orra_protocol'; import { RpcOptions, CreateClaimVaultArgs, ClaimTokenArgs, UpdateClaimVaultIsActiveArgs, UpdateClaimVaultAmountArgs, UpdateClaimVaultEndTsArgs } from './types'; export default class Claim { private program; private rpcOptions; constructor(program: Program, rpcOptions: RpcOptions); /** * Get All Claim Vaults */ getAllClaimVaults(): Promise; /** * Get Claim Vault * @param name - Name of the claim vault */ getClaimVault(name: string): Promise; /** * Get Claimed User * @param claimVault - Claim vault * @param user - User */ getClaimedUser(claimVault: PublicKey, user: PublicKey): Promise; /** * Claim Token * @param claimData - Claim data * @param claimVaultName - Vault name * @param payer - Payer * @param mint - Mint * @param amount - Amount to claim */ claimToken({ mint, claimVaultName, claimData, amount, isFirstComeFirstServed }: ClaimTokenArgs): Promise; /** * Create Claim Vault * @param args - Create Claim Vault Args */ createClaimVault({ totalAmount, totalUsers, name, isFirstComeFirstServed, endTs, claimData, mint }: CreateClaimVaultArgs): Promise; /** * Update Claim Vault Is Active * @param isActive - Is active * @param claimVault - Claim vault */ updateClaimVaultIsActive({ isActive, claimVaultName }: UpdateClaimVaultIsActiveArgs): Promise; /** * Update Claim Vault Amount * @param amount - Amount to add * @param newUsers - New users to add * @param claimVaultName - Claim vault name * @param mint - Mint */ updateClaimVaultAmount({ amount, newUsers, claimVaultName, mint, claimData }: UpdateClaimVaultAmountArgs): Promise; /** * Update Claim Vault End Ts * @param endTs - End ts * @param claimVaultName - Claim vault name */ updateClaimVaultEndTs({ endTs, claimVaultName }: UpdateClaimVaultEndTsArgs): Promise; }