永续交易
为了与系统交互,用户必须发送包含他们希望被执行的订单的信息。 当前支持以下订单类型:
● 限价单,宣布有意出售一定数量的某种资产以换取一定比例的另一种资产。 资产之一必须是抵押品。
● 条件性转账,如果记某些链上事件被记录,则要求将抵押品从一个保险库转移到另一个保险库。
● 转账,要求将抵押品从一个保险库转移到另一个保险库。
● 提款,要求抵押品从L2状态转移到L1
‌交易通过公开的接口直接发送到应用程序,并且所有字段上签名的有效性由证明系统验证。

提款

提款的签名构造如下:
ECDSA(H(collateral_asset_id,w),kprivate)ECDSA(H(collateral\_asset\_id, w), k_{private})
其中ECDSA是规则的椭圆曲线数字签名算法,
H is Pedersen hash functionPedersen哈希函数,
kprivatek_{private}
是用户的私钥,collateral_asset_id是抵押资产ID(USDC),w字被打包如下:
1
+----+-----------------+---------+-----------+---------+------------+
2
#bits | 10 | 64 | 32 | 32 | 32 | 49 |
3
+----+-----------------+---------+-----------+---------+------------+
4
label A B C D E F
Copied!
W定义如下:
‌A:提款类型(6)
B:从中提取资金的保险库ID
C:随机数,为每个请求随机生成
D:金额:要提取多少USDC单位(当“ 1”代表106USDC)
E:失效时间戳-请求截止到该时间(纪元后秒数)有效
F:零填充

限价单

限价单的签名构造如下:
ECDSA(H(H(H(H(asset_id_sell,asset_id_buy),asset_id_fee),w1),w2),kprivate)ECDSA(H(H(H(H(asset\_id\_sell, asset\_id\_buy),asset\_id\_fee), w_1), w_2), k_{private})
w1 w_1
定义如下:
1
+-------+--------------+--------------+--------------+--------+
2
#bits | 27 | 64 | 64 . | 64 | 32 |
3
+-------+--------------+--------------+--------------+--------+
4
label A B C D . E
Copied!
A:零填充
B:出售数量
C:购买数量
D:交易费用
E:随机数
W2定义如下:
1
+---+--------------+--------------+--------------+-----+-----+
2
#bits | 10| 64 | 64 . | 64 | 32 | 17 |
3
+---+--------------+--------------+--------------+-----+-----+
4
label A B C D . E F
Copied!
A:限价单类型(3)
B,C和D:发起限价单的保险库ID(写3次)
E:失效时间戳
F:零填充

转账

转账的签名构造如下:
ECDSA(H(H(H(H(asset_id,asset_id_fee),receiver_public_key),w1),w2),kprivate)ECDSA(H(H(H(H(asset\_id, asset\_id\_fee),receiver\_public\_key), w_1), w_2), k_{private})
W1的定义如下:
1
+-------+--------------+--------------+--------------+--------+
2
#bits | 27 | 64 | 64 . | 64 | 32 |
3
+-------+--------------+--------------+--------------+--------+
4
label A B C D . E
Copied!
A:零填充
B:付款方仓位ID
C:收款方仓位ID
D:仓位 手续费ID
E:随机数
W2的定义如下:
1
+---+--------------+--------------+--------+-----------------+
2
#bits | 10| 64 | 64 . | 32 | 81 |
3
+---+--------------+--------------+--------+-----------------+
4
label A B C D E
Copied!
‌ A:转帐类型(4)
B:转帐金额
C:最高手续费用
D:失效时间戳
E:零填充

‌条件性转账

条件性转账的签名结构如下:
ECDSA(H(H(H(H(H(asset_id,asset_id_fee),receiver_public_key),condition),w1),w2),kprivate)ECDSA(H(H(H(H(H(asset\_id, asset\_id\_fee),receiver\_public\_key), condition) , w_1), w_2), k_{private})
w1,w2都被定义为转账时,除了w2以CONDITIONAL TRANSFER(条件性转账)类型(5)开头,并且条件是合约地址的Pedersen哈希值和事实