Account

Rappresenta lo stato di un account nel ledger.

Rappresentazione 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.
}
Campi
sequenceNumber

string (int64 format)

Solo output. Il numero di sequenza di questo account. Questo numero aumenta con ogni transazione inviata da questo account.

publicKey

string (bytes format)

Solo output. La chiave pubblica principale associata a questo account, utilizzata per la verifica della firma.

Una stringa con codifica in base64.

roundId

string (int64 format)

Solo output. L'ID del round di esecuzione (simile all'altezza del blocco) in cui le informazioni sull'account fornite sono accurate.

comment

string

Solo output. Il commento dell'account memorizzato al momento della creazione dell'account.

Dettagli specifici in base al tipo di account. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
userDetails

object (UserDetails)

Solo output. Dettagli di un account utente standard.

accountManagerDetails

object (AccountManagerDetails)

Solo output. Dettagli di un account amministratore.

tokenManagerDetails

object (TokenManagerDetails)

Solo output. Dettagli di un account gestore di token.

contractTokenManagerDetails

object (ContractTokenManagerDetails)

Solo output. Dettagli di un account gestore dei token di contratto.

contractDetails

object (ContractDetails)

Solo output. Dettagli di un account di smart contract.

clearinghouseDetails

object (ClearingHouseDetails)

Solo output. Dettagli di un account di compensazione.

currencyOperatorDetails

object (CurrencyOperatorDetails)

Solo output. Dettagli di un account operatore di valuta.

platformOperatorDetails

object (PlatformOperatorDetails)

Solo output. Dettagli di un account operatore della piattaforma.

Fine dei campi che si escludono a vicenda.

UserDetails

Dettagli specifici di un account utente.

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

string

Solo output. L'ID dell'account manager di questo utente.

tokenManagerId

string

Solo output. L'ID del gestore dei token per questo utente.

roles[]

enum (Role)

Solo output. L'elenco dei ruoli concessi a questo account.

accountStatus

enum (AccountStatus)

Solo output. Lo stato di questo account.

balance

object (CurrencyValue)

Solo output. Il saldo dei token di questo account utente.

contractAccountFields

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

Solo output. I campi dell'account del contratto (ID contratto -> campi) per questo utente.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Ruolo

L'insieme di ruoli standard.

Enum
ROLE_UNSPECIFIED Ruolo non valido.
ROLE_PAYER Il ruolo che consente a un account di avviare una transazione di pagamento.
ROLE_RECEIVER Il ruolo che consente a un account di ricevere pagamenti.
ROLE_CONTRACT_CREATOR Il ruolo che consente a un account di eseguire il deployment dei contratti.
ROLE_CONTRACT_PARTICIPANT Il ruolo che consente a un account di interagire con i contratti di cui è stato eseguito il deployment.

AccountStatus

Lo stato di un account.

Enum
ACCOUNT_STATUS_UNSPECIFIED Stato non valido.
ACCOUNT_STATUS_ACTIVE Stato attivo in cui l'account può eseguire le operazioni consentite dai suoi ruoli.
ACCOUNT_STATUS_INACTIVE Stato non attivo in cui tutte le transazioni sull'account sono vietate. Il gestore dell'account può comunque inviare transazioni di gestione dell'account.

CurrencyValue

Rappresenta un importo in valuta (ovvero denaro). Tieni presente che la valuta denominata non è inclusa in questo messaggio. La valuta pertinente viene decisa dall'account che invia la transazione. A ogni account è associata una valuta immutabile univoca.

Rappresentazione JSON
{
  "value": string
}
Campi
value

string (int64 format)

Obbligatorio. Il numero di unità minori della valuta.

Questo valore minimo valido è denominato "unità secondaria" ed è specificato nello standard ISO 4217. Ad esempio, per USD, il valore sarà il numero di centesimi e per GBP sarà il numero di pence. Per lo yen giapponese, che non ha un'unità secondaria, sarà il numero di yen.

Campi

Una mappa di campi (nome campo -> valore) di un contratto utilizzata per rappresentare i campi del contratto o dell'account.

Rappresentazione JSON
{
  "fields": {
    string: {
      object (Value)
    },
    ...
  }
}
Campi
fields

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

Solo output. La mappa dei nomi dei campi e dei relativi valori.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Valore

Un valore concreto di un determinato tipo.

Rappresentazione 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.
}
Campi
Il valore effettivo. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
noneValue

enum (NoneValue)

Facoltativo. Rappresenta un valore None.

boolValue

boolean

Facoltativo. Un valore booleano.

int64Value

string (int64 format)

Facoltativo. Un valore int64.

stringValue

string

Facoltativo. Un valore di stringa.

dictValue

object (DictValue)

Facoltativo. Un valore del dizionario.

contractValue

object (ContractValue)

Facoltativo. Un riferimento al contratto.

listValue

object (ListValue)

Facoltativo. Un valore di elenco.

qualifiedCurrencyValue

object (QualifiedCurrencyValue)

Facoltativo. Un valore di valuta qualificato.

accountValue

object (AccountValue)

Facoltativo. Un valore dell'account.

amountValue

object (AmountValue)

Facoltativo. Un valore dell'importo.

Fine dei campi che si escludono a vicenda.

NoneValue

Un'enumerazione singleton per rappresentare il valore None.

Enum
NONE_VALUE_UNSPECIFIED Il valore None.

DictValue

Gli indici mappano la chiave al valore. Ad esempio, il tasto keys[0] corrisponde a values[0].

Rappresentazione 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.
}
Campi
Ogni chiave può essere di un solo tipo. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
boolKeys

object (BoolList)

Facoltativo. Un elenco di chiavi booleane.

stringKeys

object (StringList)

Facoltativo. Un elenco di chiavi di stringa.

int64Keys

object (Int64List)

Facoltativo. Un elenco di chiavi int64.

genericKeys

object (RepeatedValue)

Facoltativo. Un elenco generico di chiavi.

Fine dei campi che si escludono a vicenda.
Ogni valore può essere di un solo tipo. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
boolValues

object (BoolList)

Facoltativo. Un elenco di valori booleani.

stringValues

object (StringList)

Facoltativo. Un elenco di valori di stringa.

int64Values

object (Int64List)

Facoltativo. Un elenco di valori int64.

genericValues

object (RepeatedValue)

Facoltativo. Un elenco generico di valori.

Fine dei campi che si escludono a vicenda.

BoolList

Un elenco di valori booleani.

Rappresentazione JSON
{
  "values": [
    boolean
  ]
}
Campi
values[]

boolean

Facoltativo. I valori booleani.

StringList

Un elenco di stringhe.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string

Facoltativo. I valori di stringa.

Int64List

Un elenco di int64.

Rappresentazione JSON
{
  "values": [
    string
  ]
}
Campi
values[]

string (int64 format)

Facoltativo. I valori int64.

RepeatedValue

Un elenco generico di valori.

Rappresentazione JSON
{
  "values": [
    {
      object (Value)
    }
  ]
}
Campi
values[]

object (Value)

Facoltativo. I valori nell'elenco.

ContractValue

Rappresenta un riferimento al contratto.

Rappresentazione JSON
{
  "contractId": string
}
Campi
contractId

string

Obbligatorio. L'ID contratto.

ListValue

Un elenco di valori.

Rappresentazione 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.
}
Campi
Ogni valore può essere di un solo tipo. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
boolValues

object (BoolList)

Facoltativo. Un elenco di valori booleani.

stringValues

object (StringList)

Facoltativo. Un elenco di valori di stringa.

int64Values

object (Int64List)

Facoltativo. Un elenco di valori int64.

genericValues

object (RepeatedValue)

Facoltativo. Un elenco generico di valori.

Fine dei campi che si escludono a vicenda.

QualifiedCurrencyValue

Rappresenta una valuta nel libro mastro, qualificata dal relativo operatore di valuta.

Rappresentazione JSON
{
  "operatorId": string
}
Campi
operatorId

string

Obbligatorio. L'ID dell'operatore della valuta che amministra la valuta.

AccountValue

Un riferimento a un account nel ledger.

Questo riferimento viene sostituito con un oggetto gcul.Account completo dal runtime del ledger. Per maggiori dettagli, consulta la classe gcul.Account nel riferimento per il linguaggio GCULpy.

Rappresentazione JSON
{
  "accountId": string
}
Campi
accountId

string

Obbligatorio. L'ID account.

AmountValue

Rappresenta un importo denominato in una valuta.

Rappresentazione JSON
{
  "currency": {
    object (QualifiedCurrencyValue)
  },
  "amountValue": string
}
Campi
currency

object (QualifiedCurrencyValue)

Obbligatorio. La valuta dell'importo.

amountValue

string (int64 format)

Obbligatorio. Il numero di unità minori della valuta.

AccountManagerDetails

Dettagli specifici per un account manager.

Rappresentazione JSON
{
  "numAccounts": integer,
  "tokenManagerId": string
}
Campi
numAccounts

integer

Solo output. Il numero di account creati da questo account manager.

tokenManagerId

string

Solo output. L'ID del gestore dei token predefinito per gli account creati da questo account manager.

TokenManagerDetails

Dettagli specifici di un Token Manager.

Rappresentazione JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  }
}
Campi
issuanceLimit

object (CurrencyValue)

Solo output. La quantità di token che questo gestore di token è autorizzato a coniare.

issuedTokens

object (CurrencyValue)

Solo output. La quantità di token coniati da questo gestore di token. Questo numero aumenterà durante il conio e diminuirà durante il burning.

ContractTokenManagerDetails

Dettagli specifici di un Contract Token Manager.

Rappresentazione JSON
{
  "issuanceLimit": {
    object (CurrencyValue)
  },
  "issuedTokens": {
    object (CurrencyValue)
  },
  "previousContractTokenManagerId": string,
  "accountStatus": enum (AccountStatus)
}
Campi
issuanceLimit

object (CurrencyValue)

Solo output. La quantità di token per cui questo gestore di token di contratto è autorizzato a fornire supporto.

Poiché i gestori dei token del contratto non possono aumentare o diminuire il limite di emissione, questo deve essere uguale a issuedTokens.

issuedTokens

object (CurrencyValue)

Solo output. La quantità di token per cui questo gestore di token di contratto fornisce il supporto (ovvero la sua responsabilità totale).

Questo importo è pari alla somma di tutti i saldi detenuti nei contratti per la valuta in questione, più la sua posizione netta nella matrice di liquidazione.

previousContractTokenManagerId

string

Solo output. L'ID account del gestore dei token del contratto precedente per questa valuta. In questo modo si forma una traccia di audit che può essere attraversata per scoprire tutti i gestori precedenti. Se questo è il primo gestore di token di contratto per la valuta, il campo sarà vuoto.

accountStatus

enum (AccountStatus)

Solo output. Lo stato di questo account.

ContractDetails

Dettagli specifici di uno smart contract.

Rappresentazione JSON
{
  "ownerId": string,
  "code": string,
  "contractFields": {
    object (Fields)
  },
  "currencyBalances": {
    string: {
      object (CurrencyValue)
    },
    ...
  }
}
Campi
ownerId

string

Solo output. L'ID del proprietario del contratto.

code

string (bytes format)

Solo output. Il codice del contratto serializzato.

Una stringa con codifica in base64.

contractFields

object (Fields)

Solo output. I campi del contratto (nome campo -> valore) per questo contratto.

currencyBalances

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

Solo output. I saldi delle valute detenuti dal contratto (operatore di valuta -> saldo).

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ClearingHouseDetails

Dettagli specifici di un centro di compensazione.

Rappresentazione JSON
{
  "accountStatus": enum (AccountStatus),
  "balances": [
    {
      object (BalanceToSettle)
    }
  ],
  "settlementMode": enum (SettlementMode)
}
Campi
accountStatus

enum (AccountStatus)

Solo output. Lo stato di questo account.

balances[]

object (BalanceToSettle)

Solo output. I saldi che questa stanza di compensazione sta attualmente monitorando per la liquidazione.

settlementMode

enum (SettlementMode)

Solo output. La modalità di liquidazione di questa stanza di compensazione.

BalanceToSettle

Un saldo da liquidare tra due gestori di token.

Rappresentazione JSON
{
  "balancePayerId": string,
  "balanceReceiverId": string,
  "balance": {
    object (CurrencyValue)
  }
}
Campi
balancePayerId

string

Solo output. L'ID dell'account che deve saldare il saldo.

balanceReceiverId

string

Solo output. L'ID dell'account a cui è dovuto il saldo da liquidare.

balance

object (CurrencyValue)

Solo output. Il saldo da liquidare. Deve essere positivo.

SettlementMode

La modalità di liquidazione per una stanza di compensazione.

Enum
SETTLEMENT_MODE_UNSPECIFIED La modalità di liquidazione non è specificata. Questo valore non è valido e non deve essere utilizzato.
SETTLEMENT_MODE_DEFERRED La stanza di compensazione è responsabile del monitoraggio della proprietà dei fondi off-ledger e dell'emissione periodica di transazioni SettlementRequest per mantenere sincronizzati i saldi corrispondenti sul ledger.
SETTLEMENT_MODE_INSTANT La stanza di compensazione mantiene un unico pool di fondi e il ledger funge da fonte principale per l'allocazione di questi fondi tra i gestori dei token. Questa modalità di liquidazione può anche essere descritta come "liquidazione lorda istantanea".

CurrencyOperatorDetails

Dettagli specifici di un operatore di valuta.

Rappresentazione JSON
{
  "currencyCode": string,
  "accountStatus": enum (AccountStatus),
  "previousCurrencyOperatorId": string,
  "platformOperatorId": string,
  "contractTokenManagerId": string,
  "clearinghouseId": string
}
Campi
currencyCode

string

Solo output. L'ID della valuta associata a questo account, rappresentato dal codice ISO 4217 di 3 lettere.

accountStatus

enum (AccountStatus)

Solo output. Lo stato di questo account.

previousCurrencyOperatorId

string

Solo output. L'ID dell'operatore di valuta precedente che ha trasferito la proprietà del ruolo di operatore di valuta a questo account. Se questo è il primo operatore di valuta per la valuta, il campo sarà vuoto.

platformOperatorId

string

Solo output. L'ID dell'operatore della piattaforma che ha creato questo operatore di valuta.

contractTokenManagerId

string

Solo output. L'ID del gestore dei token del contratto associato a questo operatore di valuta.

clearinghouseId

string

Solo output. L'ID della stanza di compensazione associata a questo operatore di valuta.

PlatformOperatorDetails

Dettagli specifici di un operatore della piattaforma.

Rappresentazione JSON
{
  "accountStatus": enum (AccountStatus),
  "previousPlatformOperatorId": string
}
Campi
accountStatus

enum (AccountStatus)

Solo output. Lo stato di questo account.

previousPlatformOperatorId

string

Solo output. L'ID dell'operatore della piattaforma precedente che ha trasferito la proprietà del ruolo di operatore della piattaforma a questo account. Se questo è il primo operatore della piattaforma, il campo sarà vuoto.