このページの翻訳は LLM によって生成されています。誤りに気づいた場合は GitHub で issue を開いてお知らせください。
状態変数
無期限先物コントラクトの状態変数を、参照しやすいよう機能別に整理しています。
| 変数 | 型 | 説明 |
|---|---|---|
PAIRS | Map<(TokenIndex, MarketIndex), BorrowingData> | ペアの借入データ |
PAIR_GROUPS | Map<(TokenIndex, MarketIndex), Vec<BorrowingPairGroup>> | ペアの所属履歴 |
PAIR_OIS | Map<(TokenIndex, MarketIndex), OpenInterest> | ペアのOI |
GROUPS | Map<(TokenIndex, GroupIndex), BorrowingData> | グループの借入データ |
GROUP_OIS | Map<(TokenIndex, GroupIndex), OpenInterest> | グループのOI |
INITIAL_ACC_FEES | Map<(TokenIndex, Addr, UserTradeIndex), BorrowingInitialAccFees> | 取引の初期累積手数料 |
借入状態はレバレッジ手数料とリスクを追跡します。
PAIRSとGROUPS:料率と累積手数料などの借入パラメーター。ここでのGROUPSはBorrowingDataを保存し、一般情報を保存する市場側のGROUPSとは別です。PAIR_GROUPS:所属履歴。保有中の異なる手数料体系を正確に計算します。PAIR_OISとGROUP_OIS:ペア・グループのOI。上限確認と偏りに応じた動的料率に使います。INITIAL_ACC_FEES:新規時の累積値。決済時の総額計算の基準です。
| 変数 | 型 | 説明 |
|---|---|---|
FEE_TIERS | Item<[FeeTier; 8]> | 手数料ランク構造 |
PENDING_GOV_FEES | Map<TokenIndex, Uint128> | 未分配ガバナンス手数料 |
VAULT_CLOSING_FEE_P | Item<Decimal> | ボールトの決済手数料割合 |
TRADER_DAILY_INFOS | Map<Addr, HashMap<u64, TraderDailyInfo>> | 日次取引情報 |
PAIR_VOLUME_MULTIPLIERS | Map<MarketIndex, Decimal> | ペアの取引量倍率 |
TRADER_INFOS | Map<Addr, TraderInfo> | トレーダー情報 |
| 変数 | 型 | 説明 |
|---|---|---|
REFERRER_CODES | Map<String, Addr> | 紹介コードからアドレス |
REFERRER_CODES_REVERSE | Map<Addr, String> | 紹介アドレスからコード |
USER_REFERRERS | Map<&Addr, Addr> | 利用者と紹介者の対応 |
REFERRER_FEES | Map<(TokenIndex, &Addr), Uint128> | 紹介者の報酬 |
REFERRER_FEE_PERCENTAGE | Item<[Decimal; 4]> | 紹介ランク別報酬率 |
REFERRER_FEE_TIER | Map<Addr, u8> | 紹介者のランク |
REFERREE_BASE_FEE_MULTIPLIER | Item<Decimal> | 被紹介者の基本手数料倍率 |
手数料モジュールは動的なランク体系と紹介制度を実装します。
基本手数料管理:
FEE_TIERS:取引量に基づくランクで、大口利用者を促進します。PENDING_GOV_FEES:ガバナンス手数料を累積し、透明に分配します。VAULT_CLOSING_FEE_P:ボールトの保険・流動性への決済手数料配分。TRADER_DAILY_INFOSとTRADER_INFOS:日次・累積データでローリング期間のランクを計算。PAIR_VOLUME_MULTIPLIERS:市場別の重み付けで特定ペアや流動性の均衡を促進。
紹介制度: 紹介活動を通じた成長に報酬を支払います。
REFERRER_CODESとREFERRER_CODES_REVERSE:コードとアドレスの双方向対応。USER_REFERRERS:利用者と紹介アドレス。REFERRER_FEES:トークン別の紹介報酬累積。REFERRER_FEE_PERCENTAGEとREFERRER_FEE_TIER:ランク別の割合。REFERREE_BASE_FEE_MULTIPLIER:被紹介者の基本割引。
通貨ペアとグループ
Section titled “通貨ペアとグループ”| 変数 | 型 | 説明 |
|---|---|---|
PERP_MARKETS | Map<MarketIndex, MarketInfo> | 通貨ペア情報 |
GROUPS | Map<GroupIndex, Group> | 市場グループ情報 |
FEES | Map<FeeIndex, Fee> | ペアの手数料情報 |
PAIR_CUSTOM_MAX_LEVERAGE | Map<MarketIndex, Decimal> | ペア固有の最大レバレッジ |
AFTER_HOURS_LEVERAGE | Item<Decimal> | 時間外の共通実効レバレッジ上限 |
AFTER_HOURS_MARKETS | Map<MarketIndex, bool> | 時間外制御の対象市場 |
ORACLE_ADDRESS | Item<Addr> | オラクルアドレス |
VAULT_ADDRESSES | Map<(GroupIndex, TokenIndex), Addr> | グループ・トークン別ボールトアドレス |
取引の基盤を定義するモジュールです。
PERP_MARKETS:基軸・決済資産、オラクル・グループ・手数料インデックス。GROUPS:似たリスクの市場をまとめる倍率上限・共通パラメーター。借入のBorrowingDataを持つGROUPSとは別です。FEES:ペア別の新規・決済・トリガー手数料。PAIR_CUSTOM_MAX_LEVERAGE:価格変動が大きい・流動性が薄いペアでグループ設定を上書き。AFTER_HOURS_LEVERAGEとAFTER_HOURS_MARKETS:閉場をまたいだ設定市場の実効倍率を制限。ORACLE_ADDRESS:約定・清算に使う価格コントラクト。VAULT_ADDRESSES:グループ・トークン別アドレスで複数ボールトを管理。
MarketInfo は block_last_closed、block_last_opened、last_close_price も記録します。時間外制御はブロック値で持越しを判定し、last_close_price を時間外の決済価格には使いません。
価格影響と未決済建玉
Section titled “価格影響と未決済建玉”| 変数 | 型 | 説明 |
|---|---|---|
OI_WINDOWS_SETTINGS | Item<OiWindowsSettings> | OI時間枠設定 |
WINDOWS | Map<(WindowDuration, MarketIndex, WindowIndex), PairOi> | 時間枠別OI |
PAIR_DEPTHS | Map<MarketIndex, PairDepth> | ペアの市場の厚み |
TRADE_LAST_WINDOW_OI | Map<(Addr, TradeInfoIndex), Uint128> | 取引の直近時間枠OI |
市場の動きと過大な価格影響を管理します。
OI_WINDOWS_SETTINGS:動的影響の計算に使うOI時間枠の設定。WINDOWS:期間内の累積影響を計算する過去のOI。時間枠を使い操作を防止。PAIR_DEPTHS:大口影響計算に使う流動性で急変を防止。TRADE_LAST_WINDOW_OI:変更・決済時に正確に更新するため、直近枠への寄与を記録。
| 変数 | 型 | 説明 |
|---|---|---|
COLLATERALS | Map<TokenIndex, CollateralInfo> | 担保種類情報 |
USER_TRADE_INDEX | Map<Addr, UserTradeIndex> | 利用者の次の取引インデックス |
TRADES | Map<(User, UserTradeIndex), Trade> | 個別取引情報 |
TRADE_INFOS | Map<(User, TradeInfoIndex), TradeInfo> | 取引の追加情報 |
TRADER_STORED | Map<User, bool> | トレーダー情報の保存状況 |
USER_LIVE_TRADE_COUNTS | Map<User, u64> | 利用者の取引数 |
MINIMUM_POSITION_SIZE_USD | Item<Decimal> | USD建て最小ポジション |
TRADING_ACTIVATED | Item<TradingActivated> | 現在の取引有効化状態 |
取引モジュールがプロトコルの主要機能を実装します。
取引管理:
COLLATERALS:名称、有効状態、デノムを定義して複数資産に対応。USER_TRADE_INDEX:次の固有IDを追跡し重複を防止。TRADESとTRADE_INFOS:サイズ、倍率、価格、時刻など手数料計算のデータ。
最適化と制御:
TRADER_STOREDとUSER_LIVE_TRADE_COUNTS:ガス代削減と効率的なID割当て。MINIMUM_POSITION_SIZE_USD:経済的に成立する最低サイズと微小取引の防止。TRADING_ACTIVATED:通常、決済のみ、停止の状態で緊急管理。