state_foreign
Comportamento
Seção intitulada “Comportamento”- Lê um ID de Conta de 20 bytes a partir de
aread_ptr - Lê uma chave do Estado do Hook de 32 bytes a partir de
kread_ptr - Escreve os dados (valor) dessa chave, nesse ID de Conta, no buffer apontado por
write_ptr
- Recupera o valor do Estado do Hook Estrangeiro pertencente a outra conta para a chave especificada.
- Retorna um código de erro ou o valor do Estado do Hook para a chave.
Definição
Seção intitulada “Definição”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 | ByteArrayExemplo
Seção intitulada “Exemplo”#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: could not find key on foreign state."), 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: could not find key on foreign state.", 1);Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Descrição |
|---|---|---|
| write_ptr | uint32_t | Um ponteiro para o buffer no qual escrever os dados do Estado do Hook. |
| write_len | uint32_t | O tamanho do buffer de escrita. |
| kread_ptr | uint32_t | Ponteiro para um buffer contendo a chave do Estado do Hook. |
| kread_len | uint32_t | O tamanho da chave do Estado do Hook. (Deve ser 32.) |
| nread_ptr | uint32_t | Um ponteiro para o buffer contendo o Namespace de 32 bytes no qual buscar o estado |
| nread_len | uint32_t | O tamanho do buffer de namespace (deve ser 32). |
| aread_ptr | uint32_t | Um ponteiro para um buffer contendo o ID de Conta de 20 bytes no qual buscar o estado. |
| aread_len | uint32_t | O tamanho do buffer de Conta. (Deve ser sempre 20). |
| Nome | Tipo | Descrição |
|---|---|---|
| key | ByteArray or HexString | A chave do Estado do Hook da qual recuperar o valor. |
| namespace | ByteArray or HexString | O namespace do Hook no qual procurar. |
| accountid | ByteArray or HexString | O proprietário do estado. |
Código de Retorno
Seção intitulada “Código de Retorno”| Tipo | Descrição |
|---|---|
| int64_t | O número de bytes escritos no buffer de escrita. |
| Tipo | Descrição |
|---|---|
| ErrorCode or ByteArray | Retorna um código de erro ou o valor do Estado do Hook para a chave. |