本页面的翻译由 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结算盈亏。 - 返还剩余抵押资产;坏账在配置上限内由
vault分担。
- 所有权和角色限制价格更新、铸造权限、参数变更。
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 的灵活性和熟悉的开发体验。