Pular para o conteúdo

state

  • Lê uma chave do Estado do Hook de 32 bytes a partir de kread_ptr
  • Escreve os dados (valor) dessa chave no buffer apontado por write_ptr
int64_t state (
uint32_t write_ptr,
uint32_t write_len,
uint32_t kread_ptr,
uint32_t kread_len
);
#define SBUF(str) (uint32_t)(str), sizeof(str)
if (state(SBUF(vault), SBUF(vault_key)) != 16)
rollback(SBUF("Error: could not read state!"), 1);
NomeTipoDescrição
write_ptruint32_tUm ponteiro para o buffer no qual escrever os dados do Estado do Hook.
write_lenuint32_tO tamanho do buffer de escrita.
kread_ptruint32_tPonteiro para um buffer contendo a chave do Estado do Hook.
kread_lenuint32_tO tamanho da chave do Estado do Hook. (Deve ser 32.)
TipoDescrição
int64_t

O número de bytes escritos no buffer de escrita.

Se negativo, um erro:
OUT_OF_BOUNDS
- ponteiros/tamanhos especificados fora da memória do hook.

DOESNT_EXIST
- a chave do Estado do Hook especificada não possui um valor associado no ledger no momento da chamada.

TOO_BIG
- a chave especificada por read_ptr e read_len era maior que 32 bytes.

TOO_SMALL
- o buffer de saída era muito pequeno para armazenar os dados do Estado do Hook.