This commit is contained in:
develoQ
2023-03-01 09:37:25 +09:00
parent 048f006ff9
commit d659a6ea49
11 changed files with 42 additions and 40 deletions

View File

@@ -0,0 +1 @@
_自動マーケットメーカーAMM機能は、XRP Ledger プロトコルに提案されている [XLS-30d](https://github.com/XRPLF/XRPL-Standards/discussions/78)の拡張機能 :not_enabled: に含まれるものです。これらの機能は AMM テストネットワークで使用することができますが、公式の修正案がなく、本番のメインネットでは使用することができません。修正案が出るまでは、このページに記載されている内容は変更される可能性があります。_

View File

@@ -0,0 +1 @@
**注記:** このメソッドにはコマンドライン構文がありません。代わりに[jsonメソッド][]を使って、コマンドラインからこのメソッドにアクセスすることができます。

View File

@@ -13,7 +13,7 @@ labels:
自動マーケットメーカー(AMM)は、XRP Ledgerの分散型取引所において流動性を提供するスマートコントラクトです。個々のAMMは2つの資産のプールを保有し、数式で定められた取引レートでユーザーがその2つの資産間でスワップを可能とします。 自動マーケットメーカー(AMM)は、XRP Ledgerの分散型取引所において流動性を提供するスマートコントラクトです。個々のAMMは2つの資産のプールを保有し、数式で定められた取引レートでユーザーがその2つの資産間でスワップを可能とします。
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
任意の資産ペアに対して、最大1つのAMMが元帳に存在することができます。AMMはそのペアが存在しない場合、誰でも作成することができ、また既存のAMMに預けることもできます。AMMに資産を預ける人は、流動性供給者(LP/Liquidity Provider)と呼ばれ、AMMから「LPトークン」を受け取ります。LPトークンによって、流動性供給者は以下のことが可能になります。 任意の資産ペアに対して、最大1つのAMMが元帳に存在することができます。AMMはそのペアが存在しない場合、誰でも作成することができ、また既存のAMMに預けることもできます。AMMに資産を預ける人は、流動性供給者(LP/Liquidity Provider)と呼ばれ、AMMから「LPトークン」を受け取ります。LPトークンによって、流動性供給者は以下のことが可能になります。
@@ -25,7 +25,7 @@ labels:
## AMMの仕組み ## AMMの仕組み
AMMは2つの異なる資産を保有します。このうち最大でも片方がXRPであり、もう片方または両方は[トークン](tokens.html) となります。この場合、発行者の異なるトークンは異なる資産とみなされます。つまり、通貨コードは同じだが発行者が異なる2つのトークン (「WayGateが発行したFOO」と「StableFooが発行したFOO」は異なる) や、発行者は同じだが通貨コードが異なるトークンに対してAMMが存在する可能性があるということです。また、順番は関係なく、FOO.WayGateからXRPへのAMMは、XRPからFOO.WayGateへのAMMと同一になります。 AMMは2つの異なる資産を保有します。このうち最大でも片方がXRPであり、もう片方または両方は[トークン](tokens.html)となります。この場合、発行者の異なるトークンは異なる資産とみなされます。つまり、通貨コードは同じだが発行者が異なる2つのトークン(「WayGateが発行したFOO」と「StableFooが発行したFOO」は異なる)や、発行者は同じだが通貨コードが異なるトークンに対してAMMが存在する可能性があるということです。また、順番は関係なく、FOO.WayGateからXRPへのAMMは、XRPからFOO.WayGateへのAMMと同一になります。
ユーザーが分散型取引所で取引を行う場合、[オファー](offers.html)と[クロスカレンシー決済](cross-currency-payments.html)は自動的にAMMを使用してトランザクションを成立させることが出来ます。トランザクションは低コストで取引を行えるように、オファー、AMM、またはその両方の組み合わせで実行されます。 ユーザーが分散型取引所で取引を行う場合、[オファー](offers.html)と[クロスカレンシー決済](cross-currency-payments.html)は自動的にAMMを使用してトランザクションを成立させることが出来ます。トランザクションは低コストで取引を行えるように、オファー、AMM、またはその両方の組み合わせで実行されます。
@@ -49,7 +49,7 @@ AMMは、発行済のLPトークンがない場合に限り、AMMの資産プー
### LPトークンの通貨コード ### LPトークンの通貨コード
LPトークンは、160 ビットの 16 進法["非標準"フォーマット](currency-formats.html#非標準通貨コード)の特別なタイプの通貨コードを使用します。これらのコードの最初の8ビットは`0x03`です。残りのコードは、2つの資産の通貨コードとその発行者のSHA-512ハッシュで、最初の152ビットまで切り捨てたものです。(資産は、数値の低い通貨と発行者のペアを最初にする「正規化された順序」で配置されます。)その結果、LPトークンは、通貨と発行者のペアを最初にする「正規化された順序」で配置されます。その結果、ある資産ペアのAMMのLPトークンは、予測可能で一貫した通貨コードを持っています。 LPトークンは、160ビットの16進法["非標準"フォーマット](currency-formats.html#非標準通貨コード)の特別なタイプの通貨コードを使用します。これらのコードの最初の8ビットは`0x03`です。残りのコードは、2つの資産の通貨コードとその発行者のSHA-512ハッシュで、最初の152ビットまで切り捨てたものです。(資産は、数値の低い通貨と発行者のペアを最初にする「正規化された順序」で配置されます。)その結果、LPトークンは、通貨と発行者のペアを最初にする「正規化された順序」で配置されます。その結果、ある資産ペアのAMMのLPトークンは、予測可能で一貫した通貨コードを持っています。
## 取引手数料 ## 取引手数料
@@ -77,7 +77,7 @@ LPトークンは、160 ビットの 16 進法["非標準"フォーマット](cu
- AMMのプールにあるトークンのAMM専用アカウントへの[トラストライン](trust-lines-and-issuing.html) - AMMのプールにあるトークンのAMM専用アカウントへの[トラストライン](trust-lines-and-issuing.html)
これらのオブジェクトはどのアカウントにも所有されていないため、[準備金要件](reserve.html)は適用されません。ただし、スパムを防ぐため、AMMを作成するための取引には特別な[トランザクションコスト](transaction-cost.html)があり、通常よりも多くのXRPを消費する必要があります。 これらのオブジェクトはどのアカウントにも所有されていないため、[準備金要件](reserves.html)は適用されません。ただし、スパムを防ぐため、AMMを作成するための取引には特別な[トランザクションコスト](transaction-cost.html)があり、通常よりも多くのXRPを消費する必要があります。
<!--{# common link defs #}--> <!--{# common link defs #}-->

View File

@@ -14,14 +14,14 @@ labels:
`{{currentpage.name}}` メソッドは、自動マーケットメーカーAMMインスタンスに関する情報を取得します。 `{{currentpage.name}}` メソッドは、自動マーケットメーカーAMMインスタンスに関する情報を取得します。
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
### リクエストのフォーマット ### リクエストのフォーマット
リクエストの例 リクエストの例
{% include '_snippets/no-cli-syntax.md' %} {% include '_snippets/no-cli-syntax.ja.md' %}
<!-- MULTICODE_BLOCK_START --> <!-- MULTICODE_BLOCK_START -->
@@ -193,7 +193,7 @@ labels:
| フィールド | 型 | 説明 | | フィールド | 型 | 説明 |
|:-----------------------|:---------------------|:----------------------------------------------------------| |:-----------------------|:---------------------|:----------------------------------------------------------|
| `amm` | オブジェクト | リクエストに含まれる資産ペアの[**AMM詳細オブジェクト**](#AMM詳細オブジェクト)です。 | | `amm` | オブジェクト | リクエストに含まれる資産ペアの[**AMM詳細オブジェクト**](#amm詳細オブジェクト)です。 |
| `ledger_current_index` | [レジャーインデックス][] | _(`ledger_index`の指定がある場合は省略)_ この情報を取得する際に使用された、現在の進行中の台帳の[レジャーインデックス][]。 | | `ledger_current_index` | [レジャーインデックス][] | _(`ledger_index`の指定がある場合は省略)_ この情報を取得する際に使用された、現在の進行中の台帳の[レジャーインデックス][]。 |
| `ledger_hash` | [ハッシュ][] | _(`ledger_current_index`の指定がある場合は省略)_ この情報を取得する際に使用された台帳のバージョンの識別ハッシュ。 | | `ledger_hash` | [ハッシュ][] | _(`ledger_current_index`の指定がある場合は省略)_ この情報を取得する際に使用された台帳のバージョンの識別ハッシュ。 |
| `ledger_index` | [レジャーインデックス][] | _(`ledger_current_index`の指定がある場合は省略_ この情報を取得する際に使用した台帳のバージョンの[レジャーインデックス][]。 | | `ledger_index` | [レジャーインデックス][] | _(`ledger_current_index`の指定がある場合は省略_ この情報を取得する際に使用した台帳のバージョンの[レジャーインデックス][]。 |
@@ -209,8 +209,8 @@ labels:
| `amm_account` | 文字列 | AMMアカウントの[アドレス][]です。 | | `amm_account` | 文字列 | AMMアカウントの[アドレス][]です。 |
| `amount` | [通貨額][] | AMMのプールにある1つの資産の合計額。(注記:リクエストに指定した`asset` _または_ `asset2`になります。) | | `amount` | [通貨額][] | AMMのプールにある1つの資産の合計額。(注記:リクエストに指定した`asset` _または_ `asset2`になります。) |
| `amount2` | [通貨額][] | AMMのプール内の他の資産の合計額。(注意:リクエストに指定した`asset` _または_ `asset2`になります。) | | `amount2` | [通貨額][] | AMMのプール内の他の資産の合計額。(注意:リクエストに指定した`asset` _または_ `asset2`になります。) |
| `asset_frozen` | 真偽値 | _(XRPの場合、省略)_ `true`の場合、`amount`の通貨は現在[凍結](freeze.html)されています。 | | `asset_frozen` | 真偽値 | _(XRPの場合、省略)_ `true`の場合、`amount`の通貨は現在[凍結](freezes.html)されています。 |
| `asset2_frozen` | 真偽値 | _(XRPの場合、省略)_ `true`の場合、`amount2`の通貨は現在[凍結](freeze.html)されています。 | | `asset2_frozen` | 真偽値 | _(XRPの場合、省略)_ `true`の場合、`amount2`の通貨は現在[凍結](freezes.html)されています。 |
| `auction_slot` | オブジェクト | _(省略される場合があります)_ 存在する場合、現在のオークションスロットの所有者を記述した[オークションスロットオブジェクト](#オークションスロットオブジェクト)です。 | | `auction_slot` | オブジェクト | _(省略される場合があります)_ 存在する場合、現在のオークションスロットの所有者を記述した[オークションスロットオブジェクト](#オークションスロットオブジェクト)です。 |
| `lp_token` | [通貨額][] | このAMMのLPトークンの発行残高の合計。 | | `lp_token` | [通貨額][] | このAMMのLPトークンの発行残高の合計。 |
| `trading_fee` | 数値 | AMMの現在の取引手数料。単位は1/100,000で、1は0.001%の手数料に相当します。 | | `trading_fee` | 数値 | AMMの現在の取引手数料。単位は1/100,000で、1は0.001%の手数料に相当します。 |

View File

@@ -39,7 +39,7 @@ labels:
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:------------------------------|:---------|:------------------|:-------------| |:------------------------------|:---------|:------------------|:-------------|
| `Account` | 文字列 | AccountID | はい | この[アカウント](accounts.html)を識別するための(クラシック)アドレスです。。 | | `Account` | 文字列 | AccountID | はい | この[アカウント](accounts.html)を識別するための(クラシック)アドレスです。。 |
| `AccountTxnID` | 文字列 | Hash256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](transaction-common-fields.html#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](accountset.html#AccountSetのフラグ)を送信してください。 | | `AccountTxnID` | 文字列 | Hash256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](transaction-common-fields.html#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](accountset.html#accountsetのフラグ)を送信してください。 |
| `Balance` | 文字列 | Amount | いいえ | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 | | `Balance` | 文字列 | Amount | いいえ | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 |
| `BurnedNFTokens` | 数値 | UInt32 | いいえ | このアカウントで発行された [非代替性トークン](non-fungible-tokens.html) のうち、バーンしたトークンの総数を表します。この数値は常に `MintedNFTokens` と同じかそれ以下となります。 | | `BurnedNFTokens` | 数値 | UInt32 | いいえ | このアカウントで発行された [非代替性トークン](non-fungible-tokens.html) のうち、バーンしたトークンの総数を表します。この数値は常に `MintedNFTokens` と同じかそれ以下となります。 |
| `Domain` | 文字列 | VariableLength | いいえ | このアカウントに関連付けられたドメイン。JSONでは、ドメインのASCII表現を16進数で表現します。[256バイトを超える長さは使用できません](https://github.com/xrplf/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | | `Domain` | 文字列 | VariableLength | いいえ | このアカウントに関連付けられたドメイン。JSONでは、ドメインのASCII表現を16進数で表現します。[256バイトを超える長さは使用できません](https://github.com/xrplf/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) |
@@ -68,7 +68,7 @@ AccountRootオブジェクトには以下のフラグ値を指定できます。
| フラグ名 | 16進数値 | 10進数値 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | 説明 | | フラグ名 | 16進数値 | 10進数値 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | 説明 |
|---------------------|--------------|----------|---------------|-------------------------------| |---------------------|--------------|----------|---------------|-------------------------------|
| `lsfAMM`:not_enabled: | `0x00010000` | 33554432 | (なし) | このアカウントは、自動マーケットメーカーrのインスタンスです。:not_enabled: | | `lsfAMM`:not_enabled: | `0x00010000` | 33554432 | (なし) | このアカウントは、自動マーケットメーカーのインスタンスです。:not_enabled: |
| `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)を有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 | | `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)を有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 |
| `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)が有効になっています。) | | `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)が有効になっています。) |
| `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 | | `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 |
@@ -81,7 +81,7 @@ AccountRootオブジェクトには以下のフラグ値を指定できます。
## AMMの特殊なAccountRootオブジェクト ## AMMの特殊なAccountRootオブジェクト
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
[自動マーケットメーカー](automated-market-makers.html) (AMM) は、AMMの詳細の一部を追跡するための[AMMオブジェクト][]に加えて、LPトークンを発行しAMMプール内の資産を保持するためにAccountRootオブジェクトを使用します。AMMに関連するAccountRootのアドレスは、AMMが作成される前にユーザーがそのアドレスを特定し資金を提供できないように、ランダム化されています。AMMのAccountRootは、通常のアカウントとは異なり、以下のような設定で作成されます。 [自動マーケットメーカー](automated-market-makers.html) (AMM) は、AMMの詳細の一部を追跡するための[AMMオブジェクト][]に加えて、LPトークンを発行しAMMプール内の資産を保持するためにAccountRootオブジェクトを使用します。AMMに関連するAccountRootのアドレスは、AMMが作成される前にユーザーがそのアドレスを特定し資金を提供できないように、ランダム化されています。AMMのAccountRootは、通常のアカウントとは異なり、以下のような設定で作成されます。

View File

@@ -10,7 +10,7 @@ status: not_enabled
[[Source]](https://github.com/xrplf/rippled/blob/c1e4bfb08bcc9f187d794a71d653003a6148dc68/src/ripple/protocol/impl/LedgerFormats.cpp#L265-L275 "Source") [[Source]](https://github.com/xrplf/rippled/blob/c1e4bfb08bcc9f187d794a71d653003a6148dc68/src/ripple/protocol/impl/LedgerFormats.cpp#L265-L275 "Source")
<!-- TODO: Update source link to merged version when available --> <!-- TODO: Update source link to merged version when available -->
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
`AMM`オブジェクトは、単一の[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを表します。 `AMM`オブジェクトは、単一の[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを表します。
@@ -76,7 +76,7 @@ status: not_enabled
|:-----------------|:--------------------|:------------------|:----------|--------------| |:-----------------|:--------------------|:------------------|:----------|--------------|
| `Asset` | オブジェクト | STIssue | はい | このAMMが保有する2つのアセットのうちの1つの定義。JSONでは、`currency``issuer`フィールドを持つオブジェクトになります。 | | `Asset` | オブジェクト | STIssue | はい | このAMMが保有する2つのアセットのうちの1つの定義。JSONでは、`currency``issuer`フィールドを持つオブジェクトになります。 |
| `Asset2` | オブジェクト | STIssue | はい | このAMMが保有するもう一つの資産の定義。JSONでは、`currency``issuer`フィールドを持つオブジェクトになります。 | | `Asset2` | オブジェクト | STIssue | はい | このAMMが保有するもう一つの資産の定義。JSONでは、`currency``issuer`フィールドを持つオブジェクトになります。 |
| `AMMAccount` | 文字列 | AccountID | はい | このAMMの資産を保有する[特殊なアカウント](accountroot.html#AMMの特殊なAccountRootオブジェクト)のアドレス。 | | `AMMAccount` | 文字列 | AccountID | はい | このAMMの資産を保有する[特殊なアカウント](accountroot.html#ammの特殊なaccountrootオブジェクト)のアドレス。 |
| `AuctionSlot` | オブジェクト | STObject | いいえ | オークションスロットの現在の所有者の詳細。[オークションスロットオブジェクト](#オークションスロットオブジェクト)形式です。| | `AuctionSlot` | オブジェクト | STObject | いいえ | オークションスロットの現在の所有者の詳細。[オークションスロットオブジェクト](#オークションスロットオブジェクト)形式です。|
| `LPTokenBalance` | [通貨額][] | Amount | はい | AMMインスタンスの流動性供給者トークンの発行残高の合計。このトークンの保有者は、保有量に比例してAMMの取引手数料に投票したり、取引手数料の徴収とともに増えていくAMMの資産の一部とトークンを交換したりすることができます。 | | `LPTokenBalance` | [通貨額][] | Amount | はい | AMMインスタンスの流動性供給者トークンの発行残高の合計。このトークンの保有者は、保有量に比例してAMMの取引手数料に投票したり、取引手数料の徴収とともに増えていくAMMの資産の一部とトークンを交換したりすることができます。 |
| `TradingFee` | 数値 | UInt16 | はい | AMMインスタンスに対する取引に課される手数料のパーセンテージを1/100,000の単位で指定します。最大値は1000で、これは1%の手数料となります。 | | `TradingFee` | 数値 | UInt16 | はい | AMMインスタンスに対する取引に課される手数料のパーセンテージを1/100,000の単位で指定します。最大値は1000で、これは1%の手数料となります。 |
@@ -90,9 +90,9 @@ status: not_enabled
|:----------------|:--------------------|:------------------|:----------|:--| |:----------------|:--------------------|:------------------|:----------|:--|
| `Account` | 文字列 - アドレス | AccountID | はい | このオークションスロットの現在の所有者。 | | `Account` | 文字列 - アドレス | AccountID | はい | このオークションスロットの現在の所有者。 |
| `AuthAccounts` | 配列 | STArray | いいえ | AMMインスタンスに対して取引手数料を割引した価格で取引することを許可された、最大4つの追加アカウントのリスト。 | | `AuthAccounts` | 配列 | STArray | いいえ | AMMインスタンスに対して取引手数料を割引した価格で取引することを許可された、最大4つの追加アカウントのリスト。 |
| `DiscountedFee` | 文字列 | UInt32 | はい | オークションの所有者に請求される取引手数料で、`TradingFee`と同じフォーマットです。デフォルトでは 0 で、オークションスロットの所有者はAMMの標準的な手数料の代わりに、手数料なしで取引できることを意味します。 | | `DiscountedFee` | 文字列 | UInt32 | はい | オークションの所有者に請求される取引手数料で、`TradingFee`と同じフォーマットです。デフォルトでは0で、オークションスロットの所有者はAMMの標準的な手数料の代わりに、手数料なしで取引できることを意味します。 |
| `Price` | [通貨額][] | Amount | はい | オークションスロットの所有者がこのスロットを落札するために支払った金額LPトークン。 | | `Price` | [通貨額][] | Amount | はい | オークションスロットの所有者がこのスロットを落札するために支払った金額LPトークン。 |
| `Expiration` | 文字列 | UInt32 | はい | このスロットの有効期限が切れる[リップルエポックからの秒数][]で指定した時刻。 | | `Expiration` | 文字列 | UInt32 | はい | このスロットの有効期限が切れる[Rippleエポック以降の経過秒数][]で指定した時刻。 |
## AMM フラグ ## AMM フラグ

View File

@@ -10,7 +10,7 @@ status: not_enabled
[[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMBid.cpp "Source") [[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMBid.cpp "Source")
<!-- TODO: Update source link to merged version when available --> <!-- TODO: Update source link to merged version when available -->
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
[自動マーケットメーカー](automated-market-makers.html)のオークションスロットに入札することができます。落札されると、競り落とされるか24時間が経過するまで、割引料金でAMMと取引することができます。24時間が経過する前に競り落とされた場合、残り時間に応じて落札価格の一部が払い戻されます。 [自動マーケットメーカー](automated-market-makers.html)のオークションスロットに入札することができます。落札されると、競り落とされるか24時間が経過するまで、割引料金でAMMと取引することができます。24時間が経過する前に競り落とされた場合、残り時間に応じて落札価格の一部が払い戻されます。
@@ -57,11 +57,11 @@ AMMのLPトークンを使って落札すると、落札額はAMMに返金され
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:---------------|:-----------|:- ----------|:----- |:------------| |:---------------|:-----------|:- ----------|:----- |:------------|
| `Asset` | オブジェクト | STIssue | はい | AMMのプールにある資産の一つを定義します。JSON では、`currency``issuer`フィールドを持つオブジェクトになりますXRP の場合は`issuer`を省略します)。 | | `Asset` | オブジェクト | STIssue | はい | AMMのプールにある資産の一つを定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `Asset2` | オブジェクト | STIssue | はい | AMM のプールにあるもう一つのアセットの定義です。JSON では、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 | | `Asset2` | オブジェクト | STIssue | はい | AMM のプールにあるもう一つのアセットの定義です。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `BidMin` | [通貨額][] | Amount | いいえ | スロットに支払う最小の金額。この値を高く設定すると、他の人から競り落とされにくくなります。省略された場合は、落札に必要な最低額を支払います。 | | `BidMin` | [通貨額][] | Amount | いいえ | スロットに支払う最小の金額。この値を高く設定すると、他の人から競り落とされにくくなります。省略された場合は、落札に必要な最低額を支払います。 |
| `BidMax` | [通貨額][] | Amount | いいえ | スロットに支払う最大の金額。落札するためのコストがこの金額より高い場合、取引は失敗します。省略された場合は、落札に必要な金額を支払います。 | | `BidMax` | [通貨額][] | Amount | いいえ | スロットに支払う最大の金額。落札するためのコストがこの金額より高い場合、取引は失敗します。省略された場合は、落札に必要な金額を支払います。 |
| `AuthAccounts` | 配列 | STArray | いいえ | 割引料金で取引を許可する最大4つの追加のアカウントのリスト。これには、トランザクション送信者のアドレスは含めることはできません。これらのオブジェクトはそれぞれ[Auth Accountオブジェクト](#認可アカウントオブジェクト)である必要があります。. | | `AuthAccounts` | 配列 | STArray | いいえ | 割引料金で取引を許可する最大4つの追加のアカウントのリスト。これには、トランザクション送信者のアドレスは含めることはできません。これらのオブジェクトはそれぞれ[Auth Accountオブジェクト](#auth-accountオブジェクト)である必要があります。. |
`BidMin``BidMax` の両方を指定することはできません。 `BidMin``BidMax` の両方を指定することはできません。
@@ -73,13 +73,13 @@ AMMのLPトークンを使って落札すると、落札額はAMMに返金され
|:---------------|:----------|:-------------|:-----|:------------| |:---------------|:----------|:-------------|:-----|:------------|
| `Account` | 文字列 | AccountID | はい | 認可するアカウントのアドレス。 | | `Account` | 文字列 | AccountID | はい | 認可するアカウントのアドレス。 |
配列に現れる他の「内部オブジェクト」と同様に、これらのオブジェクトのJSON表現は、オブジェクトタイプ `AuthAccount` のみをキーとするオブジェクトにラップされています。 配列に現れる他の「内部オブジェクト」と同様に、これらのオブジェクトのJSON表現は、オブジェクトタイプ`AuthAccount`のみをキーとするオブジェクトにラップされています。
## オークションスロットの価格 ## オークションスロットの価格
落札された場合、トランザクションは自動的に前のスロット所有者を競り落とし、送信者のLPトークンから落札価格が引き落とされます。落札価格は、72分ずつ20回に区切られた時間経過とともに減少します。もし送信者が落札するのに十分なLPトークンを持っていなかったり、入札価格がトランザクションの `BidMax` 値より高い場合、トランザクションは `tecAMM_FAILED_BID` という結果で失敗します。 落札された場合、トランザクションは自動的に前のスロット所有者を競り落とし、送信者のLPトークンから落札価格が引き落とされます。落札価格は、72分ずつ20回に区切られた時間経過とともに減少します。もし送信者が落札するのに十分なLPトークンを持っていなかったり、入札価格がトランザクションの`BidMax`値より高い場合、トランザクションは`tecAMM_FAILED_BID`という結果で失敗します。
- オークションスロットが現在空であったり、期限切れ、または最後のインターバルである場合、**最低入札価格**はAMMの総LPトークン残高の **0.001%** です。 - オークションスロットが現在空であったり、期限切れ、または最後のインターバルである場合、**最低入札価格**はAMMの総LPトークン残高の**0.001%**です。
**注意:** この最小値は暫定値であり、AMM機能が最終的に完成する前に変更される可能性があります。 **注意:** この最小値は暫定値であり、AMM機能が最終的に完成する前に変更される可能性があります。
@@ -116,7 +116,7 @@ R = B × (1 - t)
特殊なケースとして、オークションスロットの最終20番目区間では、払い戻し額は0となる。 特殊なケースとして、オークションスロットの最終20番目区間では、払い戻し額は0となる。
**注記:** XRP Ledgerの時刻と同様に、トランザクション処理では _前回の_ 台帳の[正規の終了時刻](ledgers.html#ledger-close-times) を使用するため、実時間と最大で約10秒の差が生じる場合があります。 **注記:** XRP Ledgerの時刻と同様に、トランザクション処理では _前回の_ 台帳の[正規の終了時刻](ledgers.html#ledger-close-times)を使用するため、実時間と最大で約10秒の差が生じる場合があります。
## エラーケース ## エラーケース
@@ -124,10 +124,10 @@ R = B × (1 - t)
| エラーコード | 説明 | | エラーコード | 説明 |
|:------------------------|:---------------------------------------------| |:------------------------|:---------------------------------------------|
| `tecAMM_FAILED_BID` | このトランザクションでは、送信者が必要な入札額を支払うために十分な LP トークンを保有していないか、落札価格がトランザクションで指定された `BidMax` 値より高いため、落札できませんでした。 | | `tecAMM_FAILED_BID` | このトランザクションでは、送信者が必要な入札額を支払うために十分なLPトークンを保有していないか、落札価格がトランザクションで指定された`BidMax`値より高いため、落札できませんでした。 |
| `tecAMM_INVALID_TOKENS` | このトランザクションの送信者は、スロット価格に見合うだけの LP トークンを保有していません。 | | `tecAMM_INVALID_TOKENS` | このトランザクションの送信者は、スロット価格に見合うだけのLPトークンを保有していません。 |
| `temBAD_AMM_TOKENS` | 指定された`BidMin`または`BidMax`は、このAMMの正しいLPトークンとして指定されていません。 | | `temBAD_AMM_TOKENS` | 指定された`BidMin`または`BidMax`は、このAMMの正しいLPトークンとして指定されていません。 |
| `temBAD_AMM_OPTIONS` | トランザクションが無効なオプションを指定しました。例えば、`AuthAccounts` のリストが長すぎるか、`BidMin``BidMax` の両方を指定しています。 | | `temBAD_AMM_OPTIONS` | トランザクションが無効なオプションを指定しました。例えば、`AuthAccounts`のリストが長すぎるか、`BidMin`BidMax` の両方を指定しています。 |
| `temDISABLED` | このネットワークでは、AMM機能 :not_enabled: は有効ではありません。 | | `temDISABLED` | このネットワークでは、AMM機能 :not_enabled: は有効ではありません。 |
| `terNO_ACCOUNT` | このリクエストで指定されたアカウントのいずれかが存在しません。 | | `terNO_ACCOUNT` | このリクエストで指定されたアカウントのいずれかが存在しません。 |
| `terNO_AMM` | このトランザクションの資産ペアの自動マーケットメーカーのインスタンスが存在しません。 | | `terNO_AMM` | このトランザクションの資産ペアの自動マーケットメーカーのインスタンスが存在しません。 |

View File

@@ -10,11 +10,11 @@ status: not_enabled
[[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMCreate.cpp "Source") [[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMCreate.cpp "Source")
<!-- TODO: Update source link to merged version when available --> <!-- TODO: Update source link to merged version when available -->
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
資産([代替可能トークン](tokens.html)または[XRP](xrp.html))のペアを取引するための新しい[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを作成します。 資産([代替可能トークン](tokens.html)または[XRP](xrp.html))のペアを取引するための新しい[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを作成します。
AMMを表す[AMMオブジェクト][]と[特殊なAccountRootオブジェクト](accountroot.html#AMMの特殊なAccountRootオブジェクト)を作成します。また、両資産の開始残高の所有権を送信者から、作成された`AccountRoot`に移し、初期残高の流動性プロバイダトークンLPトークンをAMMアカウントから送信者に発行します。 AMMを表す[AMMオブジェクト][]と[特殊なAccountRootオブジェクト](accountroot.html#ammの特殊なaccountrootオブジェクト)を作成します。また、両資産の開始残高の所有権を送信者から、作成された`AccountRoot`に移し、初期残高の流動性プロバイダトークンLPトークンをAMMアカウントから送信者に発行します。
**注意:** AMMを作成する際には、各資産をほぼ同額ずつ投入する必要があります。そうしないと、他のユーザーがあなたの負担において、このAMMを使った取引で利益を得ることができます[アービトラージの実行](https://www.machow.ski/posts/an_introduction_to_automated_market_makers/#price-arbitrage))。流動性供給者が負う通貨リスクは、資産ペアのボラティリティ(不均衡の可能性)が高ければ高いほど、大きくなります。取引手数料が高いほど、このリスクを相殺することになりますので、資産ペアのボラティリティに応じて取引手数料を設定するとよいでしょう。 **注意:** AMMを作成する際には、各資産をほぼ同額ずつ投入する必要があります。そうしないと、他のユーザーがあなたの負担において、このAMMを使った取引で利益を得ることができます[アービトラージの実行](https://www.machow.ski/posts/an_introduction_to_automated_market_makers/#price-arbitrage))。流動性供給者が負う通貨リスクは、資産ペアのボラティリティ(不均衡の可能性)が高ければ高いほど、大きくなります。取引手数料が高いほど、このリスクを相殺することになりますので、資産ペアのボラティリティに応じて取引手数料を設定するとよいでしょう。
@@ -61,7 +61,7 @@ AMMを表す[AMMオブジェクト][]と[特殊なAccountRootオブジェクト]
| `terNO_ACCOUNT` | リクエストで参照されたいずれかのアカウントが存在しません。| | `terNO_ACCOUNT` | リクエストで参照されたいずれかのアカウントが存在しません。|
| `tecNO_AUTH` | 送信者は資産(`Amount`または`Amount2`)のいずれかを保有する権限がありません。 | | `tecNO_AUTH` | 送信者は資産(`Amount`または`Amount2`)のいずれかを保有する権限がありません。 |
| `tecNO_LINE` | 送信者は資産(`Amount`または`Amount2`のうちいずれか1つに対するトラストラインを保有していません。 | | `tecNO_LINE` | 送信者は資産(`Amount`または`Amount2`のうちいずれか1つに対するトラストラインを保有していません。 |
| `tecFROZEN` | 資産(`Amount`または`Amount2`の少なくとも1つが現在[凍結](freeze.html)されています。 | | `tecFROZEN` | 資産(`Amount`または`Amount2`の少なくとも1つが現在[凍結](freezes.html)されています。 |
| `tecUNFUNDED_AMM` | 送信者は`Amount``Amount2`で指定された金額をAMMに入金するための十分な資金を保有していません。 | | `tecUNFUNDED_AMM` | 送信者は`Amount``Amount2`で指定された金額をAMMに入金するための十分な資金を保有していません。 |
| `tecAMM_EXISTS` | この通貨ペアを扱っているAMMが既に存在しています。 | | `tecAMM_EXISTS` | この通貨ペアを扱っているAMMが既に存在しています。 |

View File

@@ -10,7 +10,7 @@ status: not_enabled
[[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMDeposit.cpp "Source") [[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMDeposit.cpp "Source")
<!-- TODO: Update source link to merged version when available --> <!-- TODO: Update source link to merged version when available -->
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
[自動マーケットメーカー](automated-market-makers.html)AMMインスタンスに資金を預け、引き換えにAMMの流動性プロバイダートークン _LPトークン_ を受け取ります。AMMのプールにある資産の一方または両方を預けることができます。 [自動マーケットメーカー](automated-market-makers.html)AMMインスタンスに資金を預け、引き換えにAMMの流動性プロバイダートークン _LPトークン_ を受け取ります。AMMのプールにある資産の一方または両方を預けることができます。
@@ -45,8 +45,8 @@ status: not_enabled
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:--------------|:-----------|:-----------|:------|:------------| |:--------------|:-----------|:-----------|:------|:------------|
| `Asset` | オブジェクト | STIssue | はい | AMMのプールにある資産の一つを定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRP の場合は`issuer`を省略します)。 | | `Asset` | オブジェクト | STIssue | はい | AMMのプールにある資産の一つを定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `Asset2` | オブジェクト | STIssue | はい | AMMのプールにあるもう一つの資産を定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRP の場合は`issuer`を省略します)。 | | `Asset2` | オブジェクト | STIssue | はい | AMMのプールにあるもう一つの資産を定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `Amount` | [通貨額][] | Amount | いいえ | AMMに預ける1つの資産の量を指定します。存在する場合、これはAMMのプールにある資産の一つトークンまたはXRPと一致する必要があります。 | | `Amount` | [通貨額][] | Amount | いいえ | AMMに預ける1つの資産の量を指定します。存在する場合、これはAMMのプールにある資産の一つトークンまたはXRPと一致する必要があります。 |
| `Amount2` | [通貨額][] | Amount | いいえ | AMMに追加する別の資産の量を指定します。存在する場合、これはAMMのプール内の他の資産と一致する必要があり、`Amount`と同じ資産にすることはできません。 | | `Amount2` | [通貨額][] | Amount | いいえ | AMMに追加する別の資産の量を指定します。存在する場合、これはAMMのプール内の他の資産と一致する必要があり、`Amount`と同じ資産にすることはできません。 |
| `EPrice` | [通貨額][] | Amount | いいえ | 受け取った各LPトークンに支払う、預け入れ資産の最大有効価格です。 | | `EPrice` | [通貨額][] | Amount | いいえ | 受け取った各LPトークンに支払う、預け入れ資産の最大有効価格です。 |
@@ -55,7 +55,7 @@ status: not_enabled
### AMMDepositモード ### AMMDepositモード
このトランザクションには5つのモードがあり、どのフラグを指定するかで定義されます。それぞれのモードは、特定のフィールドの組み合わせを必要とし、次の2つのカテゴリーに分類さ れます。 このトランザクションには5つのモードがあり、どのフラグを指定するかで定義されます。それぞれのモードは、特定のフィールドの組み合わせを必要とし、次の2つのカテゴリーに分類されます。
- **ダブルアセット入金**: AMMのプールにある両方(2つ)の資産を、既存の資産の残高に比例して預けます。この預け入れは手数料の対象外です。 - **ダブルアセット入金**: AMMのプールにある両方(2つ)の資産を、既存の資産の残高に比例して預けます。この預け入れは手数料の対象外です。
- **シングルアセット入金**, AMMの2つの資産のうち1つだけを預けます。AMMは、この預け入れによってプール内の資産残高がどれだけ変化したかによって、対価として支払われるLPトークンから差し引く手数料を設定します。 - **シングルアセット入金**, AMMの2つの資産のうち1つだけを預けます。AMMは、この預け入れによってプール内の資産残高がどれだけ変化したかによって、対価として支払われるLPトークンから差し引く手数料を設定します。
@@ -96,7 +96,7 @@ status: not_enabled
### AMMDepositフラグ ### AMMDepositフラグ
AMMDepositタイプのトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#Flagsフィールド)の値を追加でサポートしています。 AMMDepositタイプのトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)の値を追加でサポートしています。
| フラグ名 | 16進数値 | 10進数値 | 説明 | | フラグ名 | 16進数値 | 10進数値 | 説明 |
|:--------------------|:-------------|:--------------|:----------------------| |:--------------------|:-------------|:--------------|:----------------------|
@@ -117,7 +117,7 @@ AMMDepositタイプのトランザクションは、以下のように[`Flags`
| エラーコード | 説明 | | エラーコード | 説明 |
|:------------------------|:---------------------------------------------| |:------------------------|:---------------------------------------------|
| `temBAD_AMM_OPTIONS` | トランザクションで無効なフィールドの組み合わせが指定されました。詳細は、[AMMDepositモード](#ammdepositモード)を参照してください。 | | `temBAD_AMM_OPTIONS` | トランザクションで無効なフィールドの組み合わせが指定されました。詳細は、[AMMDepositモード](#ammdepositモード)を参照してください。 |
| `tecFROZEN` | トランザクションは[凍結](freeze.html)されてトークンを預けようとしました。 | | `tecFROZEN` | トランザクションは[凍結](freezes.html)されているトークンを預けようとしました。 |
| `tecAMM_BALANCE` | AMMが預け入れを行うのに十分な量の資産を保有していないたとえば、シングルアセット入金に必要な残高を保有していない、または送信者が指定されたトークンを十分に保有していない場合など。 | | `tecAMM_BALANCE` | AMMが預け入れを行うのに十分な量の資産を保有していないたとえば、シングルアセット入金に必要な残高を保有していない、または送信者が指定されたトークンを十分に保有していない場合など。 |
| `temBAD_AMM_TOKENS` | トランザクションでLPトークンが正しく指定されています。例えば、`issuer`がAMMのAccountRootアドレスでない、`currency`がこのAMMのLPトークンの通貨コードでない、またはトランザクションがAssetフィールドのいずれかにこのAMMのLPトークンを指定した、など。 | | `temBAD_AMM_TOKENS` | トランザクションでLPトークンが正しく指定されています。例えば、`issuer`がAMMのAccountRootアドレスでない、`currency`がこのAMMのLPトークンの通貨コードでない、またはトランザクションがAssetフィールドのいずれかにこのAMMのLPトークンを指定した、など。 |
| `tecAMM_FAILED_DEPOSIT` | 預け入れの条件が成立しませんでした。例えば、`EPrice`フィールドに指定された実効価格が低すぎる場合など。 | | `tecAMM_FAILED_DEPOSIT` | 預け入れの条件が成立しませんでした。例えば、`EPrice`フィールドに指定された実効価格が低すぎる場合など。 |

View File

@@ -10,7 +10,7 @@ status: not_enabled
[[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMVote.cpp "Source") [[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMVote.cpp "Source")
<!-- TODO: Update source link to merged version when available --> <!-- TODO: Update source link to merged version when available -->
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
[自動マーケットメーカー](automated-market-makers.html)インスタンスの取引手数料を投票します。最大8つのアカウントが、保有するAMMのLPトークンの量に比例して投票することができます。各新規投票では、投票の加重平均に基づいてAMMの取引手数料が再計算されます。 [自動マーケットメーカー](automated-market-makers.html)インスタンスの取引手数料を投票します。最大8つのアカウントが、保有するAMMのLPトークンの量に比例して投票することができます。各新規投票では、投票の加重平均に基づいてAMMの取引手数料が再計算されます。

View File

@@ -10,7 +10,7 @@ status: not_enabled
[[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMWithdraw.cpp "Source") [[Source]](https://github.com/gregtatcam/rippled/blob/amm-core-functionality/src/ripple/app/tx/impl/AMMWithdraw.cpp "Source")
<!-- TODO: Update source link to merged version when available --> <!-- TODO: Update source link to merged version when available -->
{% include '_snippets/amm-disclaimer.md' %} {% include '_snippets/amm-disclaimer.ja.md' %}
AMMの流動性プロバイダトークンLPトークンを返すことで、[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスから資産を引き出します。 AMMの流動性プロバイダトークンLPトークンを返すことで、[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスから資産を引き出します。
@@ -87,7 +87,7 @@ AMMの流動性プロバイダトークンLPトークンを返すことで
### AMMWithdrawフラグ ### AMMWithdrawフラグ
AMMWithdrawタイプのトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#Flagsフィールド)の値を追加でサポートしています。 AMMWithdrawタイプのトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)の値を追加でサポートしています。
| フラグ名 | 16進数値 | 10進数値 | 説明 | | フラグ名 | 16進数値 | 10進数値 | 説明 |
|:------------------------|:-------------|:--------------|:----------------------| |:------------------------|:-------------|:--------------|:----------------------|
@@ -108,7 +108,7 @@ AMMWithdrawタイプのトランザクションは、以下のように[`Flags`
| エラーコード | 説明 | | エラーコード | 説明 |
|:-------------------------|:---------------------------------------------| |:-------------------------|:---------------------------------------------|
| `tecFROZEN` | トランザクションは[凍結](freeze.html)されたトークンを引き出そうとしました。 | | `tecFROZEN` | トランザクションは[凍結](freezes.html)されたトークンを引き出そうとしました。 |
| `tecAMM_BALANCE` | トランザクションによって、プールから1つの資産をすべて引き出そうとしている、もしくは`tfWithdrawAll`の場合に端数処理によって0以外の金額が残ってしまっています。 | | `tecAMM_BALANCE` | トランザクションによって、プールから1つの資産をすべて引き出そうとしている、もしくは`tfWithdrawAll`の場合に端数処理によって0以外の金額が残ってしまっています。 |
| `tecAMM_FAILED_WITHDRAW` | 例えば、`EPrice`フィールドに指定された有効価格が低過ぎる場合など、引き出しに関する条件が成立しませんでした。 | | `tecAMM_FAILED_WITHDRAW` | 例えば、`EPrice`フィールドに指定された有効価格が低過ぎる場合など、引き出しに関する条件が成立しませんでした。 |
| `tecAMM_INVALID_TOKENS` | トークンペアのAMMが存在しないか、計算の結果、引き出し額がゼロに丸められました。 | | `tecAMM_INVALID_TOKENS` | トークンペアのAMMが存在しないか、計算の結果、引き出し額がゼロに丸められました。 |