/** * Identity module — wallet generation, Clawncher registration, $CLAWNCH burn activation. * * Each Clawtomaton has a unique Ethereum wallet. Registration on Clawncher gives * it an API key. Activation requires burning 1,000,000 $CLAWNCH to the burn address. */ import { privateKeyToAccount } from 'viem/accounts'; import { type Address, type PublicClient, type WalletClient } from 'viem'; import type { StateStore } from '../state/index.js'; import type { ClawtomatonIdentity, ActivationResult } from '../types.js'; export interface GenerateIdentityParams { name: string; genesisPrompt: string; creatorAddress: Address; rpcUrl: string; apiBaseUrl?: string; } /** * Generate a fresh wallet and register with Clawncher to get an API key. * Does NOT activate (burn $CLAWNCH) — call `activate()` separately after funding. */ export declare function generateIdentity(params: GenerateIdentityParams, state: StateStore): Promise; /** * Activate a Clawtomaton by burning 1,000,000 $CLAWNCH. * The agent's wallet must hold >= 1M $CLAWNCH before calling this. * * Burns by transferring to 0x...dEaD. */ export declare function activate(identity: ClawtomatonIdentity, rpcUrl: string, state: StateStore): Promise; export interface ClawtomatonClients { publicClient: PublicClient; walletClient: WalletClient; account: ReturnType; } /** * Build viem clients from a persisted identity + config. */ export declare function buildClients(identity: ClawtomatonIdentity, rpcUrl: string): ClawtomatonClients; /** * Query the Clawncher API for tokens deployed by this agent. * If found and identity doesn't have a token set, update the state. * * Returns the token address if found, null otherwise. */ export declare function syncTokenFromApi(identity: ClawtomatonIdentity, state: StateStore, apiBaseUrl?: string): Promise<{ address: string; symbol: string; } | null>; //# sourceMappingURL=index.d.ts.map