Pular para o conteúdo

Hook State

[Fonte]

(Adicionado pela [emenda Hooks][].)

Um objeto HookState descreve o estado de um hook, que é um trecho de código em execução no Xahau que pode interagir com transações. O objeto HookState armazena o estado do hook, que pode ser modificado pelo código do hook.

{
"OwnerNode": "0000000000000000",
"HookStateKey": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0",
"HookStateData": "46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291",
"LedgerEntryType": "HookState",
"index": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924"
}

Um objeto HookState tem os seguintes campos:

CampoTipo JSON[Tipo Interno][]Obrigatório?Descrição
OwnerNodeStringUInt64SimUma dica indicando qual página do diretório do proprietário aponta para este objeto, caso o diretório consista em múltiplas páginas.
HookStateKeyStringHash256SimA chave que identifica de forma única este estado de hook.
HookStateDataStringVLSimOs dados armazenados pelo hook. Pode ser qualquer dado que o código do hook decida armazenar.
LedgerEntryTypeStringUInt16SimO valor 0x0043, mapeado para a string HookState, indica que este objeto é um objeto HookState.

[Fonte]

O ID de um objeto HookState é o SHA-512Half dos seguintes valores, concatenados em ordem:

  • A chave de espaço HookState (0x0076)
  • O AccountID da conta que possui o hook
  • O HookStateKey do objeto HookState
  • O HookNamespace do hook.