Hook
(Añadido por la enmienda [Hooks][].)
Un objeto Hook describe un contrato inteligente que puede activarse por una transacción para realizar operaciones predefinidas. Las operaciones son definidas por el creador del Hook y pueden interactuar con el ledger y las transacciones.
Ejemplo JSON
Sección titulada «Ejemplo JSON»{ "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo", "OwnerNode": "0000000000000000", "PreviousTxnID": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924", "PreviousTxnLgrSeq": 6, "Hooks": [ { "HookHash": "46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291", "HookParameters": [] } ], "LedgerEntryType": "Hook", "index": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0"}Un objeto Hook tiene los siguientes campos:
| Campo | Tipo JSON | [Tipo Interno][] | ¿Requerido? | Descripción |
|---|---|---|---|---|
Account | String | Account | Sí | La cuenta que creó el Hook. |
OwnerNode | String | UInt64 | Sí | Una pista que indica qué página del directorio del propietario enlaza a este objeto, en caso de que el directorio consista de múltiples páginas. |
PreviousTxnID | String | Hash256 | Sí | El ID de la transacción que modificó más recientemente este objeto. |
PreviousTxnLgrSeq | Number | UInt32 | Sí | El [índice del ledger][] del ledger que contiene la transacción que modificó más recientemente este objeto. |
Hooks | Array | Array | Sí | Un arreglo de objetos hook. Cada objeto tiene los siguientes campos: HookHash, CreateCode, HookGrants, HookNamespace, HookParameters, HookOn, HookApiVersion, Flags. |
LedgerEntryType | String | UInt16 | Sí | El valor 0x0043, mapeado a la cadena Hook, indica que este objeto es un objeto Hook. |
Campos del Hook
Sección titulada «Campos del Hook»Los siguientes campos se usan en el objeto hook:
| Campo | Tipo JSON | Tipo Interno | Descripción |
|---|---|---|---|
HookHash | String | Hash256 | El hash del hook. |
HookParameters | Array | Array | Los parámetros del hook. |
Flags | Number | UInt32 | Indicadores adicionales para el hook. |
Formato del ID Hook
Sección titulada «Formato del ID Hook»El ID de un objeto Hook es el SHA-512Half de los siguientes valores, concatenados en orden:
- La clave de espacio Hook (
0x0048) - El AccountID del remitente de la [transacción SetHook][] que creó el objeto
Hook