Reject the originating transaction and discard any changes the hook made.

Concepts

Behaviour

End the execution of the hook with status: reject.

  • Record a return string and return code in transaction metadata.
  • Discard all state changes.
  • Discard all emit() transactions.
  • Disallow originating transaction to continue.

❗️

Warning

The originating transaction will fail with tecHOOK_REJECTED and a fee will be charged. See: Execution Order.

Definition

int64_t rollback (
    uint32_t read_ptr,
    uint32_t read_len,
    uint64_t error_code
);

Example

rollback("Rejected!", 9, 100);

Parameters

NameTypeDescription
read_ptruint32_tPointer to a return string to be stored in execution metadata.
This is any string the hook-developer wishes to return with the acceptance. May be null.
read_lenuint32_tThe length of the return string. At most 32. May be null.
error_codeuint64_tA return code specific to this hook to be stored in execution metadata.

Similar to the return code of an application on a *nix system. By convention non-success is non-zero.

Return Code

TypeDescription
int64_tRollback ends the hook, therefore no value is returned to the caller. By convention all Hook APIs return int64_t, but in this case nothing is returned.