state_foreign
Comportamiento
Sección titulada «Comportamiento»- Lee un Account ID de 20 bytes desde
aread_ptr - Lee una clave de Hook State de 32 bytes desde
kread_ptr - Escribe los datos (valor) asociados a esa clave en ese Account ID en el buffer apuntado por
write_ptr
- Recupera el valor del Hook State externo perteneciente a otra cuenta para la clave especificada
- Devuelve un código de error o el valor del Hook State para la clave
Definición
Sección titulada «Definición»int64_t state_foreign ( uint32_t write_ptr, uint32_t write_len, uint32_t kread_ptr, uint32_t kread_len, uint32_t nread_ptr, uint32_t nread_len, uint32_t aread_ptr, uint32_t aread_len);function state_foreign( key: ByteArray | HexString, namespace: ByteArray | HexString | undefined | null, accountid: ByteArray | HexString | undefined | null ): ErrorCode | ByteArrayEjemplo
Sección titulada «Ejemplo»#define SBUF(str) (uint32_t)(str), sizeof(str)uint8_t ns[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};int64_t lookup = state_foreign(SBUF(blacklist_status), SBUF(otxn_accid), SBUF(ns), SBUF(blacklist_accid));if (lookup < 0) rollback(SBUF("Error: no se pudo encontrar la clave en el estado externo."), 1);const ns = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]const blacklist_status = state_foreign(otxn_accid, ns, blacklist_accid)if (typeof blacklist_status === 'number') rollback("Error: no se pudo encontrar la clave en el estado externo.", 1);Parámetros
Sección titulada «Parámetros»| Nombre | Tipo | Descripción |
|---|---|---|
| write_ptr | uint32_t | Puntero al buffer donde escribir los datos del Hook State |
| write_len | uint32_t | Longitud del buffer de escritura |
| kread_ptr | uint32_t | Puntero a un buffer que contiene la clave del Hook State |
| kread_len | uint32_t | Longitud de la clave (debe ser 32) |
| nread_ptr | uint32_t | Puntero al buffer que contiene el namespace de 32 bytes |
| nread_len | uint32_t | Longitud del namespace (debe ser 32) |
| aread_ptr | uint32_t | Puntero a un buffer con el Account ID de 20 bytes |
| aread_len | uint32_t | Longitud del Account ID (debe ser 20) |
| Nombre | Tipo | Descripción |
|---|---|---|
| key | ByteArray o HexString | La clave del Hook State de la que obtener el valor |
| namespace | ByteArray o HexString | El namespace del Hook donde buscar |
| accountid | ByteArray o HexString | El propietario del estado |
Código de retorno
Sección titulada «Código de retorno»| Tipo | Descripción |
|---|---|
| int64_t | Número de bytes escritos en el buffer de salida |
| Tipo | Descripción |
|---|---|
| ErrorCode o ByteArray | Devuelve un código de error o el valor del Hook State |