債券マーケットプレイス契約方法

債券マーケットプレイス契約には、拡張ERC-1155 NFT契約で利用可能なすべての方法と、債券マーケットプレイスのシナリオに固有のその他の方法が含まれています。

湿度自動生成方法

債券マーケットプレイス資産は、拡張ERC-1155標準に基づいており、その標準の一般的な方法をすべてサポートしています。一般的なERC-1155メソッドの詳細は、「デジタル・アセットAPI」を参照してください。
postToken
このメソッドは、マーケットプレイスにリストするためのボンド・トークンを発行します。このメソッドは、トークン作成者のみがコールできます。トークンが作成されると、そのステータスは最初にcreatedに設定されます。このメソッドは、ステータスをpostedに更新します。
function postToken(uint256 tokenId) public
パラメータ:
  • tokenId: uint256– 投稿するトークンのID。
purchaseToken
このメソッドは、リストされた債券NFTを購入し、作成者のアカウントからコール元のアカウントに転送し、コール元のアカウントから作成者のアカウントにCBDCトークンを転送します。このメソッドは、どのアカウント・ホルダーでもコールできます。
このメソッドは、アトミック・トランザクションのコンテキストで実行する必要があります。現在のバージョンでは、原子性は単一のOracle Blockchain Platform Besuネットワークで処理する必要があります。つまり、CBDCと債権契約は、同じOracle Blockchain Platform Besuネットワークの一部である必要があります。CBDCトークンの契約アドレスは、setTokenContractメソッドをコールして設定する必要があります。purchaseTokenメソッドは、CBDCトークン転送値を自動的に計算します。これは、債券トークンの額面値に購入数量を乗算した値です。
function purchaseToken(
        address from,
        address to,
        uint256 tokenId,
        uint256 quantity,
        uint256 additionalFees,
        string calldata orderId
    ) public
パラメータ:
  • from: address– トークン所有者のウォレット・アドレス。
  • to: address– 受信者のウォレット・アドレス。
  • tokenId: uint256– 購入するトークンのID。
  • quantity: uint256– 購入するトークンの量。
  • additionalFees: uint256– 購入価格に追加する追加料金。
  • orderId: string– 購入操作の注文ID。
payInterest
このメソッドは、債券トークンで獲得した利息を支払います。トークン作成者のみが呼び出すことができます。トークンの利息頻度は、月次、四半期または年次である必要があります。利息頻度が満期の場合、利息は支払えません。利息は、トークンのクーポン・レートに基づいて契約によって計算されます。
購入操作によって、CBDCトークンがコール元のアカウントから債権所有者のアカウントに転送されるため、このメソッドは原子性トランザクションのコンテキストで実行する必要があります。現在のバージョンでは、原子性は単一のOracle Blockchain Platform Besuネットワークで処理する必要があります。つまり、CBDCと債権契約は、同じOracle Blockchain Platform Besuネットワークの一部である必要があります。CBDCトークンの契約アドレスは、setTokenContractメソッドをコールして設定する必要があります。
function payInterest(address userAddress, uint256 tokenId) public
パラメータ:
  • userAddress: address– ユーザーのウォレット・アドレス。
  • tokenId: uint256– トークンのID。
requestTokenRedemption
このメソッドは、満期後の債券トークンの償還要求を提起します。トークン所有者のみがコールできます。この方法は、契約による引換価格の計算にも使用されます。引換要求は、ユーザーが所有する債権トークンの全量でのみ呼び出すことができます。ユーザーは、異なる決済IDに基づいて複数の引換え要求を発行できますが、トークン作成者が承認できるのは1つのみです。
function requestTokenRedemption(
        string calldata settlementId,
        uint256 tokenId,
        string calldata orderId,
        uint256 additionalFees
    ) public
パラメータ:
  • settlementId: string– 引換操作の決済ID。
  • tokenId: uint256– トークンのID。
  • additionalFees: uint256– 引換価格に追加する追加料金。
  • orderId: string– 購入操作の注文ID。
approveTokenRedemption
このメソッドは、ボンド・トークンの引換リクエストを承認します。トークン作成者のみが呼び出すことができます。
引換操作では、債券のNFTが所有者のアカウント(リクエストを発行したユーザー)から作成者のアカウントに転送されるため、このメソッドはアトミック・トランザクションのコンテキストで実行する必要があります。現在のバージョンでは、原子性は単一のOracle Blockchain Platform Besuネットワークで処理する必要があります。つまり、CBDCと債権契約は、同じOracle Blockchain Platform Besuネットワークの一部である必要があります。CBDCトークンの契約アドレスは、setTokenContractメソッドをコールして設定する必要があります。
function approveTokenRedemption(
        address fromAddress,
        string calldata settlementId,
        uint256 tokenId
    ) public
パラメータ:
  • fromAddress: address– ユーザーのウォレット・アドレス。
  • settlementId: string– 引換操作の決済ID。
  • tokenId: uint256– トークンのID。
rejectTokenRedemption
このメソッドは、ボンド・トークンの引換え要求を拒否します。トークン作成者のみが呼び出すことができます。トークン所有者は、別の決済IDを使用して引換要求を再度呼び出すことができます。
function rejectTokenRedemption(
        address fromAddress,
        string calldata settlementId,
        uint256 tokenId
    ) public
パラメータ:
  • userAddress: address– ユーザーのウォレット・アドレス。
  • settlementId: string– 引換操作の決済ID。
  • tokenId: uint256– トークンのID。
getTokenRedemptionRequests
このメソッドは、トークン引換リクエストの詳細を取得します。これは、任意のアカウント所有者が呼び出すことができます。
function getTokenRedemptionRequests(
        address userAddress,
        uint256 tokenId,
        string calldata settlementId
    ) public view
パラメータ:
  • userAddress: address– ユーザーのウォレット・アドレス。
  • tokenId: uint256– トークンのID。
  • settlementId: string– 引換操作の決済ID。
getUserBondDetails
このメソッドは、購入または償還されたトークンの詳細、購入価格および償還価格を含むアカウント要約を取得します。これは、任意のアカウント所有者が呼び出すことができます。
function getUserBondDetails(
        address userAddress,
        uint256 tokenId
    ) public view
パラメータ:
  • userAddress: address– ユーザーのウォレット・アドレス。
  • tokenId: uint256– トークンのID。