Account

Représente l'état d'un compte dans le registre.

Représentation JSON
{
  "sequenceNumber": string,
  "publicKey": string,
  "roundId": string,
  "comment": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userDetails": {
    object (UserDetails)
  },
  "accountManagerDetails": {
    object (AccountManagerDetails)
  },
  "tokenManagerDetails": {
    object (TokenManagerDetails)
  },
  "contractTokenManagerDetails": {
    object (ContractTokenManagerDetails)
  },
  "contractDetails": {
    object (ContractDetails)
  },
  "clearinghouseDetails": {
    object (ClearingHouseDetails)
  },
  "currencyOperatorDetails": {
    object (CurrencyOperatorDetails)
  },
  "platformOperatorDetails": {
    object (PlatformOperatorDetails)
  }
  // End of mutually exclusive fields.
}
Champs
sequenceNumber

string (int64 format)

Uniquement en sortie. Numéro de séquence de ce compte. Ce nombre augmente à chaque transaction envoyée par ce compte.

publicKey

string (bytes format)

Uniquement en sortie. Clé publique principale associée à ce compte, utilisée pour la validation de la signature.

Chaîne encodée en base64.

roundId

string (int64 format)

Uniquement en sortie. ID du cycle d'exécution (semblable à la "hauteur" du bloc) auquel les informations de compte fournies sont exactes.

comment

string

Uniquement en sortie. Commentaire sur le compte stocké lors de la création de ce compte.

Informations spécifiques en fonction du type de compte. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
userDetails

object (UserDetails)

Uniquement en sortie. Détails d'un compte utilisateur standard.

accountManagerDetails

object (AccountManagerDetails)

Uniquement en sortie. Détails d'un compte administrateur.

tokenManagerDetails

object (TokenManagerDetails)

Uniquement en sortie. Détails d'un compte de gestionnaire de jetons.

contractTokenManagerDetails

object (ContractTokenManagerDetails)

Uniquement en sortie. Détails d'un compte de gestionnaire de jetons de contrat.

contractDetails

object (ContractDetails)

Uniquement en sortie. Détails d'un compte de contrat intelligent.

clearinghouseDetails

object (ClearingHouseDetails)

Uniquement en sortie. Informations sur un compte de chambre de compensation.

currencyOperatorDetails

object (CurrencyOperatorDetails)

Uniquement en sortie. Informations sur un compte d'opérateur de devise.

platformOperatorDetails

object (PlatformOperatorDetails)

Uniquement en sortie. Informations sur un compte d'opérateur de plate-forme.

Fin des champs mutuellement exclusifs.

UserDetails

Détails spécifiques à un compte utilisateur.

Représentation JSON
{
  "accountManagerId": string,
  "tokenManagerId": string,
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "balance": {
    object (CurrencyValue)
  },
  "contractAccountFields": {
    string: {
      object (Fields)
    },
    ...
  }
}
Champs
accountManagerId

string

Uniquement en sortie. ID du responsable de compte pour cet utilisateur.

tokenManagerId

string

Uniquement en sortie. ID du gestionnaire de jetons pour cet utilisateur.

roles[]

enum (Role)

Uniquement en sortie. La liste des rôles attribués à ce compte.

accountStatus

enum (AccountStatus)

Uniquement en sortie. État de ce compte.

balance

object (CurrencyValue)

Uniquement en sortie. Solde de jetons de ce compte utilisateur.

contractAccountFields

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

Uniquement en sortie. Champs du compte de contrat (ID de contrat -> champs) pour cet utilisateur.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Rôle

L'ensemble de rôles standard.

Enums
ROLE_UNSPECIFIED Rôle non valide.
ROLE_PAYER Rôle qui permet à un compte de lancer une transaction de paiement.
ROLE_RECEIVER Rôle permettant à un compte de recevoir des paiements.
ROLE_CONTRACT_CREATOR Rôle qui permet à un compte de déployer des contrats.
ROLE_CONTRACT_PARTICIPANT Rôle qui permet à un compte d'interagir avec les contrats déployés.

AccountStatus

État d'un compte.

Enums
ACCOUNT_STATUS_UNSPECIFIED État non valide.
ACCOUNT_STATUS_ACTIVE État actif dans lequel le compte peut effectuer les opérations autorisées par ses rôles.
ACCOUNT_STATUS_INACTIVE État inactif dans lequel toutes les transactions sur le compte sont interdites. Le responsable du compte peut toujours envoyer des transactions de gestion de compte.

CurrencyValue

Représente un montant (c'est-à-dire une somme d'argent). Notez que la devise n'est pas incluse dans ce message. La devise appropriée est déterminée par le compte qui envoie la transaction. Chaque compte est associé à une devise unique et immuable.

Représentation JSON
{
  "value": string
}
Champs
value

string (int64 format)

Obligatoire. Nombre d'unités mineures de la devise.

Cette plus petite unité valide est appelée "unité mineure" et est spécifiée dans la norme ISO 4217. Par exemple, pour l'USD, la valeur correspondra au nombre de cents, et pour la GBP, au nombre de pence. Pour le yen japonais, qui n'a pas d'unité mineure, il s'agira du nombre de yens.

Champs

Mappage des champs (nom du champ -> valeur) d'un contrat utilisé pour représenter les champs de contrat ou de compte.

Représentation JSON
{
  "fields": {
    string: {
      object (Value)
    },
    ...
  }
}
Champs
fields

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

Uniquement en sortie. Mappage des noms de champs à leurs valeurs.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Valeur

Valeur concrète d'un certain type.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "noneValue": enum (NoneValue),
  "boolValue": boolean,
  "int64Value": string,
  "stringValue": string,
  "dictValue": {
    object (DictValue)
  },
  "contractValue": {
    object (ContractValue)
  },
  "listValue": {
    object (ListValue)
  },
  "qualifiedCurrencyValue": {
    object (QualifiedCurrencyValue)
  },
  "accountValue": {
    object (AccountValue)
  },
  "amountValue": {
    object (AmountValue)
  }
  // End of mutually exclusive fields.
}
Champs
La valeur réelle. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
noneValue

enum (NoneValue)

Facultatif. Représente une valeur None.

boolValue

boolean

Facultatif. Une valeur booléenne.

int64Value

string (int64 format)

Facultatif. Une valeur int64.

stringValue

string

Facultatif. Valeur de chaîne.

dictValue

object (DictValue)

Facultatif. Valeur de dictionnaire.

contractValue

object (ContractValue)

Facultatif. Une référence de contrat.

listValue

object (ListValue)

Facultatif. Valeur de liste.

qualifiedCurrencyValue

object (QualifiedCurrencyValue)

Facultatif. Une valeur monétaire qualifiée.

accountValue

object (AccountValue)

Facultatif. Une valeur au niveau du compte.

amountValue

object (AmountValue)

Facultatif. Valeur du montant.

Fin des champs mutuellement exclusifs.

NoneValue

Énumération singleton pour représenter la valeur None.

Enums
NONE_VALUE_UNSPECIFIED Valeur "None".

DictValue

Les indices mappent la clé à la valeur. Par exemple, la clé keys[0] correspond à values[0].

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolKeys": {
    object (BoolList)
  },
  "stringKeys": {
    object (StringList)
  },
  "int64Keys": {
    object (Int64List)
  },
  "genericKeys": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "genericValues": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.
}
Champs
Chaque clé ne peut être que d'un seul genre. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
boolKeys

object (BoolList)

Facultatif. Liste de clés booléennes.

stringKeys

object (StringList)

Facultatif. Liste de clés de chaîne.

int64Keys

object (Int64List)

Facultatif. Liste de clés int64.

genericKeys

object (RepeatedValue)

Facultatif. Liste générique de clés.

Fin des champs mutuellement exclusifs.
Chaque valeur ne peut être que d'un seul type. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
boolValues

object (BoolList)

Facultatif. Liste de valeurs booléennes.

stringValues

object (StringList)

Facultatif. Liste de valeurs de chaîne.

int64Values

object (Int64List)

Facultatif. Liste de valeurs int64.

genericValues

object (RepeatedValue)

Facultatif. Liste générique de valeurs en tant que valeurs.

Fin des champs mutuellement exclusifs.

BoolList

Liste de valeurs booléennes.

Représentation JSON
{
  "values": [
    boolean
  ]
}
Champs
values[]

boolean

Facultatif. Valeurs booléennes.

StringList

Une liste de chaînes.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string

Facultatif. Valeurs de chaîne.

Int64List

Liste d'int64.

Représentation JSON
{
  "values": [
    string
  ]
}
Champs
values[]

string (int64 format)

Facultatif. Valeurs int64.

RepeatedValue

Liste générique de valeurs.

Représentation JSON
{
  "values": [
    {
      object (Value)
    }
  ]
}
Champs
values[]

object (Value)

Facultatif. Valeurs de la liste.

ContractValue

Représente une référence de contrat.

Représentation JSON
{
  "contractId": string
}
Champs
contractId

string

Obligatoire. ID du contrat.

ListValue

Liste de valeurs.

Représentation JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "boolValues": {
    object (BoolList)
  },
  "stringValues": {
    object (StringList)
  },
  "int64Values": {
    object (Int64List)
  },
  "genericValues": {
    object (RepeatedValue)
  }
  // End of mutually exclusive fields.
}
Champs
Chaque valeur ne peut être que d'un seul type. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
boolValues

object (BoolList)

Facultatif. Liste de valeurs booléennes.

stringValues

object (StringList)

Facultatif. Liste de valeurs de chaîne.

int64Values

object (Int64List)

Facultatif. Liste de valeurs int64.

genericValues

object (RepeatedValue)

Facultatif. Liste générique de valeurs.

Fin des champs mutuellement exclusifs.

QualifiedCurrencyValue

Représente une devise dans le registre, qui est qualifiée par son opérateur de devise.

Représentation JSON
{
  "operatorId": string
}
Champs
operatorId

string

Obligatoire. ID de l'opérateur de devise qui gère la devise.

AccountValue

Référence à un compte dans le registre.

Cette référence est remplacée par un objet gcul.Account complet par l'environnement d'exécution du registre. Pour en savoir plus, consultez la classe gcul.Account dans la documentation de référence du langage GCULpy.

Représentation JSON
{
  "accountId": string
}
Champs
accountId

string

Obligatoire. ID de compte.

AmountValue

Représente un montant libellé dans une devise.

Représentation JSON
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
Champs
currency

object (QualifiedCurrencyValue)

Obligatoire. Devise du montant.

amountValue

string (int64 format)

Obligatoire. Nombre d'unités mineures de la devise.

AccountManagerDetails

Informations spécifiques à un responsable de compte.

Représentation JSON
{
  "numAccounts": integer,
  "tokenManagerId": string
}
Champs
numAccounts

integer

Uniquement en sortie. Nombre de comptes créés par ce responsable de compte.

tokenManagerId

string

Uniquement en sortie. ID du gestionnaire de jetons par défaut pour les comptes créés par ce gestionnaire de compte.

TokenManagerDetails

Détails spécifiques à un gestionnaire de jetons.

Représentation JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  }
}
Champs
issuanceLimit

object (CurrencyValue)

Uniquement en sortie. Nombre de jetons que ce gestionnaire de jetons est autorisé à émettre.

issuedTokens

object (CurrencyValue)

Uniquement en sortie. Quantité de jetons émis par ce gestionnaire de jetons. Ce nombre augmente lors de la frappe et diminue lors de la destruction.

ContractTokenManagerDetails

Détails spécifiques à un gestionnaire de jetons de contrat.

Représentation JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  },
  "previousContractTokenManagerId": string,
  "accountStatus": enum (AccountStatus)
}
Champs
issuanceLimit

object (CurrencyValue)

Uniquement en sortie. Nombre de jetons que ce gestionnaire de jetons de contrat est autorisé à garantir.

Étant donné que les gestionnaires de jetons de contrat ne peuvent pas augmenter ni diminuer leur limite d'émission, celle-ci doit être égale à issuedTokens.

issuedTokens

object (CurrencyValue)

Uniquement en sortie. Nombre de jetons pour lesquels ce gestionnaire de jetons de contrat fournit une garantie (c'est-à-dire sa responsabilité totale).

Il correspond à la somme de tous les soldes détenus dans les contrats pour sa devise, plus sa position nette dans la matrice de règlement.

previousContractTokenManagerId

string

Uniquement en sortie. ID de compte du précédent gestionnaire de jetons de contrat pour cette devise. Cela forme une piste d'audit qui peut être parcourue pour découvrir tous les administrateurs précédents. S'il s'agit du premier gestionnaire de jetons de contrat pour la devise, ce champ sera vide.

accountStatus

enum (AccountStatus)

Uniquement en sortie. État de ce compte.

ContractDetails

Détails spécifiques à un contrat intelligent.

Représentation JSON
{
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
Champs
ownerId

string

Uniquement en sortie. ID du propriétaire du contrat.

code

string (bytes format)

Uniquement en sortie. Code du contrat sérialisé.

Chaîne encodée en base64.

contractFields

object (Fields)

Uniquement en sortie. Champs du contrat (nom du champ -> valeur) pour ce contrat.

currencyBalances

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

Uniquement en sortie. Soldes de devises détenus par le contrat (opérateur de devise -> solde).

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClearingHouseDetails

Informations spécifiques à un centre d'échange.

Représentation JSON
{
  "accountStatus": enum (AccountStatus),
  "balances": [
    {
      object (BalanceToSettle)
    }
  ],
  "settlementMode": enum (SettlementMode)
}
Champs
accountStatus

enum (AccountStatus)

Uniquement en sortie. État de ce compte.

balances[]

object (BalanceToSettle)

Uniquement en sortie. Soldes que cette chambre de compensation suit actuellement pour le règlement.

settlementMode

enum (SettlementMode)

Uniquement en sortie. Mode de règlement de cette chambre de compensation.

BalanceToSettle

Un solde à régler entre deux gestionnaires de jetons.

Représentation JSON
{
  "balancePayerId": string,
  "balanceReceiverId": string,
  "balance": {
    object (CurrencyValue)
  }
}
Champs
balancePayerId

string

Uniquement en sortie. ID du compte qui doit régler le solde.

balanceReceiverId

string

Uniquement en sortie. ID du compte auquel le solde à régler est dû.

balance

object (CurrencyValue)

Uniquement en sortie. Solde à régler. Doit être positive.

SettlementMode

Mode de règlement d'une chambre de compensation.

Enums
SETTLEMENT_MODE_UNSPECIFIED Le mode de règlement n'est pas spécifié. Cette valeur n'est pas valide et ne doit pas être utilisée.
SETTLEMENT_MODE_DEFERRED La chambre de compensation est chargée de suivre la propriété des fonds hors registre et d'émettre régulièrement des transactions SettlementRequest pour maintenir la synchronisation des soldes correspondants sur le registre.
SETTLEMENT_MODE_INSTANT La chambre de compensation gère un pool de fonds unique, et le registre sert de source de référence pour l'allocation de ces fonds entre les gestionnaires de jetons. Ce mode de règlement peut également être décrit comme un "règlement brut instantané".

CurrencyOperatorDetails

Informations spécifiques à un opérateur de devises.

Représentation JSON
{
  "currencyCode": string,
  "accountStatus": enum (AccountStatus),
  "previousCurrencyOperatorId": string,
  "platformOperatorId": string,
  "contractTokenManagerId": string,
  "clearinghouseId": string
}
Champs
currencyCode

string

Uniquement en sortie. ID de la devise associée à ce compte, représenté par le code ISO 4217 à trois lettres.

accountStatus

enum (AccountStatus)

Uniquement en sortie. État de ce compte.

previousCurrencyOperatorId

string

Uniquement en sortie. ID de l'opérateur de devise précédent qui a transféré la propriété du rôle d'opérateur de devise à ce compte. S'il s'agit du premier opérateur de devise pour la devise, ce champ sera vide.

platformOperatorId

string

Uniquement en sortie. ID de l'opérateur de plate-forme qui a créé cet opérateur de devise.

contractTokenManagerId

string

Uniquement en sortie. ID du gestionnaire de jetons de contrat associé à cet opérateur de devise.

clearinghouseId

string

Uniquement en sortie. ID de la chambre de compensation associée à cet opérateur de devise.

PlatformOperatorDetails

Détails spécifiques à un opérateur de plate-forme.

Représentation JSON
{
  "accountStatus": enum (AccountStatus),
  "previousPlatformOperatorId": string
}
Champs
accountStatus

enum (AccountStatus)

Uniquement en sortie. État de ce compte.

previousPlatformOperatorId

string

Uniquement en sortie. ID de l'opérateur de plate-forme précédent qui a transféré la propriété du rôle d'opérateur de plate-forme à ce compte. S'il s'agit du premier opérateur de plate-forme, ce champ sera vide.