Skip to content

Latest commit

 

History

History
56 lines (45 loc) · 3.73 KB

File metadata and controls

56 lines (45 loc) · 3.73 KB

Hook Definition

[Source]

(Added by the [Hooks amendment][].)

A HookDefinition object describes a hook, which is a piece of code that is executed in response to certain transactions. The hook can modify the transaction, emit new transactions, or perform other actions.

Example JSON

{
  "HookHash": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0",
  "HookOn": "0000000000000000000000000000000000000000000000000000000000000000",
  "HookNamespace": "0000000000000000000000000000000000000000000000000000000000000000",
  "HookParameters": {
    "HookParameter": {
      "HookParameterName": "DEADBEEF",
      "HookParameterValue": "DEADBEEF",
    }
  },
  "HookApiVersion": 1,
  "CreateCode": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924",
  "HookSetTxnID": "0000000000000000",
  "ReferenceCount": "6",
  "Fee": "100000000",
  "HookCallbackFee": "200000000",
  "LedgerEntryType": "HookDefinition",
  "index": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0"
}

Fields

A HookDefinition object has the following fields:

Field JSON Type [Internal Type][] Required? Description
HookHash String Hash256 Yes The unique identifier of the hook.
HookOn String Hash256 Yes The account that the hook is attached to.
HookNamespace String Hash256 Yes The namespace of the hook.
HookParameters String Vector Yes The parameters that the hook accepts.
HookApiVersion Number UInt16 Yes The version of the hook API that the hook uses.
CreateCode String VL Yes The code that is executed when the hook is created.
HookSetTxnID String Hash256 Yes The ID of the transaction that set the hook.
ReferenceCount String UInt64 Yes The number of references to the hook.
Fee String Amount Yes The fee for executing the hook.
HookCallbackFee String Amount No The fee for executing the hook's callback function.
LedgerEntryType String UInt16 Yes The value 0x0043, mapped to the string HookDefinition, indicates that this object is a HookDefinition object.

Hook Definition ID Format

The ID of a HookDefinition object is the [SHA-512Half][] of the following values, concatenated in order:

  • The HookDefinition space key (0x0044)
  • The HookHash of the hook