コンテンツにスキップ

Stable

x/stableモジュールは、担保資産によって裏付けられたネイティブステーブルコインの発行(ミント)と償還(バーン)を管理します。

  1. ミントとバーン:
    • ユーザーは、承認された担保資産を預けることでステーブルコインをミントできます。
    • ステーブルコインを返却することで、対応する担保を引き出す(バーンする)ことができます。
  2. 担保管理:
    • モジュールは、どの資産が担保として受け入れられるかを定義し、ステーブルコインの供給を裏付けます。
  3. 許可制の管理:
    • ステーブルコインのミントとバーンは、許可されたアドレスまたはコントラクトによってのみ実行でき、管理された供給を保証します。
  4. 動的な為替レート:
    • 為替レートは、担保資産の市場価値に基づいて動的に決定できます。
  5. オンチェーンの監査可能性:
    • モジュールは、担保と発行されたステーブルコインの透明な追跡を提供し、オンチェーンでの監査を可能にします。

x/stableモジュールは、その動作を制御するいくつかのパラメータによって設定されます。

パラメータ説明
Authorityモジュールパラメータを更新する権限を持つアドレス
Minterステーブルコインをミントおよびバーンする権限を持つアドレス
AcceptedDenomsミントの担保として受け入れられるトークンのデノミネーション
StableDenomミントされるステーブルコインのデノミネーション
ExchangeRates受け入れられるデノミネーションとステーブルデノミネーション間の為替レート

モジュールは、AcceptedDenomsStableDenom間の為替レートを維持します。これにより、ミントおよびバーン操作中に公正な価値の交換が保証されます。

  • ユーザーはMsgMintトランザクションを送信し、ミントしたいステーブルコインの量と、担保として提供するAcceptedDenomの量を指定します。
  • モジュールは、ユーザーが十分な担保を持っていることを確認し、指定された量のステーブルコインをユーザーのアカウントにミントします。
  • ユーザーはMsgBurnトランザクションを送信し、バーンしたいステーブルコインの量を指定します。
  • モジュールは、ユーザーのステーブルコインをバーンし、対応する量の担保をユーザーのアカウントに返します。
sequenceDiagram
    participant User as ユーザー
    participant StableModule as x/stable モジュール
    participant BankModule as x/bank モジュール

    User->>StableModule: MsgMint (担保付き)
    StableModule->>BankModule: 担保をロック
    StableModule->>BankModule: ステーブルコインをミントしてユーザーに送信
    StableModule-->>User: ミント確認

    User->>StableModule: MsgBurn (ステーブルコイン付き)
    StableModule->>BankModule: ユーザーからステーブルコインをバーン
    StableModule->>BankModule: 担保をアンロックしてユーザーに送信
    StableModule-->>User: バーン確認
  • MsgMint:承認された担保を使用してステーブルコインをミントします。
  • MsgBurn:ステーブルコインをバーンして、基礎となる担保資産を償還します。
  • Params:モジュールパラメータのクエリ。
  • ModuleAccountBalance:x/stableモジュールの残高のクエリ。これにより、担保準備金の透明性が提供されます。

ModuleAccountBalanceクエリは、モジュールによって保持されている担保資産の合計量を誰でも検証できるようにするため、監査可能性にとって重要です。この残高は、流通しているステーブルコインの供給を裏付けるはずです。

詳細については、Githubを参照してください。