Emit a new transaction from the hook
Read a transaction from read_ptr
Validate the transaction against the emission rules
Emit the transaction into consensus when valid
Write canonical transaction hash to write_ptr
C
C
write_ptr
uint32_t
Pointer to a buffer to write the transaction hash to
write_len
uint32_t
The size of the buffer to write the transaction hash to (should be 32.)
read_ptr
uint32_t
Pointer to the transaction to emit
read_len
uint32_t
The length of the transaction
int64_t
On success, the number of bytes of transaction hash written (32), or:
If negative, an error:
OUT_OF_BOUNDS
- pointers/lengths specified outside of hook memory.
PREREQUISITE_NOT_MET
- emit_reserve
must be called first
TOO_MANY_EMITTED_TXN
- the number of emitted transactions is now greater than the promise made when emit_reserve
was called earlier
EMISSION_FAILURE
- the transaction was malformed according to the emission rules.