Pular para o conteúdo

emit

Transações Emitidas
  • Lê uma transação a partir de read_ptr
  • Valida a transação contra as regras de emissão
  • Emite a transação para o consenso quando válida
  • Escreve o hash canônico da transação em write_ptr
int64_t emit (
uint32_t write_ptr,
uint32_t write_len,
uint32_t read_ptr,
uint32_t read_len
);
if (emit(tx, tx_len) < 0)
rollback("Failed to emit!", 15, 1);
NomeTipoDescrição
write_ptruint32_tPonteiro para um buffer onde escrever o hash da transação
write_lenuint32_tO tamanho do buffer para escrever o hash da transação (deve ser 32.)
read_ptruint32_tPonteiro para a transação a ser emitida
read_lenuint32_tO tamanho da transação
TipoDescrição
int64_tEm caso de sucesso, o número de bytes do hash da transação escritos (32), ou:

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

PREREQUISITE_NOT_MET
- emit_reserve deve ser chamado primeiro

TOO_MANY_EMITTED_TXN
- o número de transações emitidas agora é maior do que o prometido quando emit_reserve foi chamado anteriormente

EMISSION_FAILURE
- a transação estava malformada de acordo com as regras de emissão.