L'API suivante est modifiée pour le modèle CBDC de gros.
-
SetApplicationGroups
- Cette méthode définit le paramètre
application_groups dans les détails de compte pour les groupes d'applications indiqués dans l'API. Cette méthode ne peut être appelée que par un élément Token Admin ou Org Admin de l'organisation indiquée.
func (t *Controller) SetApplicationGroups(token_id string, org_id string, user_id string, application_groups []string) (interface{}, error)
- Paramètres :
org_id: string : ID du fournisseur de services d'adhésion (MSP) de l'utilisateur dans l'organisation actuelle.
user_id: string : nom d'utilisateur ou ID d'adresse électronique de l'utilisateur.
token_id: string : ID du jeton.
application_groups: string[] : liste des groupes d'applications auxquels appartient l'ID utilisateur, qui définissent les associations de l'utilisateur dans l'application CBDC.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"txid": "261c3da4bb6f1724bc8f674c7b001a9b986bc9900d0508363039424926b143ed",
"payload": {
"AssetType": "oaccount",
"AccountId": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"UserId": "admin_user_cb",
"OrgId": "CB",
"TokenType": "fungible",
"TokenId": "",
"TokenName": "",
"Balance": 0,
"BalanceOnHold": 0,
"OnHoldBurnBalance": 0,
"BapAccountVersion": 0,
"ApplicationGroups": [
"System_Admins"
],
"MaxDailyAmount": 10000,
"DailyAmount": 0,
"MaxDailyTransactions": 100,
"DailyTransactions": 0,
"CurrentDate": "2024-12-09"
},
"encode": "JSON",
"sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
"blockNumber": 246
}
}
-
GetAllActiveAccounts
- Cette méthode renvoie tous les comptes actifs associés à l'ID de jeton spécifié. Tout utilisateur peut appeler cette méthode.
func (t *Controller) GetAllActiveAccounts(token_id string) (interface{}, error)
- Paramètres :
token_id: string : ID du jeton.
- Renvoie :
- En cas de succès, message contenant les détails de l'utilisateur. La sortie varie en fonction du rôle de l'utilisateur, comme indiqué dans les exemples suivants.
- Exemple de valeur renvoyée (administrateur de jeton, auditeur de jeton) :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": "[\"token_admin\"]",
"RoleName": null,
"key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"valueJson": {
"AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"ApplicationGroups": [
"System_Issuers"
],
"AssetType": "oaccount",
"Balance": 0,
"BalanceOnHold": 0,
"OnHoldBurnBalance": 0,
"BapAccountVersion": 0,
"CurrentDate": "2024-11-21",
"DailyAmount": 0,
"DailyTransactions": 0,
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
"OrgId": "CB",
"TokenId": "USD",
"TokenName": "cbdc",
"TokenType": "fungible",
"UserId": "admin_user_cb"
}
}
],
"encode": "JSON"
}
}
- Exemple de valeur renvoyée (administrateur d'organisation, auditeur d'organisation) :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": "[\"token_auditor\"]",
"RoleName": null,
"key": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
"valueJson": {
"AccountId": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "auditor_user_cb",
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
}
}
],
"encode": "JSON"
}
}
- Exemple de valeur renvoyée (tous les autres utilisateurs) :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": "[\"token_admin\"]",
"RoleName": null,
"key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"valueJson": {
"AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "admin_user_cb"
}
}
],
"encode": "JSON"
}
}
-
GetAllSuspendedAccounts
- Cette méthode renvoie tous les comptes suspendus associés à l'ID de jeton spécifié. Tout utilisateur peut appeler cette méthode.
public async getAllSuspendedAccounts(token_id: string)
- Paramètres :
token_id: string : ID du jeton.
- Renvoie :
- En cas de succès, message contenant les détails de l'utilisateur. La sortie varie en fonction du rôle de l'utilisateur, comme indiqué dans les exemples suivants.
- Exemple de valeur renvoyée (administrateur de jeton, auditeur de jeton) :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": null,
"RoleName": "minter",
"key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"valueJson": {
"AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"ApplicationGroups": [
"System_Admins"
],
"AssetType": "oaccount",
"Balance": 140,
"BalanceOnHold": 0,
"OnHoldBurnBalance": 0,
"BapAccountVersion": 8,
"CurrentDate": "2024-11-21",
"DailyAmount": 70,
"DailyTransactions": 3,
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
"OrgId": "CB",
"TokenId": "USD",
"TokenName": "cbdc",
"TokenType": "fungible",
"UserId": "creator_user_cb"
}
}
],
"encode": "JSON"
}
}
- Exemple de valeur renvoyée (administrateur d'organisation, auditeur d'organisation) :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": null,
"RoleName": "minter",
"key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"valueJson": {
"AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "creator_user_cb",
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
}
}
],
"encode": "JSON"
}
}
- Exemple de valeur renvoyée (tous les autres utilisateurs) :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": null,
"RoleName": "minter",
"key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"valueJson": {
"AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "creator_user_cb"
}
}
],
"encode": "JSON"
}
}
-
GetBurnQuantity
- Cette méthode renvoie la quantité totale de jetons brûlés pour une organisation spécifiée. Cette méthode ne peut être appelée que par un utilisateur doté du rôle de brûleur
Token Admin, Token Auditor ou un autre utilisateur.
func (t *Controller) GetBurnQuantity(token_id string) (interface{}, error)
- Paramètres :
token_id: string : ID du jeton.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": {
"BurnQuantity": 10
},
"encode": "JSON"
}
}
-
GetActionHistory
- Cette méthode extrait l'historique des approbations ou des rejets effectués par l'appelant pour les opérations de menthe, de brûlure et de transfert (émission), y compris les détails de l'organisation et les ID utilisateur des comptes concernés (expéditeur, destinataire et notaire).
func (t *Controller) GetActionHistory(token_id string) (interface{}, error)
- Paramètres :
token_id: string : ID du jeton.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"FromAccountId": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
"FromOrgId": "CB",
"FromUserId": "retirer_user_cb",
"HoldingId": "ohold~cbdc~USD~6e1223",
"HoldingStatus": "REJECT_BURN",
"LastUpdatedTime": "2024-11-21T22:08:26Z",
"NotaryAccountId": null,
"NotaryOrgId": null,
"NotaryUserId": null,
"OperationId": null,
"Quantity": 5,
"TimeToExpiration": null,
"ToAccountId": "",
"ToOrgId": null,
"ToUserId": null,
"TokenId": "USD",
"TokenName": null
},
{
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"FromOrgId": "CB",
"FromUserId": "creator_user_cb",
"HoldingId": "ohold~cbdc~USD~hold2",
"HoldingStatus": "RELEASEHOLD",
"LastUpdatedTime": "2024-11-21T21:54:33Z",
"NotaryAccountId": null,
"NotaryOrgId": null,
"NotaryUserId": null,
"OperationId": null,
"Quantity": 10,
"TimeToExpiration": null,
"ToAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"ToOrgId": "CB",
"ToUserId": "creator_user_cb",
"TokenId": "USD",
"TokenName": null
}
],
"encode": "JSON"
}
}
-
GetPendingIssuance
- Cette méthode extrait toutes les transactions de sortie (transfert) en attente auxquelles l'appelant est affecté en tant qu'approbateur, y compris les détails de l'organisation et les ID utilisateur des comptes concernés (expéditeur, destinataire et notaire). Cette méthode peut uniquement être appelée par une chaîne (
Token Admin) ou une chaîne (Token Auditor) du code chaîne, une chaîne (Org Admin) ou une chaîne (Org Auditor) de l'organisation indiquée ou la chaîne (Notary).
func (t *Controller) GetPendingIssuance(token_id string) (interface{}, error)
- Paramètres :
token_id: string : ID du jeton.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"AssetType": "ONHOLD",
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"FromOrgId": "CB",
"FromUserId": "creator_user_cb",
"HoldingId": "ohold~cbdc~USD~h123",
"NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"NotaryOrgId": "CB",
"NotaryUserId": "manager_user_cb",
"OperationId": "h123",
"Quantity": 10,
"TimeToExpiration": "0",
"ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
"ToOrgId": "CB",
"ToUserId": "issuer_user_cb",
"TokenId": "USD",
"TokenName": "cbdc"
}
],
"encode": "JSON"
}
}
-
GetPendingRequest
- Cette méthode extrait toutes les demandes en attente d'un type donné pour lesquelles l'appelant est affecté en tant qu'approbateur. Cette méthode peut uniquement être appelée par une chaîne (
Token Admin) ou une chaîne (Token Auditor) du code chaîne, une chaîne (Org Admin) ou une chaîne (Org Auditor) de l'organisation indiquée ou la chaîne (Notary).
func (t *Controller) GetPendingRequest(token_id string, request_type string) (interface{}, error)
- Paramètres :
token_id: string : ID du jeton.
request_type: string : type de transaction. Par exemple, mint ou burn.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"valueJson": {
"AssetType": "ohold",
"Category": "Category value",
"Description": "Description value",
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"HoldingId": "ohold~cbdc~USD~8e1232",
"NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"OperationId": "8e1232",
"OperationType": "mint",
"Quantity": 100,
"Status": "pending",
"TimeToExpiration": "0",
"ToAccountId": "",
"TokenId": "USD",
"TokenName": "cbdc"
}
}
],
"encode": "JSON"
}
}
-
GetTotalBalanceByCallerOrgId
- Cette méthode extrait le solde total de l'organisation de l'appelant. Il peut être appelé par
Token Admin, Token Auditor, Org Admin, Org Auditor ou tout propriétaire de compte.
func (t *Controller) GetTotalBalanceByCallerOrgId() (interface{}, error)
- Paramètres :
token_id: string : ID du jeton.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"TotalBalance": 180
}
],
"encode": "JSON"
}
}
-
GetTransactionWithBlockNumber
- Cette méthode renvoie les détails de la transaction pour l'ID de transaction spécifié.
func (t *Controller) GetTransactionWithBlockNumber(token_id string, transaction_id string)
- Paramètres :
token_id: string : ID du jeton.
transaction_id: string : ID de la transaction.
- Exemple de valeur renvoyée :
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"blockNo": 152,
"key": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
"metadata": null,
"txnNo": 0,
"value": null,
"valueJson": {
"Amount": 10,
"AssetType": "otransaction",
"Category": "Category value",
"Description": "",
"FromAccountBalance": 130,
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"FromAccountOnHoldBalance": 10,
"HoldingId": "ohold~cbdc~USD~hold1",
"NumberOfSubTransactions": 0,
"SubTransaction": "false",
"SubTransactionType": "",
"Timestamp": "2024-11-21T20:43:59Z",
"ToAccountBalance": 10,
"ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
"ToAccountOnHoldBalance": 0,
"TokenId": "USD",
"TransactionId": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
"TransactionType": "EXECUTEHOLD"
}
}
],
"encode": "JSON"
}
}