Métodos de Chaincode da Stablecoin

O código de cadeia stablecoin inclui todos os métodos TypeScript que estão disponíveis no código de cadeia genérico Token Taxonomy Framework e métodos TypeScript adicionais que são específicos para o cenário stablecoin.

Métodos de Ativos Stablecoin

O ativo stablecoin é baseado no padrão estendido do Token Taxonomy Framework e suporta todos os métodos genéricos para esse padrão. Para obter mais informações sobre os métodos genéricos do Token Taxonomy Framework, consulte Projeto Andaime TypeScript para Token Taxonomy Framework no Blockchain App Builder para Oracle Blockchain Platform.

Observação:

No código de cadeia 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

createAccountPolicyCheck
Este método cria 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.
createAccountPolicyCheck(asset: AccountPolicyCheck)
Parâmetros:
  • asset: AccountPolicyCheck class – Uma classe que define parâmetros de política de conta, que inclui os seguintes campos:
    • accountPolicyId – O sistema gera esse ID a partir dos campos orgId e userId especificados. Você não fornece este campo manualmente.
    • orgId – O ID do provedor de serviços de associação (MSP) do usuário para o qual a política será criada.
    • userId – O nome de usuário ou o ID de e-mail do usuário para o qual a política será criada.
    • kycCompliance – Um valor booliano que indica se a conta atende aos requisitos de KYC (Know Your Customer).
    • amlCompliance – Um valor booliano 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 booliano que indica se a conta está sujeita a transferências restritas. Se definido como true, somente transferências dentro do limite de política de aprovação mais baixo serão permitidas.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
        "payload": {
            "assetType": "AccountPolicyCheck",
            "accountPolicyId": "APID~CentralBank~cb__creator_demo",
            "orgId": "CentralBank",
            "userId": "cb__creator_demo",
            "kycCompliance": "true",
            "amlCompliance": "true",
            "riskScore": 1000,
            "restrictionFlag": "false"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 272
    }
}
getAccountPolicyCheckById
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.
getAccountPolicyCheckById(id: string)
Parâmetros:
  • id: string – O ID exclusivo da política da conta.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
        "payload": {
            "assetType": "AccountPolicyCheck",
            "accountPolicyId": "APID~CentralBank~cb__creator_demo",
            "orgId": "CentralBank",
            "userId": "cb__creator_demo",
            "kycCompliance": "true",
            "amlCompliance": "true",
            "riskScore": 1000,
            "restrictionFlag": "false"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 272
    }
}
updateAccountPolicyCheck
Este método atualiza a política de uma conta especificada. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
updateAccountPolicyCheck(asset: AccountPolicyCheck)
Parâmetros:
  • asset: AccountPolicyCheck class – Uma classe que define parâmetros de política de conta, que inclui os seguintes campos:
    • accountPolicyId – O ID exclusivo da política da conta.
    • orgId – O ID do provedor de serviços de associação (MSP) do usuário para o qual a política será criada.
    • userId – O nome de usuário ou o ID de e-mail do usuário para o qual a política será criada.
    • kycCompliance – Um valor booliano que indica se a conta atende aos requisitos de KYC (Know Your Customer).
    • amlCompliance – Um valor booliano 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 booliano que indica se a conta está sujeita a transferências restritas. Se definido como true, somente transferências dentro do limite de política de aprovação mais baixo serão permitidas.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
        "payload": {
            "assetType": "AccountPolicyCheck",
            "accountPolicyId": "APID~CentralBank~cb__creator_demo",
            "orgId": "CentralBank",
            "userId": "cb__creator_demo",
            "kycCompliance": "true",
            "amlCompliance": "true",
            "riskScore": 1000,
            "restrictionFlag": "true"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 272
    }
}
deleteAccountPolicyCheck
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.
deleteAccountPolicyCheck(id: string)
Parâmetros:
  • id: string – O ID exclusivo da política da conta.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "5499f49ae8595facbcbf56835bed9e6606875c0f54fd3cacb31a4104b56d3579",
        "payload": {
            "isValid": true,
            "message": "Successfully deleted asset with ID [APID~CentralBank~cb__creator_demo] from ledger"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 273
    }
}
getAccountPolicyCheckHistoryById
Este método obtém o histórico completo da política da 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.
getAccountPolicyCheckHistoryById(id: string)
Parâmetros:
  • id: string – O ID exclusivo da política da conta.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "trxId": "dbfd34199bc5ea7224ca6c9976e30166dc859923ab044e595d0d42ad842eb471",
                "timeStamp": "2025-11-20T21:36:29.000Z",
                "value": {
                    "assetType": "AccountPolicyCheck",
                    "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                    "orgId": "CentralBank",
                    "userId": "cb__creator_demo",
                    "kycCompliance": "true",
                    "amlCompliance": "true",
                    "riskScore": 1000,
                    "restrictionFlag": "true"
                }
            },
            {
                "trxId": "8b6951a4093f3bb79a489397878f9025ce4384c8973a0c4d0ec9c618667e8935",
                "timeStamp": "2025-11-20T21:35:34.000Z",
                "value": {
                    "assetType": "AccountPolicyCheck",
                    "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                    "orgId": "CentralBank",
                    "userId": "cb__creator_demo",
                    "kycCompliance": "true",
                    "amlCompliance": "true",
                    "riskScore": 1000,
                    "restrictionFlag": "false"
                }
            },
            {
                "trxId": "5499f49ae8595facbcbf56835bed9e6606875c0f54fd3cacb31a4104b56d3579",
                "timeStamp": "2025-11-20T21:34:03.000Z",
                "value": "KEY DELETED"
            },
            {
                "trxId": "02875ca9c6a7408da3f81156214228b91b09c4bb2b8026d7a5733b53598c6635",
                "timeStamp": "2025-11-20T21:33:24.000Z",
                "value": {
                    "assetType": "AccountPolicyCheck",
                    "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                    "orgId": "CentralBank",
                    "userId": "cb__creator_demo",
                    "kycCompliance": "true",
                    "amlCompliance": "true",
                    "riskScore": 1000,
                    "restrictionFlag": "false"
                }
            }
        ],
        "encode": "JSON"
    }
}
getAccountPolicyCheckByRange
Este método obtém todo o histórico de políticas para um intervalo especificado de IDs de política. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
getAccountPolicyCheckByRange(startId: string, endId: string)
Parâmetros:
  • startId: string – O ID da política da conta inicial do intervalo (inclusive).
  • endId: string – O ID da política da conta final do intervalo (exclusivo).
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "assetType": "AccountPolicyCheck",
                "accountPolicyId": "APID~CentralBank~cb__creator_demo",
                "orgId": "CentralBank",
                "userId": "cb__creator_demo",
                "kycCompliance": "true",
                "amlCompliance": "true",
                "riskScore": 1000,
                "restrictionFlag": "true"
            },
            {
                "assetType": "AccountPolicyCheck",
                "accountPolicyId": "APID~CentralBank~cb_issuer_demo",
                "orgId": "CentralBank",
                "userId": "cb_issuer_demo",
                "kycCompliance": "true",
                "amlCompliance": "true",
                "riskScore": 1000,
                "restrictionFlag": "false"
            }
        ],
        "encode": "JSON"
    }
}

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

createApprovalPolicyCheck
Este método cria uma política de aprovação. Esse método só pode ser chamado por um Token Admin.
createApprovalPolicyCheck(asset: ApprovalPolicyCheck)
Parâmetros:
  • asset: ApprovalPolicyCheck class – Uma classe que define regras de aprovação para uma transação, que inclui os seguintes campos:
    • approvalPolicyId – O sistema gera esse ID. Você não fornece este campo manualmente.
    • 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.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "3a5701ca90ffb98832421c7d5377eb9c0df9fdab30a0a3ce06216808bdea098e",
        "payload": {
            "status": "active",
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~500~1000",
            "transactionLowerLimit": "500",
            "transactionUpperLimit": "1000",
            "numberOfApprovalsRequired": 2,
            "approverDetails": [
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "manager",
                    "approvalSequence": 1
                },
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "creator",
                    "approvalSequence": 2
                }
            ]
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 284
    }
}
getApprovalPolicyCheckById
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 Org Admin da organização especificada.
getApprovalPolicyCheckById(id: string)
Parâmetros:
  • id: string – O ID da política de aprovação exclusivo.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~0~100",
            "transactionLowerLimit": "0",
            "transactionUpperLimit": "100",
            "numberOfApprovalsRequired": 0,
            "approverDetails": []
        },
        "encode": "JSON"
    }
}
updateApprovalPolicyCheck
Este método atualiza a política de aprovação. Esse método só pode ser chamado por um Token Admin.
updateApprovalPolicyCheck(asset: ApprovalPolicyCheck)
Parâmetros:
  • asset: ApprovalPolicyCheck class – Uma classe 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.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "ed1e1950fe02dbab74fa3aa7630b8dc6096e30aae5c81bab0dd22d5232c44fc9",
        "payload": {
            "status": "active",
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~500~1000",
            "transactionLowerLimit": "500",
            "transactionUpperLimit": "1000",
            "numberOfApprovalsRequired": 1,
            "approverDetails": [
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "manager",
                    "approvalSequence": 1
                }
            ]
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009",
        "blockNumber": 285
    }
}
deleteApprovalPolicyCheck
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.
deleteApprovalPolicyCheck(id: string)
Parâmetros:
  • id: string – O ID da política de aprovação exclusivo.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "5ac54d3279a183022a00495aee3c25c2893388ff9aaaecd5c3b594edfa49ad8f",
        "payload": {
            "isValid": true,
            "message": "Successfully deleted asset with ID [GPID~500~1000] from ledger"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20009",
        "blockNumber": 286
    }
}
getApprovalPolicyCheckHistoryById
Este método obtém o histórico completo 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 Org Admin da organização especificada.
getApprovalPolicyCheckHistoryById(id: string)
Parâmetros:
  • id: string – O ID da política de aprovação exclusivo.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "trxId": "48f196c18869e871dc92ab880933ccc1c4dc402b9753ae6270e223646c177090",
                "timeStamp": "2025-11-21T09:30:04.000Z",
                "value": {
                    "assetType": "ApprovalPolicyCheck",
                    "approvalPolicyId": "GPID~0~100",
                    "transactionLowerLimit": "0",
                    "transactionUpperLimit": "100",
                    "numberOfApprovalsRequired": 0,
                    "approverDetails": []
                }
            }
        ],
        "encode": "JSON"
    }
}
getApprovalPolicyCheckByRange
Este método obtém todo o histórico da política de aprovação para um intervalo especificado de IDs de política. Esse método só pode ser chamado por uma Token Admin ou Org Admin da organização especificada.
getApprovalPolicyCheckByRange(startId: string, endId: string)
Parâmetros:
  • startId: string – O ID da política de aprovação inicial do intervalo (inclusive).
  • endId: string – O ID da política de aprovação final do intervalo (exclusivo).
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": [
            {
                "assetType": "ApprovalPolicyCheck",
                "approvalPolicyId": "GPID~0~100",
                "transactionLowerLimit": "0",
                "transactionUpperLimit": "100",
                "numberOfApprovalsRequired": 0,
                "approverDetails": []
            },
            {
                "status": "active",
                "assetType": "ApprovalPolicyCheck",
                "approvalPolicyId": "GPID~500~1000",
                "transactionLowerLimit": "500",
                "transactionUpperLimit": "1000",
                "numberOfApprovalsRequired": 2,
                "approverDetails": [
                    {
                        "approverOrgId": "CentralBank",
                        "approverUserId": "manager",
                        "approvalSequence": 1
                    },
                    {
                        "approverOrgId": "CentralBank",
                        "approverUserId": "creator",
                        "approvalSequence": 2
                    }
                ]
            }
        ],
        "encode": "JSON"
    }
}

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

getApprovalTransactionById
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 Org Admin da organização especificada.
getApprovalTransactionsById(id: string)
Parâmetros:
  • id: string – O ID gerado pelo sistema da transação de aprovação.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "assetType": "ApprovalTransactions",
            "approvalTransactionId": "hold1~oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "approvalOperationId": "hold1",
            "fromAccountId": "oaccount~374e4e762940fc185c7cd5b6528c7f94985b6c56acf46abb746de6381589edd2",
            "toAccountId": "oaccount~79c427e614530eacad6fb07cff6048f6b96283e65019301320c9684932846f64",
            "approverAccountId": "oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "totalApprovals": 1,
            "timestamp": "2025-11-21T12:32:43.000Z"
        },
        "encode": "JSON"
    }
}

Métodos personalizados

getApproverDetailsByTransferAmount
Este método obtém os detalhes do aprovador que são necessários para um determinado valor de transferência. Esse método só pode ser chamado por uma Token Admin ou Token Auditor.
getApproverDetailsByTransferAmount(Amount: number)
Parâmetros:
  • amount: number – O valor da transferência.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "5874105c14abd67e68cb4dacf82f2a2dca6cc9da4f5b27fcc91c83a60b7249e1",
        "payload": {
            "approverDetails": [
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "manager",
                    "approvalSequence": 1
                },
                {
                    "approverOrgId": "CentralBank",
                    "approverUserId": "creator",
                    "approvalSequence": 2
                }
            ]
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 292
    }
}
approveTransaction
Um aprovador pode usar esse método para aprovar uma transação de retenção.
approveTransaction(token_id: string, operation_id: string, quantity: number)
Parâmetros:
  • token_id: string – O ID do token.
  • operation_id: string – Um ID exclusivo para identificar a operação de retenção. Geralmente, esse ID é passado pelo aplicativo cliente.
  • quantity: number – O número de tokens em retenção a serem aprovados para transferência.
Exemplo de Valor de Retorno:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "txid": "44685b0ff1b0ee72d57cb62900aae30638d65c82f264d5de7b28375732171702",
        "payload": {
            "assetType": "ApprovalTransactions",
            "approvalTransactionId": "hold1~oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "approvalOperationId": "hold1",
            "fromAccountId": "oaccount~374e4e762940fc185c7cd5b6528c7f94985b6c56acf46abb746de6381589edd2",
            "toAccountId": "oaccount~79c427e614530eacad6fb07cff6048f6b96283e65019301320c9684932846f64",
            "approverAccountId": "oaccount~1cf5d40c7ea7b9dceedfc66292ab843c1583564c3ecaf9f5ceb11f834018b02f",
            "totalApprovals": 1,
            "timestamp": "2025-11-21T12:32:43.000Z"
        },
        "encode": "JSON",
        "sourceURL": "centralbank-oabcs1-nrt.blockchain.ocp.example.com:20010",
        "blockNumber": 289
    }
}