@triadxyz/triad-protocol
Version:
<div align="center"> <h1>Triad Protocol</h1> </div>
60 lines (59 loc) • 2.59 kB
TypeScript
/// <reference types="@coral-xyz/anchor/node_modules/@solana/web3.js" />
import { Program } from '@coral-xyz/anchor';
import { PublicKey } from '@solana/web3.js';
import { TriadProtocol } from './types/triad_protocol';
import { RpcOptions, CreateClaimVaultArgs, ClaimTokenArgs, UpdateClaimVaultIsActiveArgs, UpdateClaimVaultAmountArgs, UpdateClaimVaultEndTsArgs } from './types';
export default class Claim {
private program;
private rpcOptions;
constructor(program: Program<TriadProtocol>, rpcOptions: RpcOptions);
/**
* Get All Claim Vaults
*/
getAllClaimVaults(): Promise<import("./types").ClaimVault[]>;
/**
* Get Claim Vault
* @param name - Name of the claim vault
*/
getClaimVault(name: string): Promise<import("./types").ClaimVault>;
/**
* Get Claimed User
* @param claimVault - Claim vault
* @param user - User
*/
getClaimedUser(claimVault: PublicKey, user: PublicKey): Promise<import("./types").ClaimedUser>;
/**
* 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<string | import("@solana/web3.js").VersionedTransaction>;
/**
* Create Claim Vault
* @param args - Create Claim Vault Args
*/
createClaimVault({ totalAmount, totalUsers, name, isFirstComeFirstServed, endTs, claimData, mint }: CreateClaimVaultArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
/**
* Update Claim Vault Is Active
* @param isActive - Is active
* @param claimVault - Claim vault
*/
updateClaimVaultIsActive({ isActive, claimVaultName }: UpdateClaimVaultIsActiveArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
/**
* 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<string | import("@solana/web3.js").VersionedTransaction>;
/**
* Update Claim Vault End Ts
* @param endTs - End ts
* @param claimVaultName - Claim vault name
*/
updateClaimVaultEndTs({ endTs, claimVaultName }: UpdateClaimVaultEndTsArgs): Promise<string | import("@solana/web3.js").VersionedTransaction>;
}