ClientTransaction

Representa uma transação iniciada por um cliente.

Representação 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

Obrigatório. O ID da conta que está enviando essa transação.

otherSignatoryIds[]

string

Opcional. Os IDs das contas que, além do remetente, assinaram essa transação.

sequenceNumber

string (int64 format)

Obrigatório. Um número exclusivo, que aumenta de forma monotônica, começando em 0.

Esse número precisa ser aumentado em um para cada transação enviada anteriormente à rede pelo mesmo remetente.

Isso não inclui unidades de transação que possam ter sido enviadas como parte de uma cadeia, que não podem definir um número de sequência. No entanto, inclui o remetente da própria cadeia de transações.

chainedUnit

boolean

Precisa ser definido como verdadeiro se essa transação do cliente fizer parte de uma cadeia de transações. Caso contrário, ele precisa ser definido como falso.

Isso é necessário para evitar que uma transação assinada que deveria fazer parte de uma cadeia seja enviada por conta própria.

network

string

Obrigatório. O nome da rede a que essa transação se destina, como user-testing. A transação será rejeitada se o nome não corresponder ao da rede que está processando a transação.

A mensagem específica da transação do cliente. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
operational

object

Opcional. Uma mensagem de transação operacional. Essa mensagem só pode ser enviada pelo operador da plataforma. Deve ser uma das seguintes opções:

Um objeto contendo campos de um tipo arbitrário. Um campo adicional "@type" contém uma URI que identifica o tipo. Exemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

transferPlatformOperatorTransaction

object (TransferPlatformOperator)

Opcional. Mensagem para transferir o papel de operador da plataforma para uma nova conta.

createCurrencyOperatorTransaction

object (CreateCurrencyOperator)

Opcional. Mensagem para criar um novo operador de moeda.

transferCurrencyOperatorTransaction

object (TransferCurrencyOperator)

Opcional. Mensagem para transferir a função de operador de moeda para uma nova conta.

createClearinghouseTransaction

object (CreateClearinghouse)

Opcional. Mensagem para criar uma nova câmara de compensação.

createAccountManagerTransaction

object (CreateAccountManager)

Opcional. Mensagem para criar um novo gerente de contas.

createTokenManagerTransaction

object (CreateTokenManager)

Opcional. Mensagem para criar um novo gerenciador de tokens associado à moeda do operador que envia a solicitação.

increaseTokenIssuanceLimitTransaction

object (IncreaseTokenIssuanceLimit)

Opcional. Notifica a rede de que a conta de destino depositou fundos de reserva e aumenta o limite de emissão de tokens.

decreaseTokenIssuanceLimitTransaction

object (DecreaseTokenIssuanceLimit)

Opcional. Notifica a rede de que a conta de destino quer retirar fundos de reserva e diminui o limite de emissão de tokens.

settlementRequestTransaction

object (SettlementRequest)

Opcional. Mensagem para iniciar uma operação de liquidação.

mintTransaction

object (Mint)

Opcional. Mensagem para cunhar tokens de moeda e transferi-los para uma conta.

burnTransaction

object (Burn)

Opcional. Mensagem para queimar tokens de moeda de uma conta.

createAccountTransaction

object (CreateAccount)

Opcional. Mensagem para criar uma nova conta de usuário.

deactivateAccountTransaction

object (DeactivateAccount)

Opcional. Mensagem para desativar uma conta de usuário.

activateAccountTransaction

object (ActivateAccount)

Opcional. Mensagem para ativar uma conta de usuário.

addRolesTransaction

object (AddRoles)

Opcional. Mensagem para adicionar papéis a uma conta.

removeRolesTransaction

object (RemoveRoles)

Opcional. Mensagem para remover papéis de uma conta.

changeAccountManagerTransaction

object (ChangeAccountManager)

Opcional. Mensagem para mudar o gerente de contas de uma conta.

transferTransaction

object (Transfer)

Opcional. Mensagem para transferir tokens de uma conta de usuário para outra.

createContractTransaction

object (CreateContract)

Opcional. Mensagem para criar um novo contrato no livro.

grantContractPermissionsTransaction

object (GrantContractPermissions)

Opcional. Mensagem para conceder permissões a um contrato.

invokeContractMethodTransaction

object (InvokeContractMethod)

Opcional. Mensagem para invocar a execução de um método de contrato.

createContractTokenManagerTransaction

object (CreateContractTokenManager)

Opcional. Mensagem para criar um novo gerenciador de tokens associado à moeda do operador que envia a solicitação.

transferContractTokenManagerTransaction

object (TransferContractTokenManager)

Opcional. Mensagem para transferir o papel de administrador de tokens de uma moeda de uma conta para outra.

removeSigningPublicKeyTransaction

object (RemoveSigningPublicKey)

Opcional. Mensagem para remover uma chave de assinatura de conta.

replaceSigningPublicKeyTransaction

object (ReplaceSigningPublicKey)

Opcional. Mensagem para substituir uma chave de assinatura de conta.

chain

object (TransactionChain)

Opcional. Mensagem para uma cadeia de transações, incluindo várias unidades de transação para execução em sequência.

Fim dos campos mutuamente exclusivos.

TransferPlatformOperator

Transfere a propriedade do operador da plataforma para uma nova conta. O remetente precisa ser o operador atual da plataforma.

Se a transação for bem-sucedida, desativa o operador de plataforma atual, e o ID da conta recém-criada é retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo operador da plataforma. Essa chave pública será associada ao operador da plataforma e armazenada no livro-razão. Ele será usado para validar a assinatura das transações que vêm da conta do operador da plataforma.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

CreateCurrencyOperator

Cria um novo operador de moeda. O remetente precisa ser o operador da plataforma.

Se a transação for bem-sucedida, o ID da conta recém-criada será retornado como um evento no TransactionCertificate da transação finalizada.

Essa transação pode introduzir uma nova moeda no sistema ou criar um operador de moeda adicional para uma moeda existente. Se um operador de moeda atual precisar ser substituído, a transação TransferCurrencyOperator precisará ser enviada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyCode": string
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo operador de moeda. Essa chave pública será associada ao operador de moeda e armazenada no livro-razão. Ela será usada para validar a assinatura das transações que vêm da conta do operador.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

currencyCode

string

Obrigatório. A moeda fiduciária associada a esse operador, representada como um código ISO 4217 de três letras maiúsculas. Consideradas informações públicas.

TransferCurrencyOperator

Transfere a propriedade do operador de moeda fornecido para uma nova conta. O remetente precisa ser o operador da plataforma.

Se a transação for bem-sucedida, desativa o operador de moeda fornecido, e o ID da conta recém-criada é retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "currencyOperatorId": string
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo operador de moeda. Essa chave pública será associada ao operador de moeda e armazenada no livro-razão. Ela será usada para validar a assinatura das transações que vêm da conta do operador de moeda.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

currencyOperatorId

string

Obrigatório. O ID do operador de moeda a ser substituído. Precisa estar ativo. O valor é limitado a 60 caracteres.

CreateClearinghouse

Cria uma nova câmara de compensação. O remetente precisa ser um operador de moeda.

Se a transação for bem-sucedida, o ID da conta recém-criada será retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string,
  "settlementMode": enum (SettlementMode)
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública da nova câmara de compensação. Essa não é a chave pública do operador. Essa chave pública será associada à câmara de compensação e armazenada no livro-razão. Ele será usado para validar a assinatura das transações que vêm da conta da câmara de compensação.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

settlementMode

enum (SettlementMode)

Obrigatório. O modo de liquidação para essa câmara de compensação. Obrigatório. Consideradas informações públicas.

CreateAccountManager

Cria um novo gerente de contas. O remetente precisa ser um operador de moeda.

Se a transação for bem-sucedida, o ID da conta recém-criada será retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "defaultTokenManagerId": string,
  "accountComment": string
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo gerente de contas. Essa não é a chave pública do operador. Essa chave pública será associada ao gerente de contas e armazenada no livro-razão. Ele será usado para validar a assinatura das transações que vêm da conta do gerente de contas.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

defaultTokenManagerId

string

Opcional. O ID do gerenciador de tokens padrão para as contas que serão criadas por esse gerenciador. O valor é limitado a 60 caracteres.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

CreateTokenManager

Cria um novo gerenciador de tokens associado à moeda do operador que envia a solicitação. O remetente precisa ser um operador de moeda.

Se a transação for bem-sucedida, o ID da conta recém-criada será retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "accountComment": string
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo gerenciador de tokens. Essa não é a chave pública do operador. Essa chave pública será associada ao gerenciador de tokens e armazenada no livro-razão. Ele será usado para validar a assinatura das transações que vêm da conta do gerenciador de tokens.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

IncreaseTokenIssuanceLimit

Transações para emissão e criação de tokens. Notifica a rede de que a conta de destino depositou fundos de reserva e aumenta o limite de emissão de tokens. O remetente precisa ser uma conta de compensação.

Representação JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campos
tokenManagerId

string

Obrigatório. O ID da conta institucional que terá o limite de emissão aumentado. Essa conta precisa ser um gerenciador de tokens para que a transação seja válida.

amount

object (CurrencyValue)

Obrigatório. O valor pelo qual o limite será aumentado. O valor precisa ser positivo.

DecreaseTokenIssuanceLimit

Notifica a rede de que a conta de destino quer retirar fundos de reserva e diminui o limite de emissão de tokens. O remetente precisa ser uma conta de compensação.

Essa transação precisa ser finalizada antes que os fundos de reserva possam ser retirados. Isso é necessário porque é possível que a transação falhe (por exemplo, se o valor cunhado já estiver acima do limite reduzido solicitado).

Representação JSON
{
  "tokenManagerId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campos
tokenManagerId

string

Obrigatório. O ID da conta institucional que terá o limite de emissão reduzido. Essa conta precisa ser um gerenciador de tokens para que a transação seja válida.

amount

object (CurrencyValue)

Obrigatório. O valor pelo qual o limite será reduzido. O valor precisa ser positivo. A transação vai falhar se o limite reduzido for menor que os tokens emitidos no momento.

SettlementRequest

Inicia uma operação de liquidação entre dois gerenciadores de tokens. O remetente precisa ser uma conta de compensação.

No SettlementMode diferido, em que a câmara de compensação tem a custódia dos fundos do gerenciador de tokens, essa é a única transação que precisa ser enviada para executar uma liquidação entre os dois gerenciadores de tokens.

Representação JSON
{
  "payerId": string,
  "beneficiaryId": string,
  "balance": {
    object (CurrencyValue)
  },
  "roundId": string
}
Campos
payerId

string

Obrigatório. Imutável. O ID da conta da parte que precisa fazer a transferência de fundos.

beneficiaryId

string

Obrigatório. Imutável. O ID da conta da parte que vai receber os fundos.

balance

object (CurrencyValue)

Obrigatório. Imutável. O saldo de tokens emitidos que precisam ser transferidos pela conta payer para a conta beneficiary no livro-razão.

roundId

string (int64 format)

Obrigatório. Imutável. O ID da rodada em que esse valor de liquidação foi calculado.

Mint

Cria tokens de moeda e os transfere para uma conta especificada. O remetente precisa ser um administrador de tokens.

Representação JSON
{
  "mintAmount": {
    object (CurrencyValue)
  },
  "beneficiaryId": string
}
Campos
mintAmount

object (CurrencyValue)

Obrigatório. A quantidade a ser cunhada. O valor precisa ser tal que o total de tokens gerados pelo gerenciador de tokens não exceda o limite de geração. Se o valor for maior, a transação precisará ser rejeitada.

beneficiaryId

string

Obrigatório. O ID da conta para onde o valor gerado deve ser transferido. A conta de destino precisa ter o ROLE_RECEIVER ativado.

CreateAccount

Cria uma nova conta de usuário. O remetente precisa ser um gerente de contas.

Se a transação for bem-sucedida, o ID da conta recém-criada será retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "keyFormat": enum (KeyFormat),
  "roles": [
    enum (Role)
  ],
  "accountStatus": enum (AccountStatus),
  "accountComment": string,
  "tokenManagerId": string
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do proprietário da conta. Essa não é a chave pública do remetente. Essa é a chave pública do novo proprietário da conta e será armazenada no livro-razão. Ele será usado para validar a assinatura das transações que vêm da conta criada.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

roles[]

enum (Role)

Opcional. A lista de papéis a serem concedidos a essa conta.

accountStatus

enum (AccountStatus)

Opcional. O status da conta a ser criada. Por padrão, o status de uma conta recém-criada é ACCOUNT_STATUS_ACTIVE.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

tokenManagerId

string

Opcional. O ID do gerenciador de tokens desta conta. Esse campo é opcional e, se não for fornecido, o gerenciador de tokens padrão associado ao gerente de contas (ou seja, o remetente dessa transação) será usado. O valor é limitado a 60 caracteres.

DeactivateAccount

Marca uma conta como ACCOUNT_STATUS_INACTIVE. O remetente precisa ser o gerente de contas da conta que será desativada.

Isso significa que o proprietário da conta não poderá fazer transações na conta, independentemente dos papéis.

Representação JSON
{
  "accountId": string
}
Campos
accountId

string

Obrigatório. O ID da conta que será desativada. O valor é limitado a 60 caracteres.

RemoveRoles

Remove os papéis especificados da conta. O remetente precisa ser o gerente de contas da conta a ser modificada.

Representação JSON
{
  "accountId": string,
  "roles": [
    enum (Role)
  ]
}
Campos
accountId

string

Obrigatório. O ID da conta a ser modificada. O valor é limitado a 60 caracteres.

roles[]

enum (Role)

Obrigatório. Os papéis a serem removidos.

Transferir

Transfere tokens de uma conta de usuário para outra. O remetente precisa ser uma conta de usuário comum, e não uma conta privilegiada, como um gerente de tokens ou de contas.

Além disso, o remetente da transação precisa ter o ROLE_PAYER ativado, e o destinatário precisa ter o ROLE_RECEIVER ativado.

Representação JSON
{
  "beneficiaryId": string,
  "amount": {
    object (CurrencyValue)
  }
}
Campos
beneficiaryId

string

Obrigatório. O ID da conta que recebe os tokens.

amount

object (CurrencyValue)

Obrigatório. O valor a ser transferido. O valor precisa ser positivo.

CreateContract

Armazena um contrato no livro-razão.

Representação JSON
{
  "contractBytes": string,
  "initArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "contractComment": string
}
Campos
contractBytes

string (bytes format)

Bytes de contrato serializados.

Uma string codificada em base64.

initArguments

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

Opcional. Imutável. Contém argumentos para o método __init__.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

contractComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro contábil do contrato. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

GrantContractPermissions

Concede permissões ao contrato pelo remetente da transação. Se delegateContractId for especificado, as permissões e o armazenamento correspondente serão concedidos exclusivamente ao contrato delegateContractId, não ao remetente.

Não há suporte para revogar permissões.

Representação JSON
{
  "contractId": string,
  "permissions": [
    enum (ContractPermission)
  ],
  "delegateContractId": string
}
Campos
contractId

string

Obrigatório. O ID do contrato para o qual as permissões estão sendo concedidas.

permissions[]

enum (ContractPermission)

As permissões a serem concedidas.

delegateContractId

string

Opcional. O ID do contrato para o qual as permissões estão sendo concedidas. O remetente da transação precisa ser o proprietário desse contrato.

InvokeContractMethod

Invoca a execução de um método de contrato.

Representação JSON
{
  "contractId": string,
  "methodName": string,
  "methodArguments": {
    string: {
      object (Value)
    },
    ...
  },
  "payment": {
    object (CurrencyValue)
  }
}
Campos
contractId

string

Obrigatório. O ID do contrato a ser executado.

methodName

string

Nome do método a ser executado.

methodArguments

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

Opcional. Imutável. Contém argumentos a serem transmitidos ao método.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

payment

object (CurrencyValue)

O valor a ser pago. Precisa ser maior que zero ao invocar métodos pagáveis e zero para os não pagáveis.

CreateContractTokenManager

Cria um novo gerenciador de tokens de contrato associado à moeda do operador que envia a solicitação. O remetente precisa ser um operador de moeda. O gerenciador de tokens de contrato recém-criado fica ativo por padrão. Se o gerenciador de tokens de contrato precisar ser substituído, a transação TransferContractTokenManager precisará ser enviada. Se houver outro gerenciador de tokens de contrato associado à mesma moeda, essa transação vai falhar.

Ao contrário dos gerenciadores de tokens comuns, os gerenciadores de tokens de contrato não podem executar transações como mint ou burn. No entanto, eles podem participar de operações de liquidação.

Se a transação for bem-sucedida, o ID da conta recém-criada será retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo gerenciador de tokens de contrato. Essa não é a chave pública do operador. Essa chave pública será associada ao gerenciador de tokens de contrato e armazenada no livro-razão. Ela será usada para validar a assinatura das transações que vêm da conta do gerenciador de tokens do contrato.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

TransferContractTokenManager

Transfere a propriedade do gerenciador de tokens de contrato para uma nova conta. O remetente precisa ser o operador atual da moeda.

Se a transação for bem-sucedida, desativa o gerenciador de tokens de contrato atual para a moeda, e o ID da conta recém-criada é retornado como um evento no TransactionCertificate da transação finalizada.

Representação JSON
{
  "publicKey": string,
  "accountComment": string,
  "keyFormat": enum (KeyFormat)
}
Campos
publicKey

string (bytes format)

Obrigatório. A chave pública do novo gerenciador de tokens de contrato. Essa não é a chave pública do operador. Essa é a chave pública do novo gerenciador de tokens de contrato, que será armazenada no livro-razão. Ela será usada para validar a assinatura das transações que vêm da conta do gerenciador de tokens do contrato.

O formato da chave pública é definido pelo campo keyFormat. Consideradas informações públicas.

Uma string codificada em base64.

accountComment

string

Opcional. Imutável. Um campo de comentário opaco que não é interpretado pelo sistema, mas armazenado no livro-razão da conta. Consideradas informações públicas. O tamanho máximo é de 128 caracteres. Pode ficar vazio. Depois de criado, o campo é imutável.

keyFormat

enum (KeyFormat)

Opcional. Imutável. O formato da chave pública. Se não for especificado, o padrão será um conjunto de chaves serializado binário no formato de transmissão do Tink. Consideradas informações públicas.

RemoveSigningPublicKey

Remove a chave de assinatura da conta do slot especificado. O outro slot não pode estar vazio e precisa conter a chave usada para assinar o ClientTransaction.

Representação JSON
{
  "keySlot": enum (KeySlot)
}
Campos
keySlot

enum (KeySlot)

Obrigatório. O slot de chave de onde a chave será removida. Se já estiver vazio, a transação vai falhar.

ReplaceSigningPublicKey

Substitui a chave de assinatura da conta no slot especificado. O outro slot não pode estar vazio e precisa conter a chave usada para assinar o ClientTransaction.

Representação JSON
{
  "keySlot": enum (KeySlot),
  "newPublicKey": string,
  "newKeyFormat": enum (KeyFormat)
}
Campos
keySlot

enum (KeySlot)

Obrigatório. O slot de chave em que a chave será substituída.

newPublicKey

string (bytes format)

Obrigatório. A nova chave pública, que vai substituir a chave pública no slot especificado.

O formato da chave pública é definido pelo campo newKeyFormat. Consideradas informações públicas.

Uma string codificada em base64.

newKeyFormat

enum (KeyFormat)

Obrigatório. O formato da nova chave pública. Consulte a definição de KeyFormat para ver uma lista de formatos compatíveis. Consideradas informações públicas.

TransactionChain

Uma cadeia de transações que inclui várias unidades de transação para execução em sequência.

As unidades serão executadas em sequência, na ordem em que estão listadas. Se todas as unidades forem bem-sucedidas, os efeitos cumulativos delas serão confirmados de forma atômica no estado do mundo. Caso contrário, se alguma delas falhar, toda a cadeia falhará e nenhum dos efeitos será aplicado.

Representação JSON
{
  "units": [
    string
  ]
}
Campos
units[]

string (bytes format)

As unidades individuais da cadeia. Cada unidade precisa ser um SignedTransaction serializado.

Os bytes serializados são necessários para determinar os bytes a serem assinados para a própria cadeia.

Uma string codificada em base64.