ClientTransaction

Représente une transaction initiée par un client.

Représentation 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.
}
Champs
senderId

string

Obligatoire. ID du compte qui envoie cette transaction.

otherSignatoryIds[]

string

Facultatif. ID des comptes qui, en plus de l'expéditeur, ont signé cette transaction.

sequenceNumber

string (int64 format)

Obligatoire. Un nombre unique qui augmente de façon monotone, en commençant par 0.

Ce nombre doit être augmenté de un pour chaque transaction précédemment envoyée au réseau par le même expéditeur de transaction.

Notez que cela n'inclut pas les unités de transaction qui ont pu être envoyées dans le cadre d'une chaîne, qui ne doivent pas définir de numéro de séquence. En revanche, il inclut l'expéditeur de la chaîne de transactions elle-même.

chainedUnit

boolean

Doit être défini sur "true" si cette transaction client fait partie d'une chaîne de transactions. Sinon, elle doit être définie sur "false".

Cela est nécessaire pour éviter qu'une transaction signée destinée à faire partie d'une chaîne ne soit envoyée seule.

network

string

Obligatoire. Nom du réseau auquel cette transaction est destinée, par exemple user-testing. La transaction sera refusée si le nom ne correspond pas à celui du réseau qui la traite.

Message spécifique à la transaction du client. Voici une liste de champs mutuellement exclusifs. Au maximum, un des champs sera défini dans une réponse :
operational

object

Facultatif. Message de transaction opérationnel. Notez que seul l'opérateur de la plate-forme peut envoyer cette notification. Doit être l'un des éléments suivants :

Objet contenant des champs d'un type arbitraire. Un champ supplémentaire "@type" contient un URI identifiant le type. Exemple : { "id": 1234, "@type": "types.example.com/standard/id" }.

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

Facultatif. Message pour transférer le rôle d'opérateur de plate-forme vers un nouveau compte.

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

Facultatif. Message pour créer un opérateur de devise.

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

Facultatif. Message pour transférer le rôle d'opérateur de devise vers un nouveau compte.

createClearinghouseTransaction

object (CreateClearinghouse)

Facultatif. Message pour créer un centre d'échange.

createAccountManagerTransaction

object (CreateAccountManager)

Facultatif. Message pour créer un responsable de compte.

createTokenManagerTransaction

object (CreateTokenManager)

Facultatif. Message permettant de créer un gestionnaire de jetons associé à la devise de l'opérateur qui envoie la requête.

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

Facultatif. Notifie le réseau que le compte cible a déposé des fonds de réserve et augmente sa limite d'émission de jetons.

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

Facultatif. Notifie le réseau que le compte cible souhaite retirer des fonds de réserve et diminue sa limite d'émission de jetons.

settlementRequestTransaction

object (SettlementRequest)

Facultatif. Message pour lancer une opération de règlement.

mintTransaction

object (Mint)

Facultatif. Message pour frapper des jetons de devise et les transférer vers un compte.

burnTransaction

object (Burn)

Facultatif. Message pour la destruction de jetons de devise d'un compte.

createAccountTransaction

object (CreateAccount)

Facultatif. Message pour créer un compte utilisateur.

deactivateAccountTransaction

object (DeactivateAccount)

Facultatif. Message de désactivation d'un compte utilisateur.

activateAccountTransaction

object (ActivateAccount)

Facultatif. Message d'activation d'un compte utilisateur.

addRolesTransaction

object (AddRoles)

Facultatif. Message pour ajouter des rôles à un compte.

removeRolesTransaction

object (RemoveRoles)

Facultatif. Message pour supprimer des rôles d'un compte.

changeAccountManagerTransaction

object (ChangeAccountManager)

Facultatif. Message pour modifier le responsable d'un compte.

transferTransaction

object (Transfer)

Facultatif. Message pour transférer des jetons d'un compte utilisateur à un autre.

createContractTransaction

object (CreateContract)

Facultatif. Message pour créer un contrat dans le registre.

grantContractPermissionsTransaction

object (GrantContractPermissions)

Facultatif. Message pour accorder des autorisations à un contrat.

invokeContractMethodTransaction

object (InvokeContractMethod)

Facultatif. Message permettant d'appeler l'exécution d'une méthode de contrat.

createContractTokenManagerTransaction

object (CreateContractTokenManager)

Facultatif. Message permettant de créer un gestionnaire de jetons associé à la devise de l'opérateur qui envoie la requête.

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

Facultatif. Message pour transférer le rôle de gestionnaire de jetons pour une devise d'un compte à un autre.

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

Facultatif. Message pour supprimer une clé de signature de compte.

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

Facultatif. Message pour remplacer une clé de signature de compte.

chain

object (TransactionChain)

Facultatif. Message pour une chaîne de transactions comprenant plusieurs unités de transaction à exécuter de manière séquentielle.

Fin des champs mutuellement exclusifs.

TransferPlatformOperator

Transfère la propriété de l'opérateur de plate-forme à un nouveau compte. L'expéditeur doit être l'opérateur actuel de la plate-forme.

Si la transaction aboutit, l'opérateur de plate-forme actuel est désactivé, et l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouvel opérateur de plate-forme. Cette clé publique sera associée à l'opérateur de la plate-forme et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte de l'opérateur de la plate-forme.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

CreateCurrencyOperator

Crée un opérateur de devise. L'expéditeur doit être l'opérateur de la plate-forme.

Si la transaction aboutit, l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Cette transaction peut introduire une nouvelle devise dans le système ou créer un opérateur de devise supplémentaire pour une devise existante. Si un opérateur de devise existant doit être remplacé, la transaction TransferCurrencyOperator doit être envoyée à la place.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouvel opérateur de devise. Cette clé publique sera associée à l'opérateur de devise et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte de l'opérateur.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

currencyCode

string

Obligatoire. Devise fiduciaire associée à cet opérateur, représentée par un code ISO 4217 à trois lettres majuscules. Considérées comme des informations publiques.

TransferCurrencyOperator

Transfère la propriété de l'opérateur de devise donné à un nouveau compte. L'expéditeur doit être l'opérateur de la plate-forme.

Si la transaction aboutit, l'opérateur de devise donné est désactivé, et l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouvel opérateur de devise. Cette clé publique sera associée à l'opérateur de devise et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte de l'opérateur de devise.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

currencyOperatorId

string

Obligatoire. ID de l'opérateur de devise à remplacer. Doit être actif. La valeur est limitée à 60 caractères.

CreateClearinghouse

Crée un centre d'échange. L'expéditeur doit être un opérateur de devises.

Si la transaction aboutit, l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouveau centre d'échange. Notez qu'il ne s'agit pas de la clé publique de l'opérateur. Cette clé publique sera associée à la chambre de compensation et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte de la chambre de compensation.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

settlementMode

enum (SettlementMode)

Obligatoire. Mode de règlement de cette chambre de compensation. Obligatoire. Considérées comme des informations publiques.

CreateAccountManager

Crée un responsable de compte. L'expéditeur doit être un opérateur de devises.

Si la transaction aboutit, l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouveau responsable de compte. Notez qu'il ne s'agit pas de la clé publique de l'opérateur. Cette clé publique sera associée au gestionnaire de compte et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte du gestionnaire de compte.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

defaultTokenManagerId

string

Facultatif. ID du gestionnaire de jetons par défaut pour les comptes qui seront créés par ce gestionnaire. La valeur est limitée à 60 caractères.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

CreateTokenManager

Crée un gestionnaire de jetons associé à la devise de l'opérateur qui envoie la requête. L'expéditeur doit être un opérateur de devises.

Si la transaction aboutit, l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouveau gestionnaire de jetons. Notez qu'il ne s'agit pas de la clé publique de l'opérateur. Cette clé publique sera associée au gestionnaire de jetons et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte du gestionnaire de jetons.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

IncreaseTokenIssuanceLimit

Transactions pour l'émission et la création de jetons. Notifie le réseau que le compte cible a déposé des fonds de réserve et augmente sa limite d'émission de jetons. L'expéditeur doit être un compte de centre d'échange.

Représentation JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Champs
tokenManagerId

string

Obligatoire. ID du compte institutionnel dont la limite de minting doit être augmentée. Ce compte doit être un gestionnaire de jetons pour que la transaction soit valide.

amount

object (CurrencyValue)

Obligatoire. Montant de l'augmentation de la limite. Le montant doit être positif.

DecreaseTokenIssuanceLimit

Notifie le réseau que le compte cible souhaite retirer des fonds de réserve et diminue sa limite d'émission de jetons. L'expéditeur doit être un compte de centre d'échange.

Notez que cette transaction doit être finalisée avant que les fonds de réserve puissent être retirés. Cette étape est nécessaire, car il est possible que la transaction échoue (par exemple, si le montant émis est déjà supérieur à la limite réduite demandée).

Représentation JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Champs
tokenManagerId

string

Obligatoire. ID du compte institutionnel dont la limite de mint doit être abaissée. Ce compte doit être un gestionnaire de jetons pour que la transaction soit valide.

amount

object (CurrencyValue)

Obligatoire. Montant de la réduction de la limite. Le montant doit être positif. La transaction échouera si la limite réduite est inférieure au nombre de jetons actuellement émis.

SettlementRequest

Lance une opération de règlement entre deux gestionnaires de jetons. L'expéditeur doit être un compte de centre d'échange.

Dans le SettlementMode différé où la chambre de compensation détient les fonds du gestionnaire de jetons, il s'agit de la seule transaction à envoyer pour exécuter un règlement entre les deux gestionnaires de jetons.

Représentation JSON
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
Champs
payerId

string

Obligatoire. Immuable. ID de compte de la partie qui doit effectuer le virement.

beneficiaryId

string

Obligatoire. Immuable. ID de compte de la partie qui recevra les fonds.

balance

object (CurrencyValue)

Obligatoire. Immuable. Solde des jetons émis qui doivent être transférés par le compte payer vers le compte beneficiary dans le registre.

roundId

string (int64 format)

Obligatoire. Immuable. ID du cycle au cours duquel ce montant de règlement a été calculé.

Mint

Crée des jetons de devise et les transfère vers un compte spécifié. L'expéditeur doit être un gestionnaire de jetons.

Représentation JSON
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
Champs
mintAmount

object (CurrencyValue)

Obligatoire. Montant à frapper. Le montant doit être tel que le nombre total de jetons émis par le gestionnaire de jetons ne dépasse pas la limite d'émission. Si le montant est supérieur, la transaction doit être refusée.

beneficiaryId

string

Obligatoire. ID du compte vers lequel le montant émis doit être transféré. Le ROLE_RECEIVER doit être activé sur le compte de réception.

CreateAccount

Crée un compte utilisateur. L'expéditeur doit être un responsable de compte.

Si la transaction aboutit, l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du titulaire du compte. Notez qu'il ne s'agit pas de la clé publique de l'expéditeur. Il s'agit de la clé publique du nouveau titulaire du compte, qui sera stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte créé.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

roles[]

enum (Role)

Facultatif. Liste des rôles à attribuer à ce compte.

accountStatus

enum (AccountStatus)

Facultatif. État du compte à créer. Par défaut, l'état d'un compte nouvellement créé est ACCOUNT_STATUS_ACTIVE.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

tokenManagerId

string

Facultatif. ID du gestionnaire de jetons pour ce compte. Ce champ est facultatif. S'il n'est pas renseigné, le gestionnaire de jetons par défaut associé au gestionnaire de compte (c'est-à-dire l'expéditeur de cette transaction) sera utilisé. La valeur est limitée à 60 caractères.

DeactivateAccount

Marque un compte comme ACCOUNT_STATUS_INACTIVE. L'expéditeur doit être le responsable de compte du compte à désactiver.

Cela signifie que le titulaire du compte ne pourra effectuer aucune transaction sur le compte, quels que soient ses rôles.

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

string

Obligatoire. ID du compte à désactiver. La valeur est limitée à 60 caractères.

RemoveRoles

Supprime les rôles spécifiés du compte. L'expéditeur doit être le responsable de compte du compte à modifier.

Représentation JSON
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
Champs
accountId

string

Obligatoire. ID du compte à modifier. La valeur est limitée à 60 caractères.

roles[]

enum (Role)

Obligatoire. Rôles à supprimer.

Transfert

Transfère des jetons d'un compte utilisateur à un autre. L'expéditeur doit être un compte utilisateur standard, et non un compte privilégié tel qu'un gestionnaire de jetons ou un responsable de compte.

De plus, l'expéditeur de la transaction doit avoir activé ROLE_PAYER, tandis que le destinataire doit avoir activé ROLE_RECEIVER.

Représentation JSON
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Champs
beneficiaryId

string

Obligatoire. ID du compte qui reçoit les jetons.

amount

object (CurrencyValue)

Obligatoire. Montant à transférer. Le montant doit être positif.

CreateContract

Stocke un contrat dans le registre.

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

string (bytes format)

Octets de contrat sérialisés.

Chaîne encodée en base64.

initArguments

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

Facultatif. Immuable. Contient les arguments de la méthode __init__.

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

contractComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du contrat. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

GrantContractPermissions

Accorde des autorisations au contrat par l'expéditeur de la transaction. Si delegateContractId est spécifié, les autorisations et l'espace de stockage correspondant sont accordés exclusivement au contrat delegateContractId, et non à l'expéditeur.

Notez qu'il n'est pas possible de révoquer des autorisations.

Représentation JSON
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
Champs
contractId

string

Obligatoire. ID du contrat auquel les autorisations sont accordées.

permissions[]

enum (ContractPermission)

Autorisations à accorder.

delegateContractId

string

Facultatif. ID du contrat pour lequel les autorisations sont accordées. L'expéditeur de la transaction doit être le propriétaire de ce contrat.

InvokeContractMethod

Appelle l'exécution d'une méthode de contrat.

Représentation JSON
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
Champs
contractId

string

Obligatoire. ID du contrat à exécuter.

methodName

string

Nom de la méthode à exécuter.

methodArguments

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

Facultatif. Immuable. Contient les arguments à transmettre à la méthode.

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

payment

object (CurrencyValue)

Le montant à payer. Doit être supérieur à zéro lors de l'appel de méthodes payantes, et égal à zéro pour les méthodes non payantes.

CreateContractTokenManager

Crée un gestionnaire de jetons de contrat associé à la devise de l'opérateur qui envoie la requête. L'expéditeur doit être un opérateur de devises. Le gestionnaire de jetons de contrat que vous venez de créer est actif par défaut. Si le gestionnaire de jetons de contrat doit être remplacé, la transaction TransferContractTokenManager doit être envoyée à la place. Si un autre gestionnaire de jetons de contrat associé à la même devise existe, cette transaction échouera.

Contrairement aux gestionnaires de jetons standards, les gestionnaires de jetons de contrat ne sont pas autorisés à exécuter des transactions telles que la création ou la destruction de jetons. Ils peuvent toutefois participer aux opérations de règlement.

Si la transaction aboutit, l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouveau gestionnaire de jetons de contrat. Notez qu'il ne s'agit pas de la clé publique de l'opérateur. Cette clé publique sera associée au gestionnaire de jetons du contrat et stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte du gestionnaire de jetons de contrat.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

TransferContractTokenManager

Transfère la propriété du gestionnaire de jetons de contrat à un nouveau compte. L'expéditeur doit être l'opérateur actuel de la devise.

Si la transaction aboutit, le gestionnaire de jetons de contrat actuel pour la devise est désactivé, et l'ID du compte nouvellement créé est renvoyé en tant qu'événement dans le TransactionCertificate de la transaction finalisée.

Représentation JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Champs
publicKey

string (bytes format)

Obligatoire. Clé publique du nouveau gestionnaire de jetons de contrat. Notez qu'il ne s'agit pas de la clé publique de l'opérateur. Il s'agit de la clé publique du nouveau gestionnaire de jetons de contrat, qui sera stockée dans le registre. Elle sera utilisée pour valider la signature des transactions provenant du compte du gestionnaire de jetons de contrat.

Le format de la clé publique est défini par le champ keyFormat. Considérées comme des informations publiques.

Chaîne encodée en base64.

accountComment

string

Facultatif. Immuable. Champ de commentaire opaque qui n'est pas interprété par le système, mais stocké dans le registre du compte. Considérées comme des informations publiques. Ne doit pas dépasser 128 caractères. Peut être laissé vide. Une fois créé, le champ est immuable.

keyFormat

enum (KeyFormat)

Facultatif. Immuable. Format de la clé publique. Si aucune valeur n'est spécifiée, la valeur par défaut est un jeu de clés sérialisé binaire au format de câble Tink. Considérées comme des informations publiques.

RemoveSigningPublicKey

Supprime la clé de signature du compte de l'emplacement spécifié. L'autre emplacement ne doit pas être vide et doit contenir la clé utilisée pour signer le ClientTransaction.

Représentation JSON
{
  "keySlot": enum (KeySlot)
}
Champs
keySlot

enum (KeySlot)

Obligatoire. Emplacement de clé dont nous supprimons la clé. Si ce champ est déjà vide, la transaction échouera.

ReplaceSigningPublicKey

Remplace la clé de signature du compte dans l'emplacement spécifié. L'autre emplacement ne doit pas être vide et doit contenir la clé utilisée pour signer le ClientTransaction.

Représentation JSON
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
Champs
keySlot

enum (KeySlot)

Obligatoire. Emplacement de clé dans lequel nous remplaçons la clé.

newPublicKey

string (bytes format)

Obligatoire. Nouvelle clé publique, qui remplacera la clé publique dans l'emplacement spécifié.

Le format de la clé publique est défini par le champ "newKeyFormat". Considérées comme des informations publiques.

Chaîne encodée en base64.

newKeyFormat

enum (KeyFormat)

Obligatoire. Format de la nouvelle clé publique. Consultez la définition de KeyFormat pour obtenir la liste des formats compatibles. Considérées comme des informations publiques.

TransactionChain

Chaîne de transactions comprenant plusieurs unités de transaction à exécuter de manière séquentielle.

Les unités seront exécutées de manière séquentielle, dans l'ordre dans lequel elles sont listées. Si toutes les unités réussissent, leurs effets cumulés seront validés de manière atomique dans l'état du monde. Sinon, si l'une d'elles échoue, l'ensemble de la chaîne échouera et aucun de ses effets ne sera appliqué.

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

string (bytes format)

Unités individuelles de la chaîne. Chaque unité doit être un SignedTransaction sérialisé.

Notez que les octets sérialisés sont requis pour déterminer les octets à signer pour la chaîne elle-même.

Chaîne encodée en base64.