sto_subarray
Conceptos
Sección titulada «Conceptos»Comportamiento
Sección titulada «Comportamiento»- Parsea un STArray apuntado por
read_ptr - Encuentra el índice del array especificado por
array_id - Devuelve el desplazamiento en bytes y la longitud del campo serializado dentro del STObject, si se encuentra
- Recibe el objeto STO (datos del ledger codificados en binario) del que extraer el subarray
- Encuentra el índice del array especificado por
array_id - Devuelve un subarray del objeto STO
Definición
Sección titulada «Definición»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 | numberEjemplo
Sección titulada «Ejemplo»#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 no fue encontrado en el STObject apuntado por memo_ptr}else{// El índice 0 del STArray fue encontrado y su ubicación es la siguiente: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 no fue encontrado en el STObject}else{ // El índice 0 del STArray fue encontrado y su ubicación es la siguiente: const memo_start = SUB_OFFSET(memo_lookup) const memo_len = SUB_LENGTH(memo_lookup) const memo = memos.slice(memo_start, memo_len)}Parámetros
Sección titulada «Parámetros»| Nombre | Tipo | Descripción |
|---|---|---|
| read_ptr | uint32_t | Puntero al buffer que contiene el STArray |
| read_len | uint32_t | Longitud del STArray |
| array_id | uint32_t | Índice del elemento dentro del STArray que se desea obtener. Comienza en 0. |
| Nombre | Tipo | Descripción |
|---|---|---|
| sto | ByteArray | HexString | Objeto STO (datos binarios del ledger) del que se extraerá el subarray |
| array_id | number | Índice del array a extraer |
Código de retorno
Sección titulada «Código de retorno»| Tipo | Descripción |
|---|---|
| int64_t | Ubicación del campo dentro del buffer especificado: |
| Tipo | Descripción |
|---|---|
| bigint / ErrorCode | Ubicación del campo dentro del buffer: |