채권 마켓플레이스 모델

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

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

TypeScript 채권 시장 방법

본드 마켓플레이스 체인코드는 일반 ERC-1155 NFT 체인코드에서 사용할 수 있는 모든 방법을 포함합니다. 본드 마켓플레이스 시나리오와 관련된 다음 추가 방법을 사용할 수 있습니다.
postToken
이 메소드는 토큰 생성자에 의해서만 호출될 수 있습니다. 이 메소드는 마켓플레이스에 나열할 채권 토큰을 제출합니다. 토큰이 생성되면 해당 상태는 처음에 created로 설정됩니다. 이 메소드는 상태를 posted로 업데이트합니다. 사용자는 getAllTokensWithFilter 메소드를 실행하여 posted 상태의 모든 NFT를 검색할 수 있습니다.
public async postToken(tokenId: number)
매개변수:
  • tokenId: number – 게시할 토큰의 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":"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
이 방법은 나열된 채권 NFT를 구매하기 위해 모든 계정 소유자가 호출할 수 있습니다. 구매는 채권 NFT를 생성자의 계정에서 호출자의 계정으로 이전하고, CBDC 토큰을 호출자의 계정에서 생성자의 계정으로 이전합니다. 따라서 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되도록 합니다. orgIduserId는 토큰 생성자에 해당해야 하며 CBDC 토큰 전송 값은 채권 토큰의 액면 값에 구매 중인 수량을 곱한 값과 같아야 합니다.
public async purchaseToken(tokenId: number, quantity: number, orderId: string, additionalFees: number)
매개변수:
  • tokenId: number – 구매할 토큰의 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: number, orderId: string)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • tokenId: number – 토큰 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: number, orderId: string, additionalFees: number)
매개변수:
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: number – 토큰 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":"1",
         "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: number)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: number – 토큰 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: number)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: number – 토큰 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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"
      }
   ]
}

채권 마켓플레이스의 이동 방법

본드 마켓플레이스 체인코드는 일반 ERC-1155 NFT 체인코드에서 사용할 수 있는 모든 방법을 포함합니다. 본드 마켓플레이스 시나리오와 관련된 다음 추가 방법을 사용할 수 있습니다.
PostToken
이 메소드는 토큰 생성자에 의해서만 호출될 수 있습니다. 이 메소드는 마켓플레이스에 나열할 채권 토큰을 제출합니다. 토큰이 생성되면 해당 상태는 처음에 created로 설정됩니다. 이 메소드는 상태를 posted로 업데이트합니다. 사용자는 getAllTokensWithFilter 메소드를 실행하여 posted 상태의 모든 NFT를 검색할 수 있습니다.
func (t *Controller) PostToken(tokenId float64) (interface{}, error)
매개변수:
  • tokenId: float64 – 게시할 토큰의 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":"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
이 방법은 나열된 채권 NFT를 구매하기 위해 모든 계정 소유자가 호출할 수 있습니다. 구매는 채권 NFT를 생성자의 계정에서 호출자의 계정으로 이전하고, CBDC 토큰을 호출자의 계정에서 생성자의 계정으로 이전합니다. 따라서 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되도록 합니다. orgIduserId는 토큰 생성자에 해당해야 하며 CBDC 토큰 전송 값은 채권 토큰의 액면 값에 구매 중인 수량을 곱한 값과 같아야 합니다.
func (t *Controller) PurchaseToken(tokenId float64, quantity float64, orderId string, additionalFees float64) (interface{}, error)
매개변수:
  • tokenId: float64 – 구매할 토큰의 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 float64, orderId string, additionalFees float64) (interface{}, error)
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • tokenId: float64 – 토큰 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 float64, orderId string, additionalFees float64) (interface{}, error)
매개변수:
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: float64 – 토큰 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":"1",
         "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 float64) (interface{}, error)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: float64 – 토큰 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 float64) (interface{}, error)
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: float64 – 토큰 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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 채권 마켓플레이스용 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":"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
이 방법은 토큰 소유자가 만기 후 본드 토큰의 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드별 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 채권 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 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":"1",
         "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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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"
          }
       ]
    }

본드 마켓플레이스용 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":"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
이 방법은 토큰 소유자가 만기 후 본드 토큰의 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드별 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 채권 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 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":"1",
         "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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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
모든 계정 소유자는 이 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":"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"
      }
   ]
}