AMMCreate
(AMM amendmentにより追加されました。)
資産(代替可能トークンまたはXRP)のペアを取引するための新しい自動マーケットメーカー(AMM)インスタンスを作成します。
AMMを表すAMMエントリと特殊なAccountRootエントリを作成します。また、両資産の開始残高の所有権を送信者から、作成されたAccountRoot
に移し、初期残高の流動性プロバイダトークン(LPトークン)をAMMアカウントから送信者に発行します。
AMMCreate JSONの例
{ "Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm", "Amount" : { "currency" : "TST", "issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd", "value" : "25" }, "Amount2" : "250000000", "Fee" : "10", "Flags" : 2147483648, "Sequence" : 6, "TradingFee" : 500, "TransactionType" : "AMMCreate" }
AMMCreate フィールド
共通フィールドに加えて、AMMCreateトランザクションは以下のフィールドを使用します。
| フィールド | JSONの型 | 内部の型 | 必須? | 説明 | |:-------------|:---- -----|:-----------|:------|:------------| | Amount
| 通貨額 | Amount | はい | このAMMの最初の資金となる2つの資産のうち、1つ目の資産です。これは正数である必要があります。 | | Amount2
| 通貨額 | Amount | はい | このAMMの最初の資金となる2つの資産のうち、2つ目の資産です。これは正数である必要があります。 | | TradingFee
| 数値 | UInt16 | はい | このAMMインスタンスに対する取引に課される手数料を1/100,000単位で指定します(値1は0.001%に相当)。最大値は1000
で、1%の手数料を意味します。最小値は 0
です。 |
Amount
とAmount2
の一方または両方はトークンであり、最大でどちらか一方をXRPにすることが可能です。通貨コードと発行者が同じものは使用できません。AMMのLPトークンは、別のAMMの資産の1つとして使用することができます。トークンの発行者はDefault Rippleを有効にしていなければなりません。Clawback Amendment が有効になっている場合、それらの発行者はAllow Clawbackフラグを有効にしていてはいけません。AMMのLPトークンは、別のAMMの資産の一つとして使用することはできません。
特殊なトランザクションコスト
各AMMインスタンスはAccountRootレジャーエントリ、AMMレジャーエントリ、プール内の各トークンのトラストラインを含むため、AMMCreateトランザクションは台帳スパムを抑止するために通常よりもはるかに高いトランザクションコストを必要とします。標準的な最低0.00001XRPの代わりに、AMMCreateは少なくとも所有者準備金の増分(現在は2XRP)を破棄しなければなりません。これはAccountDeleteトランザクションと同じ特別なトランザクションコストです。
エラーケース
すべてのトランザクションで発生する可能性のあるエラーに加えて、AMMCreateトランザクションでは、次のトランザクション結果コードが発生する可能性があります。
エラーコード | 説明 |
---|---|
temDISABLED | このネットワークでは、AMM機能 |
temINVALID_FLAG | トランザクションに無効なFlags 値が指定されています。現在、このトランザクションタイプに定義されたフラグはないので、グローバルフラグのみが許可されます。 |
temBAD_AMM_TOKENS | Amount とAmount2 値が正しくありません。例えば、両方とも同じトークンを参照している場合です。 |
temBAD_FEE | TradingFee の値が不正です。ゼロまたは正の整数でなければならず、1000を超えることはできません。 |
terNO_ACCOUNT | リクエストで参照されたいずれかのアカウントが存在しません。 |
tecNO_AUTH | 送信者は資産(Amount またはAmount2 )のいずれかを保有する権限がありません。 |
tecNO_LINE | 送信者は資産(Amount またはAmount2 )のうちいずれか1つに対するトラストラインを保有していません。 |
tecFROZEN | 資産(Amount またはAmount2 )の少なくとも1つが現在凍結されています。 |
tecUNFUNDED_AMM | 送信者はAmount とAmount2 で指定された金額をAMMに入金するための十分な資金を保有していません。 |
tecAMM_EXISTS | この通貨ペアを扱っているAMMが既に存在しています。 |