/** * Solana signer construction for the @2sio/sdk. * * The SDK accepts a Solana secret key in any of three shapes — base58 string * (Phantom export, solana-cli paper-key), 64-byte raw `Uint8Array`, or the * 64-number JSON array format that `solana-keygen` writes. This module * normalizes whichever the caller hands us into a `@solana/kit` * `TransactionSigner` that `@x402/svm`'s `registerExactSvmScheme` consumes. * * Why dynamic-import the Solana deps: the SDK supports EVM-only callers and * Solana-only callers alike. Loading `@solana/kit` + `@x402/svm` at module * level would force EVM-only consumers to ship ~600KB of unused Solana SDK * code in their bundle. By gating the import behind the first Solana-keyed * constructor call, EVM callers pay nothing for the Solana path. */ import type { x402Client } from '@x402/core/client'; /** Anything the SDK will accept as a Solana secret key. */ export type SolanaKeyInput = string | Uint8Array | number[]; /** * Lazy-loader for the @solana/kit signer + @x402/svm scheme registrar. * * Returns a builder that takes a normalized 64-byte secret and produces a * `TransactionSigner`. We keep this opaque so `index.ts` doesn't have to * import @solana/kit's types at the top level (would defeat the lazy-load). */ export declare function loadSvmRegistrar(): Promise<{ buildSigner(secret: Uint8Array): Promise; registerScheme(client: x402Client, signer: unknown): void; }>; /** * Normalize whatever the caller passed to a 64-byte `Uint8Array`. Throws if * the input doesn't look like a Solana secret in any of the supported * shapes. */ export declare function normalizeSolanaSecret(input: SolanaKeyInput): Uint8Array; //# sourceMappingURL=svm.d.ts.map