state_foreign_set
Comportamiento
Sección titulada «Comportamiento»- Lee una clave de Hook State de 32 bytes desde
kread_ptr - Lee una cantidad arbitraria de datos desde
read_ptr(el valor) - Lee un namespace de 32 bytes desde
nread_ptr - Lee un Account ID de 20 bytes desde
aread_ptr - Actualiza la clave de Hook State en la cuenta especificada dentro del namespace indicado con el valor dado
- Pero solo si un Grant en esa cuenta lo permite
- Si la cuenta del Hook se especifica en
aread_ptr, el comportamiento será el destate_set, pero permitiendo aún especificar el namespace mediantenread_ptr
- Establece el Hook State externo con el valor, clave, namespace y Account ID especificados
- Esta operación requiere autorización y un Grant que permita esta acción
- Devuelve el número de bytes escritos en el Hook State (la longitud de los datos), negativo en caso de error
Definición
Sección titulada «Definición»int64_t state_foreign_set ( uint32_t read_ptr, uint32_t read_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_set( value: ByteArray | HexString | undefined | null, key: ByteArray | HexString, namespace: ByteArray | HexString | undefined | null, accountid: ByteArray | HexString | undefined | null ): ErrorCode | numberEjemplo
Sección titulada «Ejemplo»#define SBUF(str) (uint32_t)(str), sizeof(str)if (state_foreign_set(SBUF(vault), SBUF(vault_key), SBUF(namespace), SBUF(account)) < 0) rollback(SBUF("Error: no se pudo establecer el estado externo!"), 1);if (state_foreign_set(vault, vault_key, namespace, account) < 0) rollback("Error: no se pudo establecer el estado externo!", 1);Parámetros
Sección titulada «Parámetros»| Nombre | Tipo | Descripción |
|---|---|---|
| read_ptr | uint32_t | Puntero a los datos (valor) a escribir en el Hook State. |
| read_len | uint32_t | Longitud de los datos. |
| kread_ptr | uint32_t | Puntero a la clave de Hook State donde se almacenará el valor |
| kread_len | uint32_t | Longitud de la clave (debe ser siempre 32) |
| nread_ptr | uint32_t | Puntero al namespace al que pertenece la clave |
| nread_len | uint32_t | Longitud del namespace (debe ser siempre 32) |
| aread_ptr | uint32_t | Puntero al Account ID cuyo estado se desea modificar |
| aread_len | uint32_t | Longitud del Account ID (debe ser siempre 20) |
| Nombre | Tipo | Descripción |
|---|---|---|
| value | ByteArray o HexString | El valor de los datos a almacenar |
| key | ByteArray o HexString | La clave del Hook State donde guardar el valor |
| namespace | ByteArray o HexString | El namespace del Hook |
| 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 Hook State (longitud de los datos) |
| Tipo | Descripción |
|---|---|
| number o ErrorCode | Devuelve el número de bytes escritos o un error (negativo en caso de fallo) |