import { Program } from '@coral-xyz/anchor'; import { PublicKey } from '@solana/web3.js'; import { OrraProtocol } from './types/orra_protocol'; import { RpcOptions } from './types'; export default class Poseidon { private program; private rpcOptions; constructor(program: Program, rpcOptions: RpcOptions); /** * Transfer Poseidon * @param args.poseidonAsset - Poseidon Asset * @param args.ticketAsset - Ticket Asset * @param args.ticketNumber - Ticket Number */ transferPoseidon(poseidons: { poseidonAsset: PublicKey; ticketAsset: PublicKey; ticketNumber: number; }[]): Promise; /** * Withdraw Poseidon * @param poseidonAsset - Poseidon Asset - CORE PublicKey * @param nft - NFT Poseidon Number */ withdrawPoseidon(poseidonAsset: PublicKey, nft: number): Promise; /** * Collect Royalty * @param collectionSymbol - Collection Symbol */ collectRoyalty(collectionSymbol: string): Promise; /** * Add Trader Poseidon * @param user - User Public Key * @param poseidonAsset - Poseidon Asset */ addTraderPoseidon(user: PublicKey, poseidonAsset: PublicKey): Promise; /** * Remove Trader Poseidon * @param user - User Public Key * @param poseidonAsset - Poseidon Asset */ removeTraderPoseidon(user: PublicKey, poseidonAsset: PublicKey): Promise; /** * Update Metadata * @param poseidons.uri - URI * @param poseidons.asset - Asset */ updateMetadata(poseidons: { uri: string; asset: PublicKey; }[]): Promise; }