XRP Ledger Apex is back in Amsterdam

Register Now
Last updated
Edit

AMM

[ソース]

(AMM amendment)

AMMレジャーエントリは、単一の自動マーケットメーカー(AMM)インスタンスを表します。これは常に特殊なAccountRootエントリと対になっています。

AMMのJSONの例

{
    "Account" : "rE54zDvgnghAoPopCgvtiqWNq3dU5y836S",
    "Asset" : {
      "currency" : "XRP"
    },
    "Asset2" : {
      "currency" : "TST",
      "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd"
    },
    "AuctionSlot" : {
      "Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm",
      "AuthAccounts" : [
          {
            "AuthAccount" : {
                "Account" : "rMKXGCbJ5d8LbrqthdG46q3f969MVK2Qeg"
            }
          },
          {
            "AuthAccount" : {
                "Account" : "rBepJuTLFJt3WmtLXYAxSjtBWAeQxVbncv"
            }
          }
      ],
      "DiscountedFee" : 60,
      "Expiration" : 721870180,
      "Price" : {
          "currency" : "039C99CD9AB0B70B32ECDA51EAAE471625608EA2",
          "issuer" : "rE54zDvgnghAoPopCgvtiqWNq3dU5y836S",
          "value" : "0.8696263565463045"
      }
    },
    "Flags" : 0,
    "LPTokenBalance" : {
      "currency" : "039C99CD9AB0B70B32ECDA51EAAE471625608EA2",
      "issuer" : "rE54zDvgnghAoPopCgvtiqWNq3dU5y836S",
      "value" : "71150.53584131501"
    },
    "TradingFee" : 600,
    "VoteSlots" : [
      {
          "VoteEntry" : {
            "Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm",
            "TradingFee" : 600,
            "VoteWeight" : 100000
          }
      }
    ]
}

AMMのフィールド

共通フィールドに加えて、AMMエントリは以下のフィールドを使用します。

フィールドJSONの型内部の型必須?説明
AssetオブジェクトSTIssueはいこのAMMが保有する2つのアセットのうちの1つの定義。JSONでは、currencyissuerフィールドを持つオブジェクトになります。
Asset2オブジェクトSTIssueはいこのAMMが保有するもう一つの資産の定義。JSONでは、currencyissuerフィールドを持つオブジェクトになります。
Account文字列AccountIDはいこのAMMの資産を保有する特殊なアカウントのアドレス。
AuctionSlotオブジェクトSTObjectいいえオークションスロットの現在の所有者の詳細。オークションスロットオブジェクト形式です。
LPTokenBalance通貨額AmountはいAMMインスタンスの流動性供給者トークンの発行残高の合計。このトークンの保有者は、保有量に比例してAMMの取引手数料に投票したり、取引手数料の徴収とともに増えていくAMMの資産の一部とトークンを交換したりすることができます。
TradingFee数値UInt16はいAMMインスタンスに対する取引に課される手数料のパーセンテージを1/100,000の単位で指定します。最大値は1000で、これは1%の手数料となります。
VoteSlots配列STArrayいいえプールの取引手数料に関する投票を表す、投票オブジェクトのリスト。

AuctionSlotオブジェクト

AuctionSlotフィールドは、以下のネストしたフィールドを持つオブジェクトを含んでいます。

フィールドJSONの型内部の型必須?説明
Account文字列 - アドレスAccountIDはいこのオークションスロットの現在の所有者。
AuthAccounts配列STArrayいいえAMMインスタンスに対して取引手数料を割引した価格で取引することを許可された、最大4つの追加アカウントのリスト。
DiscountedFee文字列UInt32はいオークションスロットの所有者に請求される取引手数料で、TradingFeeと同じフォーマットです。これは通常の取引手数料の1/10です。
Price通貨額Amountはいオークションスロットの所有者がこのスロットを落札するために支払った金額(LPトークン)。
Expiration文字列UInt32はいこのスロットの有効期限が切れるRippleエポック以降の経過秒数で指定した時刻。

VoteEntryオブジェクト

VoteSlotsフィールドには、以下のフィールドを持つVoteEntryオブジェクトの配列が格納されます。

フィールドJSONの型内部の型必須?説明
Account文字列 - アドレスAccountIDはい投票を行ったアカウント
TradingFee数値UInt16はい提案されている取引手数料。単位は1/100,000で、1の値は0.001%に相当します。最大値は1000で、1%の手数料を示します。
VoteWeight数値UInt32はい投票の重みを1/100,000単位で表します。例えば、値が1234の場合、この投票は重み付けされた総投票数の1.234%としてカウントされます。重み付けは、そのアカウントが所有するこのAMMのLPトークンの割合によって決まります。最大値は100000です。

AMMの準備金

AMMエントリは準備金が不要です。

AMMのフラグ

AMMエントリに定義されているフラグはありません。

AMM IDのフォーマット

AMMエントリのIDは、以下の値を順に繋げたSHA-512Halfです。

  1. AMMのスペースキー(0x0041)
  2. 第1アセットの発行者のAccountID。
  3. 第1トークンの160ビットの通貨コード。
  4. 第2アセットの発行者のAccountID。
  5. 第2トークンの160ビットの通貨コード。

XRPの場合、トークン・発行者ともに全て0を使用します。