/** * Sui Chain Adapter * * Builds Sui Move transactions using BCS serialization, * attaches Ed25519 signatures from the FROST threshold signing * network, and broadcasts via Sui JSON RPC. * * Sui uses Blake2b-256 for transaction digests with an intent prefix. * * Requires: npm install @mysten/sui */ import { ChainAdapter, SuiTransaction } from '../core/types'; export declare class SuiAdapter implements ChainAdapter { private rpcUrl; private network; private suiSdk; constructor(network?: 'mainnet' | 'testnet' | 'devnet', rpcUrl?: string); getRpcUrl(): string; /** * Load Blake2b-256 hash function from @noble/hashes (transitive dep of @mysten/sui). */ private getBlake2b; /** * Build an unsigned Sui transaction. * * The signing message is: Blake2b-256(intent_prefix + bcs_bytes) * where intent_prefix = [0, 0, 0] for TransactionData. */ buildTransaction(tx: SuiTransaction, fromAddress: string): Promise; getSigningPayload(unsignedTx: string): string; /** * Attach an Ed25519 signature to the Sui transaction. * * Sui signature format: flag (1 byte: 0x00 for Ed25519) + signature (64) + pubkey (32) * * The signature parameter can be: * - 128 hex chars (64 bytes): raw Ed25519 signature only * - 192 hex chars (96 bytes): Ed25519 signature (64) + public key (32) concatenated * * If the signature includes the public key (96 bytes), it takes precedence * over the publicKey stored in the payload from buildTransaction. */ attachSignature(unsignedTx: string, signature: string): Promise; /** * Broadcast a signed Sui transaction */ broadcast(signedTx: string): Promise; /** * Get SUI balance in MIST */ getBalance(address: string): Promise; } export declare function createSuiAdapter(rpcUrl?: string): SuiAdapter; export declare function createSuiTestnetAdapter(rpcUrl?: string): SuiAdapter; //# sourceMappingURL=sui.d.ts.map