ClientTransaction

Rappresenta una transazione avviata da un cliente.

Rappresentazione JSON
{
  "senderId": string,
  "otherSignatoryIds": [
    string
  ],
  "sequenceNumber": string,
  "chainedUnit": boolean,
  "network": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "operational": {
    "@type": string,
    field1: ...,
    ...
  },
  "transferPlatformOperatorTransaction": {
    object (TransferPlatformOperator)
  },
  "createCurrencyOperatorTransaction": {
    object (CreateCurrencyOperator)
  },
  "transferCurrencyOperatorTransaction": {
    object (TransferCurrencyOperator)
  },
  "createClearinghouseTransaction": {
    object (CreateClearinghouse)
  },
  "createAccountManagerTransaction": {
    object (CreateAccountManager)
  },
  "createTokenManagerTransaction": {
    object (CreateTokenManager)
  },
  "increaseTokenIssuanceLimitTransaction": {
    object (IncreaseTokenIssuanceLimit)
  },
  "decreaseTokenIssuanceLimitTransaction": {
    object (DecreaseTokenIssuanceLimit)
  },
  "settlementRequestTransaction": {
    object (SettlementRequest)
  },
  "mintTransaction": {
    object (Mint)
  },
  "burnTransaction": {
    object (Burn)
  },
  "createAccountTransaction": {
    object (CreateAccount)
  },
  "deactivateAccountTransaction": {
    object (DeactivateAccount)
  },
  "activateAccountTransaction": {
    object (ActivateAccount)
  },
  "addRolesTransaction": {
    object (AddRoles)
  },
  "removeRolesTransaction": {
    object (RemoveRoles)
  },
  "changeAccountManagerTransaction": {
    object (ChangeAccountManager)
  },
  "transferTransaction": {
    object (Transfer)
  },
  "createContractTransaction": {
    object (CreateContract)
  },
  "grantContractPermissionsTransaction": {
    object (GrantContractPermissions)
  },
  "invokeContractMethodTransaction": {
    object (InvokeContractMethod)
  },
  "createContractTokenManagerTransaction": {
    object (CreateContractTokenManager)
  },
  "transferContractTokenManagerTransaction": {
    object (TransferContractTokenManager)
  },
  "removeSigningPublicKeyTransaction": {
    object (RemoveSigningPublicKey)
  },
  "replaceSigningPublicKeyTransaction": {
    object (ReplaceSigningPublicKey)
  },
  "chain": {
    object (TransactionChain)
  }
  // End of mutually exclusive fields.
}
Campi
senderId

string

Obbligatorio. L'ID dell'account che invia questa transazione.

otherSignatoryIds[]

string

Facoltativo. Gli ID degli account che, oltre al mittente, hanno firmato questa transazione.

sequenceNumber

string (int64 format)

Obbligatorio. Un numero univoco che aumenta monotonicamente, a partire da 0.

Questo numero deve essere aumentato di uno per ogni transazione inviata in precedenza alla rete dallo stesso mittente della transazione.

Tieni presente che non sono incluse le unità di transazione che potrebbero essere state inviate nell'ambito di una catena, che non devono impostare un numero di sequenza. Tuttavia, include il mittente della catena di transazioni stessa.

chainedUnit

boolean

Deve essere impostato su true se questa transazione del cliente fa parte di una catena di transazioni. In caso contrario, deve essere impostato su false.

Questo è necessario per evitare che una transazione firmata destinata a far parte di una catena venga inviata da sola.

network

string

Obbligatorio. Il nome della rete a cui è destinata questa transazione, ad esempio user-testing. La transazione verrà rifiutata se il nome non corrisponde a quello del circuito che la elabora.

Il messaggio specifico della transazione del client. Di seguito è riportato un elenco di campi che si escludono a vicenda. In una risposta verrà impostato al massimo uno dei campi:
operational

object

Facoltativo. Un messaggio transazionale operativo. Tieni presente che questa notifica può essere inviata solo dall'operatore della piattaforma. Deve essere uno dei seguenti:

Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type" contenente un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }.

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

Facoltativo. Messaggio per il trasferimento del ruolo di operatore della piattaforma a un nuovo account.

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

Facoltativo. Messaggio per la creazione di un nuovo operatore di valuta.

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

Facoltativo. Messaggio per il trasferimento del ruolo di operatore di valuta a un nuovo account.

createClearinghouseTransaction

object (CreateClearinghouse)

Facoltativo. Messaggio per la creazione di una nuova stanza di compensazione.

createAccountManagerTransaction

object (CreateAccountManager)

Facoltativo. Messaggio per la creazione di un nuovo account manager.

createTokenManagerTransaction

object (CreateTokenManager)

Facoltativo. Messaggio per la creazione di un nuovo gestore di token associato alla valuta dell'operatore che invia la richiesta.

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

Facoltativo. Notifica alla rete che l'account di destinazione ha depositato fondi di riserva e aumenta il limite di emissione di token.

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

Facoltativo. Notifica alla rete che l'account di destinazione desidera prelevare i fondi di riserva e riduce il limite di emissione di token.

settlementRequestTransaction

object (SettlementRequest)

Facoltativo. Messaggio per avviare un'operazione di liquidazione.

mintTransaction

object (Mint)

Facoltativo. Messaggio per il conio di token di valuta e il loro trasferimento a un account.

burnTransaction

object (Burn)

Facoltativo. Messaggio per il burn dei token di valuta da un account.

createAccountTransaction

object (CreateAccount)

Facoltativo. Messaggio per la creazione di un nuovo account utente.

deactivateAccountTransaction

object (DeactivateAccount)

Facoltativo. Messaggio per la disattivazione di un account utente.

activateAccountTransaction

object (ActivateAccount)

Facoltativo. Messaggio per l'attivazione di un account utente.

addRolesTransaction

object (AddRoles)

Facoltativo. Messaggio per l'aggiunta di ruoli a un account.

removeRolesTransaction

object (RemoveRoles)

Facoltativo. Messaggio per la rimozione dei ruoli da un account.

changeAccountManagerTransaction

object (ChangeAccountManager)

Facoltativo. Messaggio per la modifica dell'account manager di un account.

transferTransaction

object (Transfer)

Facoltativo. Messaggio per il trasferimento di token da un account utente a un altro.

createContractTransaction

object (CreateContract)

Facoltativo. Messaggio per la creazione di un nuovo contratto nel ledger.

grantContractPermissionsTransaction

object (GrantContractPermissions)

Facoltativo. Messaggio per la concessione delle autorizzazioni a un contratto.

invokeContractMethodTransaction

object (InvokeContractMethod)

Facoltativo. Messaggio per richiamare l'esecuzione di un metodo del contratto.

createContractTokenManagerTransaction

object (CreateContractTokenManager)

Facoltativo. Messaggio per la creazione di un nuovo gestore di token associato alla valuta dell'operatore che invia la richiesta.

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

Facoltativo. Messaggio per il trasferimento del ruolo di gestore dei token per una valuta da un account a un altro.

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

Facoltativo. Messaggio per la rimozione di una chiave di firma dell'account.

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

Facoltativo. Messaggio per la sostituzione di una chiave di firma dell'account.

chain

object (TransactionChain)

Facoltativo. Messaggio per una catena di transazioni che include più unità di transazione da eseguire in sequenza.

Fine dei campi che si escludono a vicenda.

TransferPlatformOperator

Trasferisce la proprietà dell'operatore della piattaforma a un nuovo account. Il mittente deve essere l'operatore della piattaforma corrente.

Se la transazione ha esito positivo, disattiva l'operatore della piattaforma corrente e l'ID dell'account appena creato viene restituito come evento nel TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo operatore della piattaforma. Questa chiave pubblica verrà associata all'operatore della piattaforma e archiviata nel registro. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account dell'operatore della piattaforma.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

CreateCurrencyOperator

Crea un nuovo operatore di valuta. Il mittente deve essere l'operatore della piattaforma.

Se la transazione ha esito positivo, l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Questa transazione può introdurre una nuova valuta nel sistema o creare un operatore di valuta aggiuntivo per una valuta esistente. Se un operatore di valuta esistente deve essere sostituito, deve essere inviata la transazione TransferCurrencyOperator.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo operatore di valuta. Questa chiave pubblica verrà associata all'operatore di valuta e archiviata nel ledger. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account dell'operatore.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

currencyCode

string

Obbligatorio. La valuta fiat associata a questo operatore, rappresentata come codice ISO 4217 di 3 lettere maiuscole. Considerate informazioni pubbliche.

TransferCurrencyOperator

Trasferisce la proprietà dell'operatore di valuta specificato a un nuovo account. Il mittente deve essere l'operatore della piattaforma.

Se la transazione va a buon fine, disattiva l'operatore di valuta specificato e l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo operatore di valuta. Questa chiave pubblica verrà associata all'operatore di valuta e archiviata nel ledger. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account dell'operatore di valuta.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

currencyOperatorId

string

Obbligatorio. L'ID dell'operatore di valuta da sostituire. Deve essere attivo. Il valore è limitato a 60 caratteri.

CreateClearinghouse

Crea una nuova stanza di compensazione. Il mittente deve essere un operatore di valuta.

Se la transazione ha esito positivo, l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica della nuova stanza di compensazione. Tieni presente che questa non è la chiave pubblica dell'operatore. Questa chiave pubblica verrà associata alla stanza di compensazione e archiviata nel registro. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account della stanza di compensazione.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

settlementMode

enum (SettlementMode)

Obbligatorio. La modalità di liquidazione per questa stanza di compensazione. Obbligatorio. Considerate informazioni pubbliche.

CreateAccountManager

Crea un nuovo account manager. Il mittente deve essere un operatore di valuta.

Se la transazione ha esito positivo, l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo account manager. Tieni presente che questa non è la chiave pubblica dell'operatore. Questa chiave pubblica verrà associata all'account manager e archiviata nel ledger. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account dell'account manager.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

defaultTokenManagerId

string

Facoltativo. L'ID del gestore dei token predefinito per gli account che verranno creati da questo gestore. Il valore è limitato a 60 caratteri.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

CreateTokenManager

Crea un nuovo gestore di token associato alla valuta dell'operatore che invia la richiesta. Il mittente deve essere un operatore di valuta.

Se la transazione ha esito positivo, l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo gestore di token. Tieni presente che questa non è la chiave pubblica dell'operatore. Questa chiave pubblica verrà associata al gestore dei token e archiviata nel registro. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account del gestore dei token.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

IncreaseTokenIssuanceLimit

Transazioni per l'emissione e il conio di token. Notifica alla rete che l'account di destinazione ha depositato fondi di riserva e aumenta il limite di emissione di token. Il mittente deve essere un account di compensazione.

Rappresentazione JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campi
tokenManagerId

string

Obbligatorio. L'ID dell'account istituzionale di cui deve essere aumentato il limite di conio. Questo account deve essere un gestore di token affinché la transazione sia valida.

amount

object (CurrencyValue)

Obbligatorio. L'importo di cui aumentare il limite. L'importo deve essere positivo.

DecreaseTokenIssuanceLimit

Notifica alla rete che l'account di destinazione desidera prelevare i fondi di riserva e riduce il limite di emissione di token. Il mittente deve essere un account di compensazione.

Tieni presente che questa transazione deve essere finalizzata correttamente prima che i fondi di riserva possano essere ritirati. Questo è necessario perché è possibile che la transazione non vada a buon fine (ad esempio, se l'importo coniato è già superiore al limite ridotto richiesto).

Rappresentazione JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campi
tokenManagerId

string

Obbligatorio. L'ID dell'account istituzionale il cui limite di conio deve essere ridotto. Questo account deve essere un gestore di token affinché la transazione sia valida.

amount

object (CurrencyValue)

Obbligatorio. L'importo di cui ridurre il limite. L'importo deve essere positivo. La transazione non andrà a buon fine se il limite ridotto è inferiore ai token attualmente emessi.

SettlementRequest

Avvia un'operazione di liquidazione tra due gestori di token. Il mittente deve essere un account di compensazione.

Nel SettlementMode differito in cui la stanza di compensazione ha la custodia dei fondi del gestore di token, questa è l'unica transazione che deve essere inviata per eseguire una compensazione tra i due gestori di token.

Rappresentazione JSON
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
Campi
payerId

string

Obbligatorio. Immutabile. L'ID account della parte che deve effettuare il trasferimento di fondi.

beneficiaryId

string

Obbligatorio. Immutabile. L'ID account della parte che riceverà i fondi.

balance

object (CurrencyValue)

Obbligatorio. Immutabile. Il saldo dei token emessi che devono essere trasferiti dall'account payer all'account beneficiary nel registro.

roundId

string (int64 format)

Obbligatorio. Immutabile. L'ID del round in cui è stato calcolato l'importo della liquidazione.

Mint

Conia token di valuta e li trasferisce a un account specificato. Il mittente deve essere un gestore di token.

Rappresentazione JSON
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
Campi
mintAmount

object (CurrencyValue)

Obbligatorio. L'importo da coniare. L'importo deve essere tale che i token totali coniati dal gestore dei token non superino il limite di conio. Se l'importo è superiore, la transazione deve essere rifiutata.

beneficiaryId

string

Obbligatorio. L'ID dell'account a cui deve essere trasferito l'importo coniato. L'account di destinazione deve avere l'ROLE_RECEIVER abilitato.

CreateAccount

Crea un nuovo account utente. Il mittente deve essere un account manager.

Se la transazione ha esito positivo, l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del proprietario dell'account. Tieni presente che questa non è la chiave pubblica del mittente. Questa è la chiave pubblica del nuovo proprietario dell'account e verrà archiviata nel ledger. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account creato.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

roles[]

enum (Role)

Facoltativo. L'elenco dei ruoli da concedere a questo account.

accountStatus

enum (AccountStatus)

Facoltativo. Lo stato dell'account da creare. Per impostazione predefinita, lo stato di un account appena creato sarà ACCOUNT_STATUS_ACTIVE.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

tokenManagerId

string

Facoltativo. L'ID del gestore dei token per questo account. Questo campo è facoltativo e, se non viene fornito, verrà utilizzato il gestore di token predefinito associato all'account manager (ovvero il mittente di questa transazione). Il valore è limitato a 60 caratteri.

DeactivateAccount

Contrassegna un account come ACCOUNT_STATUS_INACTIVE. Il mittente deve essere l'account manager dell'account da disattivare.

Ciò significa che il proprietario dell'account non potrà effettuare transazioni sull'account, indipendentemente dai ruoli.

Rappresentazione JSON
{
  "accountId": string
}
Campi
accountId

string

Obbligatorio. L'ID dell'account da disattivare. Il valore è limitato a 60 caratteri.

RemoveRoles

Rimuove i ruoli specificati dall'account. Il mittente deve essere l'account manager dell'account da modificare.

Rappresentazione JSON
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
Campi
accountId

string

Obbligatorio. L'ID dell'account da modificare. Il valore è limitato a 60 caratteri.

roles[]

enum (Role)

Obbligatorio. I ruoli da rimuovere.

Trasferisci

Trasferisce i token da un account utente a un altro. Il mittente deve essere un account utente normale, non un account con privilegi come un gestore di token o un account manager.

Inoltre, il mittente della transazione deve avere l'autorizzazione ROLE_PAYER abilitata, mentre il destinatario deve avere l'autorizzazione ROLE_RECEIVER abilitata.

Rappresentazione JSON
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campi
beneficiaryId

string

Obbligatorio. L'ID dell'account che riceve i token.

amount

object (CurrencyValue)

Obbligatorio. L'importo da trasferire. L'importo deve essere positivo.

CreateContract

Archivia un contratto nel ledger.

Rappresentazione JSON
{
  "contractBytes": string,
  "initArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "contractComment": string
}
Campi
contractBytes

string (bytes format)

Byte del contratto serializzato.

Una stringa con codifica in base64.

initArguments

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

Facoltativo. Immutabile. Contiene gli argomenti per il metodo __init__.

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

contractComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma archiviato nel registro del contratto. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

GrantContractPermissions

Concede le autorizzazioni al contratto da parte del mittente della transazione. Se viene specificato delegateContractId, le autorizzazioni e lo spazio di archiviazione corrispondente vengono concessi esclusivamente al contratto delegateContractId, non al mittente.

Tieni presente che non è supportata la revoca delle autorizzazioni.

Rappresentazione JSON
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
Campi
contractId

string

Obbligatorio. L'ID del contratto a cui vengono concesse le autorizzazioni.

permissions[]

enum (ContractPermission)

Le autorizzazioni da concedere.

delegateContractId

string

Facoltativo. L'ID contratto per cui vengono concesse le autorizzazioni. Il mittente della transazione deve essere il proprietario di questo contratto.

InvokeContractMethod

Richiama l'esecuzione di un metodo del contratto.

Rappresentazione JSON
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
Campi
contractId

string

Obbligatorio. L'ID del contratto da eseguire.

methodName

string

Nome del metodo da eseguire.

methodArguments

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

Facoltativo. Immutabile. Contiene gli argomenti da passare al metodo.

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

payment

object (CurrencyValue)

L'importo da pagare. Deve essere maggiore di zero quando si richiamano metodi pagabili e zero per quelli non pagabili.

CreateContractTokenManager

Crea un nuovo gestore di token di contratto associato alla valuta dell'operatore che invia la richiesta. Il mittente deve essere un operatore di valuta. Il gestore dei token del contratto appena creato è attivo per impostazione predefinita. Se il gestore del token del contratto deve essere sostituito, deve essere inviata la transazione TransferContractTokenManager. Se esiste un altro gestore di token di contratto associato alla stessa valuta, questa transazione non andrà a buon fine.

A differenza dei normali gestori di token, i gestori di token di contratto non sono autorizzati a eseguire transazioni come mint o burn. Tuttavia, possono partecipare alle operazioni di liquidazione.

Se la transazione ha esito positivo, l'ID dell'account appena creato viene restituito come evento nel campo TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo gestore dei token del contratto. Tieni presente che questa non è la chiave pubblica dell'operatore. Questa chiave pubblica verrà associata al gestore dei token del contratto e archiviata nel ledger. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account del gestore dei token del contratto.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

TransferContractTokenManager

Trasferisce la proprietà del gestore dei token del contratto a un nuovo account. Il mittente deve essere l'operatore della valuta corrente.

Se la transazione va a buon fine, disattiva il gestore dei token del contratto corrente per la valuta e l'ID dell'account appena creato viene restituito come evento nel TransactionCertificate della transazione finalizzata.

Rappresentazione JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Campi
publicKey

string (bytes format)

Obbligatorio. La chiave pubblica del nuovo gestore dei token del contratto. Tieni presente che questa non è la chiave pubblica dell'operatore. Questa è la chiave pubblica del nuovo gestore dei token del contratto e verrà archiviata nel ledger. Verrà utilizzata per convalidare la firma delle transazioni provenienti dall'account del gestore dei token del contratto.

Il formato della chiave pubblica è definito dal campo keyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

accountComment

string

Facoltativo. Immutabile. Un campo di commento opaco che non viene interpretato dal sistema, ma memorizzato nel registro dell'account. Considerate informazioni pubbliche. La lunghezza massima è di 128 caratteri. Può essere lasciato vuoto. Una volta creato, il campo è immutabile.

keyFormat

enum (KeyFormat)

Facoltativo. Immutabile. Il formato della chiave pubblica. Se non specificato, il valore predefinito è un keyset serializzato binario nel formato Tink wire. Considerate informazioni pubbliche.

RemoveSigningPublicKey

Rimuove la chiave di firma dell'account dallo slot specificato. L'altro slot non deve essere vuoto e deve contenere la chiave utilizzata per firmare ClientTransaction.

Rappresentazione JSON
{
  "keySlot": enum (KeySlot)
}
Campi
keySlot

enum (KeySlot)

Obbligatorio. Lo slot della chiave da cui rimuoviamo la chiave. Se questo campo è già vuoto, la transazione non andrà a buon fine.

ReplaceSigningPublicKey

Sostituisce la chiave di firma dell'account nello slot specificato. L'altro slot non deve essere vuoto e deve contenere la chiave utilizzata per firmare ClientTransaction.

Rappresentazione JSON
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
Campi
keySlot

enum (KeySlot)

Obbligatorio. Lo slot della chiave in cui stiamo sostituendo la chiave.

newPublicKey

string (bytes format)

Obbligatorio. La nuova chiave pubblica, che sostituirà la chiave pubblica nello slot specificato.

Il formato della chiave pubblica è definito dal campo newKeyFormat. Considerate informazioni pubbliche.

Una stringa con codifica in base64.

newKeyFormat

enum (KeyFormat)

Obbligatorio. Il formato della nuova chiave pubblica. Per un elenco dei formati supportati, consulta la definizione di KeyFormat. Considerate informazioni pubbliche.

TransactionChain

Una catena di transazioni che include più unità di transazione da eseguire in sequenza.

Le unità verranno eseguite in sequenza, nell'ordine in cui sono elencate. Se tutte le unità hanno esito positivo, i loro effetti cumulativi verranno applicati in modo atomico allo stato del mondo. In caso contrario, se una di queste operazioni non va a buon fine, l'intera catena non andrà a buon fine e nessuno dei suoi effetti verrà applicato.

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

string (bytes format)

Le singole unità della catena. Ogni unità deve essere un SignedTransaction serializzato.

Tieni presente che i byte serializzati sono necessari per determinare i byte da firmare per la catena stessa.

Una stringa con codifica in base64.