Merge pull request #2189 from develoQ/ja-upd-amm

[JA] update AMM pages
This commit is contained in:
Rome Reginelli
2023-10-06 08:51:46 -07:00
committed by GitHub
14 changed files with 251 additions and 148 deletions

View File

@@ -1,7 +1,7 @@
---
html: amm_info.html
parent: path-and-order-book-methods.html
blurb: Get info about an Automted Market Maker (AMM) instance.
blurb: 自動マーケットメーカ(AMM)の情報を取得する。
status: not_enabled
labels:
- 分散型取引所
@@ -9,11 +9,11 @@ labels:
- AMM
---
# amm_info
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/AMMInfo.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/rpc/handlers/AMMInfo.cpp "Source")
`{{currentpage.name}}` メソッドは、自動マーケットメーカーAMMインスタンスに関する情報を取得します。
`{{currentpage.name}}`メソッドは、自動マーケットメーカーAMMインスタンスに関する情報を取得します。
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
### リクエストのフォーマット
@@ -62,15 +62,17 @@ _([AMM amendment][] :not_enabled:が必要。)_
リクエストには以下のパラメーターが含まれます。
| `フィールド` | 型 | 説明 |
|:-----------|:-----------------------|:-----------------------------------|
| `asset` | オブジェクト または 文字列 | [通貨額][Currency Amount]のように、`currency``issuer`フィールドを持つオブジェクトとしてXRPの場合は`issuer`を省略、検索するAMMの資産の一つを指定します。XRPの場合は、オブジェクトではなく文字列`XRP`として指定することができます。 |
| `asset2` | オブジェクト または 文字列 | AMMの資産のもう一方を、`currency``issuer`フィールドXRPの場合は`issuer`を省略)を持つオブジェクトとして、[通貨額][Currency Amount]のように指定することが可能です。 |
| `フィールド` | 型 | 必須? | 説明 |
|:-----------|:-----------------------|:------|:-----------------------------------|
| `account` | 文字列 - [アドレス][] | いいえ | この流動性プロバイダーが保有するLPトークンのみを表示します。 |
| `amm_account` | 文字列 - [アドレス][] | いいえ | AMMの特別なAccountRootのアドレス。(これはAMMのLPトークンの`issuer`です)。 |
| `asset` | オブジェクト または 文字列 | いいえ | [通貨額][Currency Amount]のように、`currency``issuer`フィールドを持つオブジェクトとしてXRPの場合は`issuer`を省略、検索するAMMの資産の一つを指定します。XRPの場合は、オブジェクトではなく文字列`XRP`として指定することもできます。 |
| `asset2` | オブジェクト または 文字列 | いいえ | AMMの資産のもう一方を、`currency``issuer`フィールドXRPの場合は`issuer`を省略)を持つオブジェクトとして、[通貨額][Currency Amount]のように指定することが可能です。 |
`amm_account`、または`asset``asset2`の両方を指定する必要があります。
### レスポンスのフォーマット
処理が成功したレスポンスの例:
<!-- MULTICODE_BLOCK_START -->
@@ -196,12 +198,12 @@ _([AMM amendment][] :not_enabled:が必要。)_
| `ledger_current_index` | [レジャーインデックス][] | _(`ledger_index`の指定がある場合は省略)_ この情報を取得する際に使用された、現在の進行中の台帳の[レジャーインデックス][]。 |
| `ledger_hash` | [ハッシュ][] | _(`ledger_current_index`の指定がある場合は省略)_ この情報を取得する際に使用された台帳のバージョンの識別ハッシュ。 |
| `ledger_index` | [レジャーインデックス][] | _(`ledger_current_index`の指定がある場合は省略_ この情報を取得する際に使用した台帳のバージョンの[レジャーインデックス][]。 |
| `validated` | 真偽値 | もし`true`なら、このリクエストに使用された台帳は検証済みで、これらの結果は最終的なものです。もし省略されるか `false` に設定されると、データは未確定で変更される可能性があります。 |
| `validated` | 真偽値 | もし`true`なら、このリクエストに使用された台帳は検証済みで、これらの結果は最終的なものです。もし省略されるか`false`に設定されると、データは未確定で変更される可能性があります。 |
### AMM詳細オブジェクト
フィールド `amm` は、台帳上の自動マーケットメーカーAMMの現在の状態を記述するオブジェクトであり、以下のフィールドを含みます。
`amm`フィールドは、自動マーケットメーカーAMMの現在の状態を記述するオブジェクトであり、以下のフィールドを含みます。
| フィールド | 型 | 説明 |
|-----------------|------------|-------------|
@@ -211,21 +213,21 @@ _([AMM amendment][] :not_enabled:が必要。)_
| `asset_frozen` | 真偽値 | _(XRPの場合、省略)_ `true`の場合、`amount`の通貨は現在[凍結](freezes.html)されています。 |
| `asset2_frozen` | 真偽値 | _(XRPの場合、省略)_ `true`の場合、`amount2`の通貨は現在[凍結](freezes.html)されています。 |
| `auction_slot` | オブジェクト | _(省略される場合があります)_ 存在する場合、現在のオークションスロットの所有者を記述した[オークションスロットオブジェクト](#オークションスロットオブジェクト)です。 |
| `lp_token` | [通貨額][] | このAMMのLPトークンの発行残高の合計。 |
| `lp_token` | [通貨額][] | このAMMのLPトークンの発行残高の合計。リクエスト時に`account`フィールドで流動性プロバイダを指定した場合、その流動性プロバイダが保有するこのAMMのLPトークンの量です。 |
| `trading_fee` | 数値 | AMMの現在の取引手数料。単位は1/100,000で、1は0.001%の手数料に相当します。 |
| `vote_slots` | 配列 | _(省略される場合があります)_ AMMの取引手数料に対する現在の投票数。[投票スロットオブジェクト](#投票スロットオブジェクト)として表示されます。 |
### オークションスロットオブジェクト
`AMM` オブジェクトの `auction_slot` フィールドは、AMMの現在のオークションスロット保持者を表し、以下のフィールドを含みます。
`AMM`オブジェクトの`auction_slot`フィールドは、AMMの現在のオークションスロット保持者を表し、以下のフィールドを含みます。
| フィールド | 型 | 説明 |
|------------------|-----------|-------------|
| `account` | 文字列 | オークションスロットを所有するアカウントの[アドレス][]です。 |
| `auth_accounts` | 配列 | オークションスロットの所有者が、取引手数料の割引の対象として指定した追加アカウントのリスト。この配列の各メンバーは、1つのフィールド `account` を持つオブジェクトで、指定したアカウントのアドレスが含まれています。 |
| `auth_accounts` | 配列 | オークションスロットの所有者が、取引手数料の割引の対象として指定した追加アカウントのリスト。この配列の各メンバーは、1つのフィールド`account`を持つオブジェクトで、指定したアカウントのアドレスが含まれています。 |
| `discounted_fee` | 数値 | このAMMに対して取引を行う際に、オークションスロットの保有者、および対象となるアカウントに適用される割引後の取引手数料です。これは常に0です。 |
| `expiration` | 文字列 | このオークションスロットが期限切れとなるISO8601 UTCタイムスタンプ。期限切れになると、オークションスロットは適用されません (ただし、別のトランザクションで置き換えられるかクリーンアップされるまで、データは台帳に残ります)。 |
| `expiration` | 文字列 | このオークションスロットが期限切れとなるISO8601UTCタイムスタンプ。期限切れになると、オークションスロットは適用されません (ただし、別のトランザクションで置き換えられるかクリーンアップされるまで、データは台帳に残ります)。 |
| `price` | [通貨額][] | オークションスロット所有者がオークションスロットを獲得するために支払った金額LPトークン単位です。これは、現在のスロット所有者を競り落とすための価格に影響します。 |
| `time_interval` | 数値 | このオークションスロットが現在入っている72分の時間間隔を0から19までで指定します。オークションスロットは24時間後72分間隔で20回に失効し、現在の保有者を競り落とすためのコストと、誰かが競り落とした場合に現在の保有者が払い戻される金額に影響します。 |

View File

@@ -65,7 +65,7 @@ The request includes the following parameters:
| `Field` | Type | Required? | Description |
|:--------------|:-----------------|:----------|-------------|
| `account` | String - [Address][] | No | Show only LP Tokens held by this liquidity provider. |
| `amm_account` | String - [Address][] | No | The address of the AMM's special special AccountRoot. (This is the `issuer` of the AMM's LP Tokens.) |
| `amm_account` | String - [Address][] | No | The address of the AMM's special AccountRoot. (This is the `issuer` of the AMM's LP Tokens.) |
| `asset` | Object or String | No | One of the assets of the AMM to look up, as an object with `currency` and `issuer` fields (omit `issuer` for XRP), like [currency amounts][Currency Amount]. For XRP, you can specify as the string `XRP` instead of as an object. |
| `asset2` | Object or String | No | The other of the assets of the AMM, as an object with `currency` and `issuer` fields (omit `issuer` for XRP), like [currency amounts][Currency Amount]. |

View File

@@ -1,7 +1,7 @@
---
html: accountroot.html
parent: ledger-entry-types.html
blurb: あるアカウントの設定、XRP残高、その他のメタデータす。
blurb: あるアカウントの設定、XRP残高、その他のメタデータを表します。
labels:
- アカウント
- XRP
@@ -40,7 +40,7 @@ labels:
|:------------------------------|:---------|:------------------|:------|:------|
| `Account` | 文字列 | AccountID | はい | この[アカウント](accounts.html)を識別するための(クラシック)アドレスです。 |
| `AccountTxnID` | 文字列 | Hash256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](transaction-common-fields.html#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](accountset.html#accountsetのフラグ)を送信してください。 |
| `AMMID` | 文字列 | Hash256 | いいえ | _([AMM amendment][] :not_enabled:が必要。)_ The ledger entry ID of the corresponding AMM ledger entry. Set during account creation; cannot be modified. If present, indicates that this is a special AMM AccountRoot; always omitted on non-AMM accounts. <!-- TODO: translate --> |
| `AMMID` | 文字列 | Hash256 | いいえ | _([AMM amendment][] :not_enabled:が必要です。)_ 対応するAMMレジャーエントリのレジャーエントリID。アカウント作成時に設定します。AMM以外のアカウントでは常に省略されます。 |
| `Balance` | 文字列 | Amount | いいえ | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 |
| `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) |
@@ -61,44 +61,57 @@ labels:
| `WalletLocator` | 文字列 | Hash256 | いいえ | ユーザーが設定できる任意の256bit値。 |
| `WalletSize` | 数値 | UInt32 | いいえ | 未使用。(コード上ではこのフィールドをサポートしていますが、設定する方法はありません)。 |
## AMMの特殊なAccountRootオブジェクト
## AMMの特殊なAccountRootエントリ
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
<!-- TODO: update translation -->
[自動マーケットメーカー](automated-market-makers.html) (AMM) は、AMMの詳細の一部を追跡するための[AMMオブジェクト][]に加えて、LPトークンを発行しAMMプール内の資産を保持するためにAccountRootオブジェクトを使用します。AMMに関連するAccountRootのアドレスは、AMMが作成される前にユーザーがそのアドレスを特定し資金を提供できないように、ランダム化されています。AMMのAccountRootは、通常のアカウントとは異なり、以下のような設定で作成されます。
[自動マーケットメーカー](automated-market-makers.html)(AMM)は、AMMの詳細の一部を追跡するための[AMMレジャーエントリ](amm.html)に加えて、LPトークンを発行しAMMプール内の資産を保持するためにAccountRootレジャーエントリを使用します。AMMに関連するAccountRootのアドレスは、AMMが作成される前にユーザがそのアドレスを特定し資金を提供できないように、ランダム化されています。AMMのAccountRootは、通常のアカウントとは異なり、以下のような設定で作成されます。
- `lsfDisableMaster` **有効** : トランザクションへ署名する手段はありません。これにより、誰もそのアカウントを直接操作することができず、トランザクションを送信することができなくなります。
- `lsfRequireAuth` **有効** : 事前承認されているアカウントは存在しません。これにより、AMMアカウントに資産を追加する唯一の方法は、[AMMDepositトランザクション][]を使用することであることが保証されます。
- `lsfDefaultRipple` **有効** : ユーザ間でAMMのLPトークンを送信したり、取引したりすることが可能になります。
- `lsfDefaultRipple` **有効** : ユーザ間でAMMのLPトークンを送信したり、取引したりすることが可能になります。
これらの特殊なアカウントは、[準備金要件](reserves.html)の対象外ですが、AMMのプール内の2つの資産のうちの1つであれば、XRPを保有することができます。
さらに、AMMのAccountRootエントリには以下の特別なルールが適用されます。
- このAMM向けの特殊なアカウントは、[準備金要件](reserves.html)の対象外ですが、AMMのプール内の2つの資産のうちの1つであれば、XRPを保有することができます。
- チェック、エスクロー、ペイメントチャネルの宛先にはできません。そのようなエントリを作成するトランザクションは結果コード`tecNO_PERMISSION`で失敗します。
- ユーザはAMMのLPトークン以外のためにトラストラインを作成することはできません。そのようなトラストラインを作成するトランザクションは結果コード`tecNO_PERMISSION`で失敗します。(AMMはそのプール内のトークンを保持するために2つのトラストラインを持っており、プール内の他の資産がXRPの場合は1つのトラストラインを持っています)。
- [Clawback Amendment][]も有効になっている場合においても、トークンの発行者はAMMから資金を回収することはできません。
LPトークンは他の[トークン](tokens.html)と同様に動作しますが、これらのトークンはAMM関連のトランザクションでも使用することができます。AMMの残高や、AMMに影響を与えたトランザクションの履歴は、通常のアカウントと同じように確認することができます。
## AccountRootのフラグ
このアカウントに対して有効化または無効化できる各種オプションがあります。これらのオプションを変更するには、[AccountSetトランザクション][]を使用します。レジャーではフラグはバイナリ値として表され、これらのバイナリ値はビットOR演算と組み合わせることができます。レジャーでのフラグのビット値は、トランザクションでれらのフラグを有効または無効にするために使用る値とは異なります。レジャーのフラグには、 _lsf_ で始まる名前が付いています。
AccountRootフラグの多くは、[AccountSetトランザクション][]で変更できるオプションに対応しています。ただし、レジャーで使用されるビット値は、トランザクションでれらのフラグを有効または無効にするために使用される値とは異なります。レジャーのフラグ**lsf`** で始まる名前を持ちます。
AccountRootオブジェクトは以下のフラグを指定できます。
AccountRootオブジェクトは`Flags`フィールドに以下のフラグを指定できます。
| フラグ名 | 16進数値 | 10進数値 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | 説明 |
|---------------------|--------------|----------|---------------|-------------------------------|
| `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)を有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 |
| `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)有効になっています。) |
| `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 |
| `lsfDisallowXRP` | `0x00080000` | 524288 | `asfDisallowXRP` | クライアントアプリケーションはこのアカウントにXRPを送金しないでください。`rippled`により強制されるものではありません。 |
| `lsfGlobalFreeze` | `0x00400000` | 4194304 | `asfGlobalFreeze` | このアドレスが発行するすべての資産が凍結されます。 |
| `lsfNoFreeze` | `0x00200000` | 2097152 | `asfNoFreeze` | このアドレスは、このアドレスに接続しているトラストラインを凍結できません。一度有効にすると、無効にできません。 |
| `lsfPasswordSpent` | `0x00010000` | 65536 | (なし) | このアカウントは無料のSetRegularKeyトランザクションを使用しています。 |
| `lsfRequireAuth` | `0x00040000` | 262144 | `asfRequireAuth` | このアカウントは、他のユーザーがこのアカウントのトークンを保有することを個別に承認する必要があります。 |
| `lsfRequireDestTag` | `0x00020000` | 131072 | `asfRequireDest` | 受信ペイメントには宛先タグの指定が必要です。 |
| フラグ名 | 16進数値 | 10進数値 | 対応する[AccountSetのフラグ](accountset.html#accountsetのフラグ) | 説明 |
|-----------------------------------|--------------|----------|-------------------------------------|-------------------------------|
| `lsfAllowTrustLineClawback` | `0x80000000` | 2147483648 | `asfAllowTrustLineClawback` | このアカウントの[Clawback](clawing-back-tokens.html)を有効にします。 _([Clawback Amendment][]が必要です。)_ |
| `lsfDefaultRipple` | `0x00800000` | 8388608 | `asfDefaultRipple` | このアドレスのトラストラインでデフォルトで[rippling](rippling.html)有効にします。発行アドレスに必要です。他のアドレスでの使用は推奨されません。 |
| `lsfDepositAuth` | `0x01000000` | 16777216 | `asfDepositAuth` | このアカウントは、アカウントが送信するトランザクションと、[事前承認された](depositauth.html#事前承認)アカウントからの資金だけを受領します。([DepositAuth](depositauth.html)が有効になっています。 |
| `lsfDisableMaster` | `0x00100000` | 1048576 | `asfDisableMaster` | このアカウントのトランザクションの署名にマスターキーを使用することを禁止します。 |
| `lsfDisallowIncomingCheck` | `0x08000000` | 134217728 | `asfDisallowIncomingCheck` | このアカウントを宛先とするチェックの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
| `lsfDisallowIncomingNFTokenOffer` | `0x04000000` | 67108864 | `asfDisallowIncomingNFTokenOffer` | このアカウントを宛先とするNFTokenオファーの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
| `lsfDisallowIncomingPayChan` | `0x10000000` | 268435456 | `asfDisallowIncomingPayChan` | このアカウントを宛先とするペイメントチャネルの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
| `lsfDisallowIncomingTrustline` | `0x20000000` | 536870912 | `asfDisallowIncomingTrustline` | このアカウントに対するトラストラインの作成をブロックします。 _([DisallowIncoming Amendment][]により追加されました。)_ |
| `lsfDisallowXRP` | `0x00080000` | 524288 | `asfDisallowXRP` | クライアントアプリケーションはこのアカウントにXRPを送金しないでください。`rippled`により強制されるものではありません。 |
| `lsfGlobalFreeze` | `0x00400000` | 4194304 | `asfGlobalFreeze` | このアドレスが発行するすべての資産が凍結されます。 |
| `lsfNoFreeze` | `0x00200000` | 2097152 | `asfNoFreeze` | このアドレスは、このアドレスに接続しているトラストラインを凍結できません。一度有効にすると、無効にできません。 |
| `lsfPasswordSpent` | `0x00010000` | 65536 | (なし) | このアカウントは無料のSetRegularKeyトランザクションを使用しています。 |
| `lsfRequireAuth` | `0x00040000` | 262144 | `asfRequireAuth` | このアカウントは、他のユーザーがこのアカウントのトークンを保有することを個別に承認する必要があります。 |
| `lsfRequireDestTag` | `0x00020000` | 131072 | `asfRequireDest` | 受信ペイメントには宛先タグの指定が必要です。 |
## {{currentpage.name}}の準備金
AccountRootエントリの[準備金](reserves.html)は、特別なAMM AccountRootの場合を除き、現在の基本準備金である{{target.base_reserve}}です。
このXRPは他人に送ることはできませんが、[トランザクションコスト][]の一部として利用することができます。
## AccountRoot IDのフォーマット
AccountRootオブジェクトのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
AccountRootエントリのIDは、以下の値がこの順序で連結されている[SHA-512ハーフ][]です。
* Accountスペースキー`0x0061`
* アカウントのAccountID

View File

@@ -7,11 +7,11 @@ labels:
status: not_enabled
---
# AMM
[[Source]](https://github.com/xrplf/rippled/blob/c1e4bfb08bcc9f187d794a71d653003a6148dc68/src/ripple/protocol/impl/LedgerFormats.cpp#L265-L275 "Source")
[[ソース]](https://github.com/xrplf/rippled/blob/c1e4bfb08bcc9f187d794a71d653003a6148dc68/src/ripple/protocol/impl/LedgerFormats.cpp#L265-L275 "Source")
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
`AMM`オブジェクトは、単一の[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを表します。
`AMM`レジャーエントリは、単一の[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを表します。これは常に[特殊な AccountRootエントリ](accountroot.html#ammの特殊なaccountrootエントリ)と対になっています。
## AMM JSONの例
@@ -75,7 +75,7 @@ _([AMM amendment][] :not_enabled:が必要。)_
|:-----------------|:--------------------|:------------------|:----------|--------------|
| `Asset` | オブジェクト | STIssue | はい | このAMMが保有する2つのアセットのうちの1つの定義。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 | いいえ | オークションスロットの現在の所有者の詳細。[オークションスロットオブジェクト](#オークションスロットオブジェクト)形式です。|
| `LPTokenBalance` | [通貨額][] | Amount | はい | AMMインスタンスの流動性供給者トークンの発行残高の合計。このトークンの保有者は、保有量に比例してAMMの取引手数料に投票したり、取引手数料の徴収とともに増えていくAMMの資産の一部とトークンを交換したりすることができます。 |
| `TradingFee` | 数値 | UInt16 | はい | AMMインスタンスに対する取引に課される手数料のパーセンテージを1/100,000の単位で指定します。最大値は1000で、これは1%の手数料となります。 |
@@ -93,19 +93,23 @@ _([AMM amendment][] :not_enabled:が必要。)_
| `Price` | [通貨額][] | Amount | はい | オークションスロットの所有者がこのスロットを落札するために支払った金額LPトークン。 |
| `Expiration` | 文字列 | UInt32 | はい | このスロットの有効期限が切れる[Rippleエポック以降の経過秒数][]で指定した時刻。 |
## {{currentpage.name}}の準備金
`{{currentpage.name}}`エントリは準備金が不要です。
## AMM フラグ
現在、`AMM`オブジェクトに定義されているフラグはありません。
`AMM`エントリに定義されているフラグはありません。
## AMM ID フォーマット
`AMM`オブジェクトのIIは、以下の値[SHA-512Half][]を順に繋げたものです。
`AMM`エントリのIDは、以下の値を順に繋げた[SHA-512Half][]です。
1. `AMM`のスペースキー(`0x0041`)
0. 第1アセットの発行者のAccountID。
0. 第1トークンの160ビットの通貨コード。
0. 第2アセットの発行者のAccountID。
0. 第2トークンの160ビットの通貨コード。
2. 第1アセットの発行者のAccountID。
3. 第1トークンの160ビットの通貨コード。
4. 第2アセットの発行者のAccountID。
5. 第2トークンの160ビットの通貨コード。
XRPの場合、トークン・発行者ともに全て0を使用します。

View File

@@ -7,13 +7,13 @@ labels:
status: not_enabled
---
# AMMBid
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMBid.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMBid.cpp "Source")
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
[自動マーケットメーカー](automated-market-makers.html)のオークションスロットに入札することができます。落札されると、競り落とされるか24時間が経過するまで、割引料金でAMMと取引することができます。24時間が経過する前に競り落とされた場合、残り時間に応じて落札価格の一部が払い戻されます。
AMMのLPトークンを使って落札すると、落札はAMMに返され、LPトークンの残高が減ります。
AMMのLPトークンを使って落札すると、落札に利用したLPトークンはAMMに返され、LPトークンの残高が減ります。
## {{currentpage.name}} JSONの例
@@ -57,7 +57,7 @@ AMMのLPトークンを使って落札すると、落札額はAMMに返金され
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:---------------|:-----------|:- ----------|:----- |:------------|
| `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 | いいえ | スロットに支払う最小の金額。この値を高く設定すると、他の人から競り落とされにくくなります。省略された場合は、落札に必要な最低額を支払います。 |
| `BidMax` | [通貨額][] | Amount | いいえ | スロットに支払う最大の金額。落札するためのコストがこの金額より高い場合、取引は失敗します。省略された場合は、落札に必要な金額を支払います。 |
| `AuthAccounts` | 配列 | STArray | いいえ | 割引料金で取引を許可する最大4つの追加のアカウントのリスト。これには、トランザクション送信者のアドレスは含めることはできません。これらのオブジェクトはそれぞれ[Auth Accountオブジェクト](#auth-accountオブジェクト)である必要があります。. |
@@ -78,32 +78,32 @@ AMMのLPトークンを使って落札すると、落札額はAMMに返金され
落札された場合、トランザクションは自動的に前のスロット所有者を競り落とし、送信者のLPトークンから落札価格が引き落とされます。落札価格は、72分ずつ20回に区切られた時間経過とともに減少します。もし送信者が落札するのに十分なLPトークンを持っていなかったり、入札価格がトランザクションの`BidMax`値より高い場合、トランザクションは`tecAMM_FAILED_BID`という結果で失敗します。
- オークションスロットが現在空であったり、期限切れ、または最後のインターバルである場合、**最低入札価格**はAMMの総LPトークン残高の**0.001%**です。
- オークションスロットが現在空であったり、期限切れ、または最後のインターバルである場合、**最低入札価格**は**AMMの総LPトークン残高の0.001%**です。
**注意:** この最小値は暫定値であり、AMM機能が最終的に完成する前に変更される可能性があります。
- それ以外の場合、現在の保有者に競り勝つための価格は、以下の式で計算されます。
- それ以外の場合、現在の保有者に落札価格は、以下の式で計算されます。
P = B × 1.05 × (1 - t⁶⁰) + M
- `P`: 競り落とすための価格。単位はLPトークン。
- `P`: 落札価格。単位はLPトークン。
- `B`: 現在の入札価格。単位はLPトークン。
- `t`: 現在の24時間枠で経過した時間の割合。0.05の倍数に切り捨てられる。
- `M`: M`は上記で定義された**最低入札価格**。
- `M`: Mは上記で定義された**最低入札価格**。
競り落とすためのコストには、2つの特殊なケースがあります。誰かが落札してから**最初の時間枠**では、その人を競り落とすための価格は、最低入札価格+既存の入札価格の5%アップとなります。
落札コストには、2つの特殊なケースがあります。誰かが落札してから**最初の時間枠**では、その落札価格は、最低入札価格+既存の入札価格の5%アップとなります。
P = B × 1.05 + M
スロットの**最後の時間枠**では、誰かを競り落とすためのコストは最低入札額のみです。
スロットの**最後の時間枠**では、落札コストは最低入札額のみです。
P = M
**注記:** 台帳を作成する際に、ネットワーク上のすべてのサーバーが同じ結果になるように、時間の計測は前回のレジャーの[正規の閉鎖時刻](ledger-close-times.html) に基づいており、これはおおよその目安の時間です。
**注記:** レジャーを作成する際に、ネットワーク上のすべてのサーバーが同じ結果になるように、時間の計測は前回のレジャーの[正規の閉鎖時刻](ledger-close-times.html)に基づいており、これはおおよその目安の時間です。
## 払い戻し
アクティブなオークションスロットを競り落とした場合、AMMは以下の計算式で前ホルダーに価格の一部を払い戻します。
有効なオークションスロットを落札した場合、AMMは以下の計算式で前ホルダーに価格の一部を払い戻します。
```text
R = B × (1 - t)
@@ -123,11 +123,12 @@ R = B × (1 - t)
| エラーコード | 説明 |
|:------------------------|:---------------------------------------------|
| `tecAMM_FAILED_BID` | このトランザクションでは、送信者が必要な入札額を支払うために十分なLPトークンを保有していないか、落札価格がトランザクションで指定された`BidMax`値より高いため、落札できませんでした。 |
| `tecAMM_EMPTY` | AMMのプールに資産がありません。この状態では、AMMを削除するか、新しい入金を行い資金を供給することしかできません。 |
| `tecAMM_FAILED` | このトランザクションでは、送信者が必要な入札額を支払うために十分なLPトークンを保有していないか、落札価格がトランザクションで指定された`BidMax`値より高いため、落札できませんでした。 |
| `tecAMM_INVALID_TOKENS` | このトランザクションの送信者は、スロット価格に見合うだけのLPトークンを保有していません。 |
| `temBAD_AMM_TOKENS` | 指定された`BidMin`または`BidMax`は、このAMMの正しいLPトークンとして指定されていません。 |
| `temBAD_AMM_OPTIONS` | トランザクションが無効なオプションを指定しました。例えば、`AuthAccounts`のリストが長すぎるか、`BidMin`とBidMax` の両方を指定しています。 |
| `temDISABLED` | このネットワークでは、AMM機能 :not_enabled: は有効ではありません。 |
| `temBAD_AMM_TOKENS` | 指定された`BidMin`または`BidMax`は、このAMMの正しいLPトークンではありません。 |
| `temDISABLED` | このネットワークでは、AMM機能が有効ではありません。 |
| `temMALFORMED` | トランザクションが無効なオプションを指定しました。例えば、`AuthAccounts`のリストが長すぎるなど。 |
| `terNO_ACCOUNT` | このリクエストで指定されたアカウントのいずれかが存在しません。 |
| `terNO_AMM` | このトランザクションの資産ペアの自動マーケットメーカーのインスタンスが存在しません。 |

View File

@@ -7,15 +7,15 @@ labels:
status: not_enabled
---
# AMMCreate
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMCreate.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMCreate.cpp "Source")
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
資産([代替可能トークン](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)。流動性プロバイダが負う通貨リスクは、資産ペアのボラティリティ(不均衡の可能性)が高ければ高いほど、大きくなります。取引手数料が高いほど、このリスクを相殺することになりますので、資産ペアのボラティリティに応じて取引手数料を設定するとよいでしょう。
## {{currentpage.name}} JSONの例
@@ -36,8 +36,7 @@ AMMを表す[AMMオブジェクト][]と[特殊なAccountRootオブジェクト]
}
```
{% include '_snippets/tx-fields-intro.md' %}
<!--{# fix md highlighting_ #}-->
{% include '_snippets/tx-fields-intro.ja.md' %}
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:-------------|:---- -----|:-----------|:------|:------------|
@@ -45,7 +44,11 @@ AMMを表す[AMMオブジェクト][]と[特殊なAccountRootオブジェクト]
| `Amount2` | [通貨額][] | Amount | はい | このAMMの最初の資金となる2つの資産のうち、2つ目の資産です。これは正数である必要があります。 |
| `TradingFee` | 数値 | UInt16 | はい | このAMMインスタンスに対する取引に課される手数料を1/100,000単位で指定します値1は0.001%に相当)。最大値は`1000`で、1%の手数料を意味します。最小値は `0`です。 |
`Amount``Amount2`の一方または両方は[tokens](tokens.html)であり、最大でどちらか一方を[XRP](xrp.html)にすることが可能です。通貨コードと発行者が同じものは使用できません。AMMのLPトークンは、別のAMMの資産の1つとして使用することができます。
`Amount``Amount2`の一方または両方は[トークン](tokens.html)であり、最大でどちらか一方を[XRP](xrp.html)にすることが可能です。通貨コードと発行者が同じものは使用できません。AMMのLPトークンは、別のAMMの資産の1つとして使用することができます。トークンの発行者は[Default Ripple](rippling.html#defaultrippleフラグ)を有効にしていなければなりません。[Clawback Amendment][] :not_enabled: が有効になっている場合、それらの発行者はAllow Clawbackフラグを有効にしていてはいけません。AMMのLPトークンは、別のAMMの資産の一つとして使用することができます。
## 特殊なトランザクションコスト
各AMMインスタンスはAccountRootレジャーエントリ、AMMレジャーエントリ、プール内の各トークンのトラストラインを含むため、AMMCreateトランザクションは台帳スパムを抑止するために通常よりもはるかに高い[トランザクションコスト][]を必要とします。標準的な最低0.00001XRPの代わりに、AMMCreateは少なくとも所有者準備金の増分(現在は2XRP)を破棄しなければなりません。これは[AccountDeleteトランザクション][]と同じ特別なトランザクションコストです。
## エラーケース

View File

@@ -0,0 +1,59 @@
---
html: ammdelete.html
parent: transaction-types.html
blurb: 空のプールを持つ自動マーケットメーカーのインスタンスを削除します。
labels:
- AMM
status: not_enabled
---
# AMMDelete
[[ソース]](https://github.com/XRPLF/rippled/blob/develop/src/ripple/app/tx/impl/AMMDelete.cpp "Source")
_([AMM amendment][] :not_enabled: が必要です)_
自動で削除しきれなかった空の[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスを削除します。
通常、[AMMWithdraw トランザクション][]は、AMMのプールからすべての資産を引き出すと、AMMと関連するすべてのレジャーエントリを自動的に削除します。ただし、AMMアカウントへのトラストラインが多すぎて1回のトランザクションで削除できない場合は、AMMの削除を行わない場合があります。しかしこの場合でも、AMMDeleteトランザクションは最大512のトラストラインを削除します。すべてのトラストラインとそのAMMを削除するには、数回のAMMDeleteトランザクションが必要な場合があります。いずれの場合も、AMMとAccountRootのレジャーエントリが削除されるのは、最後のトランザクションのみです。
## {{currentpage.name}} JSONの例
```json
{
"Account" : "rJVUeRqDFNs2xqA7ncVE6ZoAhPUoaJJSQm",
"Asset" : {
"currency" : "XRP"
},
"Asset2" : {
"currency" : "TST",
"issuer" : "rP9jPyP5kyvFRb6ZiRghAGw5u8SGAmU4bd"
},
"Fee" : "10",
"Flags" : 0,
"Sequence" : 9,
"TransactionType" : "AMMDelete"
}
```
{% include '_snippets/tx-fields-intro.ja.md' %}
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:---------|:-----------|:-----------|:------|:----|
| `Asset` | オブジェクト | STIssue | はい | AMMのプールにある資産の一つを定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `Asset2` | オブジェクト | STIssue | はい | AMMのプールにあるもう一つの資産を定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトです(XRPの場合は`issuer`を省略)。 |
## エラーケース
AMMCreateトランザクションでは、すべてのトランザクションで発生する可能性のあるエラーの他に、以下の[トランザクション結果コード](transaction-results.html)が発生する可能性があります。
| エラーコード | 説明 |
|:--------------------|:---------------------------------------------|
| `tecAMM_NOT_EMPTY` | AMMが空でないため、削除することができません。AMMの流動性プロバイダーの一人である場合は、まず[AMMWithdraw][]を使用してください。 |
| `tecINCOMPLETE` | 関連するレジャーエントリを可能な限り削除しましたが、AMM は完全には削除されませんでした。別の AMMDelete トランザクションを送信して、作業を続行し、完了させることができます。 |
| `terNO_AMM` | 指定したAMMが存在しません。(すでに削除されているか、指定したAMMの資産が間違っている可能性があります)。|
<!--{# common link defs #}-->
{% include '_snippets/rippled-api-links.md' %}
{% include '_snippets/tx-type-links.md' %}
{% include '_snippets/rippled_versions.md' %}

View File

@@ -16,7 +16,7 @@ Delete an empty [Automated Market Maker](automated-market-makers.html) (AMM) ins
Normally, an [AMMWithdraw transaction][] automatically deletes an AMM and all associated ledger entries when it withdraws all the assets from the AMM's pool. However, if there are too many trust lines to the AMM account to remove in one transaction, it may stop before fully removing the AMM. Similarly, an AMMDelete transaction removes up to a maximum of 512 trust lines; it may take several AMMDelete transactions to delete all the trust lines and the associated AMM. In all cases, only the last such transaction deletes the AMM and AccountRoot ledger entries.
## Example AMMDelete JSON
## Example {{currentpage.name}} JSON
```json
{

View File

@@ -1,17 +1,17 @@
---
html: ammdeposit.html
parent: transaction-types.html
blurb: LPTokenと引き換えに、自動マーケットメーカーに資金を預けます。
blurb: 自動マーケットメーカーに資金を預け、LPTokenを受け取ります。
labels:
- AMM
status: not_enabled
---
# AMMDeposit
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMDeposit.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMDeposit.cpp "Source")
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
[自動マーケットメーカー](automated-market-makers.html)AMMインスタンスに資金を預け、引き換えにAMMの流動性プロバイダートークン _LPトークン_ を受け取ります。AMMのプールにある資産の一方または両方を預けることができます。
[自動マーケットメーカー](automated-market-makers.html)AMMインスタンスに資金を預け、AMMの流動性プロバイダートークン _LPトークン_ を受け取ります。AMMのプールにある資産の一方または両方を預けることができます。
トランザクションが成功すると、LPトークンを保持するためにAMMアカウント(リミット0)に[トラストライン](trust-lines-and-issuing.html)が作成されます。
@@ -54,17 +54,18 @@ _([AMM amendment][] :not_enabled:が必要。)_
### AMMDepositモード
このトランザクションには5つのモードがあり、どのフラグを指定するかで定義されます。それぞれのモードは、特定のフィールドの組み合わせを必要とし、次の2つのカテゴリに分類されます。
このトランザクションには5つのモードがあり、どのフラグを指定するかで定義されます。それぞれのモードは、特定のフィールドの組み合わせを必要とし、次の2つのカテゴリに分類されます。
- **ダブルアセット入金**: AMMのプールにある両方(2つ)の資産を、既存の資産の残高に比例して預けます。この預け入れは手数料の対象外です
- **シングルアセット入金**, AMMの2つの資産のうち1つだけを預けます。AMMは、この預け入れによってプール内の資産残高がどれだけ変化したかによって、対価として支払われるLPトークンから差し引く手数料を設定します。
- **ダブルアセット入金**: AMMのプールにある両方(2つ)の資産を、既存の資産の残高に比例して預けます。この預け入れは手数料は徴収されません
- **シングルアセット入金**: AMMの2つの資産のうち1つだけを預けます。AMMは、この預け入れによってプール内の資産残高がどれだけ変化したかによって、対価として支払われるLPトークンから差し引く手数料を設定します。
以下の項目の組み合わせは、**ダブルアセット入金**について示しています。
| フラグ名 | フラグ値 | 指定フィールド | 意味 |
|--------------|--------------|------------------------|---------|
| `tfLPToken` | `0x00010000` | `LPTokenOut`のみ | 指定された量のLPトークンを受け取るように計算された金額の、このAMMの資産を預けます。預ける金額は、AMMの保有する2つの資産の割合と等しくなります。 |
| `tfTwoAsset` | `0x00100000` | `Amount``Amount2` | このAMMの両資産を指定された金額まで預けます。実際に預ける金額は、AMMがすでに保有している資産と同じ割合を維持する必要があるため、どちらか一方の預け入れ金額が指定金額より少なくてもかまいません。引き換えに得られるLPトークンの金額は、預けた金額の合計に基づきます。 |
| `tfLPToken` | `0x00010000` | `LPTokenOut`のみ | 指定された量のLPトークンを受け取るようにこのAMMの2つの資産を預けます。預ける金額は、AMMの保有する2つの資産の割合と等しくなります。 |
| `tfTwoAsset` | `0x00100000` | `Amount``Amount2` | このAMMの両資産を指定た金額まで預けます。実際に預ける金額は、AMMがすでに保有している資産と同じ割合を維持する必要があるため、どちらか一方の預け入れ金額が指定金額より少なくてもかまいません。得られるLPトークンの金額は、預けた金額の合計から算出されます。 |
| `tfTwoAssetIfEmpty` | `0x00800000` | `Amount``Amount2` | プールが空のAMMに、このAMMの資産を指定した金額預け入れます。得られるLPトークンの量は、預け入れた合計額から算出されます。 |
以下の項目の組み合わせは、**シングルアセット入金**について示しています。
@@ -77,15 +78,17 @@ _([AMM amendment][] :not_enabled:が必要。)_
これ以外のフィールドとフラグの組み合わせは無効です。
### シングルアセット入金手数料
### シングルアセット入金手数料
シングルアセット入金の手数料は、AMMを使って預け入れ金額の一部を他の資産と交換し、ダブルアセット入金を行った場合と同じになるように計算されます。AMMの取引手数料は、取引に必要な金額には適用されますが、残りの預け入れ金額には適用されません。 _例えば、AMMの資産プールがUSDとEURで完全に均等に分割されている場合、100USDを預けようとすると、受け取るLPトークンの量は、50EUR+50USDを預けた場合よりもわずかに少なくなります。_
シングルアセット入金の手数料は、AMMを使って預け入れ金額の一部を他の資産と交換し、結果的にダブルアセット入金を行った場合と同じになるように計算されます。AMMの取引手数料は、一部の資産の交換に必要な金額には適用されますが、残りの預け入れ金額には適用されません。 _例えば、AMMの資産プールがUSDとEURで完全に均等に分割されている場合、100USDを預けようとすると、受け取るLPトークンの量は、50EUR+50USDを預けた場合よりもわずかに少なくなります。_
ダブルアセット入金の場合、LPトークンを受け取る数は、以下の計算式で算出できます。
{{ include_svg("img/amm-single-asset-deposit-formula.svg", "L = T × ( (( 1 + (B - (F × (1 - W) × B)) ÷ P)^W) - 1)") }}
<!-- TODO: improve graphic -->
- `L`: 受け取るLPトークンの量
- `T`: 預け入れ前のLPトークンの残高合計
- `B`: 預け入れ資産の額
@@ -93,9 +96,16 @@ _([AMM amendment][] :not_enabled:が必要。)_
- `W`: プール内の預金資産の重みです。これはすべてのAMMプールで0.5と定義されています50/50の分割を意味しますので、Wによる累乗は平方根を取ることと同一です。
- `P`: 預け入れ前のプール内の預金資産の合計額
### AMMDepositフラグ
AMMDepositタイプのトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)の値を追加でサポートしています。
### 空のAMMの場合の特殊なケース
場合によっては、プール内に資産がない状態で AMM が存在することがあります。このような状態の AMM には通常の入金を行うことができません。なぜなら資産間の比率が未定義 (0/0) だからです。その代わりに、フラグ `tfTwoAssetIfEmpty` と両方の資産の正確な金額を指定した“空AMM”への特殊な入金を行うことができます。これはAMMを作成する[AMMCreateトランザクション][]が行うのと同じように、資産間の比率を直接設定します。ダブルアセット入金と同様に、これは手数料を徴収されません。
AMMが空の場合のみ、「空のAMM」への特別な入金を行うことができます。
### AMMDepositのフラグ
AMMDepositトランザクションは、以下のような[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)の値をサポートしています。
| フラグ名 | 16進数値 | 10進数値 | 説明 |
|:--------------------|:-------------|:--------------|:----------------------|
@@ -104,27 +114,26 @@ AMMDepositタイプのトランザクションは、以下のように[`Flags`
| `tfTwoAsset` | `0x00100000` | 1048576 | 両資産を指定金額で預けるダブルアセット入金を行います。 |
| `tfOneAssetLPToken` | `0x00200000` | 2097152 | シングルアセット入金を行い、指定された額のLPトークンを受け取ります。 |
| `tfLimitLPToken` | `0x00400000` | 4194304 | 有効価格を指定して、シングルアセット入金を行います。 |
| `tfTwoAssetIfEmpty` | `0x00800000` | 8388608 | 空のプールを持つAMMに特別なダブルアセット入金を行います。 |
これらのフラグのうちの **1つのみ** と、任意の[グローバルフラグ](transaction-common-fields.html#グローバルフラグ)を指定する必要があります。
これらのフラグのうちの**1つのみ**と、任意の[グローバルフラグ](transaction-common-fields.html#グローバルフラグ)を指定する必要があります。
## エラーケース
すべてのトランザクションで発生する可能性のあるエラーに加えて、{{currentpage.name}}トランザクションでは、次の[トランザクション結果コード](transaction-results.html)が発生する可能性があります。
| エラーコード | 説明 |
|:------------------------|:---------------------------------------------|
| `temBAD_AMM_OPTIONS` | トランザクションで無効なフィールドの組み合わせが指定されました。詳細は、[AMMDepositモード](#ammdepositモード)を参照してください。 |
| `tecFROZEN` | トランザクションは[凍結](freezes.html)されているトークンを預けようとしました。 |
| `tecAMM_BALANCE` | AMMが預け入れを行うのに十分な量の資産を保有していないたとえば、シングルアセット入金に必要な残高を保有していない、または送信者が指定されたトークンを十分に保有していない場合など。 |
| `temBAD_AMM_TOKENS` | トランザクションでLPトークンが正しく指定されています。例えば、`issuer`がAMMのAccountRootアドレスでない、`currency`がこのAMMのLPトークンの通貨コードでない、またはトランザクションがAssetフィールドのいずれかにこのAMMのLPトークンを指定した、など。 |
| `tecAMM_FAILED_DEPOSIT` | 預け入れの条件が成立しませんでした。例えば、`EPrice`フィールドに指定された実効価格が低すぎる場合など。 |
| `tecAMM_INVALID_TOKENS` | このトークンペアのAMMが存在しないか、計算の結果、預け入れ金額がゼロに丸められました。 |
| `tecAMM_EMPTY` | 現在、AMM は資産を保有していないため、通常の入金はできません。代わりに、空のAMMの場合の特殊な入金を行う必要があります。 |
| `tecAMM_NOT_EMPTY` | The transaction specified `tfTwoAssetIfEmpty`, but the AMM was not empty. |
| `tecAMM_FAILED` | 預け入れの条件が成立しませんでした。例えば、`EPrice`フィールドに指定された実効価格が低すぎる場合など。 |
|| `tecFROZEN` | トランザクションは[凍結](freezes.html)されているトークンを預けようとしました。 |
| `tecINSUF_RESERVE_LINE` | このトランザクションの送信者は、この処理による[準備金要件](reserves.html)の増加の対象であり、LPトークンを保持するための新しいトラストラインが必要で、そのための追加の所有者準備金分のXRPを保有していないためと思われます。 |
| `tecNO_AUTH` | 送信者は、預け入れ資産のいずれかを保有する権限を持っ ていません。 |
| `tecNO_LINE` | 送信者が預け入れ資産のうち1つに対し、トラストラインを保有していません。 |
| `tecUNFUNDED_AMM` | 送信者の残高が、指定された預け入れを行うのに十分な量ではありません。 |
| `temBAD_AMOUNT` | トランザクションで指定された金額が無効です。例えば、金額がマイナスなど。 |
| `temBAD_FEE` | トランザクションで指定された手数料の値が無効です。例えば、取引手数料が許容範囲外など。 |
| `temMALFORMED` | トランザクションで無効なフィールドの組み合わせが指定されました。詳細は、[AMMDepositモード](#ammdepositモード)を参照してください。 |
| `terNO_ACCOUNT` | リクエストで参照されたいずれかのアカウントが存在しません。 |
| `terNO_AMM` | このトランザクションの資産ペアの自動マーケットメーカーインスタンスが存在しません。 |

View File

@@ -1,17 +1,17 @@
---
html: ammvote.html
parent: transaction-types.html
blurb: 自動マーケットメーカーインスタンスの取引手数料投票する。
blurb: 自動マーケットメーカーインスタンスの取引手数料投票する。
labels:
- AMM
status: not_enabled
---
# AMMVote
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMVote.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMVote.cpp "Source")
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
[自動マーケットメーカー](automated-market-makers.html)インスタンスの取引手数料を投票します。最大8つのアカウントが、保有するAMMのLPトークンの量に比例して投票することができます。各新規投票では、投票の加重平均に基づいてAMMの取引手数料が再計算されます。
[自動マーケットメーカー](automated-market-makers.html)インスタンスの取引手数料を投票します。最大8つのアカウントが、保有するAMMのLPトークンの量に比例して投票することができます。投票を行うごとには、投票の加重平均に基づいてAMMの取引手数料が再計算されます。
## {{currentpage.name}} JSONの例
@@ -35,11 +35,11 @@ _([AMM amendment][] :not_enabled:が必要。)_
{% include '_snippets/tx-fields-intro.ja.md' %}
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:-------------|:----------|:-----------|:-----|:------------|
| `Asset` | Object | STIssue | はい | AMMのプールにある資産の一つを定義します。JSONでは、`currency``issuer` フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `Asset2` | Object | STIssue | はい | AMMのプールにあるもう一つの資産を定義します。JSONでは、`currency``issuer` フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。|
| `TradingFee` | Number | UInt16 | はい | 投票に必要な手数料を100000の1の単位で指定します。最大値は1000で、1の手数料を表します。 |
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:-------------|:-----------|:-----------|:-----|:------------|
| `Asset` | オブジェクト | STIssue | はい | AMMのプールにある資産の一つを定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。 |
| `Asset2` | オブジェクト | STIssue | はい | AMMのプールにあるもう一つの資産を定義します。JSONでは、`currency``issuer`フィールドを持つオブジェクトになりますXRPの場合は`issuer`を省略します)。|
| `TradingFee` | 数値 | UInt16 | はい | 投票に必要な手数料を1/100,000の単位で指定します。最大値は1000で、1の手数料を表します。 |
## エラーケース
@@ -47,9 +47,9 @@ _([AMM amendment][] :not_enabled:が必要。)_
| エラーコード | 説明 |
|:------------------------|:---------------------------------------------|
| `tecAMM_EMPTY` | AMMのプールに資産がありません。この状態では、AMMを削除するか、新しい入金を行い資金を供給することしかできません。 |
| `tecAMM_INVALID_TOKENS` | 送信者は、このAMMのLPトークンを保有していないため、投票することができません。 |
| `tecAMM_FAILED_VOTE` | このトランザクションの送信者よりも多くのLPトークンを保有しているアカウントからの投票が既に8件存在しています。 |
| `terNO_ACCOUNT` | このトランザクションで指定されたアカウントが存在しません。 |
| `temBAD_FEE` | このトランザクションの`TradingFee`は正しくありません。 |
| `terNO_AMM` | このトランザクションの資産ペアの自動マーケットメーカー インスタンスが存在しません。 |

View File

@@ -1,17 +1,17 @@
---
html: ammwithdraw.html
parent: transaction-types.html
blurb: LPTokenを自動マーケットメーカーに返却し、プールが保有する資産の一部と引き換え
blurb: LPトークを自動マーケットメーカーに返却し、プールが保有する資産の一部と引き換えマス
labels:
- AMM
status: not_enabled
---
# AMMWithdraw
[[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMWithdraw.cpp "Source")
[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/ripple/app/tx/impl/AMMWithdraw.cpp "Source")
_([AMM amendment][] :not_enabled:が必要。)_
_([AMM amendment][] :not_enabled:が必要です。)_
AMMの流動性プロバイダトークンLPトークンを返ことで、[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスから資産を引き出します。
AMMの流動性プロバイダトークンLPトークンを返却することで、[自動マーケットメーカー](automated-market-makers.html)(AMM)インスタンスから資産を引き出します。
## {{currentpage.name}} JSONの例
@@ -38,7 +38,7 @@ AMMの流動性プロバイダトークンLPトークンを返すことで
}
```
{% include '_snippets/tx-fields-intro.md' %}
{% include '_snippets/tx-fields-intro.ja.md' %}
| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 |
|:-------------|:-----------|:-----------|:------|:------------|
@@ -53,40 +53,43 @@ AMMの流動性プロバイダトークンLPトークンを返すことで
### AMMWithdrawモード
このトランザクションには、指定するフラグによっていくつかのモードがあります。それぞれのモードは、特定のフィールドの組み合わせを必要とし、以下の2つのカテゴリに分類されます。
このトランザクションには、指定するフラグによっていくつかのモードがあります。それぞれのモードは、特定のフィールドの組み合わせを必要とし、以下の2つのカテゴリに分類されます。
- **ダブルアセット出金**: AMMのプールから両方の資産をその残高と同じ割合で受け取ります。これらの引き出しには手数料はかかりません。
- **シングルアセット出金**: AMMのプールから1つの資産を受け取ります。AMMは、あなたの引き出しによってプール内の資産残高がどれだけ変動するかによって手数料を設定します。引き出しのモードによって、手数料の額は、支払われたLPトークンの量から差し引かれるか、引き出される資産の量から差し引かれるか決まります。
- **ダブルアセット出金**: AMMのプールから両方の資産をその残高と同じ割合で受け取ります。この出金には手数料はかかりません。
- **シングルアセット出金**: AMMのプールから1つの資産を受け取ります。AMMは、出金によりプール内の資産残高がどれだけ変動するかによって手数料を算出します。出金のモードによって、手数料支払われたLPトークンの量から差し引かれるか、出金する資産の量から差し引かれるか決まります。
以下の項目の組み合わせは、**ダブルアセット出金**について示しています。
| フラグ名 | フラグ値 | 指定フィール | 意味 |
|-----------------|--------------|---------------- ----|---------|
| `tfLPToken` | `0x00010000` | `LPTokenIn`のみ | 指定された量のLPトークンを返し、AMMのプールから、LPトークンの発行総数に対する返されたトークンの割合に基づく金額の両資産を受 け取ります。 |
| `tfWithdrawAll` | `0x00020000` | なし | LPトークンを _全て_し、AMMのプールにある両資産を最大限受け取ります。 |
| `tfTwoAsset` | `0x00100000` | `Amount``Amount2` | AMMの資産を、指定した金額を上限として、両方とも引き出します。実際に受け取る金額は、AMMのプールの資産残高の割合と同じになります。 |
| `tfLPToken` | `0x00010000` | `LPTokenIn`のみ | 指定された量のLPトークンを返し、LPトークンの発行総数に対する返されたトークンの割合に基づく金額の両方の資産を受け取ります。 |
| `tfWithdrawAll` | `0x00020000` | なし | LPトークンを _全て_し、AMMのプールにある両方の資産を最大限受け取ります。 |
| `tfTwoAsset` | `0x00100000` | `Amount``Amount2` | 指定した金額を上限として、AMMの資産の両方を出金します。実際に受け取る金額は、AMMのプールの資産残高の割合と同じになります。 |
以下の項目の組み合わせは、**シングルアセット出金**について示しています。
| フラグ名 | フラグ値 | 指定フィールド | 意味 |
|-------------------------|--------------|-----------------------|---------|
| `tfSingleAsset` | `0x00080000` | `Amount`のみ | LPトークンを必要な数だけ返し、1つの資産を指定した量だけ出金す。 |
| `tfOneAssetWithdrawAll` | `0x00040000` | `Amount`のみ | LPトークンを全て返することで、1つの資産を指定した金額以上引き出します。指定された金額以上を受け取ることができない場合は失敗します。指定する金額は0でもかまいません。この場合、少しでも正の金額を引き出せば成功します。 |
| `tfOneAssetLPToken` | `0x00200000` | `Amount``LPTokenIn` | 指定した量のLPトークンを返することで、1つの資産を指定した量まで引き出します。 |
| `tfSingleAsset` | `0x00080000` | `Amount`のみ | LPトークンを指定した数だけ返し、1つの資産を指定した量だけ出金します。 |
| `tfOneAssetWithdrawAll` | `0x00040000` | `Amount`のみ | LPトークンを全て返することで、1つの資産を指定した金額以上出します。指定された金額以上を受け取ることができない場合は失敗します。指定する金額は0でもかまいません。この場合、少しでも正の金額を出金できれば成功します。 |
| `tfOneAssetLPToken` | `0x00200000` | `Amount``LPTokenIn` | 指定した量のLPトークンを返することで、1つの資産を指定した量まで出します。 |
| `tfLimitLPToken` | `0x00400000` | `Amount``EPrice` | 指定した1つの資産の量を上限として出金しますが、受け取る資産の一単位あたりのLPトークンで指定した有効価格より高い金額を支払うことはありません。 |
これら以外のフィールドとフラグの組み合わせは無効です。
### シングルアセット出金手数料
シングルアセット出金にかかる手数料は、ダブルアセット出金を行い、AMMを使用してもう一方の資産を全て引き出しにかかる資産と交換した場合と同じになるように計算されます。取引手数料は、取引に必要な金額に適用されますが、残りの引き出し分には適用されません。
シングルアセット出金にかかる手数料は、ダブルアセット出金を行い、AMMを使用して指定しない方の資産を全て交換する場合と同じになるように計算されます。取引手数料は、交換に必要な金額に適用されますが、残りの出金分には適用されません。
<!-- TODO: add a formula and example calculation(s) of single-asset withdrawal fees -->
### AMMの削除
### AMMWithdrawフラグ
トランザクションがAMMに存在する全ての資産を出金すると、AMMは関連するすべてのトラストラインとともに自動的に削除されます。ただし、1回のトランザクションで削除できるトラストラインの数には制限があります。トラストラインが多すぎる場合、AMMは空の状態でレジャーに残ります。これは[AMMDelete トランザクション][]で削除するか、「空のAMM」に対する特別なダブルアセット入金([AMMDeposit トランザクション][])で補充することができます。AMMが空の間は、そのAMMに対する他の操作は無効です。
AMMWithdrawタイプのトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)の値を追加でサポートしています。
### AMMWithdrawのフラグ
AMMWithdrawトランザクションは、以下のように[`Flags`フィールド](transaction-common-fields.html#flagsフィールド)の値をサポートしています。
| フラグ名 | 16進数値 | 10進数値 | 説明 |
|:------------------------|:-------------|:--------------|:----------------------|
@@ -107,13 +110,14 @@ AMMWithdrawタイプのトランザクションは、以下のように[`Flags`
| エラーコード | 説明 |
|:-------------------------|:---------------------------------------------|
| `tecFROZEN` | トランザクションは[凍結](freezes.html)されたトークンを引き出そうとしました。 |
| `tecAMM_EMPTY` | AMMのプールに資産がありません。この状態では、AMMを削除するか、新しい入金を行い資金を供給することしかできません。 |
| `tecAMM_BALANCE` | トランザクションによって、プールから1つの資産をすべて引き出そうとしている、もしくは`tfWithdrawAll`の場合に端数処理によって0以外の金額が残ってしまっています。 |
| `tecAMM_FAILED_WITHDRAW` | 例えば、`EPrice`フィールドに指定された有効価格が低過ぎる場合など、引き出しに関する条件が成立しませんでした。 |
| `tecAMM_FAILED` | 例えば、`EPrice`フィールドに指定された有効価格が低過ぎる場合など、出金に関する条件が成立しませんでした。 |
| `tecAMM_INVALID_TOKENS` | トークンペアのAMMが存在しないか、計算の結果、引き出し額がゼロに丸められました。 |
| `tecFROZEN` | トランザクションは[凍結](freezes.html)されたトークンを引き出そうとしました。 |
| `tecINSUF_RESERVE_LINE` | トランザクションの送信者は、このトランザクションを処理するための[準備金要件](reserves.html)の増加に対応できません。おそらく、引き出される資産の1つを保持するために少なくとも1つの新しいトラストラインが必要ですが、新しいトラストラインのための追加の所有者準備金分のXRPを持っていないためでしょう。 |
| `tecNO_AUTH` | 送信者は、引き出し資産のいずれかを保有する権限を有していません。 |
| `temBAD_AMM_OPTIONS` | トランザクションで無効なフィールドの組み合わせが指定されました。[AMMWithdrawモード](#ammwithdrawモード)を参照してください。 |
| `temMALFORMED` | トランザクションで無効なフィールドの組み合わせが指定されました。[AMMWithdrawモード](#ammwithdrawモード)を参照してください。 |
| `temBAD_AMM_TOKENS` | 例えば、`issuer`がAMMの関連するAccountRootアドレスでない、`currency`がこのAMMのLPトークンの通貨コードでない、またはトランザクションがこのAMMのLPトークンをAssetフィールドの1つに指定した、などです。 |
| `terNO_AMM` | トランザクションで指定した資産ペアの自動マーケットメーカーインスタンスが存在しません。 |