sto_subarray
Conceitos
Seção intitulada “Conceitos”Comportamento
Seção intitulada “Comportamento”- Analisa um STArray apontado por
read_ptr - Encontra o índice do array especificado por
array_id - Retorna o deslocamento (offset) em bytes e o tamanho do campo serializado dentro do STObject, se encontrado
- Solicita o objeto STO (dados de ledger codificados em binário) do qual o subarray será extraído.
- Encontra o índice do array especificado por
array_id - Retorna um subarray de um objeto STO.
Definição
Seção intitulada “Definição”int64_t sto_subarray ( uint32_t read_ptr, uint32_t read_len, uint32_t array_id);function sto_subarray( sto: ByteArray | HexString, array_id: number ): bigint | numberExemplo
Seção intitulada “Exemplo”#define SUB_OFFSET(x) ((int32_t)(x >> 32))#define SUB_LENGTH(x) ((int32_t)(x & 0xFFFFFFFFULL))
int64_t memo_lookup = sto_subarray(memos, memos_len, 0);
if (memo_lookup < 0){ // sfMemo was not found in the STObject pointed at by memo_ptr}else{ // 0th index of the STArray was found and its location is as follows: uint8_t* memo_ptr = SUB_OFFSET(memo_lookup) + memos; uint32_t memo_len = SUB_LENGTH(memo_lookup);}const SUB_OFFSET = (x) => Number(x >> 32n)const SUB_LENGTH = (x) => Number(x & 0xFFFFFFFFn)
const memo_lookup = sto_subarray(memos, 0)
if (typeof memo_lookup === 'number'){ // sfMemo was not found in the STObject pointed at}else{ // 0th index of the STArray was found and its location is as follows: const memo_start = SUB_OFFSET(memo_lookup) const memo_len = SUB_LENGTH(memo_lookup) const memo = memos.slice(memo_start, memo_len)}Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Descrição |
|---|---|---|
| read_ptr | uint32_t | Ponteiro para o buffer contendo o STArray |
| read_len | uint32_t | Tamanho do STArray |
| array_id | uint32_t | O índice da entrada dentro do STArray que você está buscando. Começa em 0. |
| Nome | Tipo | Descrição |
|---|---|---|
| sto | ByteArray | HexString | O objeto STO (dados de ledger codificados em binário) do qual o subarray será extraído. |
| array_id | number | O ID do array a ser extraído. |
Código de Retorno
Seção intitulada “Código de Retorno”| Tipo | Descrição |
|---|---|
| int64_t | A localização do campo dentro do buffer especificado: |
| Tipo | Descrição |
|---|---|
| bigint / ErrorCode | A localização do campo dentro do buffer especificado: |