util_keylet
Conceitos
Seção intitulada “Conceitos”Comportamento
Seção intitulada “Comportamento”- Calcula um keylet do
keylet_typeespecificado de acordo com os parâmetrosaaf, dependendo do tipo. - Escreve o keylet serializado de 34 bytes em
write_ptr
Definição
Seção intitulada “Definição”int64_t util_keylet ( uint32_t write_ptr, uint32_t write_len, uint32_t keylet_type, uint32_t a, uint32_t b, uint32_t c, uint32_t d, uint32_t e, uint32_t f);function util_keylet( keylet_type: number, accountid: ByteArray | HexString, statekey: ByteArray | HexString, namespace: ByteArray | HexString ): ErrorCode | ByteArrayExemplo
Seção intitulada “Exemplo”uint8_t keylet[34];if (util_keylet(keylet, 34, KEYLET_LINE, hook_accid, 20, account_field, 20, currency_code, 20) != 34) rollback("Keylet Failed.", 14, 1);if (util_keylet( KEYLET_LINE, hook_accid, account_field, currency_code ).length < 34) rollback("Keylet Failed.", 1)Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Descrição |
|---|---|---|
| write_ptr | uint32_t | Ponteiro para um buffer onde o keylet serializado será escrito |
| write_len | uint32_t | Tamanho do buffer de saída, deve ser pelo menos 34. |
| keylet_type | uint32_t | Um dos tipos de keylet definidos em hookapi.h, ex: KEYLET_LINE para uma trustline. |
| a | uint32_t | Veja a tabela de keylets abaixo |
| b | uint32_t | Veja a tabela de keylets abaixo |
| c | uint32_t | Veja a tabela de keylets abaixo |
| d | uint32_t | Veja a tabela de keylets abaixo |
| e | uint32_t | Veja a tabela de keylets abaixo |
| f | uint32_t | Veja a tabela de keylets abaixo |
| Nome | Tipo | Descrição |
|---|---|---|
| keylet_type | O tipo do keylet a ser criado | |
| accountid | (Opcional) Primeira parte de dados para o keylet, pode ser um array de números, uma string ou um número. | |
| statekey | (Opcional) Segunda parte de dados para o keylet, pode ser um array de números, uma string ou um número. | |
| namespace | (Opcional) Terceira parte de dados para o keylet, pode ser um array de números, uma string ou um número. |
Tabela de Keylets
Seção intitulada “Tabela de Keylets”| Tipo de Keylet | Parâmetros |
|---|---|
| KEYLET_HOOK_STATE |
|
KEYLET_AMENDMENTS | a, b, c, d, e, f devem ser todos zero |
| KEYLET_SKIP | Ou: |
| KEYLET_LINE |
|
| KEYLET_QUALITY |
|
| KEYLET_DEPOSIT_PREAUTH |
|
KEYLET_UNCHECKED |
|
KEYLET_OWNER_DIR |
|
| KEYLET_PAGE |
|
KEYLET_OFFER |
|
| KEYLET_PAYCHAN |
|
Código de Retorno
Seção intitulada “Código de Retorno”| Tipo | Descrição |
|---|---|
| int64_t | O número de bytes escritos, deve ser sempre 34. |
| Tipo | Descrição |
|---|---|
| number | ErrorCode se houver um erro ao criar o keylet, caso contrário retorna o keylet gerado como um array de números. |