Package google.cloud.universalledger.v1

Índice

UniversalLedger

Es un servicio para interactuar con Google Cloud Universal Ledger. Google crea y administra los extremos previamente, y los usuarios no pueden modificarlos. Los nombres de los extremos disponibles se proporcionarán en la documentación pública. Un extremo es un recurso regional dentro de una red de Universal Ledger. Las solicitudes enviadas a un extremo pueden enrutarse a diferentes validadores de la red determinada dentro de la región determinada.

GetEndpoint

rpc GetEndpoint(GetEndpointRequest) returns (Endpoint)

Obtiene los detalles de un extremo específico.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

ListEndpoints

rpc ListEndpoints(ListEndpointsRequest) returns (ListEndpointsResponse)

Enumera todos los extremos de un proyecto y una ubicación determinados.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

QueryAccount

rpc QueryAccount(QueryAccountRequest) returns (QueryAccountResponse)

Consulta toda la información almacenada sobre una cuenta en la red. Los detalles de la cuenta que se devuelven pueden variar entre las llamadas, ya que un extremo puede enrutar solicitudes a diferentes validadores dentro de la red y la región, y es posible que los validadores no se encuentren en el mismo ID de ronda en un momento determinado.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

QueryData

rpc QueryData(QueryDataRequest) returns (QueryDataResponse)

Consulta la red para obtener información almacenada en el libro de registros, como cuentas y transacciones.

El acceso a ciertos campos sensibles, como los saldos de las cuentas, puede restringirse según la identidad del remitente que se deriva de la firma en la solicitud. Si el remitente no tiene permiso, los campos sensibles se ocultarán en la respuesta y se informarán en el campo redacted_fields.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

QueryTransactionState

rpc QueryTransactionState(QueryTransactionStateRequest) returns (QueryTransactionStateResponse)

Consulta el estado de una transacción. Se puede llamar a este método para cualquier transacción enviada a la red. Los detalles de la transacción que se devuelven pueden variar entre las llamadas, ya que un extremo puede enrutar solicitudes a diferentes validadores dentro de la red y la región, y es posible que los validadores no estén en el mismo ID de ronda en un momento determinado.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

SubmitOperationalTransaction

rpc SubmitOperationalTransaction(SubmitOperationalTransactionRequest) returns (SubmitOperationalTransactionResponse)

Envía una transacción operativa a la red. Este método solo devuelve un valor después de que la transacción se replicó en la mayoría de los validadores de la red o si la transacción falla.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

SubmitTransaction

rpc SubmitTransaction(SubmitTransactionRequest) returns (SubmitTransactionResponse)

Envía una transacción a la red. Primero, se valida que la solicitud sea correcta en términos básicos. Si la validación falla, la solicitud fallará de inmediato. Si la validación se realiza correctamente, este método solo se muestra después de que la transacción se replicó en la mayoría de los validadores de la red o hasta que falla la solicitud.

Permisos de autorización

Requiere el siguiente permiso de OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Authentication Overview.

Cuenta

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

Campos
sequence_number

int64

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

public_key

bytes

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

round_id

int64

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:
user_details

UserDetails

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

account_manager_details

AccountManagerDetails

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

token_manager_details

TokenManagerDetails

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

contract_token_manager_details

ContractTokenManagerDetails

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

contract_details

ContractDetails

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

clearinghouse_details

ClearingHouseDetails

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

currency_operator_details

CurrencyOperatorDetails

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

platform_operator_details

PlatformOperatorDetails

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

AccountIdList

Es una lista de IDs de cuentas.

Campos
values[]

string

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

AccountManagerDetails

Son detalles específicos de un administrador de cuentas.

Campos
token_manager
(deprecated)

Entity

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

num_accounts

int32

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

token_manager_id

string

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

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.

ActivateAccount

Marca una cuenta como ACCOUNT_STATUS_ACTIVE. El remitente debe ser el administrador de la cuenta que se activará.

El propietario de la cuenta puede reanudar las operaciones normales permitidas por los roles de la cuenta.

Campos
account
(deprecated)

Entity

Es opcional. Obsoleto: Usa account_id en su lugar. Es el ID de la cuenta que se activará.

account_id

string

Es opcional. Es el ID de la cuenta que se activará. Se debe especificar account o account_id. El valor tiene un límite de 60 caracteres.

AddRoles

Agrega los roles especificados a la cuenta. El remitente debe ser el administrador de la cuenta que se modificará.

Campos
account
(deprecated)

Entity

Es opcional. Obsoleto: Usa account_id en su lugar. Es el ID de la cuenta que se modificará.

account_id

string

Es opcional. Es el ID de la cuenta que se modificará. Se debe especificar account o account_id. El valor tiene un límite de 60 caracteres.

roles[]

Role

Obligatorio. Roles que se agregarán.

AmountValue

Representa un importe denominado en una moneda.

Campos
currency

QualifiedCurrencyValue

Obligatorio. Es la moneda del importe.

amount_value

int64

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

BalanceToSettle

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

Campos
balance_payer
(deprecated)

Entity

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

balance_payer_id

string

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

balance_receiver
(deprecated)

Entity

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

balance_receiver_id

string

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

balance

CurrencyValue

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

BoolList

Es una lista de valores booleanos.

Campos
values[]

bool

Es opcional. Son los valores booleanos.

Quemar

Quema tokens de moneda. El remitente debe ser un administrador de tokens, y la cuenta que proporciona los tokens para quemar también debe firmar la transacción.

El flujo esperado es que el administrador de tokens tenga su cuenta de quema designada a la que los clientes transferirán los tokens antes de que se quemen. Como alternativa, los clientes podrían firmar directamente la transacción, en cuyo caso actuaría como una transacción atómica de "transferencia y quema".

Campos
burn_amount

CurrencyValue

Obligatorio. Es la cantidad que se quemará.

payer
(deprecated)

Entity

Es opcional. Obsoleto: Usa payer_id en su lugar. Es la cuenta que proporciona los tokens para quemar. La cuenta debe tener habilitada la opción ROLE_PAYER.

payer_id

string

Es opcional. Es el ID de la cuenta que proporciona los tokens que se quemarán. La cuenta del pagador debe tener habilitado ROLE_PAYER. Se debe especificar payer o payer_id.

ChangeAccountManager

Transfiere la responsabilidad de administrar una cuenta en particular a otro administrador. El remitente debe ser el administrador de cuentas actual de la cuenta y, para dar su consentimiento, el nuevo administrador también debe firmar esta transacción.

Campos
account
(deprecated)

Entity

Es opcional. Obsoleto: Usa account_id en su lugar. Es el ID de la cuenta cuyo administrador se cambiará.

account_id

string

Es opcional. Es el ID de la cuenta cuyo administrador se cambiará. Se debe especificar account o account_id. El valor tiene un límite de 60 caracteres.

next_manager
(deprecated)

Entity

Es opcional. Obsoleto: Usa next_manager_id en su lugar. ID del nuevo administrador de cuentas propuesto. La validación requiere que el nuevo administrador también haya firmado esta transacción.

next_manager_id

string

Es opcional. ID del nuevo administrador de cuentas propuesto. La validación requiere que el nuevo administrador también haya firmado esta transacción. Se debe especificar next_manager o next_manager_id. El valor tiene un límite de 60 caracteres.

ClearingHouseDetails

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

Campos
account_status

AccountStatus

Solo salida. Es el estado de esta cuenta.

balances[]

BalanceToSettle

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

settlement_mode

SettlementMode

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

ClientTransaction

Representa una transacción iniciada por un cliente.

Campos
source
(deprecated)

Entity

Es opcional. Es el remitente de la transacción. Obsoleto: Usa sender_id en su lugar.

sender_id

string

Es opcional. Es el ID de la cuenta que envía esta transacción. Se debe establecer source o sender_id.

signatories[]
(deprecated)

Entity

Es opcional. Son las cuentas que, además del remitente, firmaron esta transacción. Obsoleto: Usa other_signatory_ids en su lugar.

other_signatory_ids[]

string

Es opcional. Son los IDs de las cuentas que, además del remitente, firmaron esta transacción.

sequence_number

int64

Obligatorio. Es un número único que aumenta de forma monotónica y comienza en 0.

Este número debe aumentarse en uno por cada transacción que el mismo remitente de la transacción haya enviado previamente a la red.

Ten en cuenta que esto no incluye las unidades de transacción que se hayan enviado como parte de una cadena, que no debe establecer un número de secuencia. Sin embargo, sí incluye al remitente de la cadena de transacciones.

chained_unit

bool

Debe establecerse como verdadero si esta transacción del cliente forma parte de una cadena de transacciones. De lo contrario, debe establecerse como falso.

Esto es necesario para evitar que se envíe por sí sola una transacción firmada que se supone que forma parte de una cadena.

Campo de unión kind. Es el mensaje específico de la transacción del cliente. kind puede ser solo uno de los parámetros siguientes:
app
(deprecated)

Any

Es opcional. Obsoleto: Usa uno de los campos específicos del mensaje en su lugar. Es un mensaje específico de una transacción del cliente. Debe ser uno de los siguientes:

operational

Any

Es opcional. Es un mensaje de transacción operativa. Ten en cuenta que solo el operador de la plataforma puede enviar este mensaje. Debe ser uno de los siguientes:

transfer_platform_operator_transaction

TransferPlatformOperator

Es opcional. Mensaje para transferir el rol de operador de la plataforma a una cuenta nueva.

create_currency_operator_transaction

CreateCurrencyOperator

Es opcional. Es un mensaje para crear un nuevo operador de moneda.

transfer_currency_operator_transaction

TransferCurrencyOperator

Es opcional. Es un mensaje para transferir el rol de operador de moneda a una cuenta nueva.

create_clearinghouse_transaction

CreateClearinghouse

Es opcional. Es un mensaje para crear una nueva entidad de compensación.

create_account_manager_transaction

CreateAccountManager

Es opcional. Mensaje para crear un nuevo administrador de cuentas.

create_token_manager_transaction

CreateTokenManager

Es opcional. Es un mensaje para crear un nuevo administrador de tokens asociado a la moneda del operador que envía la solicitud.

increase_token_issuance_limit_transaction

IncreaseTokenIssuanceLimit

Es opcional. Notifica a la red que la cuenta de destino depositó fondos de reserva y aumenta su límite de emisión de tokens.

decrease_token_issuance_limit_transaction

DecreaseTokenIssuanceLimit

Es opcional. Notifica a la red que la cuenta de destino desea retirar fondos de reserva y disminuye su límite de emisión de tokens.

settlement_request_transaction

SettlementRequest

Es opcional. Es un mensaje para iniciar una operación de liquidación.

mint_transaction

Mint

Es opcional. Es un mensaje para acuñar tokens de moneda y transferirlos a una cuenta.

burn_transaction

Burn

Es opcional. Es un mensaje para quemar tokens de moneda de una cuenta.

create_account_transaction

CreateAccount

Es opcional. Es el mensaje para crear una cuenta de usuario nueva.

deactivate_account_transaction

DeactivateAccount

Es opcional. Es el mensaje para desactivar una cuenta de usuario.

activate_account_transaction

ActivateAccount

Es opcional. Es el mensaje para activar una cuenta de usuario.

add_roles_transaction

AddRoles

Es opcional. Es el mensaje para agregar roles a una cuenta.

remove_roles_transaction

RemoveRoles

Es opcional. Es el mensaje para quitar roles de una cuenta.

change_account_manager_transaction

ChangeAccountManager

Es opcional. Es el mensaje para cambiar el administrador de cuentas de una cuenta.

transfer_transaction

Transfer

Es opcional. Es un mensaje para transferir tokens de una cuenta de usuario a otra.

create_contract_transaction

CreateContract

Es opcional. Es un mensaje para crear un contrato nuevo en el libro mayor.

grant_contract_permissions_transaction

GrantContractPermissions

Es opcional. Es un mensaje para otorgar permisos a un contrato.

invoke_contract_method_transaction

InvokeContractMethod

Es opcional. Es un mensaje para invocar la ejecución de un método de contrato.

create_contract_token_manager_transaction

CreateContractTokenManager

Es opcional. Es un mensaje para crear un nuevo administrador de tokens asociado a la moneda del operador que envía la solicitud.

transfer_contract_token_manager_transaction

TransferContractTokenManager

Es opcional. Es un mensaje para transferir el rol de administrador de tokens de una moneda de una cuenta a otra.

remove_signing_public_key_transaction

RemoveSigningPublicKey

Es opcional. Es el mensaje para quitar una clave de firma de la cuenta.

replace_signing_public_key_transaction

ReplaceSigningPublicKey

Es opcional. Es un mensaje para reemplazar una clave de firma de la cuenta.

chain

TransactionChain

Es opcional. Es el mensaje para una cadena de transacciones que incluye varias unidades de transacción que se ejecutarán en secuencia.

ContractDetails

Son los detalles específicos de un contrato inteligente.

Campos
owner
(deprecated)

Entity

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

owner_id

string

Solo salida. Es el ID del propietario del contrato.

code

bytes

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

contract_fields

Fields

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

currency_balances

map<string, CurrencyValue>

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

ContractPermission

Es el conjunto de permisos que se pueden otorgar a un contrato. Se espera que se agreguen más valores en el futuro.

Enums
CONTRACT_PERMISSION_UNSPECIFIED El permiso no es válido.
CONTRACT_PERMISSION_STORAGE

Permite que un contrato lea y escriba en el almacenamiento que posee la cuenta que otorgó el permiso. El contrato solo puede leer y escribir las propiedades que ya escribió.

Ten en cuenta que esto no permite que el contrato lea o escriba datos administrados por otros contratos, ni que actualice directamente otras propiedades de la cuenta (por ejemplo, el saldo de la cuenta en su moneda nativa).

ContractTokenManagerDetails

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

Campos
issuance_limit

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 issued_tokens.

issued_tokens

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.

previous_contract_token_manager_id

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.

account_status

AccountStatus

Solo salida. Es el estado de esta cuenta.

CreateAccount

Crea una cuenta de usuario nueva. El remitente debe ser administrador de cuentas.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el campo TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del propietario de la cuenta. Ten en cuenta que no es la clave pública del remitente. Esta es la clave pública del nuevo propietario de la cuenta y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que emanan de la cuenta creada.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

roles[]

Role

Es opcional. Es la lista de roles que se otorgarán a esta cuenta.

account_status

AccountStatus

Es opcional. Es el estado de la cuenta que se creará. De forma predeterminada, el estado de una cuenta recién creada será ACCOUNT_STATUS_ACTIVE.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

token_manager
(deprecated)

Entity

Es opcional. Obsoleto: Usa token_manager_id en su lugar. Es el administrador de tokens de esta cuenta. Este campo es opcional y, si no se proporciona, se usará el administrador de tokens predeterminado asociado al administrador de cuentas (es decir, el remitente de esta transacción).

token_manager_id

string

Es opcional. Es el ID del administrador de tokens de esta cuenta. Este campo es opcional y, si no se proporciona, se usará el administrador de tokens predeterminado asociado al administrador de cuentas (es decir, el remitente de esta transacción). El valor tiene un límite de 60 caracteres.

CreateAccountManager

Crea un nuevo administrador de cuentas. El remitente debe ser un operador de divisas.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el campo TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo administrador de la cuenta. Ten en cuenta que no es la clave pública del operador. Esta clave pública se asociará con el administrador de cuentas y se almacenará en el libro de contabilidad. Se usará para validar la firma de las transacciones que emanan de la cuenta del administrador de cuentas.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

default_token_manager
(deprecated)

Entity

Es opcional. Obsoleto: Usa default_token_manager_id en su lugar. Es el administrador de tokens predeterminado para las cuentas que creará este administrador.

default_token_manager_id

string

Es opcional. Es el ID del administrador de tokens predeterminado para las cuentas que creará este administrador. El valor tiene un límite de 60 caracteres.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

CreateClearinghouse

Crea una nueva cámara de compensación. El remitente debe ser un operador de divisas.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el campo TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública de la nueva agencia de compensación. Ten en cuenta que no es la clave pública del operador. Esta clave pública se asociará con la cámara de compensación y se almacenará en el libro de contabilidad. Se usará para validar la firma de las transacciones que emanan de la cuenta de la cámara de compensación.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

settlement_mode

SettlementMode

Obligatorio. Es el modo de liquidación de esta cámara de compensación. Obligatorio. Se considera información pública.

CreateContract

Almacena un contrato en el libro mayor.

Campos
contract_bytes

bytes

Son los bytes del contrato serializado.

arguments
(deprecated)

map<string, Value>

Es opcional. Inmutable. Obsoleto: Usa init_arguments en su lugar. Son los argumentos para el método __init__.

init_arguments

map<string, Value>

Es opcional. Inmutable. Contiene argumentos para el método __init__.

contract_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad del contrato. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

CreateContractTokenManager

Crea un nuevo administrador de tokens de contrato asociado con la moneda del operador que envía la solicitud. El remitente debe ser un operador de divisas. El administrador de tokens de contrato recién creado está activo de forma predeterminada. Si se debe reemplazar el administrador de tokens del contrato, se debe enviar la transacción TransferContractTokenManager. Si existe otro administrador de tokens de contrato asociado con la misma moneda, esta transacción fallará.

A diferencia de los administradores de tokens normales, los administradores de tokens de contrato no pueden ejecutar transacciones como la emisión o la destrucción. Sin embargo, pueden participar en las operaciones de liquidación.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el campo TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo administrador de tokens del contrato. Ten en cuenta que no es la clave pública del operador. Esta clave pública se asociará con el administrador de tokens del contrato y se almacenará en el libro de registros. Se usará para validar la firma de las transacciones que emanan de la cuenta del administrador de tokens del contrato.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

CreateCurrencyOperator

Crea un operador de moneda nuevo. El remitente debe ser el operador de la plataforma.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el campo TransactionCertificate de la transacción finalizada.

Esta transacción debe introducir una moneda nueva en el sistema. Si la moneda especificada ya existe, esta transacción fallará. Si se debe reemplazar el operador de moneda, se debe enviar la transacción TransferCurrencyOperator.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo operador de la moneda. Esta clave pública se asociará con el operador de la moneda y se almacenará en el libro de contabilidad. Se usará para validar la firma de las transacciones que emanan de la cuenta del operador.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

currency
(deprecated)

string

Es opcional. Obsoleto: Usa currency_code en su lugar. Es la moneda fiduciaria asociada a este operador, representada como un código ISO 4217 de 3 letras mayúsculas. Se considera información pública.

currency_code

string

Es opcional. Es la moneda fiduciaria asociada a este operador, representada como un código ISO 4217 de 3 letras mayúsculas. Se considera información pública.

CreateSnapshot

Este tipo no tiene campos.

Activa la creación de una instantánea de la red. El remitente debe ser el operador de la plataforma.

CreateTokenManager

Crea un nuevo administrador de tokens asociado a la moneda del operador que envía la solicitud. El remitente debe ser un operador de divisas.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el campo TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo administrador de tokens. Ten en cuenta que no es la clave pública del operador. Esta clave pública se asociará con el administrador de tokens y se almacenará en el libro de registros. Se usará para validar la firma de las transacciones que emanan de la cuenta del administrador de tokens.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

CurrencyOperatorDetails

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

Campos
currency
(deprecated)

string

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

currency_code

string

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

account_status

AccountStatus

Solo salida. Es el estado de esta cuenta.

previous_entity_id
(deprecated)

Entity

Solo salida. Obsoleto: Usa previous_currency_operator_id 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.

previous_currency_operator_id

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.

platform_operator_entity_id
(deprecated)

Entity

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

platform_operator_id

string

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

contract_token_manager
(deprecated)

Entity

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

contract_token_manager_id

string

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

clearinghouse_id

string

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

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.

Campos
value

int64

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.

DeactivateAccount

Marca una cuenta como ACCOUNT_STATUS_INACTIVE. El remitente debe ser el administrador de la cuenta que se desactivará.

Esto implica que el propietario de la cuenta no podrá realizar ninguna transacción en ella, independientemente de los roles.

Campos
account
(deprecated)

Entity

Es opcional. Obsoleto: Usa account_id en su lugar. Es el ID de la cuenta que se desactivará.

account_id

string

Es opcional. Es el ID de la cuenta que se desactivará. Se debe especificar account o account_id. El valor tiene un límite de 60 caracteres.

DecreaseTokenIssuanceLimit

Notifica a la red que la cuenta de destino desea retirar fondos de reserva y disminuye su límite de emisión de tokens. El remitente debe ser una cuenta de centro de compensación.

Ten en cuenta que esta transacción debe finalizarse correctamente antes de que se puedan retirar los fondos de reserva. Esto es necesario porque es posible que la transacción falle (por ejemplo, si el importe acuñado ya supera el límite reducido solicitado).

Campos
token_manager
(deprecated)

Entity

Es opcional. Obsoleto: Usa token_manager_id en su lugar. Es el ID de la cuenta institucional cuyo límite de acuñación se reducirá. Esta cuenta debe ser un administrador de tokens para que la transacción sea válida.

token_manager_id

string

Es opcional. Es el ID de la cuenta institucional cuyo límite de acuñación se reducirá. Esta cuenta debe ser un administrador de tokens para que la transacción sea válida. Se debe especificar token_manager_id (preferido) o token_manager (obsoleto).

amount

CurrencyValue

Obligatorio. Es la cantidad en la que se debe reducir el límite. El importe debe ser positivo. La transacción fallará si el límite reducido es inferior a los tokens emitidos actualmente.

DictList

Es una lista de diccionarios.

Campos
values[]

DictValue

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

DictValue

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

Campos
Campo de unión keys. Cada llave puede ser de un solo tipo. keys puede ser solo uno de los parámetros siguientes:
bool_keys

BoolList

Es opcional. Es una lista de claves booleanas.

string_keys

StringList

Es opcional. Es una lista de claves de cadena.

int64_keys

Int64List

Es opcional. Es una lista de claves int64.

account_id_keys

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:
bool_values

BoolList

Es opcional. Es una lista de valores booleanos.

string_values

StringList

Es opcional. Es una lista de valores de cadena.

int64_values

Int64List

Es opcional. Es una lista de valores int64.

dict_values

DictList

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

Extremo

Representa un extremo de Universal Ledger.

Campos
name

string

Es el identificador. Es el nombre del recurso del extremo. Formato: projects/{project}/locations/{location}/endpoints/{endpoint}

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.

Campos
id

string

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

EventDetails

Representa detalles adicionales de un evento de estado.

Campos
Campo de unión event_details. Son los detalles del evento. event_details puede ser solo uno de los parámetros siguientes:
execution_details

ExecutionDetails

Solo salida. Son detalles adicionales de un evento de ejecución.

EventType

Representa el tipo de evento en el procesamiento de una transacción, según lo observa el validador al que se redireccionó la solicitud.

Enums
EVENT_TYPE_UNSPECIFIED Evento desconocido o no especificado.
EVENT_TYPE_RECEIVED El validador recibió la transacción directamente de un cliente.
EVENT_TYPE_BROADCASTED Esta entidad transmitió la transacción a otros validadores.
EVENT_TYPE_ORDERED El validador ordenó y programó la ejecución de la transacción.
EVENT_TYPE_EXECUTION_STARTED Se inició la ejecución de la transacción.
EVENT_TYPE_EXECUTION_COMPLETED Se completó la ejecución de la transacción.
EVENT_TYPE_FINALIZED El validador finalizó la transacción.

ExecutionDetails

Son detalles adicionales de un evento de ejecución.

Campos
round_id

int64

Solo salida. Es el ID de la ronda en la que ocurrió el evento de ejecución.

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.

Campos
fields

map<string, Value>

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

GetEndpointRequest

Es el mensaje de solicitud de GetEndpoint.

Campos
name

string

Obligatorio. Nombre del extremo que se recuperará. Formato: projects/{project}/locations/{location}/endpoints/{endpoint}

GrantContractPermissions

Otorga permisos al contrato por parte del remitente de la transacción. Si se especifica delegate_contract_id, los permisos y el almacenamiento correspondiente se otorgan exclusivamente al contrato delegate_contract_id, no al remitente.

Ten en cuenta que no se admite la revocación de permisos.

Campos
contract
(deprecated)

Entity

Es opcional. Obsoleto: Usa contract_id en su lugar. Es el ID del contrato al que se otorgan permisos.

contract_id

string

Es opcional. Es el ID del contrato al que se otorgan permisos. Se debe especificar contract o contract_id.

permissions[]

ContractPermission

Son los permisos que se otorgarán.

delegate_contract_id

string

Es opcional. Es el ID del contrato para el que se otorgan permisos. El remitente de la transacción debe ser el propietario de este contrato.

IncreaseTokenIssuanceLimit

Transacciones para la emisión y acuñación de tokens Notifica a la red que la cuenta de destino depositó fondos de reserva y aumenta su límite de emisión de tokens. El remitente debe ser una cuenta de centro de compensación.

Campos
token_manager
(deprecated)

Entity

Es opcional. Obsoleto: Usa token_manager_id en su lugar. Es el ID de la cuenta institucional cuyo límite de acuñación se aumentará. Esta cuenta debe ser un administrador de tokens para que la transacción sea válida.

token_manager_id

string

Es opcional. Es el ID de la cuenta institucional cuyo límite de acuñación se aumentará. Esta cuenta debe ser un administrador de tokens para que la transacción sea válida. Se debe especificar token_manager o token_manager_id.

amount

CurrencyValue

Obligatorio. Es la cantidad en la que se aumentará el límite. El importe debe ser positivo.

Int64List

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

Campos
values[]

int64

Es opcional. Son los valores int64.

InvokeContractMethod

Invoca la ejecución de un método de contrato.

Campos
contract
(deprecated)

Entity

Es opcional. Obsoleto: Usa contract_id en su lugar. ID del contrato que se ejecutará.

contract_id

string

Es opcional. Es el ID del contrato que se ejecutará. Se debe especificar contract o contract_id.

method_name

string

Es el nombre del método que se ejecutará.

arguments
(deprecated)

map<string, Value>

Es opcional. Inmutable. Obsoleto: Usa method_arguments en su lugar. Son los argumentos del método.

method_arguments

map<string, Value>

Es opcional. Inmutable. Contiene argumentos para pasar al método.

payment

CurrencyValue

Es el importe que se debe pagar. Debe ser mayor que cero cuando se invocan métodos pagables y cero para los no pagables.

KeyFormat

Especifica el formato en el que se proporciona una clave pública. Es posible que se agreguen valores nuevos a este enum en el futuro.

Enums
KEY_FORMAT_UNSPECIFIED No se especificó el formato de la clave. Este valor no es válido y no se debe usar.
KEY_FORMAT_TINK_WIRE_FORMAT Es un conjunto de claves serializado de forma binaria en el formato de cable de Tink.
KEY_FORMAT_PEM_EC_P256_SHA256 Es una clave de firma de curva elíptica con codificación PEM que usa la curva P-256 con resumen SHA256. Las firmas deben proporcionarse en formato DER.

KeySlot

Es un identificador de las ranuras que pueden contener claves en una cuenta.

Enums
KEY_SLOT_UNSPECIFIED No se especificó la ranura de la llave.
KEY_SLOT_PRIMARY Es la ranura de la clave primaria.
KEY_SLOT_ALTERNATE Es la ranura de la llave alternativa.

ListEndpointsRequest

Es el mensaje de solicitud para ListEndpoints.

Campos
parent

string

Obligatorio. Es el elemento superior, que es propietario de esta colección de extremos. Formato: projects/{project}/locations/{location}

page_size

int32

Es opcional. Es la cantidad máxima de extremos que se devolverán. El servicio puede mostrar menos que este valor. Si no se especifica, se devolverán, como máximo, 50 extremos. El valor máximo es 1,000; valores superiores a 1,000 se convertirán en 1,000.

page_token

string

Es opcional. Un token de página, recibido desde una llamada ListEndpoints anterior. Proporciona esto para recuperar la página siguiente.

ListEndpointsResponse

Es el mensaje de respuesta para ListEndpoints.

Campos
endpoints[]

Endpoint

Son los extremos del proyecto y la ubicación determinados.

next_page_token

string

Un token, que se puede enviar como page_token para recuperar la página siguiente. Si se omite este campo, no habrá páginas siguientes.

MerkleTree

Es un árbol de Merkle con un resumen criptográfico del nodo raíz.

Campos
root_hash_hex
(deprecated)

string

Solo salida. Es el resumen criptográfico del nodo raíz. Obsoleto: Usa root_digest_hex en su lugar.

root_digest_hex

string

Solo salida. Es la representación hexadecimal del resumen del nodo raíz. Formato: Es una cadena hexadecimal de 64 caracteres.

num_transactions

int64

Solo salida. Es la cantidad de transacciones en el árbol.

Menta

Emite tokens de moneda y los transfiere a una cuenta especificada. El remitente debe ser un administrador de tokens.

Campos
mint_amount

CurrencyValue

Obligatorio. Es la cantidad que se acuñará. El importe debe ser tal que los tokens totales creados por el administrador de tokens no superen el límite de creación. Si el importe es mayor, se debe rechazar la transacción.

beneficiary
(deprecated)

Entity

Es opcional. Obsoleto: Usa beneficiary_id en su lugar. Cuenta a la que se debe transferir el importe acuñado. La cuenta del beneficiario debe tener habilitada la opción ROLE_RECEIVER.

beneficiary_id

string

Es opcional. Es el ID de la cuenta a la que se debe transferir el importe acuñado. La cuenta receptora debe tener habilitado el parámetro ROLE_RECEIVER. Se debe especificar beneficiary o beneficiary_id.

NoneValue

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

Enums
NONE_VALUE_UNSPECIFIED Es el valor None.

PlatformOperatorDetails

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

Campos
account_status

AccountStatus

Solo salida. Es el estado de esta cuenta.

previous_entity_id
(deprecated)

Entity

Solo salida. Obsoleto: Usa previous_platform_operator_id 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.

previous_platform_operator_id

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.

ProofOfInclusion

Certificado de la inclusión de los efectos de una transacción en el estado mundial.

Campos
transaction_certificate

TransactionCertificate

Solo salida. Certificado de la inclusión de los efectos de la transacción en una ronda específica.

round_certificate

RoundCertificate

Solo salida. Certificado de la ejecución de la ronda.

path_to_round_root[]

MerkleTreeNode

Solo salida. Es la prueba criptográfica de la inclusión de los efectos de la transacción en la ronda de ejecución.

Se proporciona como una ruta de acceso desde una hoja determinada (un resumen de la transacción) hasta la raíz de la ronda de ejecución. La ruta se representa como una lista de pares (hijo izquierdo, hijo derecho), y el primer par son los hijos izquierdo y derecho del nodo principal de la hoja determinada. Por ejemplo, supongamos que el árbol de Merkle se compiló con ocho resúmenes de hojas [t0, t1, t2, t3, t4, t5, t6, t7], con la siguiente estructura:

       _____root_digest____
      |                    |
   __ h20__             __h21__
  |        |           |       |
 h10     h11          h12     h13
 | |     | |          | |     | |
t0 t1   t2 t3        t4 t5   t6 t7

Aquí, path_to_round_root para t0 contendrá: [(t0, t1), (h10, h11), (h20, h21)].

Se pueden calcular de forma consecutiva los resúmenes SHA-256 de cada nodo de la ruta para verificar que el resumen de la ruta produzca el mismo valor que round_certificate.merkle_tree.root_digest_hex. De esta manera, se verifica que la hoja se haya incluido en el árbol de Merkle de la ronda.

MerkleTreeNode

Representa un nodo en una ruta de árbol Merkle.

Campos
left_child_hash_hex
(deprecated)

string

Solo salida. Es la representación hexadecimal del resumen del hijo izquierdo de un nodo. Obsoleto: Usa left_child_digest_hex en su lugar.

right_child_hash_hex
(deprecated)

string

Solo salida. Es la representación hexadecimal del resumen del hijo derecho de un nodo. Obsoleto: Usa right_child_digest_hex en su lugar.

left_child_digest_hex

string

Solo salida. Es la representación hexadecimal del resumen del hijo izquierdo de un nodo. Formato: Es una cadena hexadecimal de 64 caracteres.

right_child_digest_hex

string

Solo salida. Es la representación hexadecimal del resumen del hijo derecho de un nodo. Formato: Es una cadena hexadecimal de 64 caracteres.

QualifiedCurrencyValue

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

Campos
operator_id

string

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

QueryAccountRequest

Es el mensaje de solicitud para QueryAccount.

Campos
endpoint

string

Obligatorio. Es el extremo para entregar la solicitud. Formato: projects/{project}/locations/{location}/endpoints/{endpoint} La ubicación es una región.

account_id

string

Obligatorio. Es el ID de la cuenta sobre la que se obtendrá información. El valor tiene un límite de 60 caracteres.

round_id

int64

Es opcional. Es el ID de la ronda de ejecución (similar a la "altura" del bloque) en la que se solicitan los datos. La información de la cuenta que se devuelve será precisa para el estado mundial en esta ronda de ejecución. Si no se especifica, se usa la ronda finalizada más reciente que conoce el validador de la publicación. El estado en un ID de ronda determinado siempre es coherente y canónico.

QueryAccountResponse

Es el mensaje de respuesta para QueryAccount.

Campos
account

Account

Es la información de la cuenta, junto con la altura a la que se obtuvo.

QueryDataRequest

Es el mensaje de solicitud para QueryData.

Campos
endpoint

string

Obligatorio. Es el extremo para entregar la solicitud. Formato: projects/{project}/locations/{location}/endpoints/{endpoint} La ubicación es una región.

serialized_signed_query_request

bytes

Obligatorio. Es un SignedQueryRequest serializado en protobuf para consultar la red de Universal Ledger.

QueryDataResponse

Es el mensaje de respuesta para QueryData.

Campos
redacted_fields[]

RedactedField

Indica qué campos se ocultaron en la respuesta debido a restricciones de permisos.

Campo de unión kind. Es el resultado específico de la búsqueda. kind puede ser solo uno de los parámetros siguientes:
account

Account

Es la información de la cuenta, si la búsqueda fue para una cuenta.

transaction_state

TransactionState

Es el estado de una transacción, si la búsqueda fue por una transacción.

QueryTransactionStateRequest

Es el mensaje de solicitud para QueryTransactionState.

Campos
endpoint

string

Obligatorio. Es el extremo para entregar la solicitud. Formato: projects/{project}/locations/{location}/endpoints/{endpoint} La ubicación es una región.

transaction_digest_hex

string

Obligatorio. Es el ID de la transacción cuyo estado se desea obtener.

QueryTransactionStateResponse

Es el mensaje de respuesta para QueryTransactionState.

Campos
transaction_attempts[]

TransactionAttempt

Una entrada por cada envío conocido de la transacción al validador que controla la solicitud.

RedactedField

Es información sobre un campo censurado en la respuesta.

Campos
redacted_path

FieldMask

Solo salida. Son las rutas de acceso de campo completamente calificadas que se ocultaron en la carga útil.

reason

string

Solo salida. Es una explicación legible del motivo por el que se censuraron los campos.

reason_code

Code

Solo salida. Es un código legible por máquinas que indica el motivo por el que se censuraron los campos.

RemoveRoles

Quita los roles especificados de la cuenta. El remitente debe ser el administrador de la cuenta que se modificará.

Campos
account
(deprecated)

Entity

Es opcional. Obsoleto: Usa account_id en su lugar. Es el ID de la cuenta que se modificará.

account_id

string

Es opcional. Es el ID de la cuenta que se modificará. Se debe especificar account o account_id. El valor tiene un límite de 60 caracteres.

roles[]

Role

Obligatorio. Roles que se quitarán.

RemoveSigningPublicKey

Quita la clave de firma de la cuenta de la ranura especificada. El otro segmento no debe estar vacío y debe contener la clave que se usó para firmar el ClientTransaction.

Campos
key_slot

KeySlot

Obligatorio. Es la ranura de la llave de la que quitaremos la llave. Si ya está vacío, la transacción fallará.

ReplaceSigningPublicKey

Reemplaza la clave de firma de la cuenta en la ranura especificada. El otro segmento no debe estar vacío y debe contener la clave que se usó para firmar el ClientTransaction.

Campos
key_slot

KeySlot

Obligatorio. Es la ranura de la llave en la que reemplazamos la llave.

new_public_key

bytes

Obligatorio. Es la nueva clave pública que reemplazará la clave pública en la ranura especificada.

El formato de la clave pública se define en el campo new_key_format. Se considera información pública.

new_key_format

KeyFormat

Obligatorio. Es el formato de la clave pública nueva. Consulta la definición de KeyFormat para obtener una lista de los formatos admitidos. Se considera información pública.

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.

RoundCertificate

Certificado de la ejecución de una ronda por parte de un validador específico.

Campos
round_id

int64

Solo salida. Es el ID de la ronda para la que se emite el certificado.

validator_id

string

Solo salida. Es el identificador del validador legible por humanos. Se usa para buscar la clave pública con la que se verifica el validator_signatures.

round_state_checksum_hex

string

Solo salida. Es la representación hexadecimal del resumen homomórfico sobre el estado del mundo después de que se aplican los efectos de esta ronda.

round_delta_checksum_hex

string

Solo salida. Es la representación hexadecimal del resumen homomórfico sobre los efectos de la transacción agregada de esta ronda.

merkle_tree

MerkleTree

Solo salida. Árbol de Merkle que tiene esta ronda como nodo raíz y lotes de transacciones (ejecutados en la ronda) como hojas.

validator_signatures[]

bytes

Es opcional. Firma del validador. Esta firma se realiza sobre el resumen de la carga útil anterior de este registro.

is_finalized

bool

Solo salida. Es un valor booleano que indica si la ronda está finalizada, es decir, si un quórum suficiente de validadores certificó esta ronda con el mismo certificado.

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".

SettlementRequest

Inicia una operación de liquidación entre dos administradores de tokens. El remitente debe ser una cuenta de centro de compensación.

En el SettlementMode diferido, en el que la cámara de compensación tiene la custodia de los fondos del administrador de tokens, esta es la única transacción que se debe enviar para ejecutar una liquidación entre los dos administradores de tokens.

Campos
payer
(deprecated)

Entity

Es opcional. Inmutable. Obsoleto: Usa payer_id en su lugar. Es el ID de la cuenta de la parte que debe realizar la transferencia de fondos.

payer_id

string

Es opcional. Inmutable. Es el ID de la cuenta de la parte que debe realizar la transferencia de fondos. Se debe especificar payer o payer_id.

beneficiary
(deprecated)

Entity

Es opcional. Inmutable. Obsoleto: Usa beneficiary_id en su lugar. Es el ID de la cuenta de la parte a la que se le debe pagar.

beneficiary_id

string

Es opcional. Inmutable. Es el ID de la cuenta de la parte que recibirá los fondos. Se debe especificar beneficiary o beneficiary_id.

balance

CurrencyValue

Obligatorio. Inmutable. Es el saldo de los tokens emitidos que la cuenta payer debe transferir a la cuenta beneficiary en el libro de contabilidad.

round_id

int64

Obligatorio. Inmutable. ID de la ronda en la que se calculó este importe de liquidación.

SignedTransaction

Es una transacción con firmas adjuntas. Para enviar una transacción, este mensaje debe serializarse y debe incluirse en un SubmitTransactionRequest.

Campos
serialized_client_transaction

bytes

Obligatorio. Es un ClientTransaction serializado con los detalles de la transacción.

sender_signature

bytes

Obligatorio. Es la firma del remitente de la transacción.

La firma se debe calcular firmando los bytes de serialized_client_transaction con su propia clave privada.

Para una cadena de transacciones, los bytes que se firmarán se calculan como la concatenación de lo siguiente: - Un resumen de la transacción del cliente serializada de toda la cadena. - Un resumen de la transacción firmada serializada de cada unidad de la cadena, en el orden en que aparecen en la cadena. Los resúmenes se calculan con SHA-256.

sender_signing_key_slot

KeySlot

Es opcional. Es la ranura de clave del remitente que se usó para firmar la transacción. Si no se especifica, se usa el segmento principal de la cuenta del remitente.

other_signatures[]

bytes

Es opcional. Son las firmas de las cuentas que se indican como firmantes adicionales de la transacción. La cantidad y el orden de estas firmas deben coincidir con el campo signatories en ClientTransaction.

Los bytes que se firmarán son los mismos que los del sender_signature, que cada firmante debe firmar con su propia clave privada.

La cantidad y la identidad de los firmantes adicionales dependen del tipo de transacción en particular. En el caso de una cadena de transacciones, se necesita una firma para cada cuenta que aparezca como remitente o como firmante de una unidad en la cadena.

other_signing_key_slots[]

KeySlot

Es opcional. Son los espacios de claves de las cuentas que se indican como firmantes adicionales de la transacción. Si se configura, la cantidad y el orden de estos espacios clave deben coincidir con el campo other_signatures en SignedTransaction. Si no se especifica, se establece de forma predeterminada en el espacio principal de cada cuenta.

StatusEvent

Representa un evento en el procesamiento de una transacción, según lo observa un solo validador.

Todos los valores registrados se basan en la perspectiva del validador que controla la solicitud y pueden diferir de la opinión de otros validadores.

Campos
event_time

Timestamp

Solo salida. Es la fecha y hora en que este validador registró el evento.

event_type

EventType

Solo salida. Es el tipo de evento.

event_details

EventDetails

Solo salida. Son los detalles adicionales asociados con el evento.

StringList

Es una lista de cadenas.

Campos
values[]

string

Es opcional. Son los valores de cadena.

SubmitOperationalTransactionRequest

Es el mensaje de solicitud para SubmitOperationalTransaction.

Campos
endpoint

string

Obligatorio. Es el extremo para entregar la solicitud. Formato: projects/{project}/locations/{location}/endpoints/{endpoint} La ubicación es una región.

serialized_signed_operational_transaction

bytes

Obligatorio. Es un SignedTransaction serializado en protobuf que se enviará al libro de registros. La transacción del cliente incluida debe ser una transacción operativa, y el remitente debe ser el operador de la plataforma. El uso de un formato serializado garantiza que todos los validadores calculen el mismo ID de transacción que el resumen SHA-256 de los bytes serializados.

SubmitOperationalTransactionResponse

Es el mensaje de respuesta para SubmitOperationalTransaction.

Campos
transaction_digest_hex

string

Es el identificador que representa de forma única la transacción operativa enviada. Es la representación hexadecimal del resumen SHA-256 de serialized_signed_operational_transaction. Este ID de transacción se proporciona para que un cliente pueda hacer un seguimiento de la transacción sin necesidad de implementar la lógica de hash por sí mismo. El identificador se puede usar directamente en llamadas posteriores a la API, por ejemplo, para consultar el estado de la transacción.

SubmitTransactionRequest

Es el mensaje de solicitud para SubmitTransaction.

Campos
endpoint

string

Obligatorio. Es el endpoint al que se envía la transacción. Formato: projects/{project}/locations/{location}/endpoints/{endpoint} La ubicación es una región.

serialized_signed_transaction

bytes

Obligatorio. Es un SignedTransaction serializado en protobuf que se enviará al libro de registros. El uso de un formato serializado garantiza que todos los validadores calculen el mismo ID de transacción que el resumen SHA-256 de los bytes serializados.

SubmitTransactionResponse

Es el mensaje de respuesta de SubmitTransaction.

Campos
transaction_digest_hex

string

Es el identificador que representa de forma única la transacción enviada. Es la representación hexadecimal del resumen SHA-256 de serialized_signed_transaction. Este ID de transacción se proporciona para que un cliente pueda hacer un seguimiento de la transacción sin necesidad de implementar la lógica de hash por sí mismo. El identificador se puede usar directamente en llamadas posteriores a la API, por ejemplo, para consultar el estado de la transacción.

TokenManagerDetails

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

Campos
issuance_limit

CurrencyValue

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

issued_tokens

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.

TransactionAttempt

Es el estado de un intento de envío de transacción.

Campos
status

TransactionStatus

Solo salida. Es el estado actual del intento de transacción.

proof_of_inclusion

ProofOfInclusion

Solo salida. Certificado de la inclusión de los efectos de la transacción en el estado mundial. Solo se proporciona si el estado es FINALIZED.

status_events[]

StatusEvent

Solo salida. Son los eventos de estado ordenados que se registraron para el intento de transacción.

TransactionStatus

Es el estado del intento de transacción.

Enums
TRANSACTION_STATUS_UNSPECIFIED Estado desconocido o no inicializado.
PENDING El validador conoce la transacción, pero aún no se finalizó.
FINALIZED Se finalizó la transacción. Sus efectos se conservaron en la cadena de bloques y no se pueden revertir.

TransactionCertificate

Certificado de la ejecución de una transacción específica en una ronda.

Campos
transaction_digest_hex

string

Solo salida. Es el ID de la transacción para la que se emitió este certificado.

round_id

int64

Solo salida. Es el ID de la ronda de ejecución en la que se ejecutó esta transacción.

transaction_effects

TransactionEffects

Solo salida. Son los efectos de la ejecución de la transacción.

events[]

TransactionEvent

Solo salida. Son los eventos que produce la transacción.

transaction_effects_state_checksum_hex

string

Solo salida. Es la suma de verificación homomórfica de los efectos. Es un valor de 2,048 bytes codificado como una cadena hexadecimal.

certification_results_digest_hex

string

Solo salida. Es el resumen criptográfico de todos los campos anteriores en secuencia. Se usa para compilar un árbol de Merkle para la prueba de inclusión.

TransactionChain

Es una cadena de transacciones que incluye varias unidades de transacción para ejecutar en secuencia.

Las unidades se ejecutarán de forma secuencial, en el orden en que se enumeran. Si todas las unidades tienen éxito, sus efectos acumulativos se confirmarán de forma atómica en el estado del mundo. De lo contrario, si falla alguna de ellas, fallará toda la cadena y no se aplicará ninguno de sus efectos.

Campos
units[]

bytes

Son las unidades individuales de la cadena. Cada unidad debe ser un SignedTransaction serializado.

Ten en cuenta que los bytes serializados son necesarios para determinar los bytes que se firmarán para la cadena en sí.

TransactionEffect

Representa una actualización de alguna transacción al estado mundial.

Si tiene un delta_val, se supone que es un delta (un desplazamiento de números enteros) que se aplica al valor almacenado previamente en una clave determinada. En ese caso, new_val y old_val deben estar vacíos.

De lo contrario, se supone que tiene al menos uno de los valores old_val o new_val (o ambos). Un old_val vacío indica que se insertó el valor. Un new_val vacío indica que se borró el valor.

Campos
key

bytes

Solo salida. Es la clave del estado mundial que se actualizó.

old_val

bytes

Solo salida. Es el valor de la clave antes de que se ejecutara la transacción.

new_val

bytes

Solo salida. Es el valor de la clave después de que se ejecutó la transacción.

delta_val

int64

Solo salida. Es un desplazamiento de número entero que se aplicó al valor almacenado anteriormente.

TransactionEffects

Son los efectos de la ejecución de una transacción.

Campos
status

TransactionStatus

Solo salida. Es el estado resultante de la ejecución de la transacción.

effects[]
(deprecated)

TransactionEffect

Solo salida. Obsoleto: En su lugar, consulta el estado de la red para determinar cualquier cambio en el estado del mundo. Son los efectos de la transacción en el estado mundial.

TransactionEvent

Es un evento que produce una transacción.

Campos
type

string

Solo salida. El tipo de evento Un evento especial de tipo transaction_output contiene los resultados que produjo la transacción, por ejemplo, el ID de cuenta de una cuenta recién creada.

attributes[]

EventAttribute

Solo salida. Son los atributos del evento como pares clave-valor arbitrarios.

EventAttribute

Es un atributo individual como un par clave-valor.

Campos
key

string

Solo salida. Es la clave del atributo.

value

string

Solo salida. Es el valor del atributo.

TransactionState

Es el estado de una transacción.

Campos
transaction_attempts[]

TransactionAttempt

Una entrada por cada envío conocido de la transacción al validador que controla la solicitud.

TransactionStatus

Representa el estado de la ejecución de una transacción.

Campos
code

int32

Solo salida. El código de estado, un valor numérico cuyo significado se define en el código de estado de gRPC correspondiente.

message

bytes

Solo salida. El mensaje de error, si corresponde. Solo se establece si el código no es OK. Es una cadena codificada como bytes UTF-8. Se almacenan como bytes para evitar problemas con el determinismo de la codificación.

Transferir

Transfiere tokens de una cuenta de usuario a otra. El remitente debe ser una cuenta de usuario normal, a diferencia de una cuenta con privilegios, como un administrador de tokens o un administrador de cuentas.

Además, el remitente de la transacción debe tener habilitado el parámetro ROLE_PAYER, mientras que el receptor debe tener habilitado el parámetro ROLE_RECEIVER.

Campos
beneficiary
(deprecated)

Entity

Es opcional. Obsoleto: Usa beneficiary_id en su lugar. Es la cuenta que recibe los tokens.

beneficiary_id

string

Es opcional. Es el ID de la cuenta que recibe los tokens. Se debe especificar beneficiary o beneficiary_id.

amount

CurrencyValue

Obligatorio. Es el importe que se transferirá. El importe debe ser positivo.

TransferContractTokenManager

Transfiere la propiedad del administrador de tokens de contrato a una cuenta nueva. El remitente debe ser el operador de la moneda actual.

Si la transacción se realiza correctamente, se desactiva el administrador de tokens del contrato actual para la moneda, y el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo administrador de tokens del contrato. Ten en cuenta que no es la clave pública del operador. Esta es la clave pública del administrador de tokens del contrato nuevo y se almacenará en el libro de registros. Se usará para validar la firma de las transacciones que emanan de la cuenta del administrador de tokens del contrato.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

TransferCurrencyOperator

Transfiere la propiedad del operador de moneda determinado a una cuenta nueva. El remitente debe ser el operador de la plataforma.

Si la transacción se realiza correctamente, se desactiva el operador de moneda determinado y se devuelve el ID de la cuenta recién creada como un evento en el TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo operador de la moneda. Esta clave pública se asociará con el operador de la moneda y se almacenará en el libro de contabilidad. Se usará para validar la firma de las transacciones que emanan de la cuenta del operador de la moneda.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

currency_operator
(deprecated)

Entity

Es opcional. Obsoleto: Usa currency_operator_id en su lugar. Es el operador de moneda que se reemplazará. Debe estar activa.

currency_operator_id

string

Es opcional. Es el ID del operador de moneda que se reemplazará. Debe estar activa. Se debe especificar currency_operator o currency_operator_id. El valor tiene un límite de 60 caracteres.

TransferPlatformOperator

Transfiere la propiedad del operador de la plataforma a una cuenta nueva. El remitente debe ser el operador de la plataforma actual.

Si la transacción se realiza correctamente, se desactiva el operador de la plataforma actual y se devuelve el ID de la cuenta recién creada como un evento en el TransactionCertificate de la transacción finalizada.

Campos
public_key

bytes

Obligatorio. Es la clave pública del nuevo operador de la plataforma. Esta clave pública se asociará con el operador de la plataforma y se almacenará en el libro de registros. Se usará para validar la firma de las transacciones que emanan de la cuenta del operador de la plataforma.

El formato de la clave pública se define en el campo key_format. Se considera información pública.

key_format

KeyFormat

Es opcional. Inmutable. Es el formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado de forma binaria en el formato de transferencia de Tink. Se considera información pública.

account_comment

string

Es opcional. Inmutable. Es un campo de comentarios opaco que el sistema no interpreta, pero que se almacena en el libro de contabilidad de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

UserDetails

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

Campos
account_manager
(deprecated)

Entity

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

account_manager_id

string

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

token_manager
(deprecated)

Entity

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

token_manager_id

string

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

roles[]

Role

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

account_status

AccountStatus

Solo salida. Es el estado de esta cuenta.

balance

CurrencyValue

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

account_fields
(deprecated)

map<string, Fields>

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

contract_account_fields

map<string, Fields>

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

Valor

Es un valor concreto de algún tipo.

Campos
Campo de unión value. Es el valor real. value puede ser solo uno de los parámetros siguientes:
none_value

NoneValue

Es opcional. Representa un valor None.

bool_value

bool

Es opcional. Un valor booleano

int64_value

int64

Es opcional. Es un valor int64.

string_value

string

Es opcional. Es un valor de cadena.

account_id

string

Es opcional. Es un ID de cuenta.

dict_value

DictValue

Es opcional. Es un valor de diccionario.

qualified_currency_value

QualifiedCurrencyValue

Es opcional. Es un valor de moneda calificado.

amount_value

AmountValue

Es opcional. Es un valor de importe.