Account

Representa o estado de uma conta no livro razão.

Representação JSON
{
  "sequenceNumber": string,
  "publicKey": string,
  "roundId": string,
  "comment": string,

  // Union field account_details can be only one of the following:
  "userDetails": {
    object (UserDetails)
  },
  "accountManagerDetails": {
    object (AccountManagerDetails)
  },
  "tokenManagerDetails": {
    object (TokenManagerDetails)
  },
  "contractTokenManagerDetails": {
    object (ContractTokenManagerDetails)
  },
  "contractDetails": {
    object (ContractDetails)
  },
  "clearinghouseDetails": {
    object (ClearingHouseDetails)
  },
  "currencyOperatorDetails": {
    object (CurrencyOperatorDetails)
  },
  "platformOperatorDetails": {
    object (PlatformOperatorDetails)
  }
  // End of list of possible types for union field account_details.
}
Campos
sequenceNumber

string (int64 format)

Apenas saída. O número de sequência desta conta. Esse número aumenta a cada transação enviada por essa conta.

publicKey

string (bytes format)

Apenas saída. A chave pública principal associada a esta conta, usada para verificação de assinatura.

Uma string codificada em base64.

roundId

string (int64 format)

Apenas saída. O ID da rodada de execução (semelhante à "altura" do bloco) em que as informações da conta fornecidas estão corretas.

comment

string

Apenas saída. O comentário da conta armazenado quando ela foi criada.

Campo de união account_details. Detalhes específicos com base no tipo de conta. account_details pode ser apenas de um dos tipos a seguir:
userDetails

object (UserDetails)

Apenas saída. Detalhes de uma conta de usuário padrão.

accountManagerDetails

object (AccountManagerDetails)

Apenas saída. Detalhes de uma conta de gerente de contas.

tokenManagerDetails

object (TokenManagerDetails)

Apenas saída. Detalhes de uma conta de administrador de tokens.

contractTokenManagerDetails

object (ContractTokenManagerDetails)

Apenas saída. Detalhes de uma conta de administrador de token de contrato.

contractDetails

object (ContractDetails)

Apenas saída. Detalhes de uma conta de contrato inteligente.

clearinghouseDetails

object (ClearingHouseDetails)

Apenas saída. Detalhes de uma conta de compensação.

currencyOperatorDetails

object (CurrencyOperatorDetails)

Apenas saída. Detalhes de uma conta de operador de moeda.

platformOperatorDetails

object (PlatformOperatorDetails)

Apenas saída. Detalhes de uma conta de operador da plataforma.

UserDetails

Detalhes específicos de uma conta de usuário.

Representação JSON
{
  "accountManager": {
    object (Entity)
  },
  "accountManagerId": string,
  "tokenManager": {
    object (Entity)
  },
  "tokenManagerId": string,
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "balance": {
    object (CurrencyValue)
  },
  "accountFields": {
    string: {
      object (Fields)
    },
    ...
  },
  "contractAccountFields": {
    string: {
      object (Fields)
    },
    ...
  }
}
Campos
accountManager
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use accountManagerId. O gerente da conta deste usuário.

accountManagerId

string

Apenas saída. O ID do gerente de contas desse usuário.

tokenManager
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use tokenManagerId. O gerenciador de tokens para este usuário.

tokenManagerId

string

Apenas saída. O ID do gerenciador de tokens para esse usuário.

roles[]

enum (Role)

Apenas saída. A lista de papéis concedidos a essa conta.

accountStatus

enum (AccountStatus)

Apenas saída. O status desta conta.

balance

object (CurrencyValue)

Apenas saída. O saldo de tokens desta conta de usuário.

accountFields
(deprecated)

map (key: string, value: object (Fields))

Apenas saída. Descontinuado: use contractAccountFields. Os campos da conta de contrato (ID do contrato -> campos) para esse usuário.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contractAccountFields

map (key: string, value: object (Fields))

Apenas saída. Os campos da conta de contrato (ID do contrato -> campos) para esse usuário.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Entidade

Uma entidade na rede do Universal Ledger. Todas as contas estão vinculadas a uma entidade. O ID da entidade, também chamado de ID da conta, é exclusivo e imutável em toda a rede.

Representação JSON
{
  "id": string
}
Campos
id

string

Apenas saída. O ID atribuído à entidade. Ele é atribuído pela rede na criação da conta.

Papel

O conjunto regular de papéis.

Tipos enumerados
ROLE_UNSPECIFIED Função inválida.
ROLE_PAYER A função que permite que uma conta inicie uma transação de pagamento.
ROLE_RECEIVER A função que permite que uma conta receba pagamentos.
ROLE_CONTRACT_CREATOR O papel que permite que uma conta implante contratos.
ROLE_CONTRACT_PARTICIPANT A função que permite que uma conta interaja com contratos implantados.

AccountStatus

O status de uma conta.

Tipos enumerados
ACCOUNT_STATUS_UNSPECIFIED Status inválido.
ACCOUNT_STATUS_ACTIVE Estado ativo em que a conta pode realizar as operações permitidas pelas funções dela.
ACCOUNT_STATUS_INACTIVE Estado inativo em que todas as transações na conta são proibidas. O gerente da conta ainda pode enviar transações de gerenciamento de conta.

CurrencyValue

Representa um valor monetário (ou seja, dinheiro). A moeda denominada não está incluída nesta mensagem. A moeda relevante é decidida pela conta que envia a transação. Cada conta tem uma moeda imutável exclusiva associada a ela.

Representação JSON
{
  "value": string
}
Campos
value

string (int64 format)

Obrigatório. O número de unidades menores da moeda.

Essa menor denominação válida é chamada de "unidades secundárias" e é especificada na ISO 4217. Por exemplo, para USD, o valor será o número de centavos, e para GBP, o número de pence. Para o iene japonês, que não tem uma unidade menor, será o número de ienes.

Campos

Um mapa de campos (nome do campo -> valor) de um contrato usado para representar campos de contrato ou de conta.

Representação JSON
{
  "fields": {
    string: {
      object (Value)
    },
    ...
  }
}
Campos
fields

map (key: string, value: object (Value))

Apenas saída. O mapa de nomes de campos para os respectivos valores.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Valor

Um valor concreto de algum tipo.

Representação JSON
{

  // Union field value can be only one of the following:
  "noneValue": enum (NoneValue),
  "boolValue": boolean,
  "int64Value": string,
  "stringValue": string,
  "accountId": string,
  "dictValue": {
    object (DictValue)
  },
  "qualifiedCurrencyValue": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": {
    object (AmountValue)
  }
  // End of list of possible types for union field value.
}
Campos
Campo de união value. O valor real. value pode ser apenas de um dos tipos a seguir:
noneValue

enum (NoneValue)

Opcional. Representa um valor "None".

boolValue

boolean

Opcional. Um valor booleano.

int64Value

string (int64 format)

Opcional. Um valor int64.

stringValue

string

Opcional. Um valor de string.

accountId

string

Opcional. Um ID da conta.

dictValue

object (DictValue)

Opcional. Um valor de dicionário.

qualifiedCurrencyValue

object (QualifiedCurrencyValue)

Opcional. Um valor de moeda qualificado.

amountValue

object (AmountValue)

Opcional. Um valor de quantia.

NoneValue

Uma enumeração singleton para representar o valor None.

Tipos enumerados
NONE_VALUE_UNSPECIFIED O valor "None".

DictValue

Os índices mapeiam a chave para o valor. Por exemplo, a chave keys[0] é mapeada para values[0].

Representação JSON
{

  // Union field keys can be only one of the following:
  "boolKeys": {
    object (BoolList)
  },
  "stringKeys": {
    object (StringList)
  },
  "int64Keys": {
    object (Int64List)
  },
  "accountIdKeys": {
    object (AccountIdList)
  }
  // End of list of possible types for union field keys.

  // Union field values can be only one of the following:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "dictValues": {
    object (DictList)
  }
  // End of list of possible types for union field values.
}
Campos
Campo de união keys. Cada chave pode ser de apenas um tipo. keys pode ser apenas de um dos tipos a seguir:
boolKeys

object (BoolList)

Opcional. Uma lista de chaves booleanas.

stringKeys

object (StringList)

Opcional. Uma lista de chaves de string.

int64Keys

object (Int64List)

Opcional. Uma lista de chaves int64.

accountIdKeys

object (AccountIdList)

Opcional. Uma lista de chaves de ID da conta.

Campo de união values. Cada valor pode ser de um tipo. values pode ser apenas de um dos tipos a seguir:
boolValues

object (BoolList)

Opcional. Uma lista de valores booleanos.

stringValues

object (StringList)

Opcional. Uma lista de valores de string.

int64Values

object (Int64List)

Opcional. Uma lista de valores int64.

dictValues

object (DictList)

Opcional. Os valores são uma lista de dicionários aninhados.

BoolList

Uma lista de booleanos.

Representação JSON
{
  "values": [
    boolean
  ]
}
Campos
values[]

boolean

Opcional. Os valores booleanos.

StringList

Uma lista de strings.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

Opcional. Os valores de string.

Int64List

Uma lista de int64s.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string (int64 format)

Opcional. Os valores int64.

AccountIdList

Uma lista de IDs de contas.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

Opcional. Os valores de ID da conta.

DictList

Uma lista de dicionários.

Representação JSON
{
  "values": [
    {
      object (DictValue)
    }
  ]
}
Campos
values[]

object (DictValue)

Opcional. Os valores de DictValue. Todos os dicionários aninhados precisam ter o mesmo tipo concreto.

QualifiedCurrencyValue

Representa uma moeda no livro razão, qualificada pelo operador de moeda.

Representação JSON
{
  "operatorId": string
}
Campos
operatorId

string

Obrigatório. O ID do operador de moeda que administra a moeda.

AmountValue

Representa um valor denominado em uma moeda.

Representação JSON
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
Campos
currency

object (QualifiedCurrencyValue)

Obrigatório. A moeda do valor.

amountValue

string (int64 format)

Obrigatório. O número de unidades menores da moeda.

AccountManagerDetails

Detalhes específicos de um gerente de contas.

Representação JSON
{
  "tokenManager": {
    object (Entity)
  },
  "numAccounts": integer,
  "tokenManagerId": string
}
Campos
tokenManager
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use tokenManagerId. O gerenciador de tokens padrão para contas criadas por esse administrador de contas.

numAccounts

integer

Apenas saída. O número de contas criadas por este gerente de contas.

tokenManagerId

string

Apenas saída. O ID do gerenciador de tokens padrão para contas criadas por este gerente de contas.

TokenManagerDetails

Detalhes específicos de um gerenciador de tokens.

Representação JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  }
}
Campos
issuanceLimit

object (CurrencyValue)

Apenas saída. A quantidade de tokens que esse gerenciador de tokens pode criar.

issuedTokens

object (CurrencyValue)

Apenas saída. A quantidade de tokens gerados por este gerenciador de tokens. Esse número aumenta quando a cunhagem é feita e diminui quando a queima é realizada.

ContractTokenManagerDetails

Detalhes específicos de um gerenciador de tokens de contrato.

Representação JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  },
  "previousContractTokenManagerId": string,
  "accountStatus": enum (AccountStatus)
}
Campos
issuanceLimit

object (CurrencyValue)

Apenas saída. A quantidade de tokens que este gerenciador de tokens de contrato pode oferecer suporte.

Como os gerentes de tokens de contrato não podem aumentar ou diminuir o limite de emissão, esse valor precisa ser igual a issuedTokens.

issuedTokens

object (CurrencyValue)

Apenas saída. A quantidade de tokens que este gerenciador de tokens de contrato está oferecendo suporte (ou seja, sua responsabilidade total).

Isso é igual à soma de todos os saldos mantidos em contratos para a moeda, mais a posição líquida na matriz de liquidação.

previousContractTokenManagerId

string

Apenas saída. O ID da conta do gerenciador de tokens de contrato anterior para essa moeda. Isso forma uma trilha de auditoria que pode ser percorrida para descobrir todos os gerentes anteriores. Se este for o primeiro gerenciador de tokens de contrato para a moeda, ele vai estar vazio.

accountStatus

enum (AccountStatus)

Apenas saída. O status desta conta.

ContractDetails

Detalhes específicos de um contrato inteligente.

Representação JSON
{
  "owner": {
    object (Entity)
  },
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
Campos
owner
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use ownerId. O proprietário do contrato.

ownerId

string

Apenas saída. O ID do proprietário do contrato.

code

string (bytes format)

Apenas saída. O código do contrato serializado.

Uma string codificada em base64.

contractFields

object (Fields)

Apenas saída. Os campos do contrato (nome do campo -> valor).

currencyBalances

map (key: string, value: object (CurrencyValue))

Apenas saída. Os saldos de moeda mantidos pelo contrato (operador de moeda -> saldo).

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClearingHouseDetails

Detalhes específicos de uma Clearinghouse.

Representação JSON
{
  "accountStatus": enum (AccountStatus),
  "balances": [
    {
      object (BalanceToSettle)
    }
  ],
  "settlementMode": enum (SettlementMode)
}
Campos
accountStatus

enum (AccountStatus)

Apenas saída. O status desta conta.

balances[]

object (BalanceToSettle)

Apenas saída. Os saldos que essa câmara de compensação está rastreando para liquidação.

settlementMode

enum (SettlementMode)

Apenas saída. O modo de liquidação dessa câmara de compensação.

BalanceToSettle

Um saldo a ser liquidado entre dois gerenciadores de tokens.

Representação JSON
{
  "balancePayer": {
    object (Entity)
  },
  "balancePayerId": string,
  "balanceReceiver": {
    object (Entity)
  },
  "balanceReceiverId": string,
  "balance": {
    object (CurrencyValue)
  }
}
Campos
balancePayer
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use balancePayerId. A conta que deve o saldo a ser liquidado.

balancePayerId

string

Apenas saída. O ID da conta que deve o saldo a ser liquidado.

balanceReceiver
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use balanceReceiverId. A conta que deve receber o saldo a ser liquidado.

balanceReceiverId

string

Apenas saída. O ID da conta que deve receber o saldo a ser liquidado.

balance

object (CurrencyValue)

Apenas saída. O saldo a ser liquidado. Precisa ser positivo.

SettlementMode

O modo de liquidação de uma câmara de compensação.

Tipos enumerados
SETTLEMENT_MODE_UNSPECIFIED O modo de liquidação não foi especificado. Esse valor é inválido e não deve ser usado.
SETTLEMENT_MODE_DEFERRED A câmara de compensação é responsável por rastrear a propriedade dos fundos fora do livro-razão e emitir periodicamente transações SettlementRequest para manter os saldos correspondentes no livro-razão sincronizados.
SETTLEMENT_MODE_INSTANT A câmara de compensação mantém um único pool de fundos, e o razão atua como a fonte principal para a alocação desses fundos entre os gerenciadores de tokens. Esse modo de liquidação também pode ser descrito como "liquidação bruta instantânea".

CurrencyOperatorDetails

Detalhes específicos de um operador de moeda.

Representação JSON
{
  "currency": string,
  "currencyCode": string,
  "accountStatus": enum (AccountStatus),
  "previousEntityId": {
    object (Entity)
  },
  "previousCurrencyOperatorId": string,
  "platformOperatorEntityId": {
    object (Entity)
  },
  "platformOperatorId": string,
  "contractTokenManager": {
    object (Entity)
  },
  "contractTokenManagerId": string,
  "clearinghouseId": string
}
Campos
currency
(deprecated)

string

Apenas saída. Descontinuado: use currencyCode. A moeda associada a esta conta, representada pelo código ISO 4217 de três letras.

currencyCode

string

Apenas saída. O ID da moeda associada a esta conta, representado pelo código ISO 4217 de três letras.

accountStatus

enum (AccountStatus)

Apenas saída. O status desta conta.

previousEntityId
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use previousCurrencyOperatorId. O operador de moeda anterior que transferiu a propriedade da função de operador de moeda para esta conta. Se for o primeiro operador de moeda para a moeda, esse campo vai estar vazio.

previousCurrencyOperatorId

string

Apenas saída. O ID do operador de moeda anterior que transferiu a propriedade da função de operador de moeda para esta conta. Se for o primeiro operador de moeda para a moeda, esse campo vai estar vazio.

platformOperatorEntityId
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use platformOperatorId. O operador da plataforma que criou esse operador de moeda.

platformOperatorId

string

Apenas saída. O ID do operador da plataforma que criou este operador de moeda.

contractTokenManager
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use contractTokenManagerId. O gerenciador de tokens de contrato associado a esse operador de moeda.

contractTokenManagerId

string

Apenas saída. O ID do gerenciador de tokens de contrato associado a esse operador de moeda.

clearinghouseId

string

Apenas saída. O ID da câmara de compensação associada a esse operador de moeda.

PlatformOperatorDetails

Detalhes específicos de um operador de plataforma.

Representação JSON
{
  "accountStatus": enum (AccountStatus),
  "previousEntityId": {
    object (Entity)
  },
  "previousPlatformOperatorId": string
}
Campos
accountStatus

enum (AccountStatus)

Apenas saída. O status desta conta.

previousEntityId
(deprecated)

object (Entity)

Apenas saída. Descontinuado: use previousPlatformOperatorId. O operador da plataforma anterior que transferiu a propriedade da função de operador da plataforma para esta conta. Se for o primeiro operador de plataforma, esse campo vai estar vazio.

previousPlatformOperatorId

string

Apenas saída. O ID do operador da plataforma anterior que transferiu a propriedade da função de operador da plataforma para esta conta. Se for o primeiro operador de plataforma, esse campo vai estar vazio.