otxn_id

Output the canonical hash of the originating transaction

Behaviour

  • Write the canonical hash of the originating transaction to the output buffer.

  • If flags = 1 and the transaction is an EMIT_FAILURE transaction then write the canonical hash of the originating transaction that caused the emission.

Definition

C

int64_t otxn_id (
    uint32_t write_ptr,
    uint32_t write_len,
  	uint32_t flags
);

Example

C

uint8_t txn_id[32];
int64_t bytes_written = 
    otxn_id(txn_id, 32, 0);

Parameters

Name
Type
Description

write_ptr

uint32_t

Pointer to a buffer of to store the hash.

write_len

uint32_t

Length of the output buffer. Should be at least 32 bytes.

flags

uint32_t

If 0: Write the canonical hash of the originating transaction. If 1 AND the originating transaction is an EMIT_FAILURE: Write the canonical hash of the emitting transaction.

Return Code

Type
Description

int64_t

The number of bytes written If negative, an error: OUT_OF_BOUNDS - pointers/lengths specified outside of hook memory. TOO_SMALL - output buffer was not large enough to hold the serialized object

Last updated