Métodos de código de cadena de Stablecoin

El código de cadena de stablecoin incluye todos los métodos TypeScript que están disponibles en el código de cadena genérico de Token Taxonomy Framework y los métodos TypeScript adicionales que son específicos del escenario de stablecoin.

Métodos de activos de Stablecoin

El activo de stablecoin se basa en el estándar extendido Token Taxonomy Framework y admite todos los métodos genéricos para ese estándar. Para obtener más información sobre los métodos genéricos de Token Taxonomy Framework, consulte Proyecto andamiaje TypeScript para Token Taxonomy Framework en Blockchain App Builder para Oracle Blockchain Platform.

Note:

En el código de cadena de stablecoin, el método executeHoldTokens se comporta de manera diferente a la versión genérica. La versión de stablecoin del método siempre completa el importe de retención completo y no admite transferencias parciales.

Métodos de comprobación de política de cuenta

createAccountPolicyCheck
Este método crea una política para una cuenta especificada. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
createAccountPolicyCheck(asset: AccountPolicyCheck)
Parámetros:
  • asset: AccountPolicyCheck class: clase que define los parámetros de política de cuenta, que incluye los siguientes campos:
    • accountPolicyId: el sistema genera este ID a partir de los campos orgId y userId especificados. Este campo no se proporciona manualmente.
    • orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que se va a crear la política.
    • userId: nombre de usuario o ID de correo electrónico del usuario para el que se va a crear la política.
    • kycCompliance: valor booleano que indica si la cuenta cumple los requisitos de KYC (Know Your Customer).
    • amlCompliance: valor booleano que indica si la cuenta cumple con los requisitos de prevención de blanqueo de dinero (AML).
    • riskScore: puntuación de riesgo asociada a la cuenta, que se utiliza para la evaluación de conformidad.
    • restrictionFlag: valor booleano que indica si la cuenta está sujeta a transferencias restringidas. Si se define en true, solo se permiten transferencias dentro del umbral de política de aprobación más bajo.
Ejemplo de valor devuelto:
{
    "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 obtiene los detalles de la política de cuenta para un ID de política especificado. Este método solo puede ser llamado por Token Admin o Token Auditor, o por Org Admin o Org Auditor de la organización especificada.
getAccountPolicyCheckById(id: string)
Parámetros:
  • id: string: ID de política de cuenta único.
Ejemplo de valor devuelto:
{
    "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 actualiza la política para una cuenta especificada. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
updateAccountPolicyCheck(asset: AccountPolicyCheck)
Parámetros:
  • asset: AccountPolicyCheck class: clase que define los parámetros de política de cuenta, que incluye los siguientes campos:
    • accountPolicyId: ID de política de cuenta único.
    • orgId: ID del proveedor de servicios de afiliación (MSP) del usuario para el que se va a crear la política.
    • userId: nombre de usuario o ID de correo electrónico del usuario para el que se va a crear la política.
    • kycCompliance: valor booleano que indica si la cuenta cumple los requisitos de KYC (Know Your Customer).
    • amlCompliance: valor booleano que indica si la cuenta cumple con los requisitos de prevención de blanqueo de dinero (AML).
    • riskScore: puntuación de riesgo asociada a la cuenta, que se utiliza para la evaluación de conformidad.
    • restrictionFlag: valor booleano que indica si la cuenta está sujeta a transferencias restringidas. Si se define en true, solo se permiten transferencias dentro del umbral de política de aprobación más bajo.
Ejemplo de valor devuelto:
{
    "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 suprime la política para un ID de política especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
deleteAccountPolicyCheck(id: string)
Parámetros:
  • id: string: ID de política de cuenta único.
Ejemplo de valor devuelto:
{
    "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 obtiene el historial completo de políticas de cuenta para un ID de política especificado. Este método solo puede ser llamado por Token Admin o Token Auditor, o por Org Admin o Org Auditor de la organización especificada.
getAccountPolicyCheckHistoryById(id: string)
Parámetros:
  • id: string: ID de política de cuenta único.
Ejemplo de valor devuelto:
{
    "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 obtiene todo el historial de políticas para un rango especificado de ID de políticas. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
getAccountPolicyCheckByRange(startId: string, endId: string)
Parámetros:
  • startId: string: ID de política de cuenta inicial del rango (incluido).
  • endId: string: ID de política de cuenta final del rango (exclusivo).
Ejemplo de valor devuelto:
{
    "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 comprobación de política de aprobación

createApprovalPolicyCheck
Este método crea una política de aprobación. Este método solo se puede llamar mediante Token Admin.
createApprovalPolicyCheck(asset: ApprovalPolicyCheck)
Parámetros:
  • asset: ApprovalPolicyCheck class: clase que define reglas de aprobación para una transacción, que incluye los siguientes campos:
    • approvalPolicyId: el sistema genera este ID. Este campo no se proporciona manualmente.
    • transactionLowerLimit: importe mínimo de transacción al que se aplica la política de aprobación.
    • transactionUpperLimit: importe máximo de transacción al que se aplica la política de aprobación.
    • numberOfApprovalsRequired: número total de aprobaciones necesarias antes de que se pueda completar la transacción.
    • approverDetails: lista de aprobadores junto con la secuencia de aprobación asignada, que define el orden obligatorio para las aprobaciones.
Ejemplo de valor devuelto:
{
    "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 obtiene los detalles de la política de aprobación para un ID de política especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
getApprovalPolicyCheckById(id: string)
Parámetros:
  • id: string: ID de política de aprobación único.
Ejemplo de valor devuelto:
{
    "returnCode": "Success",
    "error": "",
    "result": {
        "payload": {
            "assetType": "ApprovalPolicyCheck",
            "approvalPolicyId": "GPID~0~100",
            "transactionLowerLimit": "0",
            "transactionUpperLimit": "100",
            "numberOfApprovalsRequired": 0,
            "approverDetails": []
        },
        "encode": "JSON"
    }
}
updateApprovalPolicyCheck
Este método actualiza la política de aprobación. Este método solo se puede llamar mediante Token Admin.
updateApprovalPolicyCheck(asset: ApprovalPolicyCheck)
Parámetros:
  • asset: ApprovalPolicyCheck class: clase que define reglas de aprobación para una transacción, que incluye los siguientes campos:
    • approvalPolicyId: ID de política de aprobación único.
    • transactionLowerLimit: importe mínimo de transacción al que se aplica la política de aprobación.
    • transactionUpperLimit: importe máximo de transacción al que se aplica la política de aprobación.
    • numberOfApprovalsRequired: número total de aprobaciones necesarias antes de que se pueda completar la transacción.
    • approverDetails: lista de aprobadores junto con la secuencia de aprobación asignada, que define el orden obligatorio para las aprobaciones.
Ejemplo de valor devuelto:
{
    "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 suprime la política de aprobación para un ID de política especificado. Este método solo se puede llamar mediante Token Admin.
deleteApprovalPolicyCheck(id: string)
Parámetros:
  • id: string: ID de política de aprobación único.
Ejemplo de valor devuelto:
{
    "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 obtiene el historial completo de políticas de aprobación para un ID de política especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
getApprovalPolicyCheckHistoryById(id: string)
Parámetros:
  • id: string: ID de política de aprobación único.
Ejemplo de valor devuelto:
{
    "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 obtiene todo el historial de políticas de aprobación para un rango especificado de ID de políticas. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
getApprovalPolicyCheckByRange(startId: string, endId: string)
Parámetros:
  • startId: string: ID de política de aprobación inicial del rango (incluido).
  • endId: string: ID de política de aprobación final del rango (exclusivo).
Ejemplo de valor devuelto:
{
    "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 transacciones de aprobación

getApprovalTransactionById
Este método obtiene la transacción de aprobación para un ID de transacción especificado. Este método solo puede ser llamado por un Token Admin o Org Admin de la organización especificada.
getApprovalTransactionsById(id: string)
Parámetros:
  • id: string: ID generado por el sistema de la transacción de aprobación.
Ejemplo de valor devuelto:
{
    "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 obtiene los detalles del aprobador que son necesarios para un importe de transferencia determinado. Este método solo se puede llamar mediante Token Admin o Token Auditor.
getApproverDetailsByTransferAmount(Amount: number)
Parámetros:
  • amount: number: importe de la transferencia.
Ejemplo de valor devuelto:
{
    "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
Un aprobador puede utilizar este método para aprobar una transacción de retención.
approveTransaction(token_id: string, operation_id: string, quantity: number)
Parámetros:
  • token_id: string: ID del token.
  • operation_id: string: ID único para identificar la operación de retención. Normalmente, la aplicación cliente transfiere este ID.
  • quantity: number: número de tokens retenidos que aprobar para la transferencia.
Ejemplo de valor devuelto:
{
    "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
    }
}