Campo HookOn
Comprendiendo el campo HookOn
Sección titulada «Comprendiendo el campo HookOn»Cada bit en este entero sin signo de 256 bits indica si el Hook debe ejecutarse para un tipo de transacción concreto. Todos los bits son activo bajo excepto el bit 22, que es activo alto. Dado que el 22 corresponde a ttHOOK_SET, esto significa que el valor por defecto de todos los bits en 0 no activará el Hook en una transacción SetHook, pero sí en todos los demás tipos de transacción. Esta es una decisión de diseño intencionada para evitar que los usuarios bloqueen su cuenta de Xahau con un Hook defectuoso.
Los bits se numeran de derecha a izquierda:
- bit 0 - el más a la derecha, es decir, el bit menos significativo.
- bit 63 - el más a la izquierda, es decir, el bit más significativo.
Ejemplos (asumiendo un entero sin signo de 256 bits):
- Si queremos desactivar completamente el Hook:
~(1ULL << 22) /* todos los bits son 1 excepto el bit 22 que es 0 */- Si queremos desactivar el Hook en todo excepto ttPAYMENT:
~(1ULL << 22) & ~(1ULL)- Si queremos activar el Hook en todo excepto ttHOOK_SET:
0- Si queremos activar el Hook en ttHOOK_SET (peligroso) y en todos los demás tipos de transacción:
(1ULL << 22)