最終更新:
編集

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進数値説明
tfSetfAuth0x0001000065536このアカウントから発行された通貨を相手方に保有させることを許可します。(asfRequireAuth AccountSet フラグを使用しない場合は効果がありません。)設定を解除できません。
tfSetNoRipple0x000200001310722つのトラストラインの両方でこのフラグが有効になっている場合、同じ通貨のトラストライン間のリップリングをブロックする No Ripple フラグを有効にします。
tfClearNoRipple0x00040000262144No Rippleフラグを無効にし、このトラストラインでリップリングを許可します。
tfSetFreeze0x001000001048576トラストラインを凍結します。
tfClearFreeze0x002000002097152トラストラインを凍結解除します。

トランザクションがNo Rippleを有効にしようとしたができない場合、結果コード tecNO_PERMISSION で失敗します。fix1578 amendmentが有効になる前は、このようなトランザクションは代わりにtesSUCCESS(可能な限りの他の変更を行う)という結果になりました。

トラストラインのAuthフラグは、トラストラインがその所有者のXRP必要準備金に反映されるかどうかを左右しません。ただしAuthフラグを有効にすると、トラストラインがデフォルト状態になることがありません。承認されたトラストラインは削除できません。イシュアーは、トラストラインの限度と残高が0であっても、tfSetfAuthフラグだけを使用してトラストラインを事前承認できます。