UNPKG

yamaswap-sdk

Version:
62 lines (59 loc) 1.61 kB
import { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js'; interface AnchorWallet { publicKey: PublicKey; signTransaction<T extends Transaction | VersionedTransaction>(transaction: T): Promise<T>; signAllTransactions<T extends Transaction | VersionedTransaction>(transactions: T[]): Promise<T[]>; } type ETFTokenConstituent = { token: string; weight: number; }; type ETFCreateParams = { name: string; symbol: string; description: string; url: string; assets: ETFTokenConstituent[]; }; type ETFBurnParams = { etfAddress: string; lamports: number | bigint; }; /** * purchase share parameters * lamports use Solana standard precision (9 digits) * for example: purchase 1 full share = 1000000000 (1e9) * purchase 0.5 share = 500000000 (5e8) */ type MintETFTokenParams = { etfAddress: string; lamports: number; }; interface ETFCreateResult { success: boolean; txid?: string; error?: string; data?: { etfAddress?: PublicKey; etfCoreAddress?: PublicKey; symbol?: string; name?: string; description?: string; creator?: string; assets?: Array<{ token: PublicKey; weight: number; }>; }; } type MintETFResult = { success: boolean; txid: string; error?: string; data?: { mintTokenataAccount?: PublicKey; balance: number; etfAddress: string; }; }; export type { AnchorWallet as A, ETFCreateParams as E, MintETFTokenParams as M, ETFBurnParams as a, ETFCreateResult as b, MintETFResult as c };