TxEnvelopeTempo.hash
Hashes a TxEnvelopeTempo.TxEnvelopeTempo. This is the "transaction hash".
Imports
import { TxEnvelopeTempo } from 'ox/tempo'Examples
import { Secp256k1 } from 'ox'
import { TxEnvelopeTempo } from 'ox/tempo'
const envelope = TxEnvelopeTempo.from({
chainId: 1,
calls: [{
data: '0xdeadbeef',
to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
}],
nonce: 0n,
maxFeePerGas: 1000000000n,
gas: 21000n,
})
const signature = Secp256k1.sign({
payload: TxEnvelopeTempo.getSignPayload(envelope),
privateKey: '0x...'
})
const envelope_signed = TxEnvelopeTempo.from(envelope, { signature })
const hash = TxEnvelopeTempo.hash(envelope_signed)Definition
function hash<presign>(
envelope: TxEnvelopeTempo<presign extends true ? false : true>,
options?: hash.Options<presign>,
): hash.ReturnValueSource: src/tempo/TxEnvelopeTempo.ts
Parameters
envelope
- Type:
TxEnvelopeTempo<presign extends true ? false : true>
The Tempo Transaction Envelope to hash.
envelope.accessList
- Type:
readonly { address: abitype_Address; storageKeys: readonly 0x${string}[]; }[] - Optional
EIP-2930 Access List.
envelope.authorizationList
- Type:
readonly { address: abitype_Address; chainId: numberType; nonce: bigintType; signature: SignatureEnvelope; }[] - Optional
EIP-7702 (Tempo) Authorization list for the transaction.
envelope.calls
- Type:
readonly Call[]
Array of calls to execute.
envelope.chainId
- Type:
numberType
EIP-155 Chain ID.
envelope.feePayerSignature
- Type:
{ r: bigintType; s: bigintType; yParity: numberType; } - Optional
Fee payer signature.
envelope.feeToken
- Type:
TokenId.TokenIdOrAddress | undefined - Optional
Fee token preference. Address or ID of the TIP-20 token.
envelope.from
- Type:
Address.Address | undefined - Optional
Sender of the transaction.
envelope.gas
- Type:
bigintType - Optional
Gas provided for transaction execution
envelope.keyAuthorization
- Type:
Signed - Optional
Key authorization for provisioning a new access key.
When present, this transaction will add the specified key to the AccountKeychain precompile, before verifying the transaction signature. The authorization must be signed with the root key, the tx can be signed by the Keychain signature.
envelope.maxFeePerGas
- Type:
bigintType - Optional
Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas).
envelope.maxPriorityFeePerGas
- Type:
bigintType - Optional
Max priority fee per gas (in wei).
envelope.nonce
- Type:
bigintType - Optional
Unique number identifying this transaction
envelope.nonceKey
- Type:
bigintType - Optional
Nonce key for 2D nonce system (192 bits).
envelope.signature
- Type:
SignatureEnvelope - Optional
envelope.type
- Type:
type
Transaction type
envelope.validAfter
- Type:
numberType - Optional
Transaction can only be included in a block after this timestamp.
envelope.validBefore
- Type:
numberType - Optional
Transaction can only be included in a block before this timestamp.
options
- Type:
hash.Options<presign> - Optional
Options.
options.presign
- Type:
boolean | presign - Optional
Whether to hash this transaction for signing.
Return Type
The hash of the transaction envelope.
hash.ReturnValue

