Modello Marketplace obbligazioni

La versione avanzata di Blockchain App Builder include un attributo modello che genera metodi aggiuntivi per lo scenario del marketplace delle obbligazioni.

Se si include il parametro model: bond nel file di specifica per i token che utilizzano lo standard ERC-1155 esteso, il codice concatenato specifico dell'applicazione Blockchain App Builder, inclusi i seguenti metodi aggiuntivi da utilizzare con l'applicazione marketplace delle obbligazioni.

Metodi TypeScript per Bond Marketplace

Il codice concatenato del mercato obbligazionario include tutti i metodi disponibili nel codice concatenato generico ERC-1155 NFT. Sono disponibili i seguenti metodi aggiuntivi specifici per lo scenario del mercato obbligazionario.
postToken
Questo metodo può essere chiamato solo da un creatore di token. Il metodo sottomette il token obbligazionario per l'inserimento nell'elenco nel marketplace. Quando viene creato un token, il relativo stato viene inizialmente impostato su created. Questo metodo aggiorna lo stato in posted. Gli utenti possono eseguire il metodo getAllTokensWithFilter per recuperare tutti i NFT con stato posted.
public async postToken(tokenId: number)
Parametri:
  • tokenId: number: l'ID del token da inviare.
Esempio di valore restituito:
{
         "isValid":true,
         "payload":{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"created"
         },
         "message":"Successfully updated asset with ID bond1"
      }
purchaseToken
Questo metodo può essere chiamato da qualsiasi titolare di conto per acquistare un'obbligazione quotata NFT. L'acquisto trasferisce l'NFT dell'obbligazione dal conto del creatore al conto del chiamante e trasferisce i token CBDC dal conto del chiamante al conto del creatore. Per questo motivo, il metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. orgId e userId devono corrispondere all'autore del token e il valore di trasferimento del token CBDC deve essere uguale al valore nominale del token obbligazionario moltiplicato per la quantità acquistata.
public async purchaseToken(tokenId: number, quantity: number, orderId: string, additionalFees: number)
Parametri:
  • tokenId: number – L'ID del token da acquistare.
  • quantity: number – La quantità di token da acquistare.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
  • additionalFees: number – I corrispettivi aggiuntivi da aggiungere al prezzo di acquisto.
Esempio di valore restituito:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
payInterest
Questo metodo può essere chiamato solo dal creatore del token o dall'amministratore per pagare gli interessi maturati sul token obbligazionario. Questo metodo può essere chiamato solo se la frequenza di interesse del token è mensile, trimestrale o annuale. Gli interessi non possono essere pagati se la frequenza degli interessi è alla scadenza. L'interesse viene calcolato dal codice concatenato in base al tasso coupon del token. L'operazione di acquisto trasferisce i token CBDC dal conto del chiamante al conto del proprietario dell'obbligazione. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al proprietario del token e il valore di trasferimento del token CBDC deve essere uguale all'interesse calcolato dal codice concatenato del bond.
public async payInterest(orgId: string, userId: string, tokenId: number, orderId: string)
Parametri:
  • orgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • userId: string: il nome utente o l'ID e-mail dell'utente.
  • tokenId: number: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
Esempio di valore restituito:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
requestTokenRedemption
Questo metodo può essere chiamato solo dal proprietario del token per presentare una richiesta di riscatto dei token obbligazionari dopo la scadenza. Questo metodo prevede anche il calcolo del prezzo di riscatto mediante il codice concatenato. Le richieste di riscatto possono essere generate solo sull'intera quantità del token obbligazionario di proprietà dell'utente. Gli utenti possono generare più richieste di riscatto in base a ID liquidazione diversi, ma solo una può essere approvata dall'autore del token.
public async requestTokenRedemption(settlementId: string, tokenId: number, orderId: string, additionalFees: number)
Parametri:
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: number: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
  • additionalFees: number – Le tariffe aggiuntive da aggiungere al prezzo di riscatto.
Esempio di valore restituito:
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11

}
approveTokenRedemption
Questo metodo può essere chiamato solo dall'autore del token per approvare una richiesta di riscatto dei token obbligazionari. L'operazione di approvazione trasferisce l'NFT dell'obbligazione dal conto del proprietario (l'utente che ha sollevato la richiesta) al conto del creatore e trasferisce i token CBDC dal creatore dell'obbligazione al conto del proprietario. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al conto del proprietario del token che ha generato la richiesta di riscatto e il valore di trasferimento del token CBDC deve essere uguale al prezzo di riscatto calcolato dal codice concatenato durante l'inoltro della richiesta di riscatto.
public async approveRedemption(fromOrgId: string, fromUserId: string, settlementId: string, tokenId: number)
Parametri:
  • fromOrgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • fromUserId: string: il nome utente o l'ID e-mail dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: number: l'ID del token.
Esempio di valore restituito:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
rejectRedemption
L'autore del token può chiamare questo metodo per rifiutare la richiesta di riscatto. I proprietari di token possono generare di nuovo una richiesta di riscatto utilizzando un ID liquidazione diverso.
public async rejectRedemption(fromOrgId: string, fromUserId: string, settlementId: string, tokenId: number)
Parametri:
  • fromOrgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • fromUserId: string: il nome utente o l'ID e-mail dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: number: l'ID del token.
Esempio di valore restituito:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
getAllTokensWithFilters
L'amministratore può chiamare questo metodo get per recuperare tutti i token filtrati in base allo stato, CREATED o POSTED.
public async getAllTokensWithFilters(status: string, pageSize: number, bookmark: string)
Parametri:
  • status: string: lo stato del token, che può essere CREATED o POSTED.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenApprovalRequestByUser
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
public async getTokenApprovalRequestByUser(status: string)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
public async getTokenApprovalRequestForUserByStatus(status: string)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getAccountBondSummary
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto.
public async getAccountBondSummary(orgId: string, userId: string)
Parametri:
  • orgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • userId: string: il nome utente o l'ID e-mail dell'utente.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
}
getAccountBondSummaryWithPagination
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto. Questo metodo può restituire risultati con impaginazione basata sui valori di impaginazione e segnalibro, nonché filtrata in base all'ora di inizio e di fine.
public async getAccountBondSummaryWithPagination(orgId: string, userId: string, pageSize: number, bookmark?: string)
Parametri:
  • orgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • userId: string: il nome utente o l'ID e-mail dell'utente.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
}

Metodi Go per Bond Marketplace

Il codice concatenato del mercato obbligazionario include tutti i metodi disponibili nel codice concatenato generico ERC-1155 NFT. Sono disponibili i seguenti metodi aggiuntivi specifici per lo scenario del mercato obbligazionario.
PostToken
Questo metodo può essere chiamato solo da un creatore di token. Il metodo sottomette il token obbligazionario per l'inserimento nell'elenco nel marketplace. Quando viene creato un token, il relativo stato viene inizialmente impostato su created. Questo metodo aggiorna lo stato in posted. Gli utenti possono eseguire il metodo getAllTokensWithFilter per recuperare tutti i NFT con stato posted.
func (t *Controller) PostToken(tokenId float64) (interface{}, error)
Parametri:
  • tokenId: float64: l'ID del token da inviare.
Esempio di valore restituito:
{
         "isValid":true,
         "payload":{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "AssetType":"otoken",
            "Events":true,
            "TokenId":"1",
            "TokenName":"bond",
            "TokenDesc":"tokenDesc value",
            "TokenStandard":"erc1155+",
            "TokenType":"nonfungible",
            "TokenUnit":"fractional",
            "Behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "Roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "Mintable":{
               "max_mint_quantity":0
            },
            "Quantity":100,
            "CreatedBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "CreationDate":"2024-12-02T12:42:09.000Z",
            "Divisible":{
               "decimal":0
            },
            "IsBurned":false,
            "IsLocked":false,
            "TokenUri":"tokenUri value",
            "Status":"created"
         },
         "message":"Successfully updated asset with ID bond1"
      }
PurchaseToken
Questo metodo può essere chiamato da qualsiasi titolare di conto per acquistare un'obbligazione quotata NFT. L'acquisto trasferisce l'NFT dell'obbligazione dal conto del creatore al conto del chiamante e trasferisce i token CBDC dal conto del chiamante al conto del creatore. Per questo motivo, il metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. orgId e userId devono corrispondere all'autore del token e il valore di trasferimento del token CBDC deve essere uguale al valore nominale del token obbligazionario moltiplicato per la quantità acquistata.
func (t *Controller) PurchaseToken(tokenId float64, quantity float64, orderId string, additionalFees float64) (interface{}, error)
Parametri:
  • tokenId: float64 – L'ID del token da acquistare.
  • quantity: number – La quantità di token da acquistare.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
  • additionalFees: number – I corrispettivi aggiuntivi da aggiungere al prezzo di acquisto.
Esempio di valore restituito:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
PayInterest
Questo metodo può essere chiamato solo dal creatore del token o dall'amministratore per pagare gli interessi maturati sul token obbligazionario. Questo metodo può essere chiamato solo se la frequenza di interesse del token è mensile, trimestrale o annuale. Gli interessi non possono essere pagati se la frequenza degli interessi è alla scadenza. L'interesse viene calcolato dal codice concatenato in base al tasso coupon del token. L'operazione di acquisto trasferisce i token CBDC dal conto del chiamante al conto del proprietario dell'obbligazione. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al proprietario del token e il valore di trasferimento del token CBDC deve essere uguale all'interesse calcolato dal codice concatenato del bond.
func (t *Controller) PayInterestEarned(orgId string, userId string, tokenId float64, orderId string, additionalFees float64) (interface{}, error)
Parametri:
  • orgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • userId: string: il nome utente o l'ID e-mail dell'utente.
  • tokenId: float64: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
Esempio di valore restituito:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
RequestTokenRedemption
Questo metodo può essere chiamato solo dal proprietario del token per presentare una richiesta di riscatto dei token obbligazionari dopo la scadenza. Questo metodo prevede anche il calcolo del prezzo di riscatto mediante il codice concatenato. Le richieste di riscatto possono essere generate solo sull'intera quantità del token obbligazionario di proprietà dell'utente. Gli utenti possono generare più richieste di riscatto in base a ID liquidazione diversi, ma solo una può essere approvata dall'autore del token.
func (t *Controller) RequestTokenRedemption(settlementId string, tokenId float64, orderId string, additionalFees float64) (interface{}, error)
Parametri:
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: float64: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
  • additionalFees: number – Le tariffe aggiuntive da aggiungere al prezzo di riscatto.
Esempio di valore restituito:
{
         "TokenName":"bond",
         "AssetType":"otokenApproval",
         "Id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "SettlementId":"op4",
         "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "TokenId":"1",
         "Quantity":1,
         "Status":"PENDING",
         "OrderId":"op4",
         "RedeemPrice":11
}
ApproveTokenRedemption
Questo metodo può essere chiamato solo dall'autore del token per approvare una richiesta di riscatto dei token obbligazionari. L'operazione di approvazione trasferisce l'NFT dell'obbligazione dal conto del proprietario (l'utente che ha sollevato la richiesta) al conto del creatore e trasferisce i token CBDC dal creatore dell'obbligazione al conto del proprietario. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al conto del proprietario del token che ha generato la richiesta di riscatto e il valore di trasferimento del token CBDC deve essere uguale al prezzo di riscatto calcolato dal codice concatenato durante l'inoltro della richiesta di riscatto.
func (t *Controller) ApproveRedemption(fromOrgId string, fromUserId string, settlementId string, tokenId float64) (interface{}, error)
Parametri:
  • fromOrgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • fromUserId: string: il nome utente o l'ID e-mail dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: float64: l'ID del token.
Esempio di valore restituito:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
RejectRedemption
L'autore del token può chiamare questo metodo per rifiutare la richiesta di riscatto. I proprietari di token possono generare di nuovo una richiesta di riscatto utilizzando un ID liquidazione diverso.
func (t *Controller) RejectRedemption(fromOrgId string, fromUserId string, settlementId string, tokenId float64) (interface{}, error)
Parametri:
  • fromOrgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • fromUserId: string: il nome utente o l'ID e-mail dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: float64: l'ID del token.
Esempio di valore restituito:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
GetAllTokensWithFilter
L'amministratore può chiamare questo metodo get per recuperare tutti i token filtrati in base allo stato, CREATED o POSTED.
func (t *Controller) GetAllTokensWithFilters(status string, pageSize int32, bookmark string)
Parametri:
  • status: string: lo stato del token, che può essere CREATED o POSTED.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
[ {

               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "AssetType":"otoken",
            "Events":true,
            "TokenId":"1",
            "TokenName":"bond",
            "TokenDesc":"tokenDesc value",
            "TokenStandard":"erc1155+",
            "TokenType":"nonfungible",
            "TokenUnit":"fractional",
            "Behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "Roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "Mintable":{
               "max_mint_quantity":0
            },
            "Quantity":100,
            "CreatedBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "CreationDate":"2024-12-02T12:42:09.000Z",
            "Divisible":{
               "decimal":0
            },
            "IsBurned":false,
            "IsLocked":false,
            "TokenUri":"tokenUri value",
            "Status":"posted"
         }

]
GetTokenApprovalRequestByUser
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
func (t *Controller) GetTokenApprovalRequestByUser(status string) (interface{}, error)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":2,
      "Status":"APPROVED",
      "OrderId":"op1",
      "RedeemPrice":1,
      "PurchasedPrice":11,
      "InterestEarned":0
   },
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "SettlementId":"op3",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetTokenApprovalRequestForUserByStatus
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
func (t *Controller) GetTokenApprovalRequestForUserByStatus(status string) (interface{}, error)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":2,
      "Status":"APPROVED",
      "OrderId":"op1",
      "RedeemPrice":1,
      "PurchasedPrice":11,
      "InterestEarned":0
   },
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "SettlementId":"op3",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetAccountBondSummary
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto.
func (t *Controller) GetAccountBondSummary(orgId string, userId string) (interface{}, error)
Parametri:
  • orgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • userId: string: il nome utente o l'ID e-mail dell'utente.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"1",
         "Status":"Redeemed",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op1"
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"REJECTED"
      },
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "TokenId":"1",
         "Status":"Purchased",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op2",
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"APPROVED"
      }
   ]
}
GetAccountBondSummaryWithPagination
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto. Questo metodo può restituire risultati con impaginazione basata sui valori di impaginazione e segnalibro, nonché filtrata in base all'ora di inizio e di fine.
func (t *Controller) GetAccountBondSummaryWithPagination(orgId string, userId string, pageSize int32, bookmark string) (interface{}, error)
Parametri:
  • orgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • userId: string: il nome utente o l'ID e-mail dell'utente.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"1",
         "Status":"Redeemed",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op1"
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"REJECTED"
      },
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "TokenId":"1",
         "Status":"Purchased",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op2",
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"APPROVED"
      }
   ]
}

TypeScript Metodi SDK per Bond Marketplace

payInterest
Il creatore o l'amministratore del token può chiamare questo metodo per pagare gli interessi maturati su un token obbligazionario. Questo metodo può essere chiamato solo se la frequenza di interesse del token è mensile, trimestrale o annuale. Gli interessi non possono essere pagati se la frequenza degli interessi è alla scadenza. L'interesse viene calcolato dal codice concatenato stesso in base al tasso coupon del token. L'operazione di acquisto trasferisce i token CBDC dal conto del chiamante al conto del proprietario dell'obbligazione. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al proprietario del token e il valore di trasferimento del token CBDC deve essere uguale all'interesse calcolato dal codice concatenato delle obbligazioni.
this.Ctx.ERC1155AccountBondSummary.payInterest(userAccountId, tokenId, orderId)
Parametri:
  • userAccountId: string: l'ID account dell'utente.
  • tokenId: string: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
Esempio di valore restituito:
{
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "interestEarned": 11,
         "interestEarnedDate": "2024-12-02T00:00:00.000Z"
}
requestTokenRedemption
Questo metodo può essere chiamato solo dal proprietario del token per presentare una richiesta di riscatto dei token obbligazionari dopo la scadenza. Questo metodo prevede anche il calcolo del prezzo di riscatto mediante il codice concatenato. Le richieste di riscatto possono essere generate solo sull'intera quantità del token obbligazionario di proprietà dell'utente. Gli utenti possono generare più richieste di riscatto in base a ID liquidazione diversi, ma solo una può essere approvata dall'autore del token.
this.Ctx.ERC1155TokenApproval.requestTokenRedemption(callerUserAccountId, settlementId, tokenId, orderId, quantity, additionalFees);
Parametri:
  • callerUserAccountId: string: l'ID account dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: string: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
  • additionalFees: number – Le tariffe aggiuntive da aggiungere al prezzo di riscatto.
Esempio di valore restituito:
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11
}
approveTokenRedemption
Questo metodo può essere chiamato solo dall'autore del token per approvare una richiesta di riscatto dei token obbligazionari. L'operazione di approvazione trasferisce l'NFT dell'obbligazione dal conto del proprietario (l'utente che ha sollevato la richiesta) al conto del creatore e trasferisce i token CBDC dal creatore dell'obbligazione al conto del proprietario. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al conto del proprietario del token che ha generato la richiesta di riscatto e il valore di trasferimento del token CBDC deve essere uguale al prezzo di riscatto calcolato dal codice concatenato durante l'inoltro della richiesta di riscatto.
this.Ctx.ERC1155TokenApproval.approveTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
Parametri:
  • fromUserAccountId: string: l'ID account dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: string: l'ID del token.
Esempio di valore restituito:
{
   "status":"success",
   "msg":"Successfully approved the token approval request"
}
rejectRedemption
L'autore del token può chiamare questo metodo per rifiutare la richiesta di riscatto. I proprietari di token possono generare di nuovo una richiesta di riscatto utilizzando un ID liquidazione diverso.
this.Ctx.ERC1155TokenApproval.rejectTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
Parametri:
  • fromOrgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • fromUserId: string: il nome utente o l'ID e-mail dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: string: l'ID del token.
Esempio di valore restituito:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
getAllTokensWithFilter
L'amministratore può chiamare questo metodo get per recuperare tutti i token filtrati in base allo stato, CREATED o POSTED.
this.Ctx.ERC1155Token.getAllTokensWithFilters(status, pageSize, bookmark)
Parametri:
  • status: string: lo stato del token, che può essere CREATED o POSTED.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenApprovalRequestByUser
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
this.Ctx.ERC1155TokenApproval.getAllTokenApprovalRequestByUserByStatus(status)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
this.Ctx.ERC1155TokenApproval.getAllTokenApprovalRequestForUserByStatus(status)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getAccountBondSummary
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto.
this.Ctx.ERC1155AccountBondSummary.getAllAccountBondSummary(userAccountId)
Parametri:
  • userAccountId: string: l'ID account dell'utente.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
}
getAccountBondSummaryWithPagination
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto. Questo metodo può restituire risultati con impaginazione basata sui valori di impaginazione e segnalibro, nonché filtrata in base all'ora di inizio e di fine.
this.Ctx.ERC1155AccountBondSummary.getAllAccountBondSummaryWithPagination(userAccountId, pageSize, bookmark)
Parametri:
  • userAccountId: string: l'ID account dell'utente.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
    {

       "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
       "orgId":"BondMPTest",
       "userId":"u10",
       "accountSummary":[
          {
             "purchasedQuantity":1,
             "assetType":"oUserBondDetails",
             "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
             "tokenId":"1",
             "status":"Redeemed",
             "purchasedAmount":11,
             "purchasedDate":"2024-12-02T00:00:00.000Z",
             "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
             "orderId":"op1"
             "redeemPrice":11,
             "quantityRedeem":1,
             "redeemStatus":"REJECTED"
          },
          {
             "purchasedQuantity":1,
             "assetType":"oUserBondDetails",
             "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
             "tokenId":"1",
             "status":"Purchased",
             "purchasedAmount":11,
             "purchasedDate":"2024-12-02T00:00:00.000Z",
             "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
             "orderId":"op2",
             "redeemPrice":11,
             "quantityRedeem":1,
             "redeemStatus":"APPROVED"
          }
       ]
    }

    	

    On success, it returns a message.

    {

       "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
       "orgId":"BondMPTest",
       "userId":"u10",
       "accountSummary":[
          {
             "PurchasedQuantity":1,
             "AssetType":"oUserBondDetails",
             "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
             "TokenId":"1",
             "Status":"Redeemed",
             "PurchasedAmount":11,
             "PurchasedDate":"2024-12-02T00:00:00.000Z",
             "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
             "OrderId":"op1"
             "RedeemPrice":11,
             "QuantityRedeem":1,
             "RedeemStatus":"REJECTED"
          },
          {
             "PurchasedQuantity":1,
             "AssetType":"oUserBondDetails",
             "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
             "TokenId":"1",
             "Status":"Purchased",
             "PurchasedAmount":11,
             "PurchasedDate":"2024-12-02T00:00:00.000Z",
             "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
             "OrderId":"op2",
             "RedeemPrice":11,
             "QuantityRedeem":1,
             "RedeemStatus":"APPROVED"
          }
       ]
    }

Vai a metodi SDK per Bond Marketplace

PayInterest
Il creatore o l'amministratore del token può chiamare questo metodo per pagare gli interessi maturati su un token obbligazionario. Questo metodo può essere chiamato solo se la frequenza di interesse del token è mensile, trimestrale o annuale. Gli interessi non possono essere pagati se la frequenza degli interessi è alla scadenza. L'interesse viene calcolato dal codice concatenato stesso in base al tasso coupon del token. L'operazione di acquisto trasferisce i token CBDC dal conto del chiamante al conto del proprietario dell'obbligazione. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al proprietario del token e il valore di trasferimento del token CBDC deve essere uguale all'interesse calcolato dal codice concatenato delle obbligazioni.
t.Ctx.ERC1155AccountBondSummary.PayInterestEarned(userAccountId, tokenId, orderId, additionalFees)
Parametri:
  • userAccountId: string: l'ID account dell'utente.
  • tokenId: string: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
Esempio di valore restituito:
{
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"1",
         "Status":"Redeemed",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op1"
         "InterestEarned": 11,
         "InterestEarnedDate": "2024-12-02T00:00:00.000Z"

}
RequestTokenRedemption
Questo metodo può essere chiamato solo dal proprietario del token per presentare una richiesta di riscatto dei token obbligazionari dopo la scadenza. Questo metodo prevede anche il calcolo del prezzo di riscatto mediante il codice concatenato. Le richieste di riscatto possono essere generate solo sull'intera quantità del token obbligazionario di proprietà dell'utente. Gli utenti possono generare più richieste di riscatto in base a ID liquidazione diversi, ma solo una può essere approvata dall'autore del token.
t.Ctx.ERC1155TokenApproval.RequestTokenRedemption(callerUserAccountId, settlementId, tokenId, orderId, quantity, additionalFees)
Parametri:
  • callerUserAccountId: string: l'ID account dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: string: l'ID del token.
  • orderId: string – L'ID dell'ordine per l'operazione di acquisto.
  • additionalFees: number – Le tariffe aggiuntive da aggiungere al prezzo di riscatto.
Esempio di valore restituito:
{
         "TokenName":"bond",
         "AssetType":"otokenApproval",
         "Id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "SettlementId":"op4",
         "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "TokenId":"1",
         "Quantity":1,
         "Status":"PENDING",
         "OrderId":"op4",
         "RedeemPrice":11
}
ApproveTokenRedemption
Questo metodo può essere chiamato solo dall'autore del token per approvare una richiesta di riscatto dei token obbligazionari. L'operazione di approvazione trasferisce l'NFT dell'obbligazione dal conto del proprietario (l'utente che ha sollevato la richiesta) al conto del creatore e trasferisce i token CBDC dal creatore dell'obbligazione al conto del proprietario. Per questo motivo, questo metodo deve essere eseguito nel contesto di una transazione atomica. Il metodo verifica anche il processo di trasferimento, assicurando che il codice concatenato CBDC appropriato sia chiamato con i corretti orgId e userId per il trasferimento. I valori orgId e userId devono corrispondere al conto del proprietario del token che ha generato la richiesta di riscatto e il valore di trasferimento del token CBDC deve essere uguale al prezzo di riscatto calcolato dal codice concatenato durante l'inoltro della richiesta di riscatto.
t.Ctx.ERC1155TokenApproval.ApproveTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
Parametri:
  • fromUserAccountId: string: l'ID account dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: string: l'ID del token.
Esempio di valore restituito:
{
   "status":"success",
   "msg":"Successfully approved the token approval request"
}
RejectRedemption
L'autore del token può chiamare questo metodo per rifiutare la richiesta di riscatto. I proprietari di token possono generare di nuovo una richiesta di riscatto utilizzando un ID liquidazione diverso.
t.Ctx.ERC1155TokenApproval.RejectTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
Parametri:
  • fromOrgId: string – L'ID MSP (Membership Service Provider) dell'utente.
  • fromUserId: string: il nome utente o l'ID e-mail dell'utente.
  • settlementId: string: l'ID liquidazione per l'operazione di riscatto.
  • tokenId: string: l'ID del token.
Esempio di valore restituito:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
GetAllTokensWithFilter
L'amministratore può chiamare questo metodo get per recuperare tutti i token filtrati in base allo stato, CREATED o POSTED.
t.Ctx.ERC1155Token.GetAllTokensWithFilters(status, pageSize, bookmark)
Parametri:
  • status: string: lo stato del token, che può essere CREATED o POSTED.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
[ {

               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "AssetType":"otoken",
            "Events":true,
            "TokenId":"1",
            "TokenName":"bond",
            "TokenDesc":"tokenDesc value",
            "TokenStandard":"erc1155+",
            "TokenType":"nonfungible",
            "TokenUnit":"fractional",
            "Behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "Roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "Mintable":{
               "max_mint_quantity":0
            },
            "Quantity":100,
            "CreatedBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "CreationDate":"2024-12-02T12:42:09.000Z",
            "Divisible":{
               "decimal":0
            },
            "IsBurned":false,
            "IsLocked":false,
            "TokenUri":"tokenUri value",
            "Status":"posted"
         }
]
GetTokenApprovalRequestByUser
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
t.Ctx.ERC1155TokenApproval.GetAllTokenApprovalRequestByUserByStatus(status)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":2,
      "Status":"APPROVED",
      "OrderId":"op1",
      "RedeemPrice":1,
      "PurchasedPrice":11,
      "InterestEarned":0
   },
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "SettlementId":"op3",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetTokenApprovalRequestForUserByStatus
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere i dettagli di tutte le richieste di approvazione token (richieste di riscatto) che ha effettuato.
t.Ctx.ERC1155TokenApproval.GetAllTokenApprovalRequestForUserByStatus(status)
Parametri:
  • status: string – Lo stato della richiesta, che può essere PENDING, REJECTED, o APPROVED.
Esempio di valore restituito:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":2,
      "Status":"APPROVED",
      "OrderId":"op1",
      "RedeemPrice":1,
      "PurchasedPrice":11,
      "InterestEarned":0
   },
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "SettlementId":"op3",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetAccountBondSummary
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto.
t.Ctx.ERC1155AccountBondSummary.GetAllAccountBondSummary(userAccountId)
Parametri:
  • userAccountId: string: l'ID account dell'utente.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"1",
         "Status":"Redeemed",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op1"
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"REJECTED"
      },
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "TokenId":"1",
         "Status":"Purchased",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op2",
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"APPROVED"
      }
   ]
}
GetAccountBondSummaryWithPagination
Qualsiasi titolare di conto può chiamare questo metodo get per ottenere un riepilogo dell'account che include i dettagli dei token acquistati o riscattati e il prezzo di acquisto e di riscatto. Questo metodo può restituire risultati con impaginazione basata sui valori di impaginazione e segnalibro, nonché filtrata in base all'ora di inizio e di fine.
t.Ctx.ERC1155AccountBondSummary.GetAllAccountBondSummaryWithPagination(userAccountId, pageSize, bookmark)
Parametri:
  • userAccountId: string: l'ID account dell'utente.
  • pageSize: number – La dimensione della pagina del risultato restituito.
  • bookmark: string – Il segnalibro del risultato restituito.
Esempio di valore restituito:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"1",
         "Status":"Redeemed",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op1"
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"REJECTED"
      },
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "TokenId":"1",
         "Status":"Purchased",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op2",
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"APPROVED"
      }
   ]
}