@d8x/perpetuals-sdk 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/cjs/abi/testnet/IPerpetualManager.json +535 -390
  2. package/dist/cjs/abi/testnet/LimitOrderBook.json +211 -224
  3. package/dist/cjs/abi/testnet/LimitOrderBookFactory.json +26 -0
  4. package/dist/cjs/accountTrade.d.ts +2 -2
  5. package/dist/cjs/accountTrade.js +2 -2
  6. package/dist/cjs/brokerTool.d.ts +2 -2
  7. package/dist/cjs/brokerTool.js +2 -2
  8. package/dist/cjs/config/defaultConfig.json +2 -2
  9. package/dist/cjs/config/mockSwap.json +2 -0
  10. package/dist/cjs/nodeSDKTypes.d.ts +37 -37
  11. package/dist/cjs/orderReferrerTool.d.ts +9 -0
  12. package/dist/cjs/orderReferrerTool.js +18 -3
  13. package/dist/cjs/orderReferrerTool.js.map +1 -1
  14. package/dist/cjs/perpetualDataHandler.js +9 -9
  15. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  16. package/dist/cjs/traderDigests.js +4 -4
  17. package/dist/cjs/traderDigests.js.map +1 -1
  18. package/dist/cjs/version.d.ts +1 -1
  19. package/dist/cjs/version.js +1 -1
  20. package/dist/esm/abi/testnet/IPerpetualManager.json +535 -390
  21. package/dist/esm/abi/testnet/LimitOrderBook.json +211 -224
  22. package/dist/esm/abi/testnet/LimitOrderBookFactory.json +26 -0
  23. package/dist/esm/accountTrade.d.ts +2 -2
  24. package/dist/esm/accountTrade.js +2 -2
  25. package/dist/esm/brokerTool.d.ts +2 -2
  26. package/dist/esm/brokerTool.js +2 -2
  27. package/dist/esm/config/defaultConfig.json +2 -2
  28. package/dist/esm/config/mockSwap.json +2 -0
  29. package/dist/esm/nodeSDKTypes.d.ts +37 -37
  30. package/dist/esm/orderReferrerTool.d.ts +9 -0
  31. package/dist/esm/orderReferrerTool.js +18 -3
  32. package/dist/esm/orderReferrerTool.js.map +1 -1
  33. package/dist/esm/perpetualDataHandler.js +9 -9
  34. package/dist/esm/perpetualDataHandler.js.map +1 -1
  35. package/dist/esm/traderDigests.js +4 -4
  36. package/dist/esm/traderDigests.js.map +1 -1
  37. package/dist/esm/version.d.ts +1 -1
  38. package/dist/esm/version.js +1 -1
  39. package/doc/accountTrade.md +2 -2
  40. package/doc/brokerTool.md +2 -2
  41. package/doc/d8x-perpetuals-sdk.md +53 -36
  42. package/doc/orderReferrerTool.md +17 -0
  43. package/package.json +1 -1
@@ -252,6 +252,25 @@
252
252
  "name": "LiquidityPoolCreated",
253
253
  "type": "event"
254
254
  },
255
+ {
256
+ "anonymous": false,
257
+ "inputs": [
258
+ {
259
+ "indexed": false,
260
+ "internalType": "bool",
261
+ "name": "pauseOn",
262
+ "type": "bool"
263
+ },
264
+ {
265
+ "indexed": false,
266
+ "internalType": "uint8",
267
+ "name": "poolId",
268
+ "type": "uint8"
269
+ }
270
+ ],
271
+ "name": "LiquidityProvisionPaused",
272
+ "type": "event"
273
+ },
255
274
  {
256
275
  "anonymous": false,
257
276
  "inputs": [
@@ -370,31 +389,6 @@
370
389
  "name": "PerpetualLimitOrderCancelled",
371
390
  "type": "event"
372
391
  },
373
- {
374
- "anonymous": false,
375
- "inputs": [
376
- {
377
- "indexed": true,
378
- "internalType": "uint64",
379
- "name": "poolId",
380
- "type": "uint64"
381
- },
382
- {
383
- "indexed": false,
384
- "internalType": "int128",
385
- "name": "pricingLiquidity",
386
- "type": "int128"
387
- },
388
- {
389
- "indexed": false,
390
- "internalType": "int128",
391
- "name": "totalLiquidity",
392
- "type": "int128"
393
- }
394
- ],
395
- "name": "PricingLiquidityUpdated",
396
- "type": "event"
397
- },
398
392
  {
399
393
  "anonymous": false,
400
394
  "inputs": [
@@ -761,6 +755,19 @@
761
755
  "name": "Settle",
762
756
  "type": "event"
763
757
  },
758
+ {
759
+ "anonymous": false,
760
+ "inputs": [
761
+ {
762
+ "indexed": true,
763
+ "internalType": "uint24",
764
+ "name": "perpetualId",
765
+ "type": "uint24"
766
+ }
767
+ ],
768
+ "name": "SettleState",
769
+ "type": "event"
770
+ },
764
771
  {
765
772
  "anonymous": false,
766
773
  "inputs": [
@@ -835,40 +842,55 @@
835
842
  {
836
843
  "components": [
837
844
  {
838
- "internalType": "uint32",
839
- "name": "flags",
840
- "type": "uint32"
841
- },
842
- {
843
- "internalType": "uint24",
844
- "name": "iPerpetualId",
845
- "type": "uint24"
845
+ "internalType": "uint16",
846
+ "name": "leverageTDR",
847
+ "type": "uint16"
846
848
  },
847
849
  {
848
850
  "internalType": "uint16",
849
851
  "name": "brokerFeeTbps",
850
852
  "type": "uint16"
851
853
  },
854
+ {
855
+ "internalType": "uint24",
856
+ "name": "iPerpetualId",
857
+ "type": "uint24"
858
+ },
852
859
  {
853
860
  "internalType": "address",
854
861
  "name": "traderAddr",
855
862
  "type": "address"
856
863
  },
864
+ {
865
+ "internalType": "uint32",
866
+ "name": "executionTimestamp",
867
+ "type": "uint32"
868
+ },
857
869
  {
858
870
  "internalType": "address",
859
871
  "name": "brokerAddr",
860
872
  "type": "address"
861
873
  },
874
+ {
875
+ "internalType": "uint32",
876
+ "name": "submittedTimestamp",
877
+ "type": "uint32"
878
+ },
879
+ {
880
+ "internalType": "uint32",
881
+ "name": "flags",
882
+ "type": "uint32"
883
+ },
884
+ {
885
+ "internalType": "uint32",
886
+ "name": "iDeadline",
887
+ "type": "uint32"
888
+ },
862
889
  {
863
890
  "internalType": "address",
864
891
  "name": "referrerAddr",
865
892
  "type": "address"
866
893
  },
867
- {
868
- "internalType": "bytes",
869
- "name": "brokerSignature",
870
- "type": "bytes"
871
- },
872
894
  {
873
895
  "internalType": "int128",
874
896
  "name": "fAmount",
@@ -885,24 +907,9 @@
885
907
  "type": "int128"
886
908
  },
887
909
  {
888
- "internalType": "int128",
889
- "name": "fLeverage",
890
- "type": "int128"
891
- },
892
- {
893
- "internalType": "uint64",
894
- "name": "iDeadline",
895
- "type": "uint64"
896
- },
897
- {
898
- "internalType": "uint64",
899
- "name": "createdTimestamp",
900
- "type": "uint64"
901
- },
902
- {
903
- "internalType": "uint64",
904
- "name": "submittedTimestamp",
905
- "type": "uint64"
910
+ "internalType": "bytes",
911
+ "name": "brokerSignature",
912
+ "type": "bytes"
906
913
  }
907
914
  ],
908
915
  "indexed": false,
@@ -1447,6 +1454,29 @@
1447
1454
  "stateMutability": "nonpayable",
1448
1455
  "type": "function"
1449
1456
  },
1457
+ {
1458
+ "inputs": [
1459
+ {
1460
+ "internalType": "uint24",
1461
+ "name": "_perpetualId",
1462
+ "type": "uint24"
1463
+ },
1464
+ {
1465
+ "internalType": "int128",
1466
+ "name": "_fSettlementS2",
1467
+ "type": "int128"
1468
+ },
1469
+ {
1470
+ "internalType": "int128",
1471
+ "name": "_fSettlementS3",
1472
+ "type": "int128"
1473
+ }
1474
+ ],
1475
+ "name": "adjustSettlementPrice",
1476
+ "outputs": [],
1477
+ "stateMutability": "nonpayable",
1478
+ "type": "function"
1479
+ },
1450
1480
  {
1451
1481
  "inputs": [
1452
1482
  {
@@ -1771,40 +1801,55 @@
1771
1801
  {
1772
1802
  "components": [
1773
1803
  {
1774
- "internalType": "uint32",
1775
- "name": "flags",
1776
- "type": "uint32"
1777
- },
1778
- {
1779
- "internalType": "uint24",
1780
- "name": "iPerpetualId",
1781
- "type": "uint24"
1804
+ "internalType": "uint16",
1805
+ "name": "leverageTDR",
1806
+ "type": "uint16"
1782
1807
  },
1783
1808
  {
1784
1809
  "internalType": "uint16",
1785
1810
  "name": "brokerFeeTbps",
1786
1811
  "type": "uint16"
1787
1812
  },
1813
+ {
1814
+ "internalType": "uint24",
1815
+ "name": "iPerpetualId",
1816
+ "type": "uint24"
1817
+ },
1788
1818
  {
1789
1819
  "internalType": "address",
1790
1820
  "name": "traderAddr",
1791
1821
  "type": "address"
1792
1822
  },
1823
+ {
1824
+ "internalType": "uint32",
1825
+ "name": "executionTimestamp",
1826
+ "type": "uint32"
1827
+ },
1793
1828
  {
1794
1829
  "internalType": "address",
1795
1830
  "name": "brokerAddr",
1796
1831
  "type": "address"
1797
1832
  },
1833
+ {
1834
+ "internalType": "uint32",
1835
+ "name": "submittedTimestamp",
1836
+ "type": "uint32"
1837
+ },
1838
+ {
1839
+ "internalType": "uint32",
1840
+ "name": "flags",
1841
+ "type": "uint32"
1842
+ },
1843
+ {
1844
+ "internalType": "uint32",
1845
+ "name": "iDeadline",
1846
+ "type": "uint32"
1847
+ },
1798
1848
  {
1799
1849
  "internalType": "address",
1800
1850
  "name": "referrerAddr",
1801
1851
  "type": "address"
1802
1852
  },
1803
- {
1804
- "internalType": "bytes",
1805
- "name": "brokerSignature",
1806
- "type": "bytes"
1807
- },
1808
1853
  {
1809
1854
  "internalType": "int128",
1810
1855
  "name": "fAmount",
@@ -1821,24 +1866,9 @@
1821
1866
  "type": "int128"
1822
1867
  },
1823
1868
  {
1824
- "internalType": "int128",
1825
- "name": "fLeverage",
1826
- "type": "int128"
1827
- },
1828
- {
1829
- "internalType": "uint64",
1830
- "name": "iDeadline",
1831
- "type": "uint64"
1832
- },
1833
- {
1834
- "internalType": "uint64",
1835
- "name": "createdTimestamp",
1836
- "type": "uint64"
1837
- },
1838
- {
1839
- "internalType": "uint64",
1840
- "name": "submittedTimestamp",
1841
- "type": "uint64"
1869
+ "internalType": "bytes",
1870
+ "name": "brokerSignature",
1871
+ "type": "bytes"
1842
1872
  }
1843
1873
  ],
1844
1874
  "internalType": "struct IPerpetualOrder.Order",
@@ -2013,40 +2043,55 @@
2013
2043
  {
2014
2044
  "components": [
2015
2045
  {
2016
- "internalType": "uint32",
2017
- "name": "flags",
2018
- "type": "uint32"
2019
- },
2020
- {
2021
- "internalType": "uint24",
2022
- "name": "iPerpetualId",
2023
- "type": "uint24"
2046
+ "internalType": "uint16",
2047
+ "name": "leverageTDR",
2048
+ "type": "uint16"
2024
2049
  },
2025
2050
  {
2026
2051
  "internalType": "uint16",
2027
2052
  "name": "brokerFeeTbps",
2028
2053
  "type": "uint16"
2029
2054
  },
2055
+ {
2056
+ "internalType": "uint24",
2057
+ "name": "iPerpetualId",
2058
+ "type": "uint24"
2059
+ },
2030
2060
  {
2031
2061
  "internalType": "address",
2032
2062
  "name": "traderAddr",
2033
2063
  "type": "address"
2034
2064
  },
2065
+ {
2066
+ "internalType": "uint32",
2067
+ "name": "executionTimestamp",
2068
+ "type": "uint32"
2069
+ },
2035
2070
  {
2036
2071
  "internalType": "address",
2037
2072
  "name": "brokerAddr",
2038
2073
  "type": "address"
2039
2074
  },
2075
+ {
2076
+ "internalType": "uint32",
2077
+ "name": "submittedTimestamp",
2078
+ "type": "uint32"
2079
+ },
2080
+ {
2081
+ "internalType": "uint32",
2082
+ "name": "flags",
2083
+ "type": "uint32"
2084
+ },
2085
+ {
2086
+ "internalType": "uint32",
2087
+ "name": "iDeadline",
2088
+ "type": "uint32"
2089
+ },
2040
2090
  {
2041
2091
  "internalType": "address",
2042
2092
  "name": "referrerAddr",
2043
2093
  "type": "address"
2044
2094
  },
2045
- {
2046
- "internalType": "bytes",
2047
- "name": "brokerSignature",
2048
- "type": "bytes"
2049
- },
2050
2095
  {
2051
2096
  "internalType": "int128",
2052
2097
  "name": "fAmount",
@@ -2063,24 +2108,9 @@
2063
2108
  "type": "int128"
2064
2109
  },
2065
2110
  {
2066
- "internalType": "int128",
2067
- "name": "fLeverage",
2068
- "type": "int128"
2069
- },
2070
- {
2071
- "internalType": "uint64",
2072
- "name": "iDeadline",
2073
- "type": "uint64"
2074
- },
2075
- {
2076
- "internalType": "uint64",
2077
- "name": "createdTimestamp",
2078
- "type": "uint64"
2079
- },
2080
- {
2081
- "internalType": "uint64",
2082
- "name": "submittedTimestamp",
2083
- "type": "uint64"
2111
+ "internalType": "bytes",
2112
+ "name": "brokerSignature",
2113
+ "type": "bytes"
2084
2114
  }
2085
2115
  ],
2086
2116
  "internalType": "struct IPerpetualOrder.Order",
@@ -2122,14 +2152,9 @@
2122
2152
  {
2123
2153
  "components": [
2124
2154
  {
2125
- "internalType": "uint32",
2126
- "name": "flags",
2127
- "type": "uint32"
2128
- },
2129
- {
2130
- "internalType": "uint24",
2131
- "name": "iPerpetualId",
2132
- "type": "uint24"
2155
+ "internalType": "uint16",
2156
+ "name": "leverageTDR",
2157
+ "type": "uint16"
2133
2158
  },
2134
2159
  {
2135
2160
  "internalType": "uint16",
@@ -2137,25 +2162,45 @@
2137
2162
  "type": "uint16"
2138
2163
  },
2139
2164
  {
2140
- "internalType": "address",
2165
+ "internalType": "uint24",
2166
+ "name": "iPerpetualId",
2167
+ "type": "uint24"
2168
+ },
2169
+ {
2170
+ "internalType": "address",
2141
2171
  "name": "traderAddr",
2142
2172
  "type": "address"
2143
2173
  },
2174
+ {
2175
+ "internalType": "uint32",
2176
+ "name": "executionTimestamp",
2177
+ "type": "uint32"
2178
+ },
2144
2179
  {
2145
2180
  "internalType": "address",
2146
2181
  "name": "brokerAddr",
2147
2182
  "type": "address"
2148
2183
  },
2184
+ {
2185
+ "internalType": "uint32",
2186
+ "name": "submittedTimestamp",
2187
+ "type": "uint32"
2188
+ },
2189
+ {
2190
+ "internalType": "uint32",
2191
+ "name": "flags",
2192
+ "type": "uint32"
2193
+ },
2194
+ {
2195
+ "internalType": "uint32",
2196
+ "name": "iDeadline",
2197
+ "type": "uint32"
2198
+ },
2149
2199
  {
2150
2200
  "internalType": "address",
2151
2201
  "name": "referrerAddr",
2152
2202
  "type": "address"
2153
2203
  },
2154
- {
2155
- "internalType": "bytes",
2156
- "name": "brokerSignature",
2157
- "type": "bytes"
2158
- },
2159
2204
  {
2160
2205
  "internalType": "int128",
2161
2206
  "name": "fAmount",
@@ -2172,24 +2217,9 @@
2172
2217
  "type": "int128"
2173
2218
  },
2174
2219
  {
2175
- "internalType": "int128",
2176
- "name": "fLeverage",
2177
- "type": "int128"
2178
- },
2179
- {
2180
- "internalType": "uint64",
2181
- "name": "iDeadline",
2182
- "type": "uint64"
2183
- },
2184
- {
2185
- "internalType": "uint64",
2186
- "name": "createdTimestamp",
2187
- "type": "uint64"
2188
- },
2189
- {
2190
- "internalType": "uint64",
2191
- "name": "submittedTimestamp",
2192
- "type": "uint64"
2220
+ "internalType": "bytes",
2221
+ "name": "brokerSignature",
2222
+ "type": "bytes"
2193
2223
  }
2194
2224
  ],
2195
2225
  "internalType": "struct IPerpetualOrder.Order",
@@ -2213,40 +2243,55 @@
2213
2243
  {
2214
2244
  "components": [
2215
2245
  {
2216
- "internalType": "uint32",
2217
- "name": "flags",
2218
- "type": "uint32"
2219
- },
2220
- {
2221
- "internalType": "uint24",
2222
- "name": "iPerpetualId",
2223
- "type": "uint24"
2246
+ "internalType": "uint16",
2247
+ "name": "leverageTDR",
2248
+ "type": "uint16"
2224
2249
  },
2225
2250
  {
2226
2251
  "internalType": "uint16",
2227
2252
  "name": "brokerFeeTbps",
2228
2253
  "type": "uint16"
2229
2254
  },
2255
+ {
2256
+ "internalType": "uint24",
2257
+ "name": "iPerpetualId",
2258
+ "type": "uint24"
2259
+ },
2230
2260
  {
2231
2261
  "internalType": "address",
2232
2262
  "name": "traderAddr",
2233
2263
  "type": "address"
2234
2264
  },
2265
+ {
2266
+ "internalType": "uint32",
2267
+ "name": "executionTimestamp",
2268
+ "type": "uint32"
2269
+ },
2235
2270
  {
2236
2271
  "internalType": "address",
2237
2272
  "name": "brokerAddr",
2238
2273
  "type": "address"
2239
2274
  },
2275
+ {
2276
+ "internalType": "uint32",
2277
+ "name": "submittedTimestamp",
2278
+ "type": "uint32"
2279
+ },
2280
+ {
2281
+ "internalType": "uint32",
2282
+ "name": "flags",
2283
+ "type": "uint32"
2284
+ },
2285
+ {
2286
+ "internalType": "uint32",
2287
+ "name": "iDeadline",
2288
+ "type": "uint32"
2289
+ },
2240
2290
  {
2241
2291
  "internalType": "address",
2242
2292
  "name": "referrerAddr",
2243
2293
  "type": "address"
2244
2294
  },
2245
- {
2246
- "internalType": "bytes",
2247
- "name": "brokerSignature",
2248
- "type": "bytes"
2249
- },
2250
2295
  {
2251
2296
  "internalType": "int128",
2252
2297
  "name": "fAmount",
@@ -2263,24 +2308,9 @@
2263
2308
  "type": "int128"
2264
2309
  },
2265
2310
  {
2266
- "internalType": "int128",
2267
- "name": "fLeverage",
2268
- "type": "int128"
2269
- },
2270
- {
2271
- "internalType": "uint64",
2272
- "name": "iDeadline",
2273
- "type": "uint64"
2274
- },
2275
- {
2276
- "internalType": "uint64",
2277
- "name": "createdTimestamp",
2278
- "type": "uint64"
2279
- },
2280
- {
2281
- "internalType": "uint64",
2282
- "name": "submittedTimestamp",
2283
- "type": "uint64"
2311
+ "internalType": "bytes",
2312
+ "name": "brokerSignature",
2313
+ "type": "bytes"
2284
2314
  }
2285
2315
  ],
2286
2316
  "internalType": "struct IPerpetualOrder.Order",
@@ -2333,35 +2363,6 @@
2333
2363
  "stateMutability": "nonpayable",
2334
2364
  "type": "function"
2335
2365
  },
2336
- {
2337
- "inputs": [
2338
- {
2339
- "internalType": "int128",
2340
- "name": "_fEMA",
2341
- "type": "int128"
2342
- },
2343
- {
2344
- "internalType": "int128",
2345
- "name": "_fCurrentObs",
2346
- "type": "int128"
2347
- },
2348
- {
2349
- "internalType": "int128",
2350
- "name": "_fLambda",
2351
- "type": "int128"
2352
- }
2353
- ],
2354
- "name": "ema",
2355
- "outputs": [
2356
- {
2357
- "internalType": "int128",
2358
- "name": "",
2359
- "type": "int128"
2360
- }
2361
- ],
2362
- "stateMutability": "pure",
2363
- "type": "function"
2364
- },
2365
2366
  {
2366
2367
  "inputs": [
2367
2368
  {
@@ -2386,6 +2387,11 @@
2386
2387
  "internalType": "uint8",
2387
2388
  "name": "_poolId",
2388
2389
  "type": "uint8"
2390
+ },
2391
+ {
2392
+ "internalType": "address",
2393
+ "name": "_lpAddr",
2394
+ "type": "address"
2389
2395
  }
2390
2396
  ],
2391
2397
  "name": "executeLiquidityWithdrawal",
@@ -2810,6 +2816,30 @@
2810
2816
  "stateMutability": "view",
2811
2817
  "type": "function"
2812
2818
  },
2819
+ {
2820
+ "inputs": [
2821
+ {
2822
+ "internalType": "uint24",
2823
+ "name": "_perpetualId",
2824
+ "type": "uint24"
2825
+ },
2826
+ {
2827
+ "internalType": "int128[2]",
2828
+ "name": "_fIndexPrice",
2829
+ "type": "int128[2]"
2830
+ }
2831
+ ],
2832
+ "name": "getLiquidatableAccounts",
2833
+ "outputs": [
2834
+ {
2835
+ "internalType": "address[]",
2836
+ "name": "unsafeAccounts",
2837
+ "type": "address[]"
2838
+ }
2839
+ ],
2840
+ "stateMutability": "view",
2841
+ "type": "function"
2842
+ },
2813
2843
  {
2814
2844
  "inputs": [
2815
2845
  {
@@ -3142,6 +3172,30 @@
3142
3172
  "stateMutability": "view",
3143
3173
  "type": "function"
3144
3174
  },
3175
+ {
3176
+ "inputs": [
3177
+ {
3178
+ "internalType": "uint24",
3179
+ "name": "_perpetualId",
3180
+ "type": "uint24"
3181
+ },
3182
+ {
3183
+ "internalType": "int128[2]",
3184
+ "name": "_fIndexPrice",
3185
+ "type": "int128[2]"
3186
+ }
3187
+ ],
3188
+ "name": "getNextLiquidatableTrader",
3189
+ "outputs": [
3190
+ {
3191
+ "internalType": "address",
3192
+ "name": "traderAddr",
3193
+ "type": "address"
3194
+ }
3195
+ ],
3196
+ "stateMutability": "view",
3197
+ "type": "function"
3198
+ },
3145
3199
  {
3146
3200
  "inputs": [],
3147
3201
  "name": "getOracleFactory",
@@ -3244,14 +3298,24 @@
3244
3298
  "type": "int32"
3245
3299
  },
3246
3300
  {
3247
- "internalType": "uint64",
3301
+ "internalType": "uint32",
3248
3302
  "name": "iLastFundingTime",
3249
- "type": "uint64"
3303
+ "type": "uint32"
3250
3304
  },
3251
3305
  {
3252
- "internalType": "uint64",
3306
+ "internalType": "uint32",
3253
3307
  "name": "iLastSettlementPriceUpdateTimestamp",
3254
- "type": "uint64"
3308
+ "type": "uint32"
3309
+ },
3310
+ {
3311
+ "internalType": "uint32",
3312
+ "name": "iLastPriceJumpTimestamp",
3313
+ "type": "uint32"
3314
+ },
3315
+ {
3316
+ "internalType": "uint32",
3317
+ "name": "iLastDefaultFundTransfer",
3318
+ "type": "uint32"
3255
3319
  },
3256
3320
  {
3257
3321
  "internalType": "enum PerpStorage.PerpetualState",
@@ -3268,45 +3332,45 @@
3268
3332
  "name": "minimalSpreadTbps",
3269
3333
  "type": "uint16"
3270
3334
  },
3335
+ {
3336
+ "internalType": "bytes4",
3337
+ "name": "S2BaseCCY",
3338
+ "type": "bytes4"
3339
+ },
3271
3340
  {
3272
3341
  "internalType": "uint16",
3273
3342
  "name": "incentiveSpreadTbps",
3274
3343
  "type": "uint16"
3275
3344
  },
3276
3345
  {
3277
- "internalType": "uint16",
3278
- "name": "jumpSpreadTbps",
3279
- "type": "uint16"
3346
+ "internalType": "bytes4",
3347
+ "name": "S2QuoteCCY",
3348
+ "type": "bytes4"
3280
3349
  },
3281
3350
  {
3282
3351
  "internalType": "uint16",
3283
- "name": "liquidationPenaltyRateTbps",
3352
+ "name": "jumpSpreadTbps",
3284
3353
  "type": "uint16"
3285
3354
  },
3286
- {
3287
- "internalType": "int32",
3288
- "name": "fSigma3",
3289
- "type": "int32"
3290
- },
3291
3355
  {
3292
3356
  "internalType": "bytes4",
3293
- "name": "S2BaseCCY",
3357
+ "name": "S3BaseCCY",
3294
3358
  "type": "bytes4"
3295
3359
  },
3296
3360
  {
3297
- "internalType": "bytes4",
3298
- "name": "S2QuoteCCY",
3299
- "type": "bytes4"
3361
+ "internalType": "uint16",
3362
+ "name": "liquidationPenaltyRateTbps",
3363
+ "type": "uint16"
3300
3364
  },
3301
3365
  {
3302
3366
  "internalType": "bytes4",
3303
- "name": "S3BaseCCY",
3367
+ "name": "S3QuoteCCY",
3304
3368
  "type": "bytes4"
3305
3369
  },
3306
3370
  {
3307
- "internalType": "bytes4",
3308
- "name": "S3QuoteCCY",
3309
- "type": "bytes4"
3371
+ "internalType": "int32",
3372
+ "name": "fSigma3",
3373
+ "type": "int32"
3310
3374
  },
3311
3375
  {
3312
3376
  "components": [
@@ -3321,7 +3385,7 @@
3321
3385
  "type": "uint64"
3322
3386
  }
3323
3387
  ],
3324
- "internalType": "struct PerpStorage.OraclePriceData",
3388
+ "internalType": "struct PerpStorage.PriceTimeData",
3325
3389
  "name": "currentMarkPremiumRate",
3326
3390
  "type": "tuple"
3327
3391
  },
@@ -3441,19 +3505,9 @@
3441
3505
  "type": "int128"
3442
3506
  },
3443
3507
  {
3444
- "internalType": "uint64",
3445
- "name": "iLastPriceJumpTimestamp",
3446
- "type": "uint64"
3447
- },
3448
- {
3449
- "internalType": "uint64",
3450
- "name": "iLastDefaultFundTransfer",
3451
- "type": "uint64"
3452
- },
3453
- {
3454
- "internalType": "uint64",
3508
+ "internalType": "uint32",
3455
3509
  "name": "iLastTargetPoolSizeTime",
3456
- "type": "uint64"
3510
+ "type": "uint32"
3457
3511
  },
3458
3512
  {
3459
3513
  "internalType": "int32",
@@ -3555,14 +3609,14 @@
3555
3609
  "type": "address"
3556
3610
  },
3557
3611
  {
3558
- "internalType": "int128",
3612
+ "internalType": "int32",
3559
3613
  "name": "fInitialMarginRate",
3560
- "type": "int128"
3614
+ "type": "int32"
3561
3615
  },
3562
3616
  {
3563
- "internalType": "int128",
3617
+ "internalType": "int32",
3564
3618
  "name": "fMaintenanceMarginRate",
3565
- "type": "int128"
3619
+ "type": "int32"
3566
3620
  },
3567
3621
  {
3568
3622
  "internalType": "uint8",
@@ -3661,14 +3715,24 @@
3661
3715
  "type": "int32"
3662
3716
  },
3663
3717
  {
3664
- "internalType": "uint64",
3718
+ "internalType": "uint32",
3665
3719
  "name": "iLastFundingTime",
3666
- "type": "uint64"
3720
+ "type": "uint32"
3667
3721
  },
3668
3722
  {
3669
- "internalType": "uint64",
3723
+ "internalType": "uint32",
3670
3724
  "name": "iLastSettlementPriceUpdateTimestamp",
3671
- "type": "uint64"
3725
+ "type": "uint32"
3726
+ },
3727
+ {
3728
+ "internalType": "uint32",
3729
+ "name": "iLastPriceJumpTimestamp",
3730
+ "type": "uint32"
3731
+ },
3732
+ {
3733
+ "internalType": "uint32",
3734
+ "name": "iLastDefaultFundTransfer",
3735
+ "type": "uint32"
3672
3736
  },
3673
3737
  {
3674
3738
  "internalType": "enum PerpStorage.PerpetualState",
@@ -3685,45 +3749,45 @@
3685
3749
  "name": "minimalSpreadTbps",
3686
3750
  "type": "uint16"
3687
3751
  },
3752
+ {
3753
+ "internalType": "bytes4",
3754
+ "name": "S2BaseCCY",
3755
+ "type": "bytes4"
3756
+ },
3688
3757
  {
3689
3758
  "internalType": "uint16",
3690
3759
  "name": "incentiveSpreadTbps",
3691
3760
  "type": "uint16"
3692
3761
  },
3693
3762
  {
3694
- "internalType": "uint16",
3695
- "name": "jumpSpreadTbps",
3696
- "type": "uint16"
3763
+ "internalType": "bytes4",
3764
+ "name": "S2QuoteCCY",
3765
+ "type": "bytes4"
3697
3766
  },
3698
3767
  {
3699
3768
  "internalType": "uint16",
3700
- "name": "liquidationPenaltyRateTbps",
3769
+ "name": "jumpSpreadTbps",
3701
3770
  "type": "uint16"
3702
3771
  },
3703
- {
3704
- "internalType": "int32",
3705
- "name": "fSigma3",
3706
- "type": "int32"
3707
- },
3708
3772
  {
3709
3773
  "internalType": "bytes4",
3710
- "name": "S2BaseCCY",
3774
+ "name": "S3BaseCCY",
3711
3775
  "type": "bytes4"
3712
3776
  },
3713
3777
  {
3714
- "internalType": "bytes4",
3715
- "name": "S2QuoteCCY",
3716
- "type": "bytes4"
3778
+ "internalType": "uint16",
3779
+ "name": "liquidationPenaltyRateTbps",
3780
+ "type": "uint16"
3717
3781
  },
3718
3782
  {
3719
3783
  "internalType": "bytes4",
3720
- "name": "S3BaseCCY",
3784
+ "name": "S3QuoteCCY",
3721
3785
  "type": "bytes4"
3722
3786
  },
3723
3787
  {
3724
- "internalType": "bytes4",
3725
- "name": "S3QuoteCCY",
3726
- "type": "bytes4"
3788
+ "internalType": "int32",
3789
+ "name": "fSigma3",
3790
+ "type": "int32"
3727
3791
  },
3728
3792
  {
3729
3793
  "components": [
@@ -3738,7 +3802,7 @@
3738
3802
  "type": "uint64"
3739
3803
  }
3740
3804
  ],
3741
- "internalType": "struct PerpStorage.OraclePriceData",
3805
+ "internalType": "struct PerpStorage.PriceTimeData",
3742
3806
  "name": "currentMarkPremiumRate",
3743
3807
  "type": "tuple"
3744
3808
  },
@@ -3858,19 +3922,9 @@
3858
3922
  "type": "int128"
3859
3923
  },
3860
3924
  {
3861
- "internalType": "uint64",
3862
- "name": "iLastPriceJumpTimestamp",
3863
- "type": "uint64"
3864
- },
3865
- {
3866
- "internalType": "uint64",
3867
- "name": "iLastDefaultFundTransfer",
3868
- "type": "uint64"
3869
- },
3870
- {
3871
- "internalType": "uint64",
3925
+ "internalType": "uint32",
3872
3926
  "name": "iLastTargetPoolSizeTime",
3873
- "type": "uint64"
3927
+ "type": "uint32"
3874
3928
  },
3875
3929
  {
3876
3930
  "internalType": "int32",
@@ -3998,17 +4052,36 @@
3998
4052
  "type": "bool[]"
3999
4053
  }
4000
4054
  ],
4001
- "stateMutability": "view",
4002
- "type": "function"
4003
- },
4004
- {
4005
- "inputs": [],
4006
- "name": "getShareTokenFactory",
4055
+ "stateMutability": "view",
4056
+ "type": "function"
4057
+ },
4058
+ {
4059
+ "inputs": [],
4060
+ "name": "getShareTokenFactory",
4061
+ "outputs": [
4062
+ {
4063
+ "internalType": "contract IShareTokenFactory",
4064
+ "name": "",
4065
+ "type": "address"
4066
+ }
4067
+ ],
4068
+ "stateMutability": "view",
4069
+ "type": "function"
4070
+ },
4071
+ {
4072
+ "inputs": [
4073
+ {
4074
+ "internalType": "uint8",
4075
+ "name": "_poolId",
4076
+ "type": "uint8"
4077
+ }
4078
+ ],
4079
+ "name": "getShareTokenPriceD18",
4007
4080
  "outputs": [
4008
4081
  {
4009
- "internalType": "contract IShareTokenFactory",
4010
- "name": "",
4011
- "type": "address"
4082
+ "internalType": "uint256",
4083
+ "name": "price",
4084
+ "type": "uint256"
4012
4085
  }
4013
4086
  ],
4014
4087
  "stateMutability": "view",
@@ -4263,6 +4336,52 @@
4263
4336
  "stateMutability": "view",
4264
4337
  "type": "function"
4265
4338
  },
4339
+ {
4340
+ "inputs": [
4341
+ {
4342
+ "internalType": "uint8",
4343
+ "name": "poolId",
4344
+ "type": "uint8"
4345
+ },
4346
+ {
4347
+ "internalType": "uint256",
4348
+ "name": "_fromIdx",
4349
+ "type": "uint256"
4350
+ },
4351
+ {
4352
+ "internalType": "uint256",
4353
+ "name": "numRequests",
4354
+ "type": "uint256"
4355
+ }
4356
+ ],
4357
+ "name": "getWithdrawRequests",
4358
+ "outputs": [
4359
+ {
4360
+ "components": [
4361
+ {
4362
+ "internalType": "address",
4363
+ "name": "lp",
4364
+ "type": "address"
4365
+ },
4366
+ {
4367
+ "internalType": "uint256",
4368
+ "name": "shareTokens",
4369
+ "type": "uint256"
4370
+ },
4371
+ {
4372
+ "internalType": "uint64",
4373
+ "name": "withdrawTimestamp",
4374
+ "type": "uint64"
4375
+ }
4376
+ ],
4377
+ "internalType": "struct IPerpetualTreasury.WithdrawRequest[]",
4378
+ "name": "",
4379
+ "type": "tuple[]"
4380
+ }
4381
+ ],
4382
+ "stateMutability": "view",
4383
+ "type": "function"
4384
+ },
4266
4385
  {
4267
4386
  "inputs": [
4268
4387
  {
@@ -4473,6 +4592,24 @@
4473
4592
  "stateMutability": "payable",
4474
4593
  "type": "function"
4475
4594
  },
4595
+ {
4596
+ "inputs": [
4597
+ {
4598
+ "internalType": "uint8",
4599
+ "name": "_poolId",
4600
+ "type": "uint8"
4601
+ },
4602
+ {
4603
+ "internalType": "bool",
4604
+ "name": "_pauseOn",
4605
+ "type": "bool"
4606
+ }
4607
+ ],
4608
+ "name": "pauseLiquidityProvision",
4609
+ "outputs": [],
4610
+ "stateMutability": "nonpayable",
4611
+ "type": "function"
4612
+ },
4476
4613
  {
4477
4614
  "inputs": [
4478
4615
  {
@@ -4483,40 +4620,55 @@
4483
4620
  {
4484
4621
  "components": [
4485
4622
  {
4486
- "internalType": "uint32",
4487
- "name": "flags",
4488
- "type": "uint32"
4489
- },
4490
- {
4491
- "internalType": "uint24",
4492
- "name": "iPerpetualId",
4493
- "type": "uint24"
4623
+ "internalType": "uint16",
4624
+ "name": "leverageTDR",
4625
+ "type": "uint16"
4494
4626
  },
4495
4627
  {
4496
4628
  "internalType": "uint16",
4497
4629
  "name": "brokerFeeTbps",
4498
4630
  "type": "uint16"
4499
4631
  },
4632
+ {
4633
+ "internalType": "uint24",
4634
+ "name": "iPerpetualId",
4635
+ "type": "uint24"
4636
+ },
4500
4637
  {
4501
4638
  "internalType": "address",
4502
4639
  "name": "traderAddr",
4503
4640
  "type": "address"
4504
4641
  },
4642
+ {
4643
+ "internalType": "uint32",
4644
+ "name": "executionTimestamp",
4645
+ "type": "uint32"
4646
+ },
4505
4647
  {
4506
4648
  "internalType": "address",
4507
4649
  "name": "brokerAddr",
4508
4650
  "type": "address"
4509
4651
  },
4652
+ {
4653
+ "internalType": "uint32",
4654
+ "name": "submittedTimestamp",
4655
+ "type": "uint32"
4656
+ },
4657
+ {
4658
+ "internalType": "uint32",
4659
+ "name": "flags",
4660
+ "type": "uint32"
4661
+ },
4662
+ {
4663
+ "internalType": "uint32",
4664
+ "name": "iDeadline",
4665
+ "type": "uint32"
4666
+ },
4510
4667
  {
4511
4668
  "internalType": "address",
4512
4669
  "name": "referrerAddr",
4513
4670
  "type": "address"
4514
4671
  },
4515
- {
4516
- "internalType": "bytes",
4517
- "name": "brokerSignature",
4518
- "type": "bytes"
4519
- },
4520
4672
  {
4521
4673
  "internalType": "int128",
4522
4674
  "name": "fAmount",
@@ -4533,24 +4685,9 @@
4533
4685
  "type": "int128"
4534
4686
  },
4535
4687
  {
4536
- "internalType": "int128",
4537
- "name": "fLeverage",
4538
- "type": "int128"
4539
- },
4540
- {
4541
- "internalType": "uint64",
4542
- "name": "iDeadline",
4543
- "type": "uint64"
4544
- },
4545
- {
4546
- "internalType": "uint64",
4547
- "name": "createdTimestamp",
4548
- "type": "uint64"
4549
- },
4550
- {
4551
- "internalType": "uint64",
4552
- "name": "submittedTimestamp",
4553
- "type": "uint64"
4688
+ "internalType": "bytes",
4689
+ "name": "brokerSignature",
4690
+ "type": "bytes"
4554
4691
  }
4555
4692
  ],
4556
4693
  "internalType": "struct IPerpetualOrder.Order",
@@ -4674,40 +4811,55 @@
4674
4811
  {
4675
4812
  "components": [
4676
4813
  {
4677
- "internalType": "uint32",
4678
- "name": "flags",
4679
- "type": "uint32"
4680
- },
4681
- {
4682
- "internalType": "uint24",
4683
- "name": "iPerpetualId",
4684
- "type": "uint24"
4814
+ "internalType": "uint16",
4815
+ "name": "leverageTDR",
4816
+ "type": "uint16"
4685
4817
  },
4686
4818
  {
4687
4819
  "internalType": "uint16",
4688
4820
  "name": "brokerFeeTbps",
4689
4821
  "type": "uint16"
4690
4822
  },
4823
+ {
4824
+ "internalType": "uint24",
4825
+ "name": "iPerpetualId",
4826
+ "type": "uint24"
4827
+ },
4691
4828
  {
4692
4829
  "internalType": "address",
4693
4830
  "name": "traderAddr",
4694
4831
  "type": "address"
4695
4832
  },
4833
+ {
4834
+ "internalType": "uint32",
4835
+ "name": "executionTimestamp",
4836
+ "type": "uint32"
4837
+ },
4696
4838
  {
4697
4839
  "internalType": "address",
4698
4840
  "name": "brokerAddr",
4699
4841
  "type": "address"
4700
4842
  },
4843
+ {
4844
+ "internalType": "uint32",
4845
+ "name": "submittedTimestamp",
4846
+ "type": "uint32"
4847
+ },
4848
+ {
4849
+ "internalType": "uint32",
4850
+ "name": "flags",
4851
+ "type": "uint32"
4852
+ },
4853
+ {
4854
+ "internalType": "uint32",
4855
+ "name": "iDeadline",
4856
+ "type": "uint32"
4857
+ },
4701
4858
  {
4702
4859
  "internalType": "address",
4703
4860
  "name": "referrerAddr",
4704
4861
  "type": "address"
4705
4862
  },
4706
- {
4707
- "internalType": "bytes",
4708
- "name": "brokerSignature",
4709
- "type": "bytes"
4710
- },
4711
4863
  {
4712
4864
  "internalType": "int128",
4713
4865
  "name": "fAmount",
@@ -4724,24 +4876,9 @@
4724
4876
  "type": "int128"
4725
4877
  },
4726
4878
  {
4727
- "internalType": "int128",
4728
- "name": "fLeverage",
4729
- "type": "int128"
4730
- },
4731
- {
4732
- "internalType": "uint64",
4733
- "name": "iDeadline",
4734
- "type": "uint64"
4735
- },
4736
- {
4737
- "internalType": "uint64",
4738
- "name": "createdTimestamp",
4739
- "type": "uint64"
4740
- },
4741
- {
4742
- "internalType": "uint64",
4743
- "name": "submittedTimestamp",
4744
- "type": "uint64"
4879
+ "internalType": "bytes",
4880
+ "name": "brokerSignature",
4881
+ "type": "bytes"
4745
4882
  }
4746
4883
  ],
4747
4884
  "internalType": "struct IPerpetualOrder.Order",
@@ -5012,7 +5149,7 @@
5012
5149
  "type": "address"
5013
5150
  }
5014
5151
  ],
5015
- "name": "setOracleForPerpetual",
5152
+ "name": "setOracleFactoryForPerpetual",
5016
5153
  "outputs": [],
5017
5154
  "stateMutability": "nonpayable",
5018
5155
  "type": "function"
@@ -5304,45 +5441,73 @@
5304
5441
  "stateMutability": "pure",
5305
5442
  "type": "function"
5306
5443
  },
5444
+ {
5445
+ "inputs": [
5446
+ {
5447
+ "internalType": "uint24",
5448
+ "name": "_perpetualId",
5449
+ "type": "uint24"
5450
+ }
5451
+ ],
5452
+ "name": "togglePerpEmergencyState",
5453
+ "outputs": [],
5454
+ "stateMutability": "nonpayable",
5455
+ "type": "function"
5456
+ },
5307
5457
  {
5308
5458
  "inputs": [
5309
5459
  {
5310
5460
  "components": [
5311
5461
  {
5312
- "internalType": "uint32",
5313
- "name": "flags",
5314
- "type": "uint32"
5315
- },
5316
- {
5317
- "internalType": "uint24",
5318
- "name": "iPerpetualId",
5319
- "type": "uint24"
5462
+ "internalType": "uint16",
5463
+ "name": "leverageTDR",
5464
+ "type": "uint16"
5320
5465
  },
5321
5466
  {
5322
5467
  "internalType": "uint16",
5323
5468
  "name": "brokerFeeTbps",
5324
5469
  "type": "uint16"
5325
5470
  },
5471
+ {
5472
+ "internalType": "uint24",
5473
+ "name": "iPerpetualId",
5474
+ "type": "uint24"
5475
+ },
5326
5476
  {
5327
5477
  "internalType": "address",
5328
5478
  "name": "traderAddr",
5329
5479
  "type": "address"
5330
5480
  },
5481
+ {
5482
+ "internalType": "uint32",
5483
+ "name": "executionTimestamp",
5484
+ "type": "uint32"
5485
+ },
5331
5486
  {
5332
5487
  "internalType": "address",
5333
5488
  "name": "brokerAddr",
5334
5489
  "type": "address"
5335
5490
  },
5491
+ {
5492
+ "internalType": "uint32",
5493
+ "name": "submittedTimestamp",
5494
+ "type": "uint32"
5495
+ },
5496
+ {
5497
+ "internalType": "uint32",
5498
+ "name": "flags",
5499
+ "type": "uint32"
5500
+ },
5501
+ {
5502
+ "internalType": "uint32",
5503
+ "name": "iDeadline",
5504
+ "type": "uint32"
5505
+ },
5336
5506
  {
5337
5507
  "internalType": "address",
5338
5508
  "name": "referrerAddr",
5339
5509
  "type": "address"
5340
5510
  },
5341
- {
5342
- "internalType": "bytes",
5343
- "name": "brokerSignature",
5344
- "type": "bytes"
5345
- },
5346
5511
  {
5347
5512
  "internalType": "int128",
5348
5513
  "name": "fAmount",
@@ -5359,24 +5524,9 @@
5359
5524
  "type": "int128"
5360
5525
  },
5361
5526
  {
5362
- "internalType": "int128",
5363
- "name": "fLeverage",
5364
- "type": "int128"
5365
- },
5366
- {
5367
- "internalType": "uint64",
5368
- "name": "iDeadline",
5369
- "type": "uint64"
5370
- },
5371
- {
5372
- "internalType": "uint64",
5373
- "name": "createdTimestamp",
5374
- "type": "uint64"
5375
- },
5376
- {
5377
- "internalType": "uint64",
5378
- "name": "submittedTimestamp",
5379
- "type": "uint64"
5527
+ "internalType": "bytes",
5528
+ "name": "brokerSignature",
5529
+ "type": "bytes"
5380
5530
  }
5381
5531
  ],
5382
5532
  "internalType": "struct IPerpetualOrder.Order",
@@ -5736,11 +5886,6 @@
5736
5886
  "name": "_poolId",
5737
5887
  "type": "uint8"
5738
5888
  },
5739
- {
5740
- "internalType": "address",
5741
- "name": "_receiver",
5742
- "type": "address"
5743
- },
5744
5889
  {
5745
5890
  "internalType": "int128",
5746
5891
  "name": "_fAmount",