import { type Context } from 'hono'; import * as z from 'zod/mini'; import type * as App from '../../../App.js'; import * as Response from '../../../internal/Response.js'; import * as Schema from '../../../internal/Schema.js'; import * as Tidx from '../../../internal/Tidx.js'; import * as Tokens from './tokens.js'; /** A decoded transaction type name. */ type TransactionType = 'legacy' | 'eip2930' | 'eip1559' | 'eip4844' | 'eip7702' | 'tempo' | 'unknown'; /** Decodes a transaction `type` (hex string or number) into its name. */ export declare function decodeTransactionType(value: unknown): TransactionType; /** Zod schemas owned by the transaction handlers. */ export declare namespace schema { /** One EIP-2930 access list entry (RPC format). */ const AccessListItem: z.ZodMiniObject<{ address: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; storageKeys: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$loose>; /** One call within a Tempo account-abstraction transaction (RPC format). */ const Call: z.ZodMiniObject<{ data: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; value: z.ZodMiniOptional>>; }, z.core.$loose>; /** * A signature envelope (RPC format), passed through verbatim. Every field is * optional because the envelope is a union (secp256k1 / p256 / webAuthn / * keychain) whose shape — including whether a `type` discriminator is present — * varies; the loose object preserves whatever the RPC returns. */ const SignatureEnvelope: z.ZodMiniObject<{ type: z.ZodMiniOptional>; }, z.core.$loose>; /** The verbatim JSON-RPC payloads, surfaced under each resource's `rpc` field. */ namespace Rpc { /** A JSON-RPC transaction, passed through verbatim. */ const Transaction: z.ZodMiniObject<{ aaAuthorizationList: z.ZodMiniOptional>>; accessList: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; storageKeys: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$loose>>>; authorizationList: z.ZodMiniOptional>>; blobVersionedHashes: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; value: z.ZodMiniOptional>>; }, z.core.$loose>>, z.ZodMiniNull]>>; chainId: z.ZodMiniOptional>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feePayerSignature: z.ZodMiniOptional>; }, z.core.$loose>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gas: z.ZodMiniTemplateLiteral<`0x${string}`>; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; keyAuthorization: z.ZodMiniOptional>>; maxFeePerBlobGas: z.ZodMiniOptional>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; nonce: z.ZodMiniTemplateLiteral<`0x${string}`>; nonceKey: z.ZodMiniOptional>; r: z.ZodMiniOptional>; s: z.ZodMiniOptional>; signature: z.ZodMiniOptional>; }, z.core.$loose>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; v: z.ZodMiniOptional>; validAfter: z.ZodMiniOptional>>; validBefore: z.ZodMiniOptional>>; value: z.ZodMiniOptional>; yParity: z.ZodMiniOptional>; }, z.core.$loose>; } /** Transaction metadata with the raw RPC transaction and optional receipt. */ const TransactionMeta: z.ZodMiniObject<{ receipt: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNumber; contractAddress: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; cumulativeGasUsed: z.ZodMiniNumber; effectiveGasPrice: z.ZodMiniString; feeAmount: z.ZodMiniObject<{ baseUnits: z.ZodMiniString; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; formatted: z.ZodMiniString; valuation: z.ZodMiniOptional; currency: z.ZodMiniString; }, z.core.$strip>>>; }, z.core.$strip>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gasUsed: z.ZodMiniNumber; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; meta: z.ZodMiniObject<{ valuation: z.ZodMiniOptional; source: z.ZodMiniString; }, z.core.$strip>>; rpc: z.ZodMiniObject<{ blobGasPrice: z.ZodMiniOptional>; blobGasUsed: z.ZodMiniOptional>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniTemplateLiteral<`0x${string}`>; blockTimestamp: z.ZodMiniOptional>>; contractAddress: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; cumulativeGasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; effectiveGasPrice: z.ZodMiniTemplateLiteral<`0x${string}`>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; logsBloom: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; root: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; status: z.ZodMiniTemplateLiteral<`0x${string}`>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniTemplateLiteral<`0x${string}`>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; }, z.core.$loose>; }, z.core.$strip>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; status: z.ZodMiniEnum<{ reverted: "reverted"; success: "success"; }>; timestamp: z.ZodMiniNullable; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniNumber; type: z.ZodMiniLazy>; }, z.core.$strip>>>; rpc: z.ZodMiniObject<{ aaAuthorizationList: z.ZodMiniOptional>>; accessList: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; storageKeys: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$loose>>>; authorizationList: z.ZodMiniOptional>>; blobVersionedHashes: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; value: z.ZodMiniOptional>>; }, z.core.$loose>>, z.ZodMiniNull]>>; chainId: z.ZodMiniOptional>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feePayerSignature: z.ZodMiniOptional>; }, z.core.$loose>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gas: z.ZodMiniTemplateLiteral<`0x${string}`>; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; keyAuthorization: z.ZodMiniOptional>>; maxFeePerBlobGas: z.ZodMiniOptional>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; nonce: z.ZodMiniTemplateLiteral<`0x${string}`>; nonceKey: z.ZodMiniOptional>; r: z.ZodMiniOptional>; s: z.ZodMiniOptional>; signature: z.ZodMiniOptional>; }, z.core.$loose>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; v: z.ZodMiniOptional>; validAfter: z.ZodMiniOptional>>; validBefore: z.ZodMiniOptional>>; value: z.ZodMiniOptional>; yParity: z.ZodMiniOptional>; }, z.core.$loose>; }, z.core.$strip>; /** Decoded transaction `type`; the raw `0x…` byte stays under `rpc.type`. */ const TransactionType: z.ZodMiniEnum<{ eip1559: "eip1559"; eip2930: "eip2930"; eip4844: "eip4844"; eip7702: "eip7702"; legacy: "legacy"; tempo: "tempo"; unknown: "unknown"; }>; /** One humanized call within a Tempo account-abstraction transaction. */ const HumanCall: z.ZodMiniObject<{ data: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$strip>; /** * A humanized transaction: decoded `type`, decimal-string amounts, ISO 8601 * timestamps, and plain-number block fields. The verbatim JSON-RPC transaction * is always available under `meta.rpc`. */ const Transaction: z.ZodMiniObject<{ blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$strip>>>; chainId: z.ZodMiniOptional>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gas: z.ZodMiniNumber; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; meta: z.ZodMiniObject<{ receipt: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNumber; contractAddress: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; cumulativeGasUsed: z.ZodMiniNumber; effectiveGasPrice: z.ZodMiniString; feeAmount: z.ZodMiniObject<{ baseUnits: z.ZodMiniString; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; formatted: z.ZodMiniString; valuation: z.ZodMiniOptional; currency: z.ZodMiniString; }, z.core.$strip>>>; }, z.core.$strip>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gasUsed: z.ZodMiniNumber; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; meta: z.ZodMiniObject<{ valuation: z.ZodMiniOptional; source: z.ZodMiniString; }, z.core.$strip>>; rpc: z.ZodMiniObject<{ blobGasPrice: z.ZodMiniOptional>; blobGasUsed: z.ZodMiniOptional>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniTemplateLiteral<`0x${string}`>; blockTimestamp: z.ZodMiniOptional>>; contractAddress: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; cumulativeGasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; effectiveGasPrice: z.ZodMiniTemplateLiteral<`0x${string}`>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; logsBloom: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; root: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; status: z.ZodMiniTemplateLiteral<`0x${string}`>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniTemplateLiteral<`0x${string}`>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; }, z.core.$loose>; }, z.core.$strip>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; status: z.ZodMiniEnum<{ reverted: "reverted"; success: "success"; }>; timestamp: z.ZodMiniNullable; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniNumber; type: z.ZodMiniLazy>; }, z.core.$strip>>>; rpc: z.ZodMiniObject<{ aaAuthorizationList: z.ZodMiniOptional>>; accessList: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; storageKeys: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$loose>>>; authorizationList: z.ZodMiniOptional>>; blobVersionedHashes: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; value: z.ZodMiniOptional>>; }, z.core.$loose>>, z.ZodMiniNull]>>; chainId: z.ZodMiniOptional>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feePayerSignature: z.ZodMiniOptional>; }, z.core.$loose>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gas: z.ZodMiniTemplateLiteral<`0x${string}`>; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; keyAuthorization: z.ZodMiniOptional>>; maxFeePerBlobGas: z.ZodMiniOptional>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; nonce: z.ZodMiniTemplateLiteral<`0x${string}`>; nonceKey: z.ZodMiniOptional>; r: z.ZodMiniOptional>; s: z.ZodMiniOptional>; signature: z.ZodMiniOptional>; }, z.core.$loose>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; v: z.ZodMiniOptional>; validAfter: z.ZodMiniOptional>>; validBefore: z.ZodMiniOptional>>; value: z.ZodMiniOptional>; yParity: z.ZodMiniOptional>; }, z.core.$loose>; }, z.core.$strip>; nonce: z.ZodMiniNumber; nonceKey: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; timestamp: z.ZodMiniNullable; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniEnum<{ eip1559: "eip1559"; eip2930: "eip2930"; eip4844: "eip4844"; eip7702: "eip7702"; legacy: "legacy"; tempo: "tempo"; unknown: "unknown"; }>; validAfter: z.ZodMiniOptional>; validBefore: z.ZodMiniOptional>; value: z.ZodMiniString; }, z.core.$strip>; /** Schemas for the getTransaction operation. */ namespace getTransaction { /** Path parameters for transaction requests. */ const Params: z.ZodMiniObject<{ transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; }, z.core.$strip>; /** Optional receipt and fee-token fields that callers opt into via `include`. */ const Include: z.ZodMiniEnum<{ "feeToken.logoUri": "feeToken.logoUri"; "feeToken.verified": "feeToken.verified"; receipt: "receipt"; }>; /** * Parses a comma-separated `include` query value into a list of optional * resources to embed. Curated fee-token fields and the receipt only run when * explicitly requested. */ const includeQuery: z.ZodMiniPipe, z.ZodMiniTransform>, z.ZodMiniArray>>; /** Query parameters for transaction requests. */ const Query: z.ZodMiniObject<{ chainId: z.ZodMiniOptional, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniPipe, z.ZodMiniTransform>]>, z.ZodMiniNumber>>; include: z.ZodMiniPipe, z.ZodMiniTransform>, z.ZodMiniArray>>; }, z.core.$strict>; /** A humanized transaction, with the verbatim JSON-RPC payload under `rpc`. */ const Response: z.ZodMiniObject<{ blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$strip>>>; chainId: z.ZodMiniOptional>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gas: z.ZodMiniNumber; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; meta: z.ZodMiniObject<{ receipt: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNumber; contractAddress: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; cumulativeGasUsed: z.ZodMiniNumber; effectiveGasPrice: z.ZodMiniString; feeAmount: z.ZodMiniObject<{ baseUnits: z.ZodMiniString; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; formatted: z.ZodMiniString; valuation: z.ZodMiniOptional; currency: z.ZodMiniString; }, z.core.$strip>>>; }, z.core.$strip>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gasUsed: z.ZodMiniNumber; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; meta: z.ZodMiniObject<{ valuation: z.ZodMiniOptional; source: z.ZodMiniString; }, z.core.$strip>>; rpc: z.ZodMiniObject<{ blobGasPrice: z.ZodMiniOptional>; blobGasUsed: z.ZodMiniOptional>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniTemplateLiteral<`0x${string}`>; blockTimestamp: z.ZodMiniOptional>>; contractAddress: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; cumulativeGasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; effectiveGasPrice: z.ZodMiniTemplateLiteral<`0x${string}`>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; logsBloom: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; root: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; status: z.ZodMiniTemplateLiteral<`0x${string}`>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniTemplateLiteral<`0x${string}`>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; }, z.core.$loose>; }, z.core.$strip>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; status: z.ZodMiniEnum<{ reverted: "reverted"; success: "success"; }>; timestamp: z.ZodMiniNullable; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniNumber; type: z.ZodMiniLazy>; }, z.core.$strip>>>; rpc: z.ZodMiniObject<{ aaAuthorizationList: z.ZodMiniOptional>>; accessList: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; storageKeys: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$loose>>>; authorizationList: z.ZodMiniOptional>>; blobVersionedHashes: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; value: z.ZodMiniOptional>>; }, z.core.$loose>>, z.ZodMiniNull]>>; chainId: z.ZodMiniOptional>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feePayerSignature: z.ZodMiniOptional>; }, z.core.$loose>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gas: z.ZodMiniTemplateLiteral<`0x${string}`>; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; keyAuthorization: z.ZodMiniOptional>>; maxFeePerBlobGas: z.ZodMiniOptional>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; nonce: z.ZodMiniTemplateLiteral<`0x${string}`>; nonceKey: z.ZodMiniOptional>; r: z.ZodMiniOptional>; s: z.ZodMiniOptional>; signature: z.ZodMiniOptional>; }, z.core.$loose>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; v: z.ZodMiniOptional>; validAfter: z.ZodMiniOptional>>; validBefore: z.ZodMiniOptional>>; value: z.ZodMiniOptional>; yParity: z.ZodMiniOptional>; }, z.core.$loose>; }, z.core.$strip>; nonce: z.ZodMiniNumber; nonceKey: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; timestamp: z.ZodMiniNullable; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniEnum<{ eip1559: "eip1559"; eip2930: "eip2930"; eip4844: "eip4844"; eip7702: "eip7702"; legacy: "legacy"; tempo: "tempo"; unknown: "unknown"; }>; validAfter: z.ZodMiniOptional>; validBefore: z.ZodMiniOptional>; value: z.ZodMiniString; }, z.core.$strip>; } /** Schemas for the getTransactions (list) operation. */ namespace getTransactions { /** * Optional resources for transaction rows plus the response-wide capped * `totalCount`. The detail route keeps its own include schema. */ const Include: z.ZodMiniEnum<{ "feeToken.logoUri": "feeToken.logoUri"; "feeToken.verified": "feeToken.verified"; receipt: "receipt"; totalCount: "totalCount"; }>; /** Parses the comma-separated `include` value for the transaction list. */ const includeQuery: z.ZodMiniPipe, z.ZodMiniTransform>, z.ZodMiniArray>>; /** Query parameters for transaction list requests. */ const Query: z.ZodMiniObject<{ address: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; 'blockNumber.from': z.ZodMiniOptional>; 'blockNumber.to': z.ZodMiniOptional>; chainId: z.ZodMiniOptional, z.ZodMiniTransform<4217 | 42431, "mainnet" | "testnet">>, z.ZodMiniPipe, z.ZodMiniTransform>]>, z.ZodMiniNumber>>; cursor: z.ZodMiniOptional>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; include: z.ZodMiniPipe, z.ZodMiniTransform>, z.ZodMiniArray>>; limit: z.ZodMiniDefault, z.ZodMiniTransform>>; order: z.ZodMiniDefault>; page: z.ZodMiniOptional>; recipient: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; status: z.ZodMiniOptional>; 'timestamp.from': z.ZodMiniOptional>>; 'timestamp.to': z.ZodMiniOptional>>; }, z.core.$strict>; /** Response metadata requested through `include`, such as capped counts. */ const Meta: z.ZodMiniObject<{ totalCountCapped: z.ZodMiniBoolean; totalCount: z.ZodMiniNumber; }, z.core.$strip>; /** * Page of transactions. Each item reuses the humanized transaction returned * by `GET /transactions/:transactionHash`, so the list and detail endpoints * expose one identical shape. Indexed list rows omit fields the indexer does * not store (signatures, access list), reflected in their `rpc` payload. */ const Response: z.ZodMiniObject<{ data: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$strip>>>; chainId: z.ZodMiniOptional>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gas: z.ZodMiniNumber; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; meta: z.ZodMiniObject<{ receipt: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNumber; contractAddress: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; cumulativeGasUsed: z.ZodMiniNumber; effectiveGasPrice: z.ZodMiniString; feeAmount: z.ZodMiniObject<{ baseUnits: z.ZodMiniString; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; formatted: z.ZodMiniString; valuation: z.ZodMiniOptional; currency: z.ZodMiniString; }, z.core.$strip>>>; }, z.core.$strip>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; currency: z.ZodMiniString; decimals: z.ZodMiniNumber; logoUri: z.ZodMiniOptional>>; name: z.ZodMiniString; symbol: z.ZodMiniString; verified: z.ZodMiniOptional>; }, z.core.$strip>>>; gasUsed: z.ZodMiniNumber; id: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; meta: z.ZodMiniObject<{ valuation: z.ZodMiniOptional; source: z.ZodMiniString; }, z.core.$strip>>; rpc: z.ZodMiniObject<{ blobGasPrice: z.ZodMiniOptional>; blobGasUsed: z.ZodMiniOptional>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniTemplateLiteral<`0x${string}`>; blockTimestamp: z.ZodMiniOptional>>; contractAddress: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; cumulativeGasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; effectiveGasPrice: z.ZodMiniTemplateLiteral<`0x${string}`>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gasUsed: z.ZodMiniTemplateLiteral<`0x${string}`>; logs: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; data: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; logIndex: z.ZodMiniNullable>; removed: z.ZodMiniBoolean; topics: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionIndex: z.ZodMiniNullable>; }, z.core.$loose>>; logsBloom: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; root: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; status: z.ZodMiniTemplateLiteral<`0x${string}`>; to: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniTemplateLiteral<`0x${string}`>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; }, z.core.$loose>; }, z.core.$strip>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; status: z.ZodMiniEnum<{ reverted: "reverted"; success: "success"; }>; timestamp: z.ZodMiniNullable; transactionHash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; transactionIndex: z.ZodMiniNumber; type: z.ZodMiniLazy>; }, z.core.$strip>>>; rpc: z.ZodMiniObject<{ aaAuthorizationList: z.ZodMiniOptional>>; accessList: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; storageKeys: z.ZodMiniArray, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; }, z.core.$loose>>>; authorizationList: z.ZodMiniOptional>>; blobVersionedHashes: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; blockHash: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; blockNumber: z.ZodMiniNullable>; blockTimestamp: z.ZodMiniOptional>>; calls: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; value: z.ZodMiniOptional>>; }, z.core.$loose>>, z.ZodMiniNull]>>; chainId: z.ZodMiniOptional>; feePayer: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; feePayerSignature: z.ZodMiniOptional>; }, z.core.$loose>>>; feeToken: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; from: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; gas: z.ZodMiniTemplateLiteral<`0x${string}`>; gasPrice: z.ZodMiniOptional>; hash: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; input: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; keyAuthorization: z.ZodMiniOptional>>; maxFeePerBlobGas: z.ZodMiniOptional>; maxFeePerGas: z.ZodMiniOptional>; maxPriorityFeePerGas: z.ZodMiniOptional>; nonce: z.ZodMiniTemplateLiteral<`0x${string}`>; nonceKey: z.ZodMiniOptional>; r: z.ZodMiniOptional>; s: z.ZodMiniOptional>; signature: z.ZodMiniOptional>; }, z.core.$loose>>; to: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>>; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, string>>; v: z.ZodMiniOptional>; validAfter: z.ZodMiniOptional>>; validBefore: z.ZodMiniOptional>>; value: z.ZodMiniOptional>; yParity: z.ZodMiniOptional>; }, z.core.$loose>; }, z.core.$strip>; nonce: z.ZodMiniNumber; nonceKey: z.ZodMiniOptional, z.ZodMiniTransform<`0x${string}`, string>>>; recipient: z.ZodMiniNullable, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>>; sender: z.ZodMiniPipe, z.ZodMiniTransform<`0x${string}`, `0x${string}`>>; timestamp: z.ZodMiniNullable; transactionIndex: z.ZodMiniNullable>; type: z.ZodMiniEnum<{ eip1559: "eip1559"; eip2930: "eip2930"; eip4844: "eip4844"; eip7702: "eip7702"; legacy: "legacy"; tempo: "tempo"; unknown: "unknown"; }>; validAfter: z.ZodMiniOptional>; validBefore: z.ZodMiniOptional>; value: z.ZodMiniString; }, z.core.$strip>>; meta: z.ZodMiniOptional; totalCount: z.ZodMiniNumber; }, z.core.$strip>>; nextCursor: z.ZodMiniNullable>; }, z.core.$strip>; } } /** Creates transaction handlers. */ export declare function transactions(): import("hono/hono-base").HonoBase; /** * Lists humanized transactions with required fee-token metadata and opt-in * resources. Status and fee-payer filters page through receipts because those * fields are indexed there. */ export declare function listTransactions(c: Context, options: listTransactions.Options): Promise<{ nextCursor: string | null; data: enrichFeeTokens.Output>[]; }>; export declare namespace listTransactions { type Options = getTransactions.Options & { /** Optional receipt and curated token fields to embed. */ include: readonly z.output[]; }; } /** Resolves required fee-token metadata and optional curated fields without mutating input rows. */ export declare function enrichFeeTokens(c: Context, options: enrichFeeTokens.Options): Promise[]>; export declare namespace enrichFeeTokens { /** Fee-token enrichment inputs. */ type Options = { /** Chain used for token metadata resolution. */ chainId: z.output; /** Requested optional token fields. */ include: readonly string[]; /** Rows carrying unresolved fee-token addresses. */ rows: readonly (row & Unresolved)[]; }; /** A copied row whose fee-token address has been replaced by metadata. */ type Output = Omit & { /** Resolved fee-token metadata when the row declares a fee token. */ feeToken?: z.output | undefined; }; /** Row field before fee-token metadata resolution. */ type Unresolved = { /** Fee-token address from indexed or RPC data. */ feeToken?: z.output | undefined; }; } export declare function getTransactions(c: Context, options: getTransactions.Options): Promise<{ data: humanizeTransaction.Output[]; nextCursor: string | null; }>; /** * Context-free core of {@link getTransactions}: builds the `txs` query (with * address sides merged in application code), applies keyset pagination on * `(block_num, idx)`, and reconstructs each row through the same * `toRpcTransaction` → `humanizeTransaction` path the detail endpoint uses. Used * by the Hono routes (via {@link getTransactions}, which adds Server-Timing + * memoization) and by the webhook poller (uncached, ascending, per-row cursors). */ export declare function scanTransactions(deps: scanTransactions.Deps, options: getTransactions.Options): Promise; export declare namespace getTransactions { type Options = { address?: z.output | undefined; chainId: z.output; /** Opaque keyset cursor anchoring the page; omit for the head page. */ cursor?: string | undefined; feePayer?: z.output | undefined; feeToken?: z.output | undefined; fromBlock?: number | undefined; fromTimestamp?: string | undefined; /** * When true, the `recipient` filter also matches any inner account-abstraction * call target (`calls[].to`), not just the root `to`. Off by default so read * endpoints keep root-level recipient semantics. */ includeCallRecipients?: boolean | undefined; limit: number; /** 1-indexed page number (positional pagination; exclusive with `cursor`). */ page?: number | undefined; order: 'asc' | 'desc'; recipient?: z.output | undefined; sender?: z.output | undefined; /** * Filter to transactions whose receipt shows this execution status. * Handled by {@link listTransactions} via the receipts-driven path; the raw * `txs` scan ignores it (`txs` does not store execution status). */ status?: 'reverted' | 'success' | undefined; toBlock?: number | undefined; toTimestamp?: string | undefined; }; } /** * Capped total count of transactions matching the same filters as the page. * * Status and fee-payer filters are delegated to {@link Receipts.countReceipts}, * mirroring the page's receipts-driven path. The address scope reuses the * page's `UNION` of the two sides; each side hits its own (`from`/`to`) index, * and the deduped keyset count avoids double-counting self-transactions * (`from = to`). `totalCountCapped: true` is a lower bound — at least * {@link Schema.countCap} matches. */ export declare function countTransactions(c: Context, options: countTransactions.Options): Promise>; export declare namespace countTransactions { /** Filters for {@link countTransactions}: the page filters minus pagination. */ type Options = Pick; } export declare namespace scanTransactions { /** Dependencies for {@link scanTransactions}. */ type Deps = { /** TIDX query client for the target chain. */ tidx: Tidx.Client; }; /** A humanized transaction row plus its `(block_num, idx)` cursor. */ type Item = { /** Keyset position of the row. */ cursor: readonly [blockNumber: number, transactionIndex: number]; /** The humanized transaction (same shape the read endpoint returns). */ data: humanizeTransaction.Output; }; /** A page of scanned transactions. */ type Page = { hasMore: boolean; items: readonly Item[]; limit: number; nextCursor: string | null; }; } /** * Humanizes a JSON-RPC transaction: decodes `type`, converts hex quantities to * decimal strings, hex block fields to numbers, and timestamps to ISO 8601, * while preserving the verbatim payload under `rpc`. The same function serves * the detail endpoint (RPC source) and the list endpoint (reconstructed from the * indexer), so both expose an identical shape. */ export declare function humanizeTransaction(rpc: z.output): humanizeTransaction.Output; export declare namespace humanizeTransaction { /** Humanized fields before asynchronous fee-token metadata resolution. */ type Output = Omit, 'feeToken'> & { /** Unresolved fee-token address from the RPC transaction. */ feeToken?: z.output | undefined; }; } export {}; //# sourceMappingURL=transactions.d.ts.map