import * as Address from '../core/Address.js'; import * as Hex from '../core/Hex.js'; /** * Derives the sender tag that identifies the indexed parent-chain * `WithdrawalProcessed` event for a Zone withdrawal. * * The `transactionHash` is the Zone transaction containing the * `ZoneOutbox.requestWithdrawal` call. The protocol defines a user withdrawal * sender tag as * `keccak256(abi.encodePacked(sender, transactionHash, fallbackNonce))`. * Internal deposit bounce-backs use the canonical zero-sender tag derived from * `address(0)` and `bytes32(0)` without a fallback nonce. * * [Authenticated Withdrawals Specification](https://github.com/tempoxyz/zones/blob/main/specs/spec.md#authenticated-withdrawals) * * @example * ```ts twoslash * import { WithdrawalSenderTag } from 'ox/tempo' * * const senderTag = WithdrawalSenderTag.from({ * fallbackNonce: 19n, * sender: '0x1234567890abcdef1234567890abcdef12345678', * transactionHash: * '0xabababababababababababababababababababababababababababababababab' * }) * ``` * * @param value - Withdrawal sender, Zone transaction hash, and fallback nonce. * @returns The sender tag. */ export declare function from(value: from.Value): Hex.Hex; export declare namespace from { type Value = { /** Public nonce assigned to the withdrawal's private fallback recipient. */ fallbackNonce: bigint; /** Address that requested the withdrawal. */ sender: Address.Address; /** Hash of the Zone transaction containing `ZoneOutbox.requestWithdrawal`. */ transactionHash: Hex.Hex; }; } //# sourceMappingURL=WithdrawalSenderTag.d.ts.map