export interface NativeCurrency { name: string; symbol: string; decimals: number; } export interface ProviderConfig { chainId: number | undefined; name: string; rpc: string; nativeCurrencySymbol?: string; nativeCurrencyName?: string; nativeCurrencyDecimals?: number; } export interface WalletConfig { address: string; mnemonic: string; publicKey: string; privateKey: string; } export interface DomainConfig { domain: string; provider?: ProviderConfig; wallet?: WalletConfig; } export interface ProfileConfig { email?: string; } export interface IPFSConfig { url: string; gateway?: string; } export interface RootDefaults { provider: ProviderConfig; } export interface RootConfig { profile?: ProfileConfig; ipfs?: IPFSConfig; default?: RootDefaults; } export interface ClientWalletInfo { address: string; publicKey: string; name?: string; mnemonic?: string; privateKey?: string; walletType?: 'web3' | 'rivet' | 'fido'; signedTransaction?: string; } export interface EpisteryStatus { server: { walletAddress: string | undefined; publicKey: string | undefined; provider: string | undefined; chainId: number | undefined; rpc: string | undefined; nativeCurrency?: NativeCurrency; }; client: { walletAddress: string; publicKey: string; }; ipfs?: IPFSConfig; timestamp: string; } export interface KeyExchangeRequest { signerAddress: string; signerPublicKey: string; contractAddress?: string | null; challenge: string; message: string; signature: string; walletSource?: string; } export interface KeyExchangeResponse { serverAddress: string; serverPublicKey: string; services: string[]; challenge: string; signature: string; identified: boolean; authenticated: boolean; profile: object | undefined; } /** * Unsigned transaction prepared by server for client to sign * Used in new client-side signing flow * * Contains ONLY valid Ethereum transaction fields */ export interface UnsignedTransaction { to: string; data: string; value: string; nonce: number; chainId: number; gasLimit: string; gasPrice?: string; maxFeePerGas?: string; maxPriorityFeePerGas?: string; } /** * Request to prepare an unsigned transaction */ export interface PrepareTransactionRequest { clientAddress: string; publicKey: string; operation: 'write' | 'transferOwnership' | 'createApproval' | 'handleApproval' | 'sendMessage' | 'createPost'; params: any; } /** * Response from transaction preparation */ export interface PrepareTransactionResponse { unsignedTransaction: UnsignedTransaction; ipfsHash?: string; metadata?: any; } /** * Request to submit a signed transaction */ export interface SubmitSignedTransactionRequest { signedTransaction: string; operation: string; metadata?: any; } /** * Response from transaction submission */ export interface SubmitSignedTransactionResponse { transactionHash: string; blockNumber: number; gasUsed: string; status: number; receipt: any; } //# sourceMappingURL=types.d.ts.map