채권 마켓플레이스 모델

향상된 버전의 Blockchain App Builder에는 본드 마켓플레이스 시나리오에 대한 추가 방법을 생성하는 모델 속성이 포함되어 있습니다.

확장된 ERC-1155 표준을 사용하는 토큰에 대한 사양 파일에 model: bond 매개변수를 포함하는 경우 Blockchain App Builder 애플리케이션별 체인 코드(채권 마켓플레이스 애플리케이션과 함께 사용할 다음 추가 방법 포함)

TypeScript 채권 마켓플레이스 방법

본드 마켓플레이스 체인코드에는 일반 ERC-1155 NFT 체인코드에서 사용할 수 있는 모든 방법이 포함됩니다. 본드 마켓플레이스 시나리오와 관련된 다음 추가 방법을 사용할 수 있습니다.
postToken
이 메소드는 토큰 생성자에 의해서만 호출될 수 있습니다. 이 메소드는 마켓플레이스에 나열할 채권 토큰을 제출합니다. 토큰이 생성되면 처음에는 상태가 created로 설정됩니다. 이 메소드는 상태를 posted로 업데이트합니다. 사용자는 getAllTokensWithFilter 메소드를 실행하여 posted 상태의 모든 NFT를 검색할 수 있습니다.
public async postToken(tokenId: string)
매개변수:
  • tokenId: string – 게시할 토큰의 ID입니다.
반환 값 예제:
{
         "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":"bond1",
            "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
이 방법은 모든 계정 소유자가 나열된 채권 NFT를 구매하기 위해 호출할 수 있습니다. 구매는 채권 NFT를 생성자 계정에서 발신자 계정으로 이전하고 CBDC 토큰을 발신자 계정에서 생성자 계정으로 이전합니다. 이 때문에 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 생성자와 일치해야 하며 CBDC 토큰 전송 값은 본드 토큰의 면 값에 구매 중인 수량을 곱한 값과 같아야 합니다.
public async purchaseToken(tokenId: string, quantity: number, orderId: string, additionalFees: number)
매개변수:
  • tokenId: string – 구매할 토큰의 ID입니다.
  • quantity: number – 구매할 토큰의 양입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 구매 가격에 추가할 추가 요금입니다.
반환 값 예제:
{
   "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
이 방법은 채권 토큰에서 얻은 이자를 지불하기 위해 토큰 생성자 또는 관리자에 의해서만 호출될 수 있습니다. 이 메소드는 토큰의 이자 빈도가 월별, 분기별 또는 연간인 경우에만 호출할 수 있습니다. 이자 빈도가 만기일 경우 이자를 지급할 수 없습니다. 이자는 토큰의 쿠폰 금리를 기반으로 체인 코드에 의해 계산됩니다. 구매 작업은 콜러의 계정에서 채권 소유자의 계정으로 CBDC 토큰을 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 소유자와 일치해야 하며 CBDC 토큰 전송 값은 본드 체인 코드로 계산된 이자와 같아야 합니다.
public async payInterest(orgId: string, userId: string, tokenId: string, orderId: string)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
반환 값 예제:
{
   "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
이 방법은 토큰 소유자가 만기 후 채권 토큰 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드의 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 본드 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 ID를 기반으로 여러 상환 요청을 제기할 수 있지만 토큰 생성자가 하나만 승인할 수 있습니다.
public async requestTokenRedemption(settlementId: string, tokenId: string, orderId: string, additionalFees: number)
매개변수:
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 상환 가격에 추가할 추가 요금입니다.
반환 값 예:
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"bond1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11

}
approveTokenRedemption
이 메소드는 토큰 생성자가 본드 토큰 상환 요청을 승인하기 위해서만 호출할 수 있습니다. 승인 작업은 채권 NFT를 소유자의 계정(요청을 제기한 사용자)에서 생성자의 계정으로 이전하고 채권 생성자의 CBDC 토큰을 소유자의 계정으로 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 상환 요청을 제기한 토큰 소유자의 계정과 일치해야 하며, CBDC 토큰 전송 값은 상환 요청을 제기하는 동안 체인 코드에 의해 계산된 계산된 상환 가격과 같아야 합니다.
public async approveRedemption(fromOrgId: string, fromUserId: string, settlementId: string, tokenId: string)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예:
{
   "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
토큰 생성자는 이 메소드를 호출하여 상환 요청을 거부할 수 있습니다. 토큰 소유자는 다른 결산 ID를 사용하여 상환 요청을 다시 제기할 수 있습니다.
public async rejectRedemption(fromOrgId: string, fromUserId: string, settlementId: string, tokenId: string)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
getAllTokensWithFilters
관리자는 이 get 메소드를 호출하여 CREATED 또는 POSTED 상태별로 필터링된 모든 토큰을 인출할 수 있습니다.
public async getAllTokensWithFilters(status: string, pageSize: number, bookmark: string)
매개변수:
  • status: string – 토큰의 상태로, CREATED 또는 POSTED일 수 있습니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예:
[{
            "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":"bond1",
            "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
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
public async getTokenApprovalRequestByUser(status: string)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "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":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
public async getTokenApprovalRequestForUserByStatus(status: string)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "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":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getAccountBondSummary
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다.
public async getAccountBondSummary(orgId: string, userId: string)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환 값 예:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "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":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
}
getAccountBondSummaryWithPagination
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다. 이 메소드는 페이지 크기 및 책갈피 값을 기반으로 페이지 매김을 사용하여 결과를 반환하고 시작 시간 및 종료 시간을 기준으로 필터링할 수도 있습니다.
public async getAccountBondSummaryWithPagination(orgId: string, userId: string, pageSize: number, bookmark?: string)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예:
{

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

채권 마켓플레이스에 대한 이동 방법

본드 마켓플레이스 체인코드에는 일반 ERC-1155 NFT 체인코드에서 사용할 수 있는 모든 방법이 포함됩니다. 본드 마켓플레이스 시나리오와 관련된 다음 추가 방법을 사용할 수 있습니다.
PostToken
이 메소드는 토큰 생성자에 의해서만 호출될 수 있습니다. 이 메소드는 마켓플레이스에 나열할 채권 토큰을 제출합니다. 토큰이 생성되면 처음에는 상태가 created로 설정됩니다. 이 메소드는 상태를 posted로 업데이트합니다. 사용자는 getAllTokensWithFilter 메소드를 실행하여 posted 상태의 모든 NFT를 검색할 수 있습니다.
func (t *Controller) PostToken(tokenId string) (interface{}, error)
매개변수:
  • tokenId: string – 게시할 토큰의 ID입니다.
반환 값 예제:
{
         "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":"bond1",
            "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
이 방법은 모든 계정 소유자가 나열된 채권 NFT를 구매하기 위해 호출할 수 있습니다. 구매는 채권 NFT를 생성자 계정에서 발신자 계정으로 이전하고 CBDC 토큰을 발신자 계정에서 생성자 계정으로 이전합니다. 이 때문에 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 생성자와 일치해야 하며 CBDC 토큰 전송 값은 본드 토큰의 면 값에 구매 중인 수량을 곱한 값과 같아야 합니다.
func (t *Controller) PurchaseToken(tokenId string, quantity float64, orderId string, additionalFees float64) (interface{}, error)
매개변수:
  • tokenId: string – 구매할 토큰의 ID입니다.
  • quantity: number – 구매할 토큰의 양입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 구매 가격에 추가할 추가 요금입니다.
반환 값 예제:
{
   "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
이 방법은 채권 토큰에서 얻은 이자를 지불하기 위해 토큰 생성자 또는 관리자에 의해서만 호출될 수 있습니다. 이 메소드는 토큰의 이자 빈도가 월별, 분기별 또는 연간인 경우에만 호출할 수 있습니다. 이자 빈도가 만기일 경우 이자를 지급할 수 없습니다. 이자는 토큰의 쿠폰 금리를 기반으로 체인 코드에 의해 계산됩니다. 구매 작업은 콜러의 계정에서 채권 소유자의 계정으로 CBDC 토큰을 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 소유자와 일치해야 하며 CBDC 토큰 전송 값은 본드 체인 코드로 계산된 이자와 같아야 합니다.
func (t *Controller) PayInterestEarned(orgId string, userId string, tokenId string, orderId string, additionalFees float64) (interface{}, error)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
반환 값 예제:
{
   "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
이 방법은 토큰 소유자가 만기 후 채권 토큰 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드의 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 본드 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 ID를 기반으로 여러 상환 요청을 제기할 수 있지만 토큰 생성자가 하나만 승인할 수 있습니다.
func (t *Controller) RequestTokenRedemption(settlementId string, tokenId string, orderId string, additionalFees float64) (interface{}, error)
매개변수:
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 상환 가격에 추가할 추가 요금입니다.
반환 값 예제:
{
         "TokenName":"bond",
         "AssetType":"otokenApproval",
         "Id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "SettlementId":"op4",
         "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "TokenId":"bond1",
         "Quantity":1,
         "Status":"PENDING",
         "OrderId":"op4",
         "RedeemPrice":11
}
ApproveTokenRedemption
이 메소드는 토큰 생성자가 본드 토큰 상환 요청을 승인하기 위해서만 호출할 수 있습니다. 승인 작업은 채권 NFT를 소유자의 계정(요청을 제기한 사용자)에서 생성자의 계정으로 이전하고 채권 생성자의 CBDC 토큰을 소유자의 계정으로 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 상환 요청을 제기한 토큰 소유자의 계정과 일치해야 하며, CBDC 토큰 전송 값은 상환 요청을 제기하는 동안 체인 코드에 의해 계산된 계산된 상환 가격과 같아야 합니다.
func (t *Controller) ApproveRedemption(fromOrgId string, fromUserId string, settlementId string, tokenId string) (interface{}, error)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예제:
{
   "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
토큰 생성자는 이 메소드를 호출하여 상환 요청을 거부할 수 있습니다. 토큰 소유자는 다른 결산 ID를 사용하여 상환 요청을 다시 제기할 수 있습니다.
func (t *Controller) RejectRedemption(fromOrgId string, fromUserId string, settlementId string, tokenId string) (interface{}, error)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
GetAllTokensWithFilter
관리자는 이 get 메소드를 호출하여 CREATED 또는 POSTED 상태별로 필터링된 모든 토큰을 인출할 수 있습니다.
func (t *Controller) GetAllTokensWithFilters(status string, pageSize int32, bookmark string)
매개변수:
  • status: string – 토큰의 상태로, CREATED 또는 POSTED일 수 있습니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예:
[ {

               "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":"bond1",
            "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
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
func (t *Controller) GetTokenApprovalRequestByUser(status string) (interface{}, error)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"bond1",
      "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":"bond1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetTokenApprovalRequestForUserByStatus
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
func (t *Controller) GetTokenApprovalRequestForUserByStatus(status string) (interface{}, error)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"bond1",
      "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":"bond1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetAccountBondSummary
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다.
func (t *Controller) GetAccountBondSummary(orgId string, userId string) (interface{}, error)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환 값 예:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"bond1",
         "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":"bond1",
         "Status":"Purchased",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op2",
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"APPROVED"
      }
   ]
}
GetAccountBondSummaryWithPagination
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다. 이 메소드는 페이지 크기 및 책갈피 값을 기반으로 페이지 매김을 사용하여 결과를 반환하고 시작 시간 및 종료 시간을 기준으로 필터링할 수도 있습니다.
func (t *Controller) GetAccountBondSummaryWithPagination(orgId string, userId string, pageSize int32, bookmark string) (interface{}, error)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예제:
{

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

TypeScript 채권 마켓플레이스용 SDK 방법

payInterest
토큰 생성자 또는 관리자는 본드 토큰에서 얻은 이자를 지불하기 위해 이 메소드를 호출할 수 있습니다. 이 메소드는 토큰의 이자 빈도가 월별, 분기별 또는 연간인 경우에만 호출할 수 있습니다. 이자 빈도가 만기일 경우 이자를 지급할 수 없습니다. 이자는 토큰의 쿠폰 금리를 기준으로 체인코드 자체에 의해 계산됩니다. 구매 작업은 콜러의 계정에서 채권 소유자의 계정으로 CBDC 토큰을 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 소유자와 일치해야 하며 CBDC 토큰 전송 값은 본드 체인 코드에 의해 계산된 이자와 같아야 합니다.
this.Ctx.ERC1155AccountBondSummary.payInterest(userAccountId, tokenId, orderId)
매개변수:
  • userAccountId: string – 사용자의 계정 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
반환 값 예제:
{
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "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
이 방법은 토큰 소유자가 만기 후 채권 토큰 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드의 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 본드 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 ID를 기반으로 여러 상환 요청을 제기할 수 있지만 토큰 생성자가 하나만 승인할 수 있습니다.
this.Ctx.ERC1155TokenApproval.requestTokenRedemption(callerUserAccountId, settlementId, tokenId, orderId, quantity, additionalFees);
매개변수:
  • callerUserAccountId: string – 사용자의 계정 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 상환 가격에 추가할 추가 요금입니다.
반환 값 예제:
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"bond1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11
}
approveTokenRedemption
이 메소드는 토큰 생성자가 본드 토큰 상환 요청을 승인하기 위해서만 호출할 수 있습니다. 승인 작업은 채권 NFT를 소유자의 계정(요청을 제기한 사용자)에서 생성자의 계정으로 이전하고 채권 생성자의 CBDC 토큰을 소유자의 계정으로 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 상환 요청을 제기한 토큰 소유자의 계정과 일치해야 하며, CBDC 토큰 전송 값은 상환 요청을 제기하는 동안 체인 코드에 의해 계산된 계산된 상환 가격과 같아야 합니다.
this.Ctx.ERC1155TokenApproval.approveTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
매개변수:
  • fromUserAccountId: string – 사용자의 계정 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예제:
{
   "status":"success",
   "msg":"Successfully approved the token approval request"
}
rejectRedemption
토큰 생성자는 이 메소드를 호출하여 상환 요청을 거부할 수 있습니다. 토큰 소유자는 다른 결산 ID를 사용하여 상환 요청을 다시 제기할 수 있습니다.
this.Ctx.ERC1155TokenApproval.rejectTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예제:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
getAllTokensWithFilter
관리자는 이 get 메소드를 호출하여 CREATED 또는 POSTED 상태별로 필터링된 모든 토큰을 인출할 수 있습니다.
this.Ctx.ERC1155Token.getAllTokensWithFilters(status, pageSize, bookmark)
매개변수:
  • status: string – 토큰의 상태로, CREATED 또는 POSTED일 수 있습니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예제:
[{
            "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":"bond1",
            "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
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
this.Ctx.ERC1155TokenApproval.getAllTokenApprovalRequestByUserByStatus(status)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "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":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
this.Ctx.ERC1155TokenApproval.getAllTokenApprovalRequestForUserByStatus(status)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "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":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getAccountBondSummary
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다.
this.Ctx.ERC1155AccountBondSummary.getAllAccountBondSummary(userAccountId)
매개변수:
  • userAccountId: string – 사용자의 계정 ID입니다.
반환 값 예:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "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":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
}
getAccountBondSummaryWithPagination
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다. 이 메소드는 페이지 크기 및 책갈피 값을 기반으로 페이지 매김을 사용하여 결과를 반환하고 시작 시간 및 종료 시간을 기준으로 필터링할 수도 있습니다.
this.Ctx.ERC1155AccountBondSummary.getAllAccountBondSummaryWithPagination(userAccountId, pageSize, bookmark)
매개변수:
  • userAccountId: string – 사용자의 계정 ID입니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예:
    {

       "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
       "orgId":"BondMPTest",
       "userId":"u10",
       "accountSummary":[
          {
             "purchasedQuantity":1,
             "assetType":"oUserBondDetails",
             "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
             "tokenId":"bond1",
             "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":"bond1",
             "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":"bond1",
             "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":"bond1",
             "Status":"Purchased",
             "PurchasedAmount":11,
             "PurchasedDate":"2024-12-02T00:00:00.000Z",
             "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
             "OrderId":"op2",
             "RedeemPrice":11,
             "QuantityRedeem":1,
             "RedeemStatus":"APPROVED"
          }
       ]
    }

채권 마켓플레이스에 대한 Go SDK 방법

PayInterest
토큰 생성자 또는 관리자는 본드 토큰에서 얻은 이자를 지불하기 위해 이 메소드를 호출할 수 있습니다. 이 메소드는 토큰의 이자 빈도가 월별, 분기별 또는 연간인 경우에만 호출할 수 있습니다. 이자 빈도가 만기일 경우 이자를 지급할 수 없습니다. 이자는 토큰의 쿠폰 금리를 기준으로 체인코드 자체에 의해 계산됩니다. 구매 작업은 콜러의 계정에서 채권 소유자의 계정으로 CBDC 토큰을 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 소유자와 일치해야 하며 CBDC 토큰 전송 값은 본드 체인 코드에 의해 계산된 이자와 같아야 합니다.
t.Ctx.ERC1155AccountBondSummary.PayInterestEarned(userAccountId, tokenId, orderId, additionalFees)
매개변수:
  • userAccountId: string – 사용자의 계정 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
반환 값 예제:
{
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"bond1",
         "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
이 방법은 토큰 소유자가 만기 후 채권 토큰 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드의 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 본드 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 ID를 기반으로 여러 상환 요청을 제기할 수 있지만 토큰 생성자가 하나만 승인할 수 있습니다.
t.Ctx.ERC1155TokenApproval.RequestTokenRedemption(callerUserAccountId, settlementId, tokenId, orderId, quantity, additionalFees)
매개변수:
  • callerUserAccountId: string – 사용자의 계정 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 상환 가격에 추가할 추가 요금입니다.
반환 값 예제:
{
         "TokenName":"bond",
         "AssetType":"otokenApproval",
         "Id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "SettlementId":"op4",
         "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "TokenId":"bond1",
         "Quantity":1,
         "Status":"PENDING",
         "OrderId":"op4",
         "RedeemPrice":11
}
ApproveTokenRedemption
이 메소드는 토큰 생성자가 본드 토큰 상환 요청을 승인하기 위해서만 호출할 수 있습니다. 승인 작업은 채권 NFT를 소유자의 계정(요청을 제기한 사용자)에서 생성자의 계정으로 이전하고 채권 생성자의 CBDC 토큰을 소유자의 계정으로 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 상환 요청을 제기한 토큰 소유자의 계정과 일치해야 하며, CBDC 토큰 전송 값은 상환 요청을 제기하는 동안 체인 코드에 의해 계산된 계산된 상환 가격과 같아야 합니다.
t.Ctx.ERC1155TokenApproval.ApproveTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
매개변수:
  • fromUserAccountId: string – 사용자의 계정 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예제:
{
   "status":"success",
   "msg":"Successfully approved the token approval request"
}
RejectRedemption
토큰 생성자는 이 메소드를 호출하여 상환 요청을 거부할 수 있습니다. 토큰 소유자는 다른 결산 ID를 사용하여 상환 요청을 다시 제기할 수 있습니다.
t.Ctx.ERC1155TokenApproval.RejectTokenApprovalRequest(fromUserAccountId, settlementId, tokenId)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예제:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
GetAllTokensWithFilter
관리자는 이 get 메소드를 호출하여 CREATED 또는 POSTED 상태별로 필터링된 모든 토큰을 인출할 수 있습니다.
t.Ctx.ERC1155Token.GetAllTokensWithFilters(status, pageSize, bookmark)
매개변수:
  • status: string – 토큰의 상태로, CREATED 또는 POSTED일 수 있습니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예제:
[ {

               "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":"bond1",
            "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
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
t.Ctx.ERC1155TokenApproval.GetAllTokenApprovalRequestByUserByStatus(status)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예제:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"bond1",
      "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":"bond1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetTokenApprovalRequestForUserByStatus
모든 계정 소유자는 이 get 메소드를 호출하여 자신이 요청한 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
t.Ctx.ERC1155TokenApproval.GetAllTokenApprovalRequestForUserByStatus(status)
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예제:
[
   {
      "TokenName":"bond",
      "AssetType":"otokenApproval",
      "Id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "SettlementId":"op1",
      "UserBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "FromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "ToAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "TokenId":"bond1",
      "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":"bond1",
      "Quantity":1,
      "Status":"APPROVED",
      "OrderId":"op3",
      "RedeemPrice":11,
      "PurchasedPrice":11,
      "InterestEarned":0
   }
]
GetAccountBondSummary
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다.
t.Ctx.ERC1155AccountBondSummary.GetAllAccountBondSummary(userAccountId)
매개변수:
  • userAccountId: string – 사용자의 계정 ID입니다.
반환 값 예제:
{

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "PurchasedQuantity":1,
         "AssetType":"oUserBondDetails",
         "Id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "TokenId":"bond1",
         "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":"bond1",
         "Status":"Purchased",
         "PurchasedAmount":11,
         "PurchasedDate":"2024-12-02T00:00:00.000Z",
         "PurchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "OrderId":"op2",
         "RedeemPrice":11,
         "QuantityRedeem":1,
         "RedeemStatus":"APPROVED"
      }
   ]
}
GetAccountBondSummaryWithPagination
모든 계정 소유자는 이 get 메소드를 호출하여 구매 또는 상환된 토큰의 세부정보와 구매 가격 및 상환 가격을 포함하는 계정 요약을 가져올 수 있습니다. 이 메소드는 페이지 크기 및 책갈피 값을 기반으로 페이지 매김을 사용하여 결과를 반환하고 시작 시간 및 종료 시간을 기준으로 필터링할 수도 있습니다.
t.Ctx.ERC1155AccountBondSummary.GetAllAccountBondSummaryWithPagination(userAccountId, pageSize, bookmark)
매개변수:
  • userAccountId: string – 사용자의 계정 ID입니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예제:
{

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