このページの翻訳は LLM によって生成されています。誤りに気づいた場合は GitHub で issue を開いてお知らせください。
Sai Core

Saiスマートコントラクトの仕組み
Section titled “Saiスマートコントラクトの仕組み”perp、無期限先物取引のコア:- 市場、ポジション、証拠金、清算を管理します。
- 価格影響込みの約定価格、取引・借入・資金調達手数料、損益を計算します。
- 維持証拠金、最大レバレッジ、時間外制限、資金調達支払いのリスク条件を守ります。
- 主な操作は新規・決済、担保変更、注文発注・実行、証拠金不足の清算です。
oracleから価格を読み、手数料を徴収・配分し、vaultと損益を精算します。
- EVMインターフェース、
PerpVaultEvmInterface.sol:- MetaMaskなどEVMユーザーがWasmコントラクトを使えます。
- トークン変換と
perp・vaultへのVM間呼び出しを処理します。 - 入出金、新規・決済の基本操作をEVMウォレットに提供します。
vault、流動性プール: SLPボールトを実装します。- LP資金を集め、トレーダーの損益を引き受けます。
- 総資産に対する持分を発行・記録し、入金とエポック単位の出金に対応します。
- トレーダーの利益を支払い、損失を収益として受け取ります。
- 持分の発行・焼却は
vault-token-minter、精算送金はperpと連携します。
oracle、価格と権限:- 各市場の正式なマーク価格を保存・提供します。
- 更新者と更新条件を管理します。
- 証拠金確認、約定、資金調達、清算基準の価格を
perpに渡します。
vault-token-minter、持分のToken Factory連携:- NibiruのToken Factoryで持分トークンの発行・焼却を管理します。
- 許可リスト・所有者確認で無断の供給変更を防ぎます。
vaultが入金時に発行、出金・償還時に焼却を呼び出します。
- 流動性の流れ
- LPが
vaultに入金し、vault-token-minterが持分を発行します。 - 出金申請をキューに入れ、エポックで実行して持分を焼却します。
- LPが
- 取引の流れ
- EVMまたはWasmから
perpの新規・決済・変更を要求します。 oracleの価格で影響・手数料を計算し、証拠金とレバレッジを確認します。- 状態、資金調達・借入手数料、損益差分を更新します。
- EVMまたはWasmから
- 精算
- トレーダーの損失は
vaultの利益になります。 - 利益は
perpがvaultから支払います。
- トレーダーの損失は
- 資金調達と価格調整
perpがマーク・指数価格の差から定期的に資金調達を計算し、ロング・ショートが支払い・受領します。- ポジションに計上し、時間とともに
vaultで差引精算します。
- 清算
- 維持証拠金を下回ると、清算実行者による決済を許可します。
- 影響込みの価格、ペナルティ、手数料、損益を計算して精算します。
- 残担保を返還し、不良債権は設定上限内で
vaultが負担します。
アクセスと安全性
Section titled “アクセスと安全性”- 所有者・ロールで価格更新、発行権限、パラメーター変更を制限します。
perpは最大・時間外実効レバレッジ、最低維持証拠金、手数料範囲を守ります。vaultはエポック規則と持分計算の正確性を守ります。- VM間呼び出しは再入を避け、状態変更の会計をアトミックに保つ設計です。
データと会計
Section titled “データと会計”perp: 市場、サイズ・建値・担保・累積手数料を含むポジション、待機注文、パラメーター。vault: 総資産、総持分、アカウント別持分、出金エポック・キュー。oracle: 市場価格と更新情報。vault-token-minter: 発行・焼却権限とトークン情報。
代表的な処理
Section titled “代表的な処理”- ロングの新規注文:
perp.open_positionを呼び、価格取得、価格影響・手数料適用、担保ロック、記録を行います。
- 利益のあるロングの決済:
- 現在の
oracle価格と影響から損益を計算し、手数料を差し引いてvaultから利益を送ります。
- 現在の
- LPの退出:
- 出金申請をエポックのキューに入れ、実行時に
vault-token-minterで持分を焼却して資産を払い出します。
- 出金申請をエポックのキューに入れ、実行時に
- 役割は
perpが取引・リスク、vaultが流動性・損益、oracleが価格、vault-token-minterが持分供給管理です。EVM窓口でウォレットから直接利用できます。
SaiとEVM
Section titled “SaiとEVM”SaiはRustとSolidityのコントラクトを使うマルチVMアプリです。Wasmの安全性を活かしながら、EVMの柔軟さと使い慣れた開発環境を利用できます。