UNPKG

fsl-js-sdk

Version:
80 lines (79 loc) 4.67 kB
/// <reference types="node" /> /// <reference types="node" /> import FSLWeb3 from '.'; import { IFSLWeb3Params, ITransferSolanaToken, ITransferSolanaNativeToken, ICheckNFT } from '../../../type/web3'; import { Keypair, Connection, PublicKey, Transaction, VersionedTransactionResponse, VersionedTransaction, TransactionInstruction } from '@solana/web3.js'; import { Account } from '@solana/spl-token'; import { web3 } from '@project-serum/anchor'; import { Chains, TOKEN_NAME } from '../../constants/index'; export declare class FSLWeb3Sol extends FSLWeb3 { solanaKeypaire?: Keypair; constructor({ mnemonic, gasPriorityPolygon, gasPriorityExtraPolygon, gasPriorityExtraEvm, }: IFSLWeb3Params); static assignPublicKey(obj: Record<string, any> | string): any; static assignTransaction(obj: Record<string, any> | string): any; toBuffer(arr: Buffer | Uint8Array | Array<number>): Buffer; generateWallet(mnemonic: string): string; getSolanaAddress(): string; exportSolanaPrivatekey(): string; checkSolanaTransactionHashStatus(txHash: string, rpc: string): Promise<web3.RpcResponseAndContext<web3.SignatureStatus | null>>; static validateSolAddress(address: string): boolean; signSolanaMessage(message: string): Uint8Array; static verifySolanaMessage(message: string, signature: Uint8Array, publicKey: PublicKey): boolean; sendSolanaTransaction(encodedTransaction: string, rpc: string): Promise<string>; sendRawTransaction(transactionBase64: string, rpc: string): Promise<string>; signSolanaInstructions(instructions: TransactionInstruction[], keypairs: Keypair[], rpc: string, unitLimit?: number, unitPrice?: number): Promise<string>; signSolanaTransaction(bufferStrs: string[], versions: Array<'legacy' | 0>): (Transaction | VersionedTransaction)[]; signSolanaTransactionWithBuffers(bufferStrs: string[], versions: Array<'legacy' | 0>): string[]; getSolanaSplTokenBalance(walletAddress: string, rpc: string, contractAddress: string): Promise<number>; getSolanaNativeTokenBalance(walletAddress: string, rpc: string): Promise<number>; transferSolanaNativeToken({ to, amount, rpc, unitLimit, unitPrice, }: ITransferSolanaNativeToken): Promise<string>; checkSolanaNFTValid({ rpc, contractAddress }: ICheckNFT): Promise<boolean>; transferSolanaSplToken({ to, amount, rpc, contractAddress, unitLimit, unitPrice, }: ITransferSolanaToken): Promise<string>; getSolanaTokenTransactions(rpc: string, from: string, limit: number): Promise<VersionedTransactionResponse[]>; getOrCreateAssociatedAccount(symbol: TOKEN_NAME, owner: Keypair, rpc: string): Promise<void>; batchGetOrCreateAssociatedAccount({ fromToken, toToken, rpc, }: { fromToken: TOKEN_NAME; toToken: TOKEN_NAME; rpc: string; }): Promise<void>; getSolanaTokenUnit({ fromToken, toToken, rpc, amountIn, slipNum, }: { fromToken: TOKEN_NAME; toToken: TOKEN_NAME; rpc: string; amountIn?: string; slipNum?: number; }): Promise<string>; waitForConfirmation(connection: Connection, signature: string, maxRetries?: number): Promise<void>; sendSolSwapTransition(connection: Connection, swapPayload: any, swapPayload2?: any): Promise<string>; swapSolanaToken({ fromToken, toToken, tokenAmount, rpc, slipNum, }: { fromToken: TOKEN_NAME; toToken: TOKEN_NAME; tokenAmount: number; rpc: string; slipNum?: number; }): Promise<string>; static getUNSOwner(domain: string): Promise<string | null>; static getUnstoppableDomains(domain: string, ticker: string, chain?: string): Promise<string | undefined>; static reverseUnstoppableDomains(address: string): Promise<string | null>; getSolAccount(userAddress: string, tokenAddress: string): Promise<Account>; depositGUsdToOtherChain(params: { amount: string; chains: Chains.binance | Chains.polygon; toChain: Chains; rpc?: string; }): Promise<string>; depositSolGUsdToOther(amount: string, toChain: Chains.polygon | Chains.binance, retry?: number): Promise<string>; getDepositQuote(amount: string, toChain: Chains.polygon | Chains.binance): Promise<bigint | undefined>; cliamSolGGusd({ owner, source, contractAddress, tokenAddress, orderId, timeStamp, amount, signature, stateAccount, rpc, }: { owner: string; source: string; contractAddress: string; tokenAddress: string; orderId: number; timeStamp: number; amount: number | string; signature: string; stateAccount: string; rpc: string; }): Promise<string>; }