Account

Representa el estado de una cuenta en el libro de contabilidad.

Representación 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)

Solo salida. Es el número de secuencia de esta cuenta. Este número aumenta con cada transacción que envía esta cuenta.

publicKey

string (bytes format)

Solo salida. Es la clave pública principal asociada a esta cuenta, que se usa para la verificación de firmas.

Es una cadena codificada en Base64.

roundId

string (int64 format)

Solo salida. Es el ID de la ronda de ejecución (similar a la "altura" del bloque) en la que la información de la cuenta proporcionada es precisa.

comment

string

Solo salida. Es el comentario de la cuenta que se almacenó cuando se creó esta cuenta.

Campo de unión account_details. Detalles específicos según el tipo de cuenta account_details puede ser solo uno de los parámetros siguientes:
userDetails

object (UserDetails)

Solo salida. Son los detalles de una cuenta de usuario estándar.

accountManagerDetails

object (AccountManagerDetails)

Solo salida. Son los detalles de una cuenta de administrador de cuentas.

tokenManagerDetails

object (TokenManagerDetails)

Solo salida. Son los detalles de una cuenta de administrador de tokens.

contractTokenManagerDetails

object (ContractTokenManagerDetails)

Solo salida. Son los detalles de una cuenta de administrador de tokens de contrato.

contractDetails

object (ContractDetails)

Solo salida. Son los detalles de una cuenta de contrato inteligente.

clearinghouseDetails

object (ClearingHouseDetails)

Solo salida. Son los detalles de una cuenta de cámara de compensación.

currencyOperatorDetails

object (CurrencyOperatorDetails)

Solo salida. Son los detalles de una cuenta de operador de moneda.

platformOperatorDetails

object (PlatformOperatorDetails)

Solo salida. Son los detalles de una cuenta de operador de la plataforma.

UserDetails

Son los detalles específicos de una cuenta de usuario.

Representación 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)

Solo salida. Obsoleto: Usa accountManagerId en su lugar. Es el administrador de cuentas de este usuario.

accountManagerId

string

Solo salida. Es el ID del administrador de cuentas de este usuario.

tokenManager
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa tokenManagerId en su lugar. Es el administrador de tokens de este usuario.

tokenManagerId

string

Solo salida. Es el ID del administrador de tokens para este usuario.

roles[]

enum (Role)

Solo salida. Es la lista de roles otorgados a esta cuenta.

accountStatus

enum (AccountStatus)

Solo salida. Es el estado de esta cuenta.

balance

object (CurrencyValue)

Solo salida. Es el saldo de tokens de esta cuenta de usuario.

accountFields
(deprecated)

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

Solo salida. Obsoleto: Usa contractAccountFields en su lugar. Son los campos de la cuenta del contrato (ID del contrato -> campos) para este usuario.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contractAccountFields

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

Solo salida. Son los campos de la cuenta del contrato (ID del contrato -> campos) para este usuario.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Entidad

Es una entidad en la red de Universal Ledger. Todas las cuentas están asociadas a una entidad. El ID de la entidad, que también se conoce como ID de la cuenta, es único e inmutable en toda la red.

Representación JSON
{
  "id": string
}
Campos
id

string

Solo salida. Es el ID asignado a la entidad. La red lo asigna cuando se crea la cuenta.

Rol

Es el conjunto de roles habitual.

Enums
ROLE_UNSPECIFIED El rol no es válido.
ROLE_PAYER Es el rol que permite que una cuenta inicie una transacción de pago.
ROLE_RECEIVER Es el rol que permite que una cuenta reciba pagos.
ROLE_CONTRACT_CREATOR Es el rol que permite que una cuenta implemente contratos.
ROLE_CONTRACT_PARTICIPANT Es el rol que permite que una cuenta interactúe con los contratos implementados.

AccountStatus

Es el estado de una cuenta.

Enums
ACCOUNT_STATUS_UNSPECIFIED El estado no es válido.
ACCOUNT_STATUS_ACTIVE Estado activo en el que la cuenta puede realizar las operaciones permitidas por sus roles.
ACCOUNT_STATUS_INACTIVE Estado inactivo en el que se prohíben todas las transacciones de la cuenta. El administrador de la cuenta aún puede enviar transacciones de administración de la cuenta.

CurrencyValue

Representa un importe de moneda (es decir, dinero). Ten en cuenta que la moneda denominada no se incluye en este mensaje. La cuenta que envía la transacción decide la moneda pertinente. Cada cuenta tiene una moneda única e inmutable asociada.

Representación JSON
{
  "value": string
}
Campos
value

string (int64 format)

Obligatorio. Es la cantidad de unidades secundarias de la moneda.

Esta denominación válida más pequeña se conoce como "unidades secundarias" y se especifica en la ISO 4217. Por ejemplo, para el USD, el valor será la cantidad de centavos y, para la GBP, será la cantidad de peniques. En el caso del yen japonés, que no tiene una unidad secundaria, será la cantidad de yenes.

Campos

Es un mapa de campos (nombre del campo -> valor) de un contrato que se usa para representar los campos del contrato o de la cuenta.

Representación JSON
{
  "fields": {
    string: {
      object (Value)
    },
    ...
  }
}
Campos
fields

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

Solo salida. Es el mapa de los nombres de los campos y sus valores.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Valor

Es un valor concreto de algún tipo.

Representación 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ón value. Es el valor real. value puede ser solo uno de los parámetros siguientes:
noneValue

enum (NoneValue)

Es opcional. Representa un valor None.

boolValue

boolean

Es opcional. Un valor booleano

int64Value

string (int64 format)

Es opcional. Es un valor int64.

stringValue

string

Es opcional. Es un valor de cadena.

accountId

string

Es opcional. Es un ID de cuenta.

dictValue

object (DictValue)

Es opcional. Es un valor de diccionario.

qualifiedCurrencyValue

object (QualifiedCurrencyValue)

Es opcional. Es un valor de moneda calificado.

amountValue

object (AmountValue)

Es opcional. Es un valor de importe.

NoneValue

Es una enumeración singleton para representar el valor None.

Enums
NONE_VALUE_UNSPECIFIED Es el valor None.

DictValue

Los índices asignan la clave al valor. Por ejemplo, la clave keys[0] se asigna a values[0].

Representación 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ón keys. Cada llave puede ser de un solo tipo. keys puede ser solo uno de los parámetros siguientes:
boolKeys

object (BoolList)

Es opcional. Es una lista de claves booleanas.

stringKeys

object (StringList)

Es opcional. Es una lista de claves de cadena.

int64Keys

object (Int64List)

Es opcional. Es una lista de claves int64.

accountIdKeys

object (AccountIdList)

Es opcional. Es una lista de claves de ID de la cuenta.

Campo de unión values. Cada valor puede ser exactamente de un tipo. values puede ser solo uno de los parámetros siguientes:
boolValues

object (BoolList)

Es opcional. Es una lista de valores booleanos.

stringValues

object (StringList)

Es opcional. Es una lista de valores de cadena.

int64Values

object (Int64List)

Es opcional. Es una lista de valores int64.

dictValues

object (DictList)

Es opcional. Los valores son una lista de diccionarios anidados.

BoolList

Es una lista de valores booleanos.

Representación JSON
{
  "values": [
    boolean
  ]
}
Campos
values[]

boolean

Es opcional. Son los valores booleanos.

StringList

Es una lista de cadenas.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

Es opcional. Son los valores de cadena.

Int64List

Es una lista de números enteros de 64 bits.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string (int64 format)

Es opcional. Son los valores int64.

AccountIdList

Es una lista de IDs de cuentas.

Representación JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

Es opcional. Son los valores del ID de la cuenta.

DictList

Es una lista de diccionarios.

Representación JSON
{
  "values": [
    {
      object (DictValue)
    }
  ]
}
Campos
values[]

object (DictValue)

Es opcional. Son los valores de DictValue. Todos los diccionarios anidados deben tener el mismo tipo concreto.

QualifiedCurrencyValue

Representa una moneda en el libro de contabilidad, que se califica por su operador de moneda.

Representación JSON
{
  "operatorId": string
}
Campos
operatorId

string

Obligatorio. Es el ID del operador de la moneda que administra la moneda.

AmountValue

Representa un importe denominado en una moneda.

Representación JSON
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
Campos
currency

object (QualifiedCurrencyValue)

Obligatorio. Es la moneda del importe.

amountValue

string (int64 format)

Obligatorio. Es la cantidad de unidades secundarias de la moneda.

AccountManagerDetails

Son detalles específicos de un administrador de cuentas.

Representación JSON
{
  "tokenManager": {
    object (Entity)
  },
  "numAccounts": integer,
  "tokenManagerId": string
}
Campos
tokenManager
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa tokenManagerId en su lugar. Es el administrador de tokens predeterminado para las cuentas creadas por este administrador de cuentas.

numAccounts

integer

Solo salida. Es la cantidad de cuentas creadas por este administrador de cuentas.

tokenManagerId

string

Solo salida. Es el ID del administrador de tokens predeterminado para las cuentas creadas por este administrador de cuentas.

TokenManagerDetails

Son los detalles específicos de un administrador de tokens.

Representación JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  }
}
Campos
issuanceLimit

object (CurrencyValue)

Solo salida. Cantidad de tokens que este administrador de tokens puede crear.

issuedTokens

object (CurrencyValue)

Solo salida. Es la cantidad de tokens creados por este administrador de tokens. Este número aumentará cuando se acuñen y disminuirá cuando se quemen.

ContractTokenManagerDetails

Son los detalles específicos de un administrador de tokens de contrato.

Representación JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  },
  "previousContractTokenManagerId": string,
  "accountStatus": enum (AccountStatus)
}
Campos
issuanceLimit

object (CurrencyValue)

Solo salida. Es la cantidad de tokens para los que este administrador de tokens de contrato puede proporcionar respaldo.

Dado que los administradores de tokens de contrato no pueden aumentar ni disminuir su límite de emisión, este debe ser igual a issuedTokens.

issuedTokens

object (CurrencyValue)

Solo salida. Es la cantidad de tokens para los que este administrador de tokens del contrato proporciona respaldo (es decir, su responsabilidad total).

Esto equivale a la suma de todos los saldos que se mantienen en los contratos para su moneda, más su posición neta en la matriz de liquidación.

previousContractTokenManagerId

string

Solo salida. Es el ID de la cuenta del administrador de tokens de contrato anterior para esta moneda. Esto forma un registro de auditoría que se puede recorrer para descubrir todos los administradores anteriores. Si este es el primer administrador de tokens de contrato para la moneda, este campo estará vacío.

accountStatus

enum (AccountStatus)

Solo salida. Es el estado de esta cuenta.

ContractDetails

Son los detalles específicos de un contrato inteligente.

Representación JSON
{
  "owner": {
    object (Entity)
  },
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
Campos
owner
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa ownerId en su lugar. Es el propietario del contrato.

ownerId

string

Solo salida. Es el ID del propietario del contrato.

code

string (bytes format)

Solo salida. Es el código del contrato serializado.

Es una cadena codificada en Base64.

contractFields

object (Fields)

Solo salida. Son los campos del contrato (nombre del campo -> valor) para este contrato.

currencyBalances

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

Solo salida. Saldos de moneda que mantiene el contrato (operador de moneda -> saldo).

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClearingHouseDetails

Son los detalles específicos de una Cámara de Compensación.

Representación JSON
{
  "accountStatus": enum (AccountStatus),
  "balances": [
    {
      object (BalanceToSettle)
    }
  ],
  "settlementMode": enum (SettlementMode)
}
Campos
accountStatus

enum (AccountStatus)

Solo salida. Es el estado de esta cuenta.

balances[]

object (BalanceToSettle)

Solo salida. Son los saldos que esta cámara de compensación está haciendo un seguimiento actualmente para la liquidación.

settlementMode

enum (SettlementMode)

Solo salida. Es el modo de liquidación de esta cámara de compensación.

BalanceToSettle

Es un saldo que se debe liquidar entre dos administradores de tokens.

Representación JSON
{
  "balancePayer": {
    object (Entity)
  },
  "balancePayerId": string,
  "balanceReceiver": {
    object (Entity)
  },
  "balanceReceiverId": string,
  "balance": {
    object (CurrencyValue)
  }
}
Campos
balancePayer
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa balancePayerId en su lugar. Es la cuenta que debe liquidar el saldo.

balancePayerId

string

Solo salida. Es el ID de la cuenta que debe liquidar el saldo.

balanceReceiver
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa balanceReceiverId en su lugar. Es la cuenta a la que se le debe el saldo que se liquidará.

balanceReceiverId

string

Solo salida. Es el ID de la cuenta a la que se le debe el saldo que se liquidará.

balance

object (CurrencyValue)

Solo salida. Es el saldo que se debe liquidar. Debe ser positivo.

SettlementMode

Es el modo de liquidación de una cámara de compensación.

Enums
SETTLEMENT_MODE_UNSPECIFIED No se especificó el modo de liquidación. Este valor no es válido y no se debe usar.
SETTLEMENT_MODE_DEFERRED La cámara de compensación es responsable de hacer un seguimiento de la propiedad de los fondos fuera del libro contable y de emitir periódicamente transacciones de SettlementRequest para mantener sincronizados los saldos correspondientes en el libro contable.
SETTLEMENT_MODE_INSTANT La cámara de compensación mantiene un solo fondo de dinero, y el libro de contabilidad actúa como la fuente principal para la asignación de esos fondos entre los administradores de tokens. Este modo de liquidación también se puede describir como "liquidación bruta instantánea".

CurrencyOperatorDetails

Son los detalles específicos de un operador de divisas.

Representación 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

Solo salida. Obsoleto: Usa currencyCode en su lugar. Es la moneda asociada a esta cuenta, representada por el código ISO 4217 de 3 letras.

currencyCode

string

Solo salida. Es el ID de la moneda asociada a esta cuenta, representado por el código ISO 4217 de 3 letras.

accountStatus

enum (AccountStatus)

Solo salida. Es el estado de esta cuenta.

previousEntityId
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa previousCurrencyOperatorId en su lugar. Es el operador de moneda anterior que transfirió la propiedad del rol de operador de moneda a esta cuenta. Si este es el primer operador de moneda para la moneda, este campo estará vacío.

previousCurrencyOperatorId

string

Solo salida. Es el ID del operador de moneda anterior que transfirió la propiedad del rol de operador de moneda a esta cuenta. Si este es el primer operador de moneda para la moneda, este campo estará vacío.

platformOperatorEntityId
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa platformOperatorId en su lugar. Es el operador de la plataforma que creó este operador de moneda.

platformOperatorId

string

Solo salida. Es el ID del operador de la plataforma que creó este operador de moneda.

contractTokenManager
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa contractTokenManagerId en su lugar. Es el administrador de tokens de contrato asociado con este operador de moneda.

contractTokenManagerId

string

Solo salida. Es el ID del administrador de tokens de contrato asociado con este operador de moneda.

clearinghouseId

string

Solo salida. Es el ID de la cámara de compensación asociada con este operador de moneda.

PlatformOperatorDetails

Son detalles específicos de un operador de la plataforma.

Representación JSON
{
  "accountStatus": enum (AccountStatus),
  "previousEntityId": {
    object (Entity)
  },
  "previousPlatformOperatorId": string
}
Campos
accountStatus

enum (AccountStatus)

Solo salida. Es el estado de esta cuenta.

previousEntityId
(deprecated)

object (Entity)

Solo salida. Obsoleto: Usa previousPlatformOperatorId en su lugar. Es el operador de la plataforma anterior que transfirió la propiedad del rol de operador de la plataforma a esta cuenta. Si este es el primer operador de la plataforma, este campo estará vacío.

previousPlatformOperatorId

string

Solo salida. Es el ID del operador de la plataforma anterior que transfirió la propiedad del rol de operador de la plataforma a esta cuenta. Si este es el primer operador de la plataforma, este campo estará vacío.