ClientTransaction

Representa una transacción iniciada por un cliente.

Representación 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.
}
Campos
senderId

string

Obligatorio. Es el ID de la cuenta que envía esta transacción.

otherSignatoryIds[]

string

Es opcional. Son los IDs de las cuentas que, además del remitente, firmaron esta transacción.

sequenceNumber

string (int64 format)

Obligatorio. Es un número único que aumenta de forma monótona y comienza desde 0.

Este número debe aumentarse en uno por cada transacción enviada anteriormente a la red por el mismo remitente de la transacción.

Ten en cuenta que esto no incluye ninguna unidad de transacción que se haya enviado como parte de una cadena, que no debe establecer un número de secuencia. Sin embargo, sí incluye al remitente de la cadena de transacciones.

chainedUnit

boolean

Se debe establecer en verdadero si esta transacción del cliente forma parte de una cadena de transacciones. De lo contrario, se debe establecer en falso.

Esto es necesario para evitar que se envíe por sí sola una transacción firmada que se pretende que forme parte de una cadena.

network

string

Obligatorio. Es el nombre de la red a la que se destina esta transacción, como user-testing. La transacción se rechazará si el nombre no coincide con el de la red que la procesa.

Es el mensaje específico de la transacción del cliente. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
operational

object

Es opcional. Es un mensaje de transacción operativo. Ten en cuenta que solo el operador de la plataforma puede enviar este mensaje. Debe ser uno de los siguientes:

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

Es opcional. Mensaje para transferir el rol de operador de la plataforma a una cuenta nueva.

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

Es opcional. Mensaje para crear un nuevo operador de moneda.

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

Es opcional. Mensaje para transferir el rol de operador de moneda a una cuenta nueva.

createClearinghouseTransaction

object (CreateClearinghouse)

Es opcional. Mensaje para crear una nueva cámara de compensación.

createAccountManagerTransaction

object (CreateAccountManager)

Es opcional. Mensaje para crear un nuevo administrador de cuentas.

createTokenManagerTransaction

object (CreateTokenManager)

Es opcional. Mensaje para crear un nuevo administrador de tokens asociado a la moneda del operador que envía la solicitud.

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

Es opcional. Notifica a la red que la cuenta de destino depositó fondos de reserva y aumenta su límite de emisión de tokens.

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

Es opcional. Notifica a la red que la cuenta de destino desea retirar fondos de reserva y disminuye su límite de emisión de tokens.

settlementRequestTransaction

object (SettlementRequest)

Es opcional. Es el mensaje para iniciar una operación de liquidación.

mintTransaction

object (Mint)

Es opcional. Mensaje para acuñar tokens de moneda y transferirlos a una cuenta.

burnTransaction

object (Burn)

Es opcional. Es el mensaje para quemar tokens de moneda de una cuenta.

createAccountTransaction

object (CreateAccount)

Es opcional. Mensaje para crear una cuenta de usuario nueva.

deactivateAccountTransaction

object (DeactivateAccount)

Es opcional. Mensaje para desactivar una cuenta de usuario.

activateAccountTransaction

object (ActivateAccount)

Es opcional. Mensaje para activar una cuenta de usuario.

addRolesTransaction

object (AddRoles)

Es opcional. Mensaje para agregar roles a una cuenta.

removeRolesTransaction

object (RemoveRoles)

Es opcional. Mensaje para quitar roles de una cuenta.

changeAccountManagerTransaction

object (ChangeAccountManager)

Es opcional. Mensaje para cambiar el administrador de una cuenta.

transferTransaction

object (Transfer)

Es opcional. Mensaje para transferir tokens de una cuenta de usuario a otra.

createContractTransaction

object (CreateContract)

Es opcional. Mensaje para crear un contrato nuevo en el libro mayor.

grantContractPermissionsTransaction

object (GrantContractPermissions)

Es opcional. Mensaje para otorgar permisos a un contrato.

invokeContractMethodTransaction

object (InvokeContractMethod)

Es opcional. Es el mensaje para invocar la ejecución de un método de contrato.

createContractTokenManagerTransaction

object (CreateContractTokenManager)

Es opcional. Mensaje para crear un nuevo administrador de tokens asociado a la moneda del operador que envía la solicitud.

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

Es opcional. Mensaje para transferir el rol de administrador de tokens de una moneda de una cuenta a otra.

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

Es opcional. Mensaje para quitar una clave de firma de la cuenta.

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

Es opcional. Mensaje para reemplazar una clave de firma de cuenta.

chain

object (TransactionChain)

Es opcional. Mensaje para una cadena de transacciones que incluye varias unidades de transacción que se ejecutarán en secuencia.

Fin de los campos mutuamente excluyentes.

TransferPlatformOperator

Transfiere la propiedad del operador de la plataforma a una cuenta nueva. El remitente debe ser el operador actual de la plataforma.

Si la transacción se realiza correctamente, se desactiva el operador de la plataforma actual y el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública del nuevo operador de la plataforma. Esta clave pública se asociará con el operador de la plataforma y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provengan de la cuenta del operador de la plataforma.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

CreateCurrencyOperator

Crea un nuevo operador de moneda. El remitente debe ser el operador de la plataforma.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Esta transacción puede introducir una nueva moneda en el sistema o crear un operador de moneda adicional para una moneda existente. Si se debe reemplazar un operador de moneda existente, se debe enviar la transacción TransferCurrencyOperator.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública del nuevo operador de moneda. Esta clave pública se asociará con el operador de la moneda y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provengan de la cuenta del operador.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

currencyCode

string

Obligatorio. Es la moneda fiduciaria asociada con este operador, representada como un código ISO 4217 de 3 letras mayúsculas. Se considera información pública.

TransferCurrencyOperator

Transfiere la propiedad del operador de moneda determinado a una cuenta nueva. El remitente debe ser el operador de la plataforma.

Si la transacción se realiza correctamente, se desactiva el operador de moneda determinado y el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública del nuevo operador de moneda. Esta clave pública se asociará con el operador de la moneda y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provengan de la cuenta del operador de moneda.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

currencyOperatorId

string

Obligatorio. Es el ID del operador de moneda que se reemplazará. Debe estar activo. El valor tiene un límite de 60 caracteres.

CreateClearinghouse

Crea una nueva cámara de compensación. El remitente debe ser un operador de moneda.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública de la nueva cámara de compensación. Ten en cuenta que esta no es la clave pública del operador. Esta clave pública se asociará con la cámara de compensación y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provengan de la cuenta de la cámara de compensación.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

settlementMode

enum (SettlementMode)

Obligatorio. Es el modo de liquidación de esta cámara de compensación. Obligatorio. Se considera información pública.

CreateAccountManager

Crea un nuevo administrador de cuentas. El remitente debe ser un operador de moneda.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública del nuevo administrador de cuentas. Ten en cuenta que esta no es la clave pública del operador. Esta clave pública se asociará con el administrador de cuentas y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provengan de la cuenta del administrador de cuentas.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

defaultTokenManagerId

string

Es opcional. Es el ID del administrador de tokens predeterminado para las cuentas que creará este administrador. El valor tiene un límite de 60 caracteres.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

CreateTokenManager

Crea un nuevo administrador de tokens asociado a la moneda del operador que envía la solicitud. El remitente debe ser un operador de moneda.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública del nuevo administrador de tokens. Ten en cuenta que esta no es la clave pública del operador. Esta clave pública se asociará con el administrador de tokens y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provengan de la cuenta del administrador de tokens.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

IncreaseTokenIssuanceLimit

Transacciones para la emisión y acuñación de tokens. Notifica a la red que la cuenta de destino depositó fondos de reserva y aumenta su límite de emisión de tokens. El remitente debe ser una cuenta de cámara de compensación.

Representación JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campos
tokenManagerId

string

Obligatorio. Es el ID de la cuenta institucional cuyo límite de acuñación se aumentará. Esta cuenta debe ser un administrador de tokens para que la transacción sea válida.

amount

object (CurrencyValue)

Obligatorio. Es el importe en el que se aumentará el límite. El importe debe ser positivo.

DecreaseTokenIssuanceLimit

Notifica a la red que la cuenta de destino desea retirar fondos de reserva y disminuye su límite de emisión de tokens. El remitente debe ser una cuenta de cámara de compensación.

Ten en cuenta que esta transacción debe finalizarse correctamente antes de que se puedan retirar los fondos de reserva. Esto es necesario porque es posible que la transacción falle (por ejemplo, si el importe acuñado ya supera el límite reducido solicitado).

Representación JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campos
tokenManagerId

string

Obligatorio. Es el ID de la cuenta institucional cuyo límite de acuñación se reducirá. Esta cuenta debe ser un administrador de tokens para que la transacción sea válida.

amount

object (CurrencyValue)

Obligatorio. Es el importe en el que se disminuirá el límite. El importe debe ser positivo. La transacción fallará si el límite reducido es inferior a los tokens emitidos actualmente.

SettlementRequest

Inicia una operación de liquidación entre dos administradores de tokens. El remitente debe ser una cuenta de cámara de compensación.

En el SettlementMode diferido en el que la cámara de compensación tiene la custodia de los fondos del administrador de tokens, esta es la única transacción que se debe enviar para ejecutar una liquidación entre los dos administradores de tokens.

Representación JSON
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
Campos
payerId

string

Obligatorio. Inmutable. Es el ID de cuenta de la parte que debe realizar la transferencia de fondos.

beneficiaryId

string

Obligatorio. Inmutable. Es el ID de la cuenta de la parte que recibirá los fondos.

balance

object (CurrencyValue)

Obligatorio. Inmutable. Es el saldo de tokens emitidos que la cuenta de payer debe transferir a la cuenta de beneficiary en el libro mayor.

roundId

string (int64 format)

Obligatorio. Inmutable. Es el ID de la ronda en la que se calculó este importe de liquidación.

Menta

Acuña tokens de moneda y los transfiere a una cuenta especificada. El remitente debe ser un administrador de tokens.

Representación JSON
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
Campos
mintAmount

object (CurrencyValue)

Obligatorio. Es el importe que se acuñará. El importe debe ser tal que el total de tokens acuñados por el administrador de tokens no supere el límite de acuñación. Si el importe es superior, se debe rechazar la transacción.

beneficiaryId

string

Obligatorio. Es el ID de la cuenta a la que se debe transferir el importe acuñado. La cuenta receptora debe tener habilitado el ROLE_RECEIVER.

CreateAccount

Crea una cuenta de usuario nueva. El remitente debe ser un administrador de cuentas.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
Campos
publicKey

string (bytes format)

Obligatorio. La clave pública del propietario de la cuenta. Ten en cuenta que esta no es la clave pública del remitente. Esta es la clave pública del nuevo propietario de la cuenta y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que se realicen desde la cuenta creada.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

roles[]

enum (Role)

Es opcional. Es la lista de roles que se otorgarán a esta cuenta.

accountStatus

enum (AccountStatus)

Es opcional. Es el estado de la cuenta que se creará. De forma predeterminada, el estado de una cuenta recién creada será ACCOUNT_STATUS_ACTIVE.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

tokenManagerId

string

Es opcional. Es el ID del administrador de tokens de esta cuenta. Este campo es opcional y, si no se proporciona, se usará el administrador de tokens predeterminado asociado al administrador de cuentas (es decir, el remitente de esta transacción). El valor tiene un límite de 60 caracteres.

DeactivateAccount

Marca una cuenta como ACCOUNT_STATUS_INACTIVE. El remitente debe ser el administrador de la cuenta que se desactivará.

Esto implica que el propietario de la cuenta no podrá realizar ninguna transacción en la cuenta, independientemente de los roles.

Representación JSON
{
  "accountId": string
}
Campos
accountId

string

Obligatorio. Es el ID de la cuenta que se desactivará. El valor tiene un límite de 60 caracteres.

RemoveRoles

Quita los roles especificados de la cuenta. El remitente debe ser el administrador de la cuenta que se modificará.

Representación JSON
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
Campos
accountId

string

Obligatorio. Es el ID de la cuenta que se modificará. El valor tiene un límite de 60 caracteres.

roles[]

enum (Role)

Obligatorio. Son los roles que se quitarán.

Transferir

Transfiere tokens de una cuenta de usuario a otra. El remitente debe ser una cuenta de usuario normal, a diferencia de una cuenta con privilegios, como un administrador de tokens o un administrador de cuentas.

Además, el remitente de la transacción debe tener habilitado el ROLE_PAYER, mientras que el receptor debe tener habilitado el ROLE_RECEIVER.

Representación JSON
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campos
beneficiaryId

string

Obligatorio. Es el ID de la cuenta que recibe los tokens.

amount

object (CurrencyValue)

Obligatorio. Es el importe que se transferirá. El importe debe ser positivo.

CreateContract

Almacena un contrato en el libro mayor.

Representación JSON
{
  "contractBytes": string,
  "initArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "contractComment": string
}
Campos
contractBytes

string (bytes format)

Bytes de contrato serializados.

Es una cadena codificada en Base64.

initArguments

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

Es opcional. Inmutable. Contiene argumentos para el método __init__.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contractComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor del contrato. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

GrantContractPermissions

El remitente de la transacción otorga permisos al contrato. Si se especifica delegateContractId, los permisos y el almacenamiento correspondiente se otorgan exclusivamente al contrato delegateContractId, no al remitente.

Ten en cuenta que no se admite la revocación de permisos.

Representación JSON
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
Campos
contractId

string

Obligatorio. Es el ID del contrato al que se otorgan los permisos.

permissions[]

enum (ContractPermission)

Son los permisos que se otorgarán.

delegateContractId

string

Es opcional. Es el ID del contrato para el que se otorgan los permisos. El remitente de la transacción debe ser el propietario de este contrato.

InvokeContractMethod

Invoca la ejecución de un método de contrato.

Representación JSON
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
Campos
contractId

string

Obligatorio. Es el ID del contrato que se ejecutará.

methodName

string

Es el nombre del método que se ejecutará.

methodArguments

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

Es opcional. Inmutable. Contiene argumentos para pasar al método.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

payment

object (CurrencyValue)

Es el importe que se debe pagar. Debe ser mayor que cero cuando se invocan métodos pagaderos y cero para los no pagaderos.

CreateContractTokenManager

Crea un nuevo administrador de tokens de contrato asociado con la moneda del operador que envía la solicitud. El remitente debe ser un operador de moneda. El administrador de tokens de contrato recién creado está activo de forma predeterminada. Si se debe reemplazar el administrador de tokens de contrato, se debe enviar la transacción TransferContractTokenManager. Si existe otro administrador de tokens de contrato asociado con la misma moneda, esta transacción fallará.

A diferencia de los administradores de tokens normales, los administradores de tokens de contrato no pueden ejecutar transacciones como acuñar o quemar. Sin embargo, pueden participar en las operaciones de liquidación.

Si la transacción se realiza correctamente, el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Campos
publicKey

string (bytes format)

Obligatorio. Es la clave pública del nuevo administrador de tokens de contrato. Ten en cuenta que esta no es la clave pública del operador. Esta clave pública se asociará con el administrador de tokens de contrato y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provienen de la cuenta del administrador de tokens del contrato.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

TransferContractTokenManager

Transfiere la propiedad del administrador de tokens del contrato a una cuenta nueva. El remitente debe ser el operador actual de la moneda.

Si la transacción se realiza correctamente, se desactiva el administrador de tokens de contrato actual para la moneda, y el ID de la cuenta recién creada se devuelve como un evento en el TransactionCertificate de la transacción finalizada.

Representación JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Campos
publicKey

string (bytes format)

Obligatorio. Es la clave pública del nuevo administrador de tokens de contrato. Ten en cuenta que esta no es la clave pública del operador. Esta es la clave pública del nuevo administrador de tokens de contrato y se almacenará en el libro mayor. Se usará para validar la firma de las transacciones que provienen de la cuenta del administrador de tokens del contrato.

El formato de la clave pública se define en el campo keyFormat. Se considera información pública.

Es una cadena codificada en Base64.

accountComment

string

Es opcional. Inmutable. Es un campo de comentario opaco que el sistema no interpreta, pero que se almacena en el libro mayor de la cuenta. Se considera información pública. La longitud máxima es de 128 caracteres. Se puede dejar vacío. Una vez creado, el campo es inmutable.

keyFormat

enum (KeyFormat)

Es opcional. Inmutable. El formato de la clave pública. Si no se especifica, el valor predeterminado es un conjunto de claves serializado binario en el formato de conexión de Tink. Se considera información pública.

RemoveSigningPublicKey

Quita la clave de firma de la cuenta de la ranura especificada. La otra ranura no debe estar vacía y debe contener la clave que se usó para firmar el ClientTransaction.

Representación JSON
{
  "keySlot": enum (KeySlot)
}
Campos
keySlot

enum (KeySlot)

Obligatorio. Es la ranura de la que se quitará la clave. Si ya está vacío, la transacción fallará.

ReplaceSigningPublicKey

Reemplaza la clave de firma de la cuenta en el espacio especificado. La otra ranura no debe estar vacía y debe contener la clave que se usó para firmar el ClientTransaction.

Representación JSON
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
Campos
keySlot

enum (KeySlot)

Obligatorio. La ranura de clave en la que reemplazaremos la clave.

newPublicKey

string (bytes format)

Obligatorio. Es la nueva clave pública, que reemplazará a la clave pública en la ranura especificada.

El formato de la clave pública se define con el campo newKeyFormat. Se considera información pública.

Es una cadena codificada en Base64.

newKeyFormat

enum (KeyFormat)

Obligatorio. Es el formato de la nueva clave pública. Consulta la definición de KeyFormat para obtener una lista de los formatos admitidos. Se considera información pública.

TransactionChain

Una cadena de transacciones que incluye varias unidades de transacción para ejecutar en secuencia.

Las unidades se ejecutarán de forma secuencial, en el orden en que se enumeran. Si todas las unidades se ejecutan correctamente, sus efectos acumulativos se confirmarán de forma atómica en el estado del mundo. De lo contrario, si alguno de ellos falla, toda la cadena fallará y no se aplicará ninguno de sus efectos.

Representación JSON
{
  "units": [
    string
  ]
}
Campos
units[]

string (bytes format)

Son las unidades individuales de la cadena. Cada unidad debe ser un SignedTransaction serializado.

Ten en cuenta que se requieren los bytes serializados para determinar los bytes que se firmarán para la cadena en sí.

Es una cadena codificada en Base64.