Saltearse al contenido

Hook Definition

[Source]

(Añadido por la enmienda [Hooks][].)

Un objeto HookDefinition describe un hook, que es un fragmento de código que se ejecuta en respuesta a ciertas transacciones. El hook puede modificar la transacción, emitir nuevas transacciones o realizar otras acciones.

{
"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"
}

Un objeto HookDefinition tiene los siguientes campos:

CampoTipo JSON[Tipo Interno][]¿Requerido?Descripción
HookHashStringHash256El identificador único del hook.
HookOnStringHash256La/s transacción/es en las que se activa el hook.
HookCanEmitStringHash256NoLa/s transacción/es que el hook puede emitir.
HookNamespaceStringHash256El espacio de nombres del hook.
HookParametersStringVectorLos parámetros que acepta el hook.
HookApiVersionNumberUInt16La versión de la API del hook que usa el hook.
CreateCodeStringVLEl código que se ejecuta cuando se crea el hook.
HookSetTxnIDStringHash256El ID de la transacción que estableció el hook.
ReferenceCountStringUInt64El número de referencias al hook.
FeeStringAmountLa tarifa para ejecutar el hook.
HookCallbackFeeStringAmountNoLa tarifa para ejecutar la función de callback del hook.
LedgerEntryTypeStringUInt16El valor 0x0043, mapeado a la cadena HookDefinition, indica que este objeto es un objeto HookDefinition.

El ID de un objeto HookDefinition es el SHA-512Half de los siguientes valores, concatenados en orden:

  • La clave de espacio HookDefinition (0x0044)
  • El HookHash del hook