TrustSet
2つのアカウントをリンクするトラストラインを作成または変更します。
TrustSet JSONの例
{ "TransactionType": "TrustSet", "Account": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", "Fee": "12", "Flags": 262144, "LastLedgerSequence": 8007750, "LimitAmount": { "currency": "USD", "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", "value": "100" }, "Sequence": 12 }
TrustSet フィールド
共通フィールドに加えて、TrustSetトランザクションは以下のフィールドを使用します。
フィールド | JSONの型 | 内部の型 | 説明 |
---|---|---|---|
LimitAmount | オブジェクト | Amount | 作成または変更するトラストラインを定義する通貨額フォーマットのオブジェクト。 |
LimitAmount .currency | 文字列 | (Amount.currency) | このトラストラインが適用される通貨。3文字のISO 4217通貨コードまたは通貨フォーマットに基づく160ビットの16進数値です。「XRP」は無効です。 |
LimitAmount .value | 文字列 | (Amount.value) | このトラストラインに設定される限度を表す引用符で囲んだ10進数値。 |
LimitAmount .issuer | 文字列 | (Amount.issuer) | 信頼したいアカウントのアドレス。 |
QualityIn | 数値 | UInt32 | (省略可) このトラストラインの受入額を、1,000,000,000単位当たりのこの数値の割合で評価。値0 は、残高を額面価格で扱うことを示す省略表現です。 |
QualityOut | 数値 | UInt32 | (省略可) このトラストラインの払出額を、1,000,000,000単位当たりのこの数値の割合で評価。値0 は、残高を額面価格で扱うことを示す省略表現です。 |
LimitAmount.issuer
で指定されたアカウントがトラストラインの着信をブロックしている場合、結果コードtecNO_PERMISSION
でトランザクションが失敗します。 (DisallowIncoming amendment が必要です)
TrustSetのフラグ
TrustSetタイプのトランザクションについては、Flags
フィールドで以下の値が追加でサポートされます。
フラグ名 | 16進数値 | 10進数値 | 説明 |
---|---|---|---|
tfSetfAuth | 0x00010000 | 65536 | このアカウントから発行された通貨を相手方に保有させることを許可します。(asfRequireAuth AccountSet フラグを使用しない場合は効果がありません。)設定を解除できません。 |
tfSetNoRipple | 0x00020000 | 131072 | 2つのトラストラインの両方でこのフラグが有効になっている場合、同じ通貨のトラストライン間のリップリングをブロックする No Ripple フラグを有効にします。 |
tfClearNoRipple | 0x00040000 | 262144 | No Rippleフラグを無効にし、このトラストラインでリップリングを許可します。 |
tfSetFreeze | 0x00100000 | 1048576 | トラストラインを凍結します。 |
tfClearFreeze | 0x00200000 | 2097152 | トラストラインを凍結解除します。 |
トランザクションがNo Rippleを有効にしようとしたができない場合、結果コード tecNO_PERMISSION
で失敗します。fix1578 amendmentが有効になる前は、このようなトランザクションは代わりにtesSUCCESS
(可能な限りの他の変更を行う)という結果になりました。
トラストラインのAuthフラグは、トラストラインがその所有者のXRP必要準備金に反映されるかどうかを左右しません。ただしAuthフラグを有効にすると、トラストラインがデフォルト状態になることがありません。承認されたトラストラインは削除できません。イシュアーは、トラストラインの限度と残高が0であっても、tfSetfAuth
フラグだけを使用してトラストラインを事前承認できます。