Métodos de contrato de stablecoin

O contrato de stablecoin inclui todos os métodos disponíveis no contrato ERC-20 estendido e métodos adicionais que são específicos para o cenário de stablecoin.

Métodos de Ativos Stablecoin

O ativo stablecoin é baseado no padrão ERC-20 estendido e suporta todos os métodos genéricos para esse padrão. Para obter mais informações sobre os métodos ERC-20 genéricos, consulte APIs de Ativos Digitais.

Observação:

No contrato stablecoin, o método executeHoldTokens se comporta de forma diferente da versão genérica. A versão stablecoin do método sempre preenche o valor total da retenção e não suporta transferências parciais.

Métodos de verificação de apólice de conta

createOrupdateAccountPolicy
Este método cria ou atualiza uma política para uma conta especificada. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
function createOrupdateAccountPolicy(
      AccountPolicyCheck calldata accountPolicyCheck
  ) external
Parâmetros:
  • asset: AccountPolicyCheck struct – Uma estrutura que define parâmetros de política de conta, que inclui os seguintes campos:
    • accountPolicyId – Use o método getAccountPolicyIdForAddress() para gerar esse ID com base no endereço da conta do usuário para o qual a política será criada.
    • kycCompliance – Um valor de string (true ou false) que indica se a conta atende aos requisitos de KYC (Know Your Customer).
    • amlCompliance – Um valor de string (true ou false) que indica se a conta atende aos requisitos de AML (Anti-Money Laundering).
    • riskScore – A pontuação de risco associada à conta, que é usada para avaliação de conformidade.
    • restrictionFlag – Um valor de string (true ou false) que indica se a conta está sujeita a transferências restritas. Se definido como true, as transferências diretas seguirão os limites de bucket de restrição de transferência e as transferências retidas seguirão o limite de política de aprovação mais baixo.
getAccountPolicyById
Este método obtém os detalhes da política de conta para um ID de política especificado. Esse método só pode ser chamado por uma Token Admin ou Token Auditor, ou por uma Org Admin ou Org Auditor da organização especificada.
function getAccountPolicyById(
        string calldata accountPolicyId
    ) external view 
Parâmetros:
  • accountPolicyId: string – O ID exclusivo da política da conta.
deleteAccountPolicy
Este método exclui a política de um ID de política especificado. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
function deleteAccountPolicy(string calldata accountPolicyId) public 
Parâmetros:
  • accountPolicyId: string – O ID exclusivo da política da conta.

Métodos de Verificação da Política de Aprovação

createOrupdateApprovalPolicy
Este método cria ou atualiza uma política de aprovação. Esse método só pode ser chamado por um Token Admin.
function createOrupdateApprovalPolicy(
        ApprovalPolicyCheck calldata approvalPolicyCheck
    ) external
Parâmetros:
  • asset: ApprovalPolicyCheck struct – Uma estrutura que define regras de aprovação para uma transação, que inclui os seguintes campos:
    • approvalPolicyId – O ID da política de aprovação exclusivo.
    • transactionLowerLimit – O valor mínimo da transação ao qual a política de aprovação se aplica.
    • transactionUpperLimit – O valor máximo da transação ao qual a política de aprovação se aplica.
    • numberOfApprovalsRequired – O número total de aprovações necessárias para que a transação possa ser concluída.
    • approverDetails – Uma lista de aprovadores junto com sua sequência de aprovação atribuída, que define a ordem obrigatória para aprovações.
getApprovalPolicyById
Este método obtém os detalhes da política de aprovação para um ID de política especificado. Esse método só pode ser chamado por uma Token Admin ou Token Auditor.
function getApprovalPolicyById(
        string calldata approvalPolicyId
    ) external
Parâmetros:
  • approvalPolicyId: string – O ID da política de aprovação exclusivo.
deleteApprovalPolicy
Este método exclui a política de aprovação de um ID de política especificado. Esse método só pode ser chamado por um Token Admin.
function deleteApprovalPolicy(string calldata approvalPolicyId) public
Parâmetros:
  • approvalPolicyId: string – O ID da política de aprovação exclusivo.

Métodos de Transações de Aprovação

getApprovalTransactionsById
Este método obtém a transação de aprovação de um ID de transação especificado. Esse método só pode ser chamado por uma Token Admin ou Token Auditor.
function getApprovalTransactionsById(
        string calldata opId
    )
Parâmetros:
  • opId: string – O ID da transação de aprovação.
getApprovalStatusByOperationId
Este método obtém a transação de aprovação de um ID de transação especificado. Esse método só pode ser chamado por uma Token Admin ou Token Auditor.
function getApprovalStatusByOperationId(
        string calldata opId
    )
Parâmetros:
  • opId: string – O ID de operação exclusivo.
approveTransaction
Um aprovador pode usar esse método para aprovar uma transação de retenção.
function approveTransaction(string calldata opId, uint256 amount) public
Parâmetros:
  • opId: string – O ID de operação exclusivo.
  • amount: uint256 – O número de tokens em retenção a serem aprovados para transferência.

Métodos de Restrição de Transferência

É possível usar restrições de transferência para controlar os valores mínimos e máximos da transação permitidos para transferências de token. As restrições de transferência são aplicadas quando uma conta tem o valor restrictionFlag definido como true. As restrições de transferência operam independentemente das regras de política de aprovação usadas para operações de retenção. O ativo TransferRestriction define os limites de transferência inferior e superior globais que se aplicam a todas as contas em que as restrições de transferência estão ativadas. Após a implantação do contrato, os administradores podem recuperar ou atualizar esses valores usando os métodos a seguir.

setOrupdateTransferRestriction
Este método define ou atualiza a configuração de restrição de transferência definindo novos limites de transação inferior e superior. Esse método só pode ser chamado por um Token Admin.
 function setOrupdateTransferRestriction(
        uint256 transactionLowerLimit,
        uint256 transactionUpperLimit
    ) external
Parâmetros:
  • transactionLowerLimit – O valor mínimo permitido de transferência.
  • transactionUpperLimit – O valor máximo permitido de transferência que pode ser processado sem governança especial.
getTransferRestriction
Este método retorna a configuração de restrição de transferência atual, incluindo os limites de transação inferior e superior. Esse método só pode ser chamado por uma Token Admin ou Token Auditor.
function getTransferRestriction() external
Parâmetros:
  • nenhum