state_foreign_set
Comportamento
Seção intitulada “Comportamento”- Lê uma chave do Estado do Hook de 32 bytes a partir de
kread_ptr - Lê uma quantidade arbitrária de dados a partir de
read_ptr(o valor) - Lê um Namespace de 32 bytes a partir de
nread_ptr - Lê um ID de Conta de 20 bytes a partir de
aread_ptr - Atualiza a chave do Estado do Hook na conta especificada, dentro do namespace especificado, com o valor
- Mas apenas se uma Concessão naquela conta permitir isso.
- Se a Conta Hook for especificada em
aread_ptr, então o comportamento é o mesmo de state_set, mas ainda permite a especificação do namespace através denread_ptr
- Define o Estado do Hook Estrangeiro com o valor, chave, namespace e ID de conta especificados.
- Esta operação requer autorização e uma Concessão para permitir esta ação.
- Retorna o número de bytes escritos no Estado do Hook (o tamanho dos dados), negativo em caso de erro.
Definição
Seção intitulada “Definição”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 | numberExemplo
Seção intitulada “Exemplo”#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: could not set foreign state!"), 1);if (state_foreign_set(vault, vault_key, namespace, account) < 0) rollback("Error: could not set foreign state!", 1);Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Descrição |
|---|---|---|
| read_ptr | uint32_t | Ponteiro para os dados (valor) a serem escritos no Estado do Hook. |
| read_len | uint32_t | O tamanho dos dados. |
| kread_ptr | uint32_t | Um ponteiro para a chave do Estado do Hook na qual armazenar o valor. |
| kread_len | uint32_t | O tamanho da chave. (Deve ser sempre 32.) |
| nread_ptr | uint32_t | Um ponteiro para o namespace ao qual a chave pertence. |
| nread_len | uint32_t | O tamanho do namespace. (Deve ser sempre 32.) |
| aread_ptr | uint32_t | Um ponteiro para o ID de Conta cujo estado estamos tentando modificar. |
| aread_len | uint32_t | O tamanho do ID de Conta. (Deve ser sempre 20.) |
| Nome | Tipo | Descrição |
|---|---|---|
| value | ByteArray or HexString | O valor dos dados a persistir. |
| key | ByteArray or HexString | A chave do Estado do Hook para a qual definir 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 Estado do Hook (o tamanho dos dados.) |
| Tipo | Descrição |
|---|---|
| number or ErrorCode | Retorna o número de bytes escritos no Estado do Hook (o tamanho dos dados), negativo em caso de erro. |