import * as _$_solana_kit0 from "@solana/kit"; import { Address, Instruction, TransactionSigner, TransactionSigner as TransactionSigner$1, createKeyPairSignerFromBytes, createKeyPairSignerFromPrivateKeyBytes, createNoopSigner, createSignerFromKeyPair, generateKeyPairSigner } from "@solana/kit"; //#region src/amounts.d.ts type TokenAmountInput = string | number | bigint; declare function parseTokenAmount(amount: TokenAmountInput, decimals: number): bigint; declare function formatTokenAmount(amount: bigint | string | number, decimals: number): string; //#endregion //#region src/idempotency.d.ts interface IdempotencyRecord { key: string; reference: string; result: T; createdAt: string; } interface IdempotencyStore { get(key: string): Promise | undefined> | IdempotencyRecord | undefined; set(key: string, record: IdempotencyRecord): Promise | void; } declare class MemoryIdempotencyStore implements IdempotencyStore { private readonly records; get(key: string): IdempotencyRecord | undefined; set(key: string, record: IdempotencyRecord): void; } declare function createReference(prefix?: string): string; declare function createMemo(reference: string, prefix?: string): string; declare function parseMemoReference(memo: string, prefix?: string): string | undefined; //#endregion //#region src/retry.d.ts interface RetryOptions { retries?: number | undefined; minDelayMs?: number | undefined; maxDelayMs?: number | undefined; retryableErrorCodes?: readonly string[] | undefined; } declare function isRetryableRpcError(error: unknown, retryableCodes?: readonly string[]): boolean; declare function withRetry(fn: () => Promise, options: RetryOptions | undefined, shouldRetry?: (error: unknown) => boolean): Promise; declare function withTimeout(promise: Promise, timeoutMs: number | undefined, endpoint?: string): Promise; //#endregion //#region src/types.d.ts type Commitment = "processed" | "confirmed" | "finalized"; type AddressInput = string | Address; interface RpcSendable { send(): Promise; } interface SolanaRpcLike { getAccountInfo?(...args: unknown[]): RpcSendable; getFeeForMessage?(...args: unknown[]): RpcSendable; getLatestBlockhash?(...args: unknown[]): RpcSendable; getSignaturesForAddress?(...args: unknown[]): RpcSendable; getSignatureStatuses?(...args: unknown[]): RpcSendable; getTokenAccountsByOwner?(...args: unknown[]): RpcSendable; getTransaction?(...args: unknown[]): RpcSendable; sendTransaction?(...args: unknown[]): RpcSendable; } interface SolanaUsdtClientOptions { rpcUrl: string; rpcSubscriptionsUrl?: string | undefined; signer?: TransactionSigner$1 | undefined; commitment?: Commitment | undefined; fetch?: typeof fetch | undefined; timeoutMs?: number | undefined; retry?: RetryOptions | undefined; mint?: AddressInput | undefined; decimals?: number | undefined; idempotencyStore?: IdempotencyStore | undefined; rpc?: SolanaRpcLike | undefined; } type SolanaUsdtReadOnlyClientOptions = Omit; interface ClientContext { rpcUrl: string; rpc: SolanaRpcLike; signer?: TransactionSigner$1 | undefined; commitment: Commitment; timeoutMs?: number | undefined; retry?: RetryOptions | undefined; mint: Address; decimals: number; idempotencyStore?: IdempotencyStore | undefined; } interface BalanceRetrieveInput { owner: AddressInput; } interface BalanceResult { owner: string; mint: string; tokenAccount: string; amount: bigint; displayAmount: string; decimals: number; slot?: bigint | undefined; } interface TransferQuoteInput { to: AddressInput; amount: TokenAmountInput; } interface TransferQuote { to: string; mint: string; amount: bigint; displayAmount: string; sourceTokenAccount: string; destinationTokenAccount: string; recipientAtaExists: boolean; willCreateRecipientAta: boolean; estimatedFeeLamports: bigint; feeEstimateType: "approximate" | "rpc"; } interface TransferCreateInput { to: AddressInput; amount: TokenAmountInput; reference?: string | undefined; idempotencyKey?: string | undefined; createRecipientAta?: boolean | undefined; } interface TransferResult { signature: string; reference: string; idempotencyKey?: string | undefined; mint: string; amount: bigint; displayAmount: string; sourceTokenAccount: string; destinationTokenAccount: string; feeLamports?: bigint | undefined; slot?: bigint | undefined; confirmationStatus?: string | undefined; } interface PaymentCreateRequestInput { amount: TokenAmountInput; recipient?: AddressInput | undefined; reference?: string | undefined; metadata?: Record | undefined; } interface SolanaPayUrlOptions { recipient?: AddressInput | undefined; reference?: string | readonly string[] | undefined; memo?: string | undefined; label?: string | undefined; message?: string | undefined; } interface PaymentRequest { reference: string; recipient?: string | undefined; mint: string; amount: bigint; displayAmount: string; decimals: number; memo: string; metadata?: Record | undefined; createdAt: string; } interface PaymentVerifyInput { reference?: string | undefined; signature?: string | undefined; recipient?: AddressInput | undefined; amount?: TokenAmountInput | undefined; cursor?: string | undefined; limit?: number | undefined; maxPages?: number | undefined; } interface PaymentVerificationScanDiagnostics { pagesScanned: number; signaturesScanned: number; limit: number; cursor?: string | undefined; hasMore: boolean; } interface VerifiedPayment { found: boolean; reference?: string | undefined; signature?: string | undefined; /** Expected recipient wallet owner when it was supplied to verification or monitoring. */ recipient?: string | undefined; /** SPL token account that received the USDT transfer. */ recipientTokenAccount?: string | undefined; amount?: bigint | undefined; displayAmount?: string | undefined; slot?: bigint | undefined; confirmationStatus?: string | undefined; memo?: string | undefined; scan?: PaymentVerificationScanDiagnostics | undefined; } interface PaymentMonitorInput { recipient: AddressInput; cursor?: string | undefined; limit?: number | undefined; } interface PaymentMonitorResult { cursor?: string | undefined; signaturesScanned: number; hasMore: boolean; payments: VerifiedPayment[]; } interface TransactionRetrieveInput { signature: string; } interface TransactionWaitInput { signature: string; commitment?: Commitment | undefined; timeoutMs?: number | undefined; pollIntervalMs?: number | undefined; } interface TransactionStatus { signature: string; slot?: bigint | undefined; confirmationStatus?: string | undefined; err?: unknown; transaction?: unknown; } interface SolanaUsdtClient { balances: { retrieve(input: BalanceRetrieveInput): Promise; }; transfers: { quote(input: TransferQuoteInput): Promise; create(input: TransferCreateInput): Promise; }; payments: { createRequest(input: PaymentCreateRequestInput): PaymentRequest; toSolanaPayUrl(request: PaymentRequest, options?: SolanaPayUrlOptions): URL; verify(input: PaymentVerifyInput): Promise; monitor(input: PaymentMonitorInput): Promise; }; transactions: { retrieve(input: TransactionRetrieveInput): Promise; wait(input: TransactionWaitInput): Promise; }; } type SolanaUsdtReadOnlyClient = Pick; //#endregion //#region src/balances.d.ts declare function createBalancesModule(ctx: ClientContext): { retrieve(input: BalanceRetrieveInput): Promise; }; //#endregion //#region src/constants.d.ts declare const SOLANA_USDT_MINT = "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"; declare const SOLANA_USDT_DECIMALS = 6; declare const DEFAULT_COMMITMENT = "confirmed"; declare const DEFAULT_REFERENCE_PREFIX = "solana-usdt"; declare const SOLANA_USDT_MINT_ADDRESS: _$_solana_kit0.Address<"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB">; //#endregion //#region src/errors.d.ts type SolanaUsdtErrorCode = "INVALID_ADDRESS" | "INVALID_INPUT" | "INVALID_AMOUNT" | "RPC_ERROR" | "SIGNER_REQUIRED" | "RPC_TIMEOUT" | "TRANSACTION_FAILED" | "TRANSACTION_TIMEOUT" | "PAYMENT_NOT_FOUND" | "PAYMENT_MISMATCH" | "IDEMPOTENCY_CONFLICT"; declare class SolanaUsdtError extends Error { readonly code: SolanaUsdtErrorCode; readonly endpoint: string | undefined; readonly signature: string | undefined; readonly slot: bigint | undefined; readonly logs: readonly string[] | undefined; readonly retryable: boolean; readonly cause: unknown; readonly meta: Record | undefined; constructor(options: { code: SolanaUsdtErrorCode; message: string; endpoint?: string | undefined; signature?: string | undefined; slot?: bigint | number | undefined; logs?: readonly string[] | undefined; retryable?: boolean | undefined; cause?: unknown; meta?: Record | undefined; }); } declare function isSolanaUsdtError(error: unknown): error is SolanaUsdtError; declare function normalizeError(error: unknown, fallback: { code: SolanaUsdtErrorCode; message: string; endpoint?: string | undefined; signature?: string | undefined; retryable?: boolean | undefined; }): SolanaUsdtError; //#endregion //#region src/payments.d.ts declare function createPaymentsModule(ctx: ClientContext): { createRequest(input: PaymentCreateRequestInput): PaymentRequest; toSolanaPayUrl(request: PaymentRequest, options?: SolanaPayUrlOptions): URL; verify(input: PaymentVerifyInput): Promise; monitor(input: PaymentMonitorInput): Promise; }; declare function toSolanaPayUrl(request: PaymentRequest, options?: SolanaPayUrlOptions): URL; //#endregion //#region src/transactions.d.ts declare function createTransactionsModule(ctx: ClientContext): { retrieve(input: TransactionRetrieveInput): Promise; wait(input: TransactionWaitInput): Promise; }; declare function retrieveTransaction(ctx: ClientContext, signature: string): Promise; declare function waitForTransaction(ctx: ClientContext, input: TransactionWaitInput): Promise; //#endregion //#region src/transfers.d.ts declare function createTransfersModule(ctx: ClientContext): { quote(input: TransferQuoteInput): Promise; create(input: TransferCreateInput): Promise; }; declare function createTransfer(ctx: ClientContext, input: TransferCreateInput): Promise; declare function buildTransferInstructions(ctx: ClientContext, input: { amount: bigint; createRecipientAta: boolean; destinationOwner: string; destinationTokenAccount: string; reference: string; sourceTokenAccount: string; }): Promise; //#endregion //#region src/index.d.ts declare function createSolanaUsdt(options: SolanaUsdtClientOptions): SolanaUsdtClient; declare function createReadOnlySolanaUsdt(options: SolanaUsdtReadOnlyClientOptions): SolanaUsdtReadOnlyClient; //#endregion export { AddressInput, BalanceResult, BalanceRetrieveInput, ClientContext, Commitment, DEFAULT_COMMITMENT, DEFAULT_REFERENCE_PREFIX, IdempotencyRecord, IdempotencyStore, MemoryIdempotencyStore, PaymentCreateRequestInput, PaymentMonitorInput, PaymentMonitorResult, PaymentRequest, PaymentVerificationScanDiagnostics, PaymentVerifyInput, RetryOptions, RpcSendable, SOLANA_USDT_DECIMALS, SOLANA_USDT_MINT, SOLANA_USDT_MINT_ADDRESS, SolanaPayUrlOptions, SolanaRpcLike, SolanaUsdtClient, SolanaUsdtClientOptions, SolanaUsdtError, SolanaUsdtErrorCode, SolanaUsdtReadOnlyClient, SolanaUsdtReadOnlyClientOptions, TokenAmountInput, TransactionRetrieveInput, type TransactionSigner, TransactionStatus, TransactionWaitInput, TransferCreateInput, TransferQuote, TransferQuoteInput, TransferResult, VerifiedPayment, buildTransferInstructions, createBalancesModule, createKeyPairSignerFromBytes, createKeyPairSignerFromPrivateKeyBytes, createMemo, createNoopSigner, createPaymentsModule, createReadOnlySolanaUsdt, createReference, createSignerFromKeyPair, createSolanaUsdt, createTransactionsModule, createTransfer, createTransfersModule, formatTokenAmount, generateKeyPairSigner, isRetryableRpcError, isSolanaUsdtError, normalizeError, parseMemoReference, parseTokenAmount, retrieveTransaction, toSolanaPayUrl, waitForTransaction, withRetry, withTimeout }; //# sourceMappingURL=index.d.mts.map