import type { Hex } from 'viem'; /** * Address of the Dynamic gasless EIP-7702 delegation contract. * * When a wallet has 7702 delegation active, its on-chain bytecode is * `DELEGATION_CODE_PREFIX + this address` (minus the leading "0x"). */ export declare const DELEGATION_CONTRACT_ADDRESS: Hex; /** * Default lifetime of a signed sponsored-transaction intent, in seconds. */ export declare const DEFAULT_VALID_FOR_SECONDS = 600; /** * EIP-7702 delegation code prefix (`0xef0100`). When a wallet is delegated, * its code is this prefix followed by the lowercase delegate address. */ export declare const DELEGATION_CODE_PREFIX = "0xef0100"; /** * UGD authorization mode bytes for a batch-call OpData EIP-712 intent. */ export declare const BATCH_CALL_OPDATA_AUTH_MODE: Hex; /** * EIP-712 typed-data definitions for the UGD `AuthorizedExecutions` primary * type. Used by `signTypedData` when signing a sponsored intent. * * Struct name `Execution` and field order are part of the on-chain typehash * (`keccak256("AuthorizedExecutions(...)Execution(...)")`). Any divergence * produces a different digest, the delegate's `ecrecover` returns a different * address, and the call reverts with `UnauthorizedExecution()` (`0x7daadde3`). */ export declare const AUTHORIZED_EXECUTIONS_TYPES: { readonly AuthorizedExecutions: readonly [{ readonly name: "calls"; readonly type: "Execution[]"; }, { readonly name: "deadline"; readonly type: "uint256"; }, { readonly name: "mode"; readonly type: "bytes32"; }, { readonly name: "nonce"; readonly type: "uint256"; }, { readonly name: "relayer"; readonly type: "address"; }]; readonly Execution: readonly [{ readonly name: "target"; readonly type: "address"; }, { readonly name: "value"; readonly type: "uint256"; }, { readonly name: "data"; readonly type: "bytes"; }]; }; /** * Minimal ABI fragment for the UGD `isNonceUsed(uint256)` view, used to * sanity-check randomly-generated intent nonces against the delegation * contract's bitmap. */ export declare const UGD_ABI: readonly [{ readonly inputs: readonly [{ readonly name: "nonce"; readonly type: "uint256"; }]; readonly name: "isNonceUsed"; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }];