Index
UniversalLedger(interface)Account(message)AccountIdList(message)AccountManagerDetails(message)AccountStatus(enum)ActivateAccount(message)AddRoles(message)AmountValue(message)BalanceToSettle(message)BoolList(message)Burn(message)ChangeAccountManager(message)ClearingHouseDetails(message)ClientTransaction(message)ContractDetails(message)ContractPermission(enum)ContractTokenManagerDetails(message)CreateAccount(message)CreateAccountManager(message)CreateClearinghouse(message)CreateContract(message)CreateContractTokenManager(message)CreateCurrencyOperator(message)CreateSnapshot(message)CreateTokenManager(message)CurrencyOperatorDetails(message)CurrencyValue(message)DeactivateAccount(message)DecreaseTokenIssuanceLimit(message)DictList(message)DictValue(message)Endpoint(message)Entity(message)EventDetails(message)EventType(enum)ExecutionDetails(message)Fields(message)GetEndpointRequest(message)GrantContractPermissions(message)IncreaseTokenIssuanceLimit(message)Int64List(message)InvokeContractMethod(message)KeyFormat(enum)KeySlot(enum)ListEndpointsRequest(message)ListEndpointsResponse(message)MerkleTree(message)Mint(message)NoneValue(enum)PlatformOperatorDetails(message)ProofOfInclusion(message)ProofOfInclusion.MerkleTreeNode(message)QualifiedCurrencyValue(message)QueryAccountRequest(message)QueryAccountResponse(message)QueryDataRequest(message)QueryDataResponse(message)QueryTransactionStateRequest(message)QueryTransactionStateResponse(message)RedactedField(message)RemoveRoles(message)RemoveSigningPublicKey(message)ReplaceSigningPublicKey(message)Role(enum)RoundCertificate(message)SettlementMode(enum)SettlementRequest(message)SignedTransaction(message)StatusEvent(message)StringList(message)SubmitOperationalTransactionRequest(message)SubmitOperationalTransactionResponse(message)SubmitTransactionRequest(message)SubmitTransactionResponse(message)TokenManagerDetails(message)TransactionAttempt(message)TransactionAttempt.TransactionStatus(enum)TransactionCertificate(message)TransactionChain(message)TransactionEffect(message)TransactionEffects(message)TransactionEvent(message)TransactionEvent.EventAttribute(message)TransactionState(message)TransactionStatus(message)Transfer(message)TransferContractTokenManager(message)TransferCurrencyOperator(message)TransferPlatformOperator(message)UserDetails(message)Value(message)
UniversalLedger
A service for interacting with the Google Cloud Universal Ledger. Endpoints are pre-created and managed by Google and cannot be modified by users. The names of available endpoints will be provided in the public documentation. An endpoint is a regional resource within a Universal Ledger network. Requests sent to an endpoint may be routed to different validators in the given network within the given region.
| GetEndpoint |
|---|
|
Gets the details of a specific endpoint.
|
| ListEndpoints |
|---|
|
Lists all endpoints for a given project and location.
|
| QueryAccount |
|---|
|
Queries all the information stored about an account in the network. The returned account details may vary between calls, because an endpoint may route requests to different validators within the network and region, and the validators may not be at the same round ID at any given time.
|
| QueryData |
|---|
|
Queries the network for information stored on the ledger, such as accounts and transactions. Access to certain sensitive fields, such as account balances, may be restricted based on the identity of the sender derived from the signature in the request. If the sender lacks permission, sensitive fields will be redacted from the response and reported in the
|
| QueryTransactionState |
|---|
|
Queries the state of a transaction. This method can be called for any transaction submitted to the network. The returned transaction details may vary between calls, because an endpoint may route requests to different validators within the network and region, and the validators may not be at the same round ID at any given time.
|
| SubmitOperationalTransaction |
|---|
|
Submits an operational transaction to the network. This method returns only after the transaction has been replicated across a majority of validators in the network, or if the transaction fails.
|
| SubmitTransaction |
|---|
|
Submits a transaction to the network. The request is first validated for basic correctness. If validation fails, the request will fail immediately. If validation succeeds, this method returns only after the transaction has been replicated across a majority of validators in the network, or until the request fails.
|
Account
Represents the state of an account on the ledger.
| Fields | |
|---|---|
sequence_number |
Output only. The sequence number of this account. This number increments with each transaction sent by this account. |
public_key |
Output only. The primary public key associated with this account, used for signature verification. |
round_id |
Output only. The ID of the execution round (similar to block "height") at which the account information provided is accurate. |
comment |
Output only. The account comment stored when this account was created. |
Union field account_details. Specific details based on the type of account. account_details can be only one of the following: |
|
user_details |
Output only. Details for a standard user account. |
account_manager_details |
Output only. Details for an account manager account. |
token_manager_details |
Output only. Details for a token manager account. |
contract_token_manager_details |
Output only. Details for a contract token manager account. |
contract_details |
Output only. Details for a smart contract account. |
clearinghouse_details |
Output only. Details for a clearinghouse account. |
currency_operator_details |
Output only. Details for a currency operator account. |
platform_operator_details |
Output only. Details for a platform operator account. |
AccountIdList
A list of account IDs.
| Fields | |
|---|---|
values[] |
Optional. The account ID values. |
AccountManagerDetails
Details specific to an Account Manager.
| Fields | |
|---|---|
token_manager |
Output only. Deprecated: Use |
num_accounts |
Output only. The number of accounts created by this account manager. |
token_manager_id |
Output only. The ID of the default token manager for accounts created by this account manager. |
AccountStatus
The status of an account.
| Enums | |
|---|---|
ACCOUNT_STATUS_UNSPECIFIED |
Invalid status. |
ACCOUNT_STATUS_ACTIVE |
Active state where the account can conduct the operations allowed by its roles. |
ACCOUNT_STATUS_INACTIVE |
Inactive state where all transactions on the account are forbidden. The manager of the account can still send account management transactions. |
ActivateAccount
Marks an account as ACCOUNT_STATUS_ACTIVE. The sender must be the account manager of the account to activate.
The account owner can resume normal operations permitted by the roles on the account.
| Fields | |
|---|---|
account |
Optional. Deprecated: Use |
account_id |
Optional. The ID of the account to be activated. One of |
AddRoles
Adds the specified roles to the account. The sender must be the account manager of the account to modify.
| Fields | |
|---|---|
account |
Optional. Deprecated: Use |
account_id |
Optional. The ID of the account to be modified. One of |
roles[] |
Required. The roles to be added. |
AmountValue
Represents a denominated amount in a currency.
| Fields | |
|---|---|
currency |
Required. The currency of the amount. |
amount_value |
Required. The number of minor units of the currency. |
BalanceToSettle
A balance to settle between two token managers.
| Fields | |
|---|---|
balance_payer |
Output only. Deprecated: Use |
balance_payer_id |
Output only. The ID of the account which owes the balance to be settled. |
balance_receiver |
Output only. Deprecated: Use |
balance_receiver_id |
Output only. The ID of the account which is owed the balance to be settled. |
balance |
Output only. The balance to settle. Must be positive. |
BoolList
A list of booleans.
| Fields | |
|---|---|
values[] |
Optional. The boolean values. |
Burn
Burns currency tokens. The sender must be a token manager and the account supplying the tokens to burn must additionally sign the transaction.
The expected flow is that the token manager will have its designated burn account which customers would transfer the tokens to before they are burnt. Alternatively, the customers could directly sign the transaction in which case it would act as an atomic "transfer-and-burn" transaction.
| Fields | |
|---|---|
burn_amount |
Required. The amount to burn. |
payer |
Optional. Deprecated: Use |
payer_id |
Optional. The ID of the account supplying the tokens to burn. The payer account must have the |
ChangeAccountManager
Transfers the responsibility of managing a particular account to another manager. The sender must be the current account manager of the account and, to provide consent, the new manager must also sign this transaction.
| Fields | |
|---|---|
account |
Optional. Deprecated: Use |
account_id |
Optional. The ID of the account whose manager is to be changed. One of |
next_manager |
Optional. Deprecated: Use |
next_manager_id |
Optional. The ID of the new proposed account manager. Validation requires that the new manager has also signed this transaction. One of |
ClearingHouseDetails
Details specific to a Clearinghouse.
| Fields | |
|---|---|
account_status |
Output only. The status of this account. |
balances[] |
Output only. The balances that this clearinghouse is currently tracking for settlement. |
settlement_mode |
Output only. The settlement mode of this clearinghouse. |
ClientTransaction
Represents a transaction initiated by a client.
| Fields | |
|---|---|
source |
Optional. The transaction sender. Deprecated: Use |
sender_id |
Optional. The ID of the account that is sending this transaction. One of |
signatories[] |
Optional. Accounts that, in addition to the sender, have signed this transaction. Deprecated: Use |
other_signatory_ids[] |
Optional. The IDs of accounts that, in addition to the sender, have signed this transaction. |
sequence_number |
Required. A unique, monotonically increasing number, starting from 0. This number must be increased by one for each transaction previously submitted to the network by the same transaction sender. Note this does not include any transaction units that may have been submitted as part of a chain, which must not set a sequence number. But it does include the sender of the transaction chain itself. |
chained_unit |
Must be set to true if this client transaction is part of a transaction chain. Otherwise, it must be set to false. This is necessary to prevent a signed transaction intended to be part of a chain from being submitted on its own. |
Union field kind. The client transaction-specific message. kind can be only one of the following: |
|
app |
Optional. Deprecated: Use one of the message specific fields instead. A client transaction-specific message. Should be any one of:
|
operational |
Optional. An operational transaction message. Note this can only be sent by the platform operator. Should be any one of: |
transfer_platform_operator_transaction |
Optional. Message for transferring the platform operator role to a new account. |
create_currency_operator_transaction |
Optional. Message for creating a new currency operator. |
transfer_currency_operator_transaction |
Optional. Message for transferring the currency operator role to a new account. |
create_clearinghouse_transaction |
Optional. Message for creating a new clearinghouse. |
create_account_manager_transaction |
Optional. Message for creating a new account manager. |
create_token_manager_transaction |
Optional. Message for creating a new token manager associated to the currency of the operator sending the request. |
increase_token_issuance_limit_transaction |
Optional. Notifies the network that the target account has deposited reserve funds and increases its token issuance limit. |
decrease_token_issuance_limit_transaction |
Optional. Notifies the network that the target account wishes to withdraw reserve funds and decreases its token issuance limit. |
settlement_request_transaction |
Optional. Message for initiating a settlement operation. |
mint_transaction |
Optional. Message for minting currency tokens and transferring them to an account. |
burn_transaction |
Optional. Message for burning currency tokens from an account. |
create_account_transaction |
Optional. Message for creating a new user account. |
deactivate_account_transaction |
Optional. Message for deactivating a user account. |
activate_account_transaction |
Optional. Message for activating a user account. |
add_roles_transaction |
Optional. Message for adding roles to an account. |
remove_roles_transaction |
Optional. Message for removing roles from an account. |
change_account_manager_transaction |
Optional. Message for changing the account manager of an account. |
transfer_transaction |
Optional. Message for transferring tokens from one user account to another. |
create_contract_transaction |
Optional. Message for creating a new contract on the ledger. |
grant_contract_permissions_transaction |
Optional. Message for granting permissions to a contract. |
invoke_contract_method_transaction |
Optional. Message for invoking the execution of a contract method. |
create_contract_token_manager_transaction |
Optional. Message for creating a new token manager associated to the currency of the operator sending the request. |
transfer_contract_token_manager_transaction |
Optional. Message for transferring the token manager role for a currency from one account to another. |
remove_signing_public_key_transaction |
Optional. Message for removing an account signing key. |
replace_signing_public_key_transaction |
Optional. Message for replacing an account signing key. |
chain |
Optional. Message for a transaction chain including multiple transaction units to execute in sequence. |
ContractDetails
Details specific to a Smart Contract.
| Fields | |
|---|---|
owner |
Output only. Deprecated: Use |
owner_id |
Output only. The ID of the owner of the contract. |
code |
Output only. The serialized contract code. |
contract_fields |
Output only. The contract fields (field name -> value) for this contract. |
currency_balances |
Output only. The currency balances held by the contract (currency operator -> balance). |
ContractPermission
The set of permissions that can be granted to a contract. More values are expected to be added in the future.
| Enums | |
|---|---|
CONTRACT_PERMISSION_UNSPECIFIED |
Invalid permission. |
CONTRACT_PERMISSION_STORAGE |
Allows a contract to read and write into storage owned by the account who granted the permission. The contract can only read and write the properties that it has previously written. Note this does not allow the contract to read or write data managed by other contracts; nor does it allow the contract to directly update other account properties (for example, the balance of the account in its native currency). |
ContractTokenManagerDetails
Details specific to a Contract Token Manager.
| Fields | |
|---|---|
issuance_limit |
Output only. The amount of tokens this contract token manager is allowed to provide backing for. Since contract token managers cannot increase or decrease their issuance limit, this should equal the |
issued_tokens |
Output only. The amount of tokens this contract token manager is providing backing for (that is, its total liability). This equals to the sum of all balances held in contracts for its currency, plus its net position in the settlement matrix. |
previous_contract_token_manager_id |
Output only. The account ID of the previous contract token manager for this currency. This forms an audit trail that can be traversed to discover all previous managers. If this is the first contract token manager for the currency, this will be empty. |
account_status |
Output only. The status of this account. |
CreateAccount
Creates a new user account. The sender must be an account manager.
If the transaction is successful, the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the account owner. Note that this is not the public key of the sender. This is the public key of the new account owner and it will be stored on the ledger. It will be used to validate the signature of the transactions emanating from the created account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
roles[] |
Optional. The list of roles to grant to this account. |
account_status |
Optional. The status of the account to be created. By default, the account status of a newly created account will be |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
token_manager |
Optional. Deprecated: Use |
token_manager_id |
Optional. The ID of the token manager for this account. This field is optional and if not supplied, the default token manager associated to the account manager (that is, the sender of this transaction) will be used. The value is limited to 60 characters. |
CreateAccountManager
Creates a new account manager. The sender must be a currency operator.
If the transaction is successful, the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new account manager. Note that this is not the public key of the operator. This public key will be associated with the account manager and stored on the ledger. It will be used to validate the signature of the transactions emanating from the account manager's account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
default_token_manager |
Optional. Deprecated: Use |
default_token_manager_id |
Optional. The ID of the default token manager for the accounts that will be created by this manager. The value is limited to 60 characters. |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
CreateClearinghouse
Creates a new clearinghouse. The sender must be a currency operator.
If the transaction is successful, the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new clearinghouse. Note that this is not the public key of the operator. This public key will be associated with the clearinghouse and stored on the ledger. It will be used to validate signature of the transactions emanating from the clearinghouse's account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
settlement_mode |
Required. The settlement mode for this clearinghouse. Required. Considered public information. |
CreateContract
Stores a contract on the ledger.
| Fields | |
|---|---|
contract_bytes |
Serialised contract bytes. |
arguments |
Optional. Immutable. Deprecated: Use |
init_arguments |
Optional. Immutable. Contains arguments for the |
contract_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the contract. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
CreateContractTokenManager
Creates a new contract token manager associated with the currency of the operator sending the request. The sender must be a currency operator. The newly created contract token manager is active by default. If the contract token manager has to be replaced, the TransferContractTokenManager transaction should be sent instead. If another contract token manager associated with the same currency exists, this transaction will fail.
Unlike regular token managers, contract token managers are not allowed to execute transactions such as mint or burn. They can, however, participate in settlement operations.
If the transaction is successful, the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new contract token manager. Note that this is not the public key of the operator. This public key will be associated with the contract token manager and stored on the ledger. It will be used to validate the signature of the transactions emanating from the contract token manager's account. The format of the public key is defined by the |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
CreateCurrencyOperator
Creates a new currency operator. The sender must be the platform operator.
If the transaction is successful, the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
This transaction must introduce a new currency into the system. If the specified currency already exists, this transaction will fail. If the currency operator has to be replaced, the TransferCurrencyOperator transaction should be sent instead.
| Fields | |
|---|---|
public_key |
Required. The public key of the new currency operator. This public key will be associated with the currency operator and stored on the ledger. It will be used to validate the signature of the transactions emanating from the operator's account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
currency |
Optional. Deprecated: Use |
currency_code |
Optional. The fiat currency associated with this operator, represented as a 3-capital-letter ISO 4217 code. Considered public information. |
CreateSnapshot
This type has no fields.
Triggers the creation of a snapshot of the network. The sender must be the platform operator.
CreateTokenManager
Creates a new token manager associated to the currency of the operator sending the request. The sender must be a currency operator.
If the transaction is successful, the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new token manager. Note that this is not the public key of the operator. This public key will be associated with the token manager and stored on the ledger. It will be used to validate the signature of the transactions emanating from the token manager's account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
CurrencyOperatorDetails
Details specific to a Currency Operator.
| Fields | |
|---|---|
currency |
Output only. Deprecated: Use |
currency_code |
Output only. The ID of the currency associated with this account, represented by the 3-letter ISO 4217 code. |
account_status |
Output only. The status of this account. |
previous_entity_id |
Output only. Deprecated: Use |
previous_currency_operator_id |
Output only. The ID of the previous currency operator which transferred ownership of the currency operator role to this account. If this is the first currency operator for the currency, this will be empty. |
platform_operator_entity_id |
Output only. Deprecated: Use |
platform_operator_id |
Output only. The ID of the platform operator which created this currency operator. |
contract_token_manager |
Output only. Deprecated: Use |
contract_token_manager_id |
Output only. The ID of the contract token manager associated with this currency operator. |
clearinghouse_id |
Output only. The ID of the clearinghouse associated with this currency operator. |
CurrencyValue
Represents an amount of currency (i.e. money). Note that the denominated currency is not included in this message. The relevant currency is decided by the account that sends the transaction. Each account has a unique immutable currency associated to it.
| Fields | |
|---|---|
value |
Required. The number of minor units of the currency. This smallest valid denomination is referred to as "minor units" and is specified in ISO 4217. As an example, for USD, the value will be the number of cents and for GBP it will be the number of pence. For the Japanese Yen which does not have a minor unit, it will be the number of Yen. |
DeactivateAccount
Marks an account as ACCOUNT_STATUS_INACTIVE. The sender must be the account manager of the account to deactivate.
This implies that the account owner will not be able to make any transactions on the account regardless of the roles.
| Fields | |
|---|---|
account |
Optional. Deprecated: Use |
account_id |
Optional. The ID of the account to be deactivated. One of |
DecreaseTokenIssuanceLimit
Notifies the network that the target account wishes to withdraw reserve funds and decreases its token issuance limit. The sender must be a clearinghouse account.
Note that this transaction must be successfully finalized before the reserve funds can be withdrawn. This is necessary because it is possible for the transaction to fail (for example, if the minted amount is already above the requested reduced limit).
| Fields | |
|---|---|
token_manager |
Optional. Deprecated: Use |
token_manager_id |
Optional. The ID of the institutional account whose mint limit is to be lowered. This account must be a token manager for the transaction to be valid. One of |
amount |
Required. The amount by which to lower the limit. The amount must be positive. The transaction will fail if the reduced limit will fall below the currently issued tokens. |
DictList
A list of dictionaries.
| Fields | |
|---|---|
values[] |
Optional. The DictValue values. All nested dicts must have the same concrete type. |
DictValue
Indices map key to value. For example, keys[0] key maps to values[0].
| Fields | |
|---|---|
Union field keys. Each key can be exactly one kind. keys can be only one of the following: |
|
bool_keys |
Optional. A list of boolean keys. |
string_keys |
Optional. A list of string keys. |
int64_keys |
Optional. A list of int64 keys. |
account_id_keys |
Optional. A list of account ID keys. |
Union field values. Each value can be exactly one kind. values can be only one of the following: |
|
bool_values |
Optional. A list of boolean values. |
string_values |
Optional. A list of string values. |
int64_values |
Optional. A list of int64 values. |
dict_values |
Optional. Values are a list of nested dictionaries. |
Endpoint
Represents a Universal Ledger endpoint.
| Fields | |
|---|---|
name |
Identifier. The resource name of the endpoint. Format: |
Entity
An entity in the Universal Ledger network. All accounts are attached to an entity. The entity ID, also often referred to as the account ID, is unique and immutable across the network.
| Fields | |
|---|---|
id |
Output only. The ID assigned to the entity. This is assigned by the network on account creation. |
EventDetails
Represents additional details of a status event.
| Fields | |
|---|---|
Union field event_details. The details of the event. event_details can be only one of the following: |
|
execution_details |
Output only. Additional details for an execution event. |
EventType
Represents the type of an event in the processing of a transaction, as observed by the validator that the request was routed to.
| Enums | |
|---|---|
EVENT_TYPE_UNSPECIFIED |
Unknown or unspecified event. |
EVENT_TYPE_RECEIVED |
The transaction was received by this validator directly from a client. |
EVENT_TYPE_BROADCASTED |
The transaction was broadcasted by this to other validators. |
EVENT_TYPE_ORDERED |
The transaction was ordered and scheduled for execution by this validator. |
EVENT_TYPE_EXECUTION_STARTED |
The execution of the transaction has started. |
EVENT_TYPE_EXECUTION_COMPLETED |
The execution of the transaction has completed. |
EVENT_TYPE_FINALIZED |
The transaction has been finalized by this validator. |
ExecutionDetails
Additional details for an execution event.
| Fields | |
|---|---|
round_id |
Output only. The round ID at which the execution event occurred. |
Fields
A map of fields (field name -> value) from a contract used to represent contract fields or account fields.
| Fields | |
|---|---|
fields |
Output only. The map of field names to their values. |
GetEndpointRequest
Request message for GetEndpoint.
| Fields | |
|---|---|
name |
Required. The name of the endpoint to retrieve. Format: |
GrantContractPermissions
Grants permissions to the contract by the transaction sender. If delegate_contract_id is specified, the permissions and corresponding storage are granted exclusively to the delegate_contract_id contract, not the sender.
Note that there is no support for revoking permissions.
| Fields | |
|---|---|
contract |
Optional. Deprecated: Use |
contract_id |
Optional. The ID of the contract to which permissions are being granted. One of |
permissions[] |
The permissions to be granted. |
delegate_contract_id |
Optional. The contract ID for which permissions are being granted. The transaction sender must be the owner of this contract. |
IncreaseTokenIssuanceLimit
Transactions for token issuance and minting. Notifies the network that the target account has deposited reserve funds and increases its token issuance limit. The sender must be a clearinghouse account.
| Fields | |
|---|---|
token_manager |
Optional. Deprecated: Use |
token_manager_id |
Optional. The ID of the institutional account whose mint limit is to be raised. This account must be a token manager for the transaction to be valid. One of |
amount |
Required. The amount by which to raise the limit. The amount must be positive. |
Int64List
A list of int64s.
| Fields | |
|---|---|
values[] |
Optional. The int64 values. |
InvokeContractMethod
Invokes the execution of a contract method.
| Fields | |
|---|---|
contract |
Optional. Deprecated: Use |
contract_id |
Optional. The ID of the contract to run. One of |
method_name |
Name of the method to run. |
arguments |
Optional. Immutable. Deprecated: Use |
method_arguments |
Optional. Immutable. Contains arguments to pass to the method. |
payment |
The amount to be paid. Must be greater than zero when invoking payable methods; and zero for non-payable ones. |
KeyFormat
Specifies the format a public key is provided in. New values may be added to this enum in the future.
| Enums | |
|---|---|
KEY_FORMAT_UNSPECIFIED |
The key format is unspecified. This value is invalid and should not be used. |
KEY_FORMAT_TINK_WIRE_FORMAT |
A binary serialized keyset in Tink wire format. |
KEY_FORMAT_PEM_EC_P256_SHA256 |
A PEM-encoded elliptic curve signing key using the P-256 curve with SHA256 digest. Signatures must be provided in DER format. |
KeySlot
An identifier of the slots which can hold keys on an account.
| Enums | |
|---|---|
KEY_SLOT_UNSPECIFIED |
The key slot is unspecified. |
KEY_SLOT_PRIMARY |
The primary key slot. |
KEY_SLOT_ALTERNATE |
The alternate key slot. |
ListEndpointsRequest
Request message for ListEndpoints.
| Fields | |
|---|---|
parent |
Required. The parent, which owns this collection of endpoints. Format: |
page_size |
Optional. The maximum number of endpoints to return. The service may return fewer than this value. If unspecified, at most 50 endpoints will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. |
page_token |
Optional. A page token, received from a previous |
ListEndpointsResponse
Response message for ListEndpoints.
| Fields | |
|---|---|
endpoints[] |
The endpoints for the given project and location. |
next_page_token |
A token, which can be sent as |
MerkleTree
A Merkle tree with a cryptographic digest of the root node.
| Fields | |
|---|---|
root_hash_hex |
Output only. The cryptographic digest of the root node. Deprecated: Use |
root_digest_hex |
Output only. The hexadecimal representation of the digest of the root node. Format: A 64-character hexadecimal string. |
num_transactions |
Output only. The number of transactions in the tree. |
Mint
Mints currency tokens and transfers them to a specified account. The sender must be a token manager.
| Fields | |
|---|---|
mint_amount |
Required. The amount to mint. The amount must be such that the total tokens minted by the token manager do not exceed the mint limit. If the amount is higher than that, the transaction must be rejected |
beneficiary |
Optional. Deprecated: Use |
beneficiary_id |
Optional. The ID of the account to which the minted amount should be transferred. The receiving account must have the |
NoneValue
A singleton enumeration to represent the None value.
| Enums | |
|---|---|
NONE_VALUE_UNSPECIFIED |
The None value. |
PlatformOperatorDetails
Details specific to a Platform Operator.
| Fields | |
|---|---|
account_status |
Output only. The status of this account. |
previous_entity_id |
Output only. Deprecated: Use |
previous_platform_operator_id |
Output only. The ID of the previous platform operator which transferred ownership of the platform operator role to this account. If this is the first platform operator, this will be empty. |
ProofOfInclusion
Certificate of the inclusion of the effects of a transaction in the world state.
| Fields | |
|---|---|
transaction_certificate |
Output only. Certificate of the inclusion of the transaction effects in a specific round. |
round_certificate |
Output only. Certificate of the execution of the round. |
path_to_round_root[] |
Output only. Cryptographic proof of inclusion of the transaction effects in the execution round. It is given as a path from a given leaf (a transaction digest) to the root of the execution round. The path is represented as a list of (left child, right child) pairs, and the first pair is the left and right children of the given leaf's parent node. For example, assuming the Merkle tree was built with eight leaf digests In here, One can consecutively compute SHA-256 digests of each path node to verify that the digest of the path produces the same value as the |
MerkleTreeNode
Represents a node in a Merkle tree path.
| Fields | |
|---|---|
left_child_hash_hex |
Output only. The hexadecimal representation of the digest of the left child of a node. Deprecated: Use |
right_child_hash_hex |
Output only. The hexadecimal representation of the digest of the right child of a node. Deprecated: Use |
left_child_digest_hex |
Output only. The hexadecimal representation of the digest of the left child of a node. Format: A 64-character hexadecimal string. |
right_child_digest_hex |
Output only. The hexadecimal representation of the digest of the right child of a node. Format: A 64-character hexadecimal string. |
QualifiedCurrencyValue
Represents a currency on the ledger, which is qualified by its Currency Operator.
| Fields | |
|---|---|
operator_id |
Required. The Currency Operator ID administering the currency. |
QueryAccountRequest
Request message for QueryAccount.
| Fields | |
|---|---|
endpoint |
Required. The endpoint to serve the request. Format: |
account_id |
Required. The account ID to get information about. The value is limited to 60 characters. |
round_id |
Optional. The ID of the execution round (similar to block "height") at which to request data. The returned account information will be accurate for the world state at this execution round. If unspecified, uses the latest finalized round as known by the serving validator. The state at a given round ID is always consistent and canonical. |
QueryAccountResponse
Response message for QueryAccount.
| Fields | |
|---|---|
account |
The account information, along with the height at which it was obtained. |
QueryDataRequest
Request message for QueryData.
| Fields | |
|---|---|
endpoint |
Required. The endpoint to serve the request. Format: |
serialized_signed_query_request |
Required. A protobuf serialized |
QueryDataResponse
Response message for QueryData.
| Fields | |
|---|---|
redacted_fields[] |
Indicates which fields have been redacted from the response due to permission restrictions. |
Union field kind. The query-specific result. kind can be only one of the following: |
|
account |
The account information, if the query was for an account. |
transaction_state |
The state of a transaction, if the query was for a transaction. |
QueryTransactionStateRequest
Request message for QueryTransactionState.
| Fields | |
|---|---|
endpoint |
Required. The endpoint to serve the request. Format: |
transaction_digest_hex |
Required. The transaction ID to get the state of. |
QueryTransactionStateResponse
Response message for QueryTransactionState.
| Fields | |
|---|---|
transaction_attempts[] |
One entry per each known submission of the transaction to the validator handling the request. |
RedactedField
Information about a redacted field in the response.
| Fields | |
|---|---|
redacted_path |
Output only. The fully qualified field paths that were redacted from the payload. |
reason |
Output only. A human-readable explanation of why the fields were redacted. |
reason_code |
Output only. A machine readable code for why the fields were redacted. |
RemoveRoles
Removes the specified roles from the account. The sender must be the account manager of the account to modify.
| Fields | |
|---|---|
account |
Optional. Deprecated: Use |
account_id |
Optional. The ID of the account to be modified. One of |
roles[] |
Required. The roles to be removed. |
RemoveSigningPublicKey
Removes the account signing key from the specified slot. The other slot must not be empty, and must hold the key used to sign the ClientTransaction.
| Fields | |
|---|---|
key_slot |
Required. The key slot we're removing the key from. If this is already empty, the transaction will fail. |
ReplaceSigningPublicKey
Replaces the account signing key in the specified slot. The other slot must not be empty, and must hold the key used to sign the ClientTransaction.
| Fields | |
|---|---|
key_slot |
Required. The key slot we're replacing the key in. |
new_public_key |
Required. The new public key, which will replace the public key in the specified slot. The format of the public key is defined by the new_key_format field. Considered public information. |
new_key_format |
Required. The key format of the new public key. See the definition of KeyFormat for a list of supported formats. Considered public information. |
Role
The regular set of roles.
| Enums | |
|---|---|
ROLE_UNSPECIFIED |
Invalid role. |
ROLE_PAYER |
The role that allows an account to initiate a payment transaction. |
ROLE_RECEIVER |
The role that allows an account to receive payments. |
ROLE_CONTRACT_CREATOR |
The role that allows an account to deploy contracts. |
ROLE_CONTRACT_PARTICIPANT |
The role that allows an account to interact with deployed contracts. |
RoundCertificate
Certificate of the execution of a round by a specific validator.
| Fields | |
|---|---|
round_id |
Output only. The ID of the round for which the certificate is for. |
validator_id |
Output only. The human readable validator identifier. This is used to look up the public key against which the |
round_state_checksum_hex |
Output only. The hex representation of the homomorphic digest over the world state after the effects of this round are applied. |
round_delta_checksum_hex |
Output only. The hex representation of the homomorphic digest over the aggregated transaction effects of this round. |
merkle_tree |
Output only. Merkle tree having this round as root node and transaction batches (executed in the round) as the leaves. |
validator_signatures[] |
Optional. The signature of the validator. This is signed over the digest of the preceding payload of this record. |
is_finalized |
Output only. Boolean to indicate if the round is finalized, i.e., whether a sufficient quorum of validators have certified this round with the same certificate. |
SettlementMode
The settlement mode for a clearinghouse.
| Enums | |
|---|---|
SETTLEMENT_MODE_UNSPECIFIED |
The settlement mode is unspecified. This value is invalid and should not be used. |
SETTLEMENT_MODE_DEFERRED |
The clearinghouse is responsible for tracking the ownership of the off-ledger funds, and periodically issuing SettlementRequest transactions to maintain the corresponding balances on the ledger in sync. |
SETTLEMENT_MODE_INSTANT |
The clearinghouse maintains a single pool of funds and the ledger acts as the golden source for the allocation of those funds between the token managers. This settlement mode can also be described as "instant gross settlement." |
SettlementRequest
Initiates a settlement operation between two token managers. The sender must be a clearinghouse account.
In the deferred SettlementMode where the clearinghouse has custody of the token manager funds, this is the only transaction that needs to be sent to execute a settlement between the two token managers.
| Fields | |
|---|---|
payer |
Optional. Immutable. Deprecated: Use |
payer_id |
Optional. Immutable. The account ID of the party that needs to make the fund transfer. One of |
beneficiary |
Optional. Immutable. Deprecated: Use |
beneficiary_id |
Optional. Immutable. The account ID of the party that will receive the funds. One of |
balance |
Required. Immutable. The balance of issued tokens that need to be transferred by the |
round_id |
Required. Immutable. The round ID at which this settlement amount was computed. |
SignedTransaction
A transaction with attached signatures. To submit a transaction, this message should be serialized and included in a SubmitTransactionRequest.
| Fields | |
|---|---|
serialized_client_transaction |
Required. A serialized |
sender_signature |
Required. The signature of the transaction sender. The signature should be computed by signing the For a transaction chain, the bytes to be signed are computed as the concatenation of: - A digest of the serialized client transaction of the entire chain. - A digest of the serialized signed transaction of each unit in the chain, in the order they appear in the chain. The digests are computed using SHA-256. |
sender_signing_key_slot |
Optional. The key slot of the sender used to sign the transaction. Uses the primary slot of the sender account if not specified. |
other_signatures[] |
Optional. The signatures of accounts listed as additional transaction signatories. The number and order of these signatures must match the The bytes to be signed are the same as those for the The number and identity of additional signatories depends on the particular transaction kind. For a transaction chain, one signature is needed for each account appearing either as the sender or as a signatory of a unit in the chain. |
other_signing_key_slots[] |
Optional. The key slots of the accounts listed as additional transaction signatories. If set, the number and order of these key slots must match the |
StatusEvent
Represents an event in the processing of a transaction as observed by a single validator.
All values reported are from the perspective of the validator handling the request and may differ from the view of other validators.
| Fields | |
|---|---|
event_time |
Output only. The time when the event was recorded by this validator. |
event_type |
Output only. The type of the event. |
event_details |
Output only. Additional details associated with the event. |
StringList
A list of strings.
| Fields | |
|---|---|
values[] |
Optional. The string values. |
SubmitOperationalTransactionRequest
Request message for SubmitOperationalTransaction.
| Fields | |
|---|---|
endpoint |
Required. The endpoint to serve the request. Format: |
serialized_signed_operational_transaction |
Required. A protobuf serialized |
SubmitOperationalTransactionResponse
Response message for SubmitOperationalTransaction.
| Fields | |
|---|---|
transaction_digest_hex |
Identifier that uniquely represents the submitted operational transaction. It is the hexadecimal representation of the SHA-256 digest of the |
SubmitTransactionRequest
Request message for SubmitTransaction.
| Fields | |
|---|---|
endpoint |
Required. The endpoint to submit the transaction to. Format: |
serialized_signed_transaction |
Required. A protobuf serialized |
SubmitTransactionResponse
Response message for SubmitTransaction.
| Fields | |
|---|---|
transaction_digest_hex |
Identifier that uniquely represents the submitted transaction. It is the hexadecimal representation of the SHA-256 digest of the |
TokenManagerDetails
Details specific to a Token Manager.
| Fields | |
|---|---|
issuance_limit |
Output only. The amount of tokens this token manager is allowed to mint. |
issued_tokens |
Output only. The amount of tokens minted by this token manager. This number will increase when minting and decrease when burning. |
TransactionAttempt
The state of an attempted transaction submission.
| Fields | |
|---|---|
status |
Output only. The current status of the transaction attempt. |
proof_of_inclusion |
Output only. Certificate of the inclusion of the transaction effects in the world state. Only provided if status is |
status_events[] |
Output only. The ordered status events recorded for the transaction attempt. |
TransactionStatus
The status of the transaction attempt.
| Enums | |
|---|---|
TRANSACTION_STATUS_UNSPECIFIED |
Unknown or uninitialized state. |
PENDING |
The transaction is known to this validator, but it is not finalized yet. |
FINALIZED |
The transaction is finalized. Its effects have been persisted on the blockchain and cannot be reversed. |
TransactionCertificate
Certificate of the execution of a specific transaction in a round.
| Fields | |
|---|---|
transaction_digest_hex |
Output only. The ID of the transaction this certificate is for. |
round_id |
Output only. The ID of the execution round at which this transaction was executed in. |
transaction_effects |
Output only. The effects from the transaction execution. |
events[] |
Output only. Events produced by the transaction. |
transaction_effects_state_checksum_hex |
Output only. Homomorphic checksum of the effects. A 2048 byte value encoded as a hexadecimal string. |
certification_results_digest_hex |
Output only. The cryptographic digest of all the previous fields in sequence. Used to build a Merkle tree for the proof of inclusion. |
TransactionChain
A transaction chain including multiple transaction units to execute in sequence.
The units will be executed sequentially, in the order they are listed. If all of the units succeed, their cumulative effects will be committed atomically to the world state. Otherwise, if any of them fails, the whole chain will be failed and none of its effects will be applied.
| Fields | |
|---|---|
units[] |
The individual units of the chain. Each unit must be a serialized Note that the serialized bytes are required in order to determine the bytes to be signed for the chain itself. |
TransactionEffect
Represents an update by some transaction to the world state.
If it has a delta_val, it is assumed to be a delta (an integer offset) applied to the previously stored value on a given key. In that case, new_val and old_val should be empty.
Otherwise, it is assumed to have at least one of old_val or new_val (or both). An empty old_val indicates the value was inserted. An empty new_val indicates the value was deleted.
| Fields | |
|---|---|
key |
Output only. The key in the world state that was updated. |
old_val |
Output only. The value of the key before the transaction was executed. |
new_val |
Output only. The value of the key after the transaction was executed. |
delta_val |
Output only. An integer offset that was applied to the previously stored value. |
TransactionEffects
Effects of the execution of a transaction.
| Fields | |
|---|---|
status |
Output only. The resulting status of the transaction execution. |
effects[] |
Output only. Deprecated: Query the network state instead to determine any changes to the world state. The effects of the transaction in the world state. |
TransactionEvent
An event produced by a transaction.
| Fields | |
|---|---|
type |
Output only. The type of event. A special event of type |
attributes[] |
Output only. The event attributes as arbitrary key-value pairs. |
EventAttribute
An individual attribute as a key-value pair.
| Fields | |
|---|---|
key |
Output only. The key of the attribute. |
value |
Output only. The value of the attribute. |
TransactionState
The state of a transaction.
| Fields | |
|---|---|
transaction_attempts[] |
One entry per each known submission of the transaction to the validator handling the request. |
TransactionStatus
Represents the status of a transaction execution.
| Fields | |
|---|---|
code |
Output only. The status code, a numeric value whose meaning is defined by the corresponding gRPC status code. |
message |
Output only. The error message, if any. Set only if code is not |
Transfer
Transfers tokens from one user account to another. The sender must be a regular user account, as opposed to a privileged account like a token manager or an account manager.
Additionally, the transaction sender must have the ROLE_PAYER enabled on it, while the receiver must have the ROLE_RECEIVER enabled on it.
| Fields | |
|---|---|
beneficiary |
Optional. Deprecated: Use |
beneficiary_id |
Optional. The ID of the account that receives the tokens. One of |
amount |
Required. The amount to transfer. The amount must be positive. |
TransferContractTokenManager
Transfers the ownership of the contract token manager to a new account. The sender must be the current currency operator for the currency.
If the transaction is successful, deactivates the current contract token manager for the currency, and the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new contract token manager. Note that this is not the public key of the operator. This is the public key of the new contract token manager and it will be stored on the ledger. It will be used to validate the signature of the transactions emanating from the contract token manager's account. The format of the public key is defined by the |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
TransferCurrencyOperator
Transfers the ownership of the given currency operator to a new account. The sender must be the platform operator.
If the transaction is successful, deactivates the given currency operator, and the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new currency operator. This public key will be associated with the currency operator and stored on the ledger. It will be used to validate the signature of the transactions emanating from the currency operator's account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
currency_operator |
Optional. Deprecated: Use |
currency_operator_id |
Optional. The ID of the currency operator to be replaced. Must be active. One of |
TransferPlatformOperator
Transfers the ownership of the platform operator to a new account. The sender must be the current platform operator.
If the transaction is successful, deactivates the current platform operator, and the ID of the newly created account is returned as an event in the TransactionCertificate of the finalized transaction.
| Fields | |
|---|---|
public_key |
Required. The public key of the new platform operator. This public key will be associated with the platform operator and stored on the ledger. It will be used to validate the signature of the transactions emanating from the platform operator's account. The format of the public key is defined by the |
key_format |
Optional. Immutable. The key format of the public key. If not specified, defaults to a binary serialized keyset in Tink wire format. Considered public information. |
account_comment |
Optional. Immutable. An opaque comment field that is not interpreted by the system but stored on the ledger in the account. Considered public information. Maximum length is 128 characters. May be left empty. Once created, the field is immutable. |
UserDetails
Details specific to a User account.
| Fields | |
|---|---|
account_manager |
Output only. Deprecated: Use |
account_manager_id |
Output only. The ID of the account manager for this user. |
token_manager |
Output only. Deprecated: Use |
token_manager_id |
Output only. The ID of the token manager for this user. |
roles[] |
Output only. The list of roles granted to this account. |
account_status |
Output only. The status of this account. |
balance |
Output only. The token balance of this user account. |
account_fields |
Output only. Deprecated: Use |
contract_account_fields |
Output only. The contract account fields (contract ID -> fields) for this user. |
Value
A concrete value of some type.
| Fields | |
|---|---|
Union field value. The actual value. value can be only one of the following: |
|
none_value |
Optional. Represents a None value. |
bool_value |
Optional. A boolean value. |
int64_value |
Optional. An int64 value. |
string_value |
Optional. A string value. |
account_id |
Optional. An account ID. |
dict_value |
Optional. A dictionary value. |
qualified_currency_value |
Optional. A qualified currency value. |
amount_value |
Optional. An amount value. |