@d8x/perpetuals-sdk 1.3.7 → 2.0.1-alpha

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 (286) hide show
  1. package/dist/cjs/accountTrade.d.ts +9 -9
  2. package/dist/cjs/accountTrade.js +19 -17
  3. package/dist/cjs/accountTrade.js.map +1 -1
  4. package/dist/cjs/brokerTool.d.ts +11 -12
  5. package/dist/cjs/brokerTool.js +7 -8
  6. package/dist/cjs/brokerTool.js.map +1 -1
  7. package/dist/cjs/config/priceFeedConfig.json +16 -2
  8. package/dist/cjs/config/symbolList.json +2 -1
  9. package/dist/cjs/constants.d.ts +12 -12
  10. package/dist/cjs/constants.js +14 -14
  11. package/dist/cjs/constants.js.map +1 -1
  12. package/dist/cjs/contracts/ERC20.d.ts +146 -171
  13. package/dist/cjs/contracts/IPerpetualManager.d.ts +2534 -2225
  14. package/dist/cjs/contracts/IPyth.d.ts +181 -184
  15. package/dist/cjs/contracts/LimitOrderBook.d.ts +373 -401
  16. package/dist/cjs/contracts/LimitOrderBookBeacon.d.ts +53 -104
  17. package/dist/cjs/contracts/LimitOrderBookFactory.d.ts +129 -185
  18. package/dist/cjs/contracts/MockTokenSwap.d.ts +109 -169
  19. package/dist/cjs/contracts/Multicall3.d.ts +147 -211
  20. package/dist/cjs/contracts/OnDemandOracleUpgradeable.d.ts +342 -399
  21. package/dist/cjs/contracts/OracleFactory.d.ts +258 -238
  22. package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +1099 -891
  23. package/dist/cjs/contracts/RedStoneAbi.d.ts +369 -488
  24. package/dist/cjs/contracts/ShareToken.d.ts +232 -285
  25. package/dist/cjs/contracts/common.d.ts +40 -11
  26. package/dist/cjs/contracts/factories/ERC20__factory.d.ts +2 -3
  27. package/dist/cjs/contracts/factories/ERC20__factory.js +3 -3
  28. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  29. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +2 -3
  30. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +3 -3
  31. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  32. package/dist/cjs/contracts/factories/IPyth__factory.d.ts +2 -3
  33. package/dist/cjs/contracts/factories/IPyth__factory.js +3 -3
  34. package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -1
  35. package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.d.ts +2 -3
  36. package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.js +3 -3
  37. package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.js.map +1 -1
  38. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.d.ts +2 -3
  39. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +3 -3
  40. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  41. package/dist/cjs/contracts/factories/LimitOrderBook__factory.d.ts +2 -3
  42. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +3 -3
  43. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  44. package/dist/cjs/contracts/factories/MockTokenSwap__factory.d.ts +2 -3
  45. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +3 -3
  46. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  47. package/dist/cjs/contracts/factories/Multicall3__factory.d.ts +11 -9
  48. package/dist/cjs/contracts/factories/Multicall3__factory.js +7 -10
  49. package/dist/cjs/contracts/factories/Multicall3__factory.js.map +1 -1
  50. package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.d.ts +2 -3
  51. package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.js +3 -3
  52. package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.js.map +1 -1
  53. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +2 -3
  54. package/dist/cjs/contracts/factories/OracleFactory__factory.js +3 -3
  55. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
  56. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +2 -3
  57. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +3 -3
  58. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  59. package/dist/cjs/contracts/factories/RedStoneAbi__factory.d.ts +2 -3
  60. package/dist/cjs/contracts/factories/RedStoneAbi__factory.js +3 -3
  61. package/dist/cjs/contracts/factories/RedStoneAbi__factory.js.map +1 -1
  62. package/dist/cjs/contracts/factories/ShareToken__factory.d.ts +2 -3
  63. package/dist/cjs/contracts/factories/ShareToken__factory.js +3 -3
  64. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  65. package/dist/cjs/d8XMath.d.ts +28 -16
  66. package/dist/cjs/d8XMath.js +70 -50
  67. package/dist/cjs/d8XMath.js.map +1 -1
  68. package/dist/cjs/liquidatorTool.d.ts +8 -8
  69. package/dist/cjs/liquidatorTool.js +5 -7
  70. package/dist/cjs/liquidatorTool.js.map +1 -1
  71. package/dist/cjs/liquidityProviderTool.d.ts +4 -5
  72. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  73. package/dist/cjs/marketData.d.ts +27 -28
  74. package/dist/cjs/marketData.js +65 -69
  75. package/dist/cjs/marketData.js.map +1 -1
  76. package/dist/cjs/nodeSDKTypes.d.ts +35 -37
  77. package/dist/cjs/onChainPxFeed.d.ts +2 -2
  78. package/dist/cjs/onChainPxFeed.js +3 -3
  79. package/dist/cjs/onChainPxFeed.js.map +1 -1
  80. package/dist/cjs/onChainPxFeedAngle.d.ts +2 -2
  81. package/dist/cjs/onChainPxFeedAngle.js +4 -5
  82. package/dist/cjs/onChainPxFeedAngle.js.map +1 -1
  83. package/dist/cjs/onChainPxFeedRedStone.js +2 -2
  84. package/dist/cjs/onChainPxFeedRedStone.js.map +1 -1
  85. package/dist/cjs/orderExecutorTool.d.ts +7 -9
  86. package/dist/cjs/orderExecutorTool.js +52 -62
  87. package/dist/cjs/orderExecutorTool.js.map +1 -1
  88. package/dist/cjs/perpetualDataHandler.d.ts +44 -35
  89. package/dist/cjs/perpetualDataHandler.js +194 -170
  90. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  91. package/dist/cjs/perpetualEventHandler.d.ts +4 -5
  92. package/dist/cjs/perpetualEventHandler.js +2 -2
  93. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  94. package/dist/cjs/polyMktsPxFeed.d.ts +14 -0
  95. package/dist/cjs/polyMktsPxFeed.js +59 -0
  96. package/dist/cjs/polyMktsPxFeed.js.map +1 -0
  97. package/dist/cjs/priceFeeds.d.ts +2 -0
  98. package/dist/cjs/priceFeeds.js +44 -9
  99. package/dist/cjs/priceFeeds.js.map +1 -1
  100. package/dist/cjs/referralCodeSigner.d.ts +1 -1
  101. package/dist/cjs/referralCodeSigner.js +12 -16
  102. package/dist/cjs/referralCodeSigner.js.map +1 -1
  103. package/dist/cjs/traderDigests.d.ts +2 -1
  104. package/dist/cjs/traderDigests.js +9 -11
  105. package/dist/cjs/traderDigests.js.map +1 -1
  106. package/dist/cjs/traderInterface.d.ts +8 -9
  107. package/dist/cjs/traderInterface.js +40 -23
  108. package/dist/cjs/traderInterface.js.map +1 -1
  109. package/dist/cjs/utils.d.ts +2 -3
  110. package/dist/cjs/utils.js +1 -2
  111. package/dist/cjs/utils.js.map +1 -1
  112. package/dist/cjs/version.d.ts +1 -1
  113. package/dist/cjs/version.js +1 -1
  114. package/dist/cjs/version.js.map +1 -1
  115. package/dist/cjs/writeAccessHandler.d.ts +7 -9
  116. package/dist/cjs/writeAccessHandler.js +13 -16
  117. package/dist/cjs/writeAccessHandler.js.map +1 -1
  118. package/dist/esm/accountTrade.d.ts +9 -9
  119. package/dist/esm/accountTrade.js +19 -17
  120. package/dist/esm/accountTrade.js.map +1 -1
  121. package/dist/esm/brokerTool.d.ts +11 -12
  122. package/dist/esm/brokerTool.js +2 -3
  123. package/dist/esm/brokerTool.js.map +1 -1
  124. package/dist/esm/config/priceFeedConfig.json +16 -2
  125. package/dist/esm/config/symbolList.json +2 -1
  126. package/dist/esm/constants.d.ts +12 -12
  127. package/dist/esm/constants.js +13 -13
  128. package/dist/esm/constants.js.map +1 -1
  129. package/dist/esm/contracts/ERC20.d.ts +146 -171
  130. package/dist/esm/contracts/IPerpetualManager.d.ts +2534 -2225
  131. package/dist/esm/contracts/IPyth.d.ts +181 -184
  132. package/dist/esm/contracts/LimitOrderBook.d.ts +373 -401
  133. package/dist/esm/contracts/LimitOrderBookBeacon.d.ts +53 -104
  134. package/dist/esm/contracts/LimitOrderBookFactory.d.ts +129 -185
  135. package/dist/esm/contracts/MockTokenSwap.d.ts +109 -169
  136. package/dist/esm/contracts/Multicall3.d.ts +147 -211
  137. package/dist/esm/contracts/OnDemandOracleUpgradeable.d.ts +342 -399
  138. package/dist/esm/contracts/OracleFactory.d.ts +258 -238
  139. package/dist/esm/contracts/PerpetualManagerProxy.d.ts +1099 -891
  140. package/dist/esm/contracts/RedStoneAbi.d.ts +369 -488
  141. package/dist/esm/contracts/ShareToken.d.ts +232 -285
  142. package/dist/esm/contracts/common.d.ts +40 -11
  143. package/dist/esm/contracts/factories/ERC20__factory.d.ts +2 -3
  144. package/dist/esm/contracts/factories/ERC20__factory.js +4 -4
  145. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  146. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +2 -3
  147. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +4 -4
  148. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  149. package/dist/esm/contracts/factories/IPyth__factory.d.ts +2 -3
  150. package/dist/esm/contracts/factories/IPyth__factory.js +4 -4
  151. package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -1
  152. package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.d.ts +2 -3
  153. package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.js +4 -4
  154. package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.js.map +1 -1
  155. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.d.ts +2 -3
  156. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +4 -4
  157. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  158. package/dist/esm/contracts/factories/LimitOrderBook__factory.d.ts +2 -3
  159. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +4 -4
  160. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  161. package/dist/esm/contracts/factories/MockTokenSwap__factory.d.ts +2 -3
  162. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +4 -4
  163. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  164. package/dist/esm/contracts/factories/Multicall3__factory.d.ts +11 -9
  165. package/dist/esm/contracts/factories/Multicall3__factory.js +8 -11
  166. package/dist/esm/contracts/factories/Multicall3__factory.js.map +1 -1
  167. package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.d.ts +2 -3
  168. package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.js +4 -4
  169. package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.js.map +1 -1
  170. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +2 -3
  171. package/dist/esm/contracts/factories/OracleFactory__factory.js +4 -4
  172. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
  173. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +2 -3
  174. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +4 -4
  175. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  176. package/dist/esm/contracts/factories/RedStoneAbi__factory.d.ts +2 -3
  177. package/dist/esm/contracts/factories/RedStoneAbi__factory.js +4 -4
  178. package/dist/esm/contracts/factories/RedStoneAbi__factory.js.map +1 -1
  179. package/dist/esm/contracts/factories/ShareToken__factory.d.ts +2 -3
  180. package/dist/esm/contracts/factories/ShareToken__factory.js +4 -4
  181. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  182. package/dist/esm/d8XMath.d.ts +28 -16
  183. package/dist/esm/d8XMath.js +67 -49
  184. package/dist/esm/d8XMath.js.map +1 -1
  185. package/dist/esm/liquidatorTool.d.ts +8 -8
  186. package/dist/esm/liquidatorTool.js +5 -7
  187. package/dist/esm/liquidatorTool.js.map +1 -1
  188. package/dist/esm/liquidityProviderTool.d.ts +4 -5
  189. package/dist/esm/liquidityProviderTool.js.map +1 -1
  190. package/dist/esm/marketData.d.ts +27 -28
  191. package/dist/esm/marketData.js +55 -59
  192. package/dist/esm/marketData.js.map +1 -1
  193. package/dist/esm/nodeSDKTypes.d.ts +35 -37
  194. package/dist/esm/onChainPxFeed.d.ts +2 -2
  195. package/dist/esm/onChainPxFeed.js +3 -3
  196. package/dist/esm/onChainPxFeed.js.map +1 -1
  197. package/dist/esm/onChainPxFeedAngle.d.ts +2 -2
  198. package/dist/esm/onChainPxFeedAngle.js +2 -3
  199. package/dist/esm/onChainPxFeedAngle.js.map +1 -1
  200. package/dist/esm/onChainPxFeedRedStone.js +1 -1
  201. package/dist/esm/onChainPxFeedRedStone.js.map +1 -1
  202. package/dist/esm/orderExecutorTool.d.ts +7 -9
  203. package/dist/esm/orderExecutorTool.js +38 -48
  204. package/dist/esm/orderExecutorTool.js.map +1 -1
  205. package/dist/esm/perpetualDataHandler.d.ts +44 -35
  206. package/dist/esm/perpetualDataHandler.js +137 -113
  207. package/dist/esm/perpetualDataHandler.js.map +1 -1
  208. package/dist/esm/perpetualEventHandler.d.ts +4 -5
  209. package/dist/esm/perpetualEventHandler.js +2 -2
  210. package/dist/esm/perpetualEventHandler.js.map +1 -1
  211. package/dist/esm/polyMktsPxFeed.d.ts +14 -0
  212. package/dist/esm/polyMktsPxFeed.js +56 -0
  213. package/dist/esm/polyMktsPxFeed.js.map +1 -0
  214. package/dist/esm/priceFeeds.d.ts +2 -0
  215. package/dist/esm/priceFeeds.js +44 -9
  216. package/dist/esm/priceFeeds.js.map +1 -1
  217. package/dist/esm/referralCodeSigner.d.ts +1 -1
  218. package/dist/esm/referralCodeSigner.js +6 -10
  219. package/dist/esm/referralCodeSigner.js.map +1 -1
  220. package/dist/esm/traderDigests.d.ts +2 -1
  221. package/dist/esm/traderDigests.js +2 -4
  222. package/dist/esm/traderDigests.js.map +1 -1
  223. package/dist/esm/traderInterface.d.ts +8 -9
  224. package/dist/esm/traderInterface.js +42 -25
  225. package/dist/esm/traderInterface.js.map +1 -1
  226. package/dist/esm/utils.d.ts +2 -3
  227. package/dist/esm/utils.js +1 -2
  228. package/dist/esm/utils.js.map +1 -1
  229. package/dist/esm/version.d.ts +1 -1
  230. package/dist/esm/version.js +1 -1
  231. package/dist/esm/version.js.map +1 -1
  232. package/dist/esm/writeAccessHandler.d.ts +7 -9
  233. package/dist/esm/writeAccessHandler.js +5 -8
  234. package/dist/esm/writeAccessHandler.js.map +1 -1
  235. package/package.json +7 -17
  236. package/src/accountTrade.ts +32 -34
  237. package/src/brokerTool.ts +17 -20
  238. package/src/config/priceFeedConfig.json +16 -2
  239. package/src/config/symbolList.json +2 -1
  240. package/src/constants.ts +13 -13
  241. package/src/contracts/ERC20.ts +236 -350
  242. package/src/contracts/IPerpetualManager.ts +3359 -5050
  243. package/src/contracts/IPyth.ts +272 -409
  244. package/src/contracts/LimitOrderBook.ts +503 -779
  245. package/src/contracts/LimitOrderBookBeacon.ts +123 -171
  246. package/src/contracts/LimitOrderBookFactory.ts +263 -332
  247. package/src/contracts/MockTokenSwap.ts +237 -275
  248. package/src/contracts/Multicall3.ts +208 -374
  249. package/src/contracts/OnDemandOracleUpgradeable.ts +569 -782
  250. package/src/contracts/OracleFactory.ts +410 -538
  251. package/src/contracts/PerpetualManagerProxy.ts +1898 -1426
  252. package/src/contracts/RedStoneAbi.ts +486 -986
  253. package/src/contracts/ShareToken.ts +376 -557
  254. package/src/contracts/common.ts +108 -21
  255. package/src/contracts/factories/ERC20__factory.ts +4 -5
  256. package/src/contracts/factories/IPerpetualManager__factory.ts +4 -5
  257. package/src/contracts/factories/IPyth__factory.ts +4 -5
  258. package/src/contracts/factories/LimitOrderBookBeacon__factory.ts +5 -6
  259. package/src/contracts/factories/LimitOrderBookFactory__factory.ts +5 -6
  260. package/src/contracts/factories/LimitOrderBook__factory.ts +4 -5
  261. package/src/contracts/factories/MockTokenSwap__factory.ts +4 -5
  262. package/src/contracts/factories/Multicall3__factory.ts +21 -19
  263. package/src/contracts/factories/OnDemandOracleUpgradeable__factory.ts +5 -6
  264. package/src/contracts/factories/OracleFactory__factory.ts +4 -5
  265. package/src/contracts/factories/PerpetualManagerProxy__factory.ts +5 -6
  266. package/src/contracts/factories/RedStoneAbi__factory.ts +4 -8
  267. package/src/contracts/factories/ShareToken__factory.ts +4 -8
  268. package/src/d8XMath.ts +78 -57
  269. package/src/liquidatorTool.ts +12 -15
  270. package/src/liquidityProviderTool.ts +7 -5
  271. package/src/marketData.ts +110 -121
  272. package/src/nodeSDKTypes.ts +51 -38
  273. package/src/onChainPxFeed.ts +4 -4
  274. package/src/onChainPxFeedAngle.ts +5 -7
  275. package/src/onChainPxFeedRedStone.ts +1 -3
  276. package/src/orderExecutorTool.ts +100 -108
  277. package/src/perpetualDataHandler.ts +209 -172
  278. package/src/perpetualEventHandler.ts +16 -17
  279. package/src/polyMktsPxFeed.ts +71 -0
  280. package/src/priceFeeds.ts +46 -10
  281. package/src/referralCodeSigner.ts +6 -10
  282. package/src/traderDigests.ts +8 -5
  283. package/src/traderInterface.ts +61 -33
  284. package/src/utils.ts +3 -4
  285. package/src/version.ts +1 -1
  286. package/src/writeAccessHandler.ts +26 -17
@@ -1,6 +1,4 @@
1
- import { BigNumber, type BigNumberish } from "@ethersproject/bignumber";
2
- import type { BytesLike } from "@ethersproject/bytes";
3
- import type { ContractInterface, ContractTransaction } from "@ethersproject/contracts";
1
+ import { BigNumberish, BytesLike, ContractTransaction, ContractTransactionResponse, Interface } from "ethers";
4
2
  import { CollaterlCCY } from "./constants";
5
3
 
6
4
  export interface NodeSDKConfig {
@@ -16,10 +14,10 @@ export interface NodeSDKConfig {
16
14
  symbolListLocation: string;
17
15
  priceFeedConfigNetwork: string;
18
16
  gasLimit?: number | undefined;
19
- proxyABI?: ContractInterface | undefined;
20
- lobFactoryABI?: ContractInterface | undefined;
21
- lobABI?: ContractInterface | undefined;
22
- shareTokenABI?: ContractInterface | undefined;
17
+ proxyABI?: Interface | undefined;
18
+ lobFactoryABI?: Interface | undefined;
19
+ lobABI?: Interface | undefined;
20
+ shareTokenABI?: Interface | undefined;
23
21
  priceFeedEndpoints?: PriceFeedEndpointsOptionalWrite;
24
22
  multicall?: string;
25
23
  }
@@ -27,7 +25,7 @@ export interface NodeSDKConfig {
27
25
  export type SettlementConfig = SettlementCcyItem[];
28
26
 
29
27
  export interface SettlementCcyItem {
30
- perpFlags: BigNumberish;
28
+ perpFlags: bigint;
31
29
  description: string;
32
30
  settleTokenDecimals: number;
33
31
  settleCCY: string;
@@ -79,7 +77,7 @@ export interface PerpetualStaticInfo {
79
77
  referralRebate: number;
80
78
  priceIds: string[];
81
79
  isPyth: boolean[];
82
- perpFlags: BigNumberish;
80
+ perpFlags: bigint;
83
81
  }
84
82
 
85
83
  /*
@@ -156,7 +154,7 @@ export interface PerpetualState {
156
154
  }
157
155
 
158
156
  export interface OrderResponse {
159
- tx: ContractTransaction;
157
+ tx: ContractTransactionResponse;
160
158
  orderId: string;
161
159
  }
162
160
 
@@ -195,16 +193,16 @@ export interface TradeEvent {
195
193
  /**
196
194
  * @global
197
195
  * @typedef {Object} SmartContractOrder
198
- * @property {BigNumberish} flags
196
+ * @property {bigint} flags
199
197
  * @property {number} iPerpetualId
200
198
  * @property {number} brokerFeeTbps
201
199
  * @property {string} traderAddr
202
200
  * @property {string} brokerAddr
203
201
  * @property {string} executorAddr
204
202
  * @property {BytesLike} brokerSignature
205
- * @property {BigNumberish} fAmount
206
- * @property {BigNumberish} fLimitPrice
207
- * @property {BigNumberish} fTriggerPrice
203
+ * @property {bigint} fAmount
204
+ * @property {bigint} fLimitPrice
205
+ * @property {bigint} fTriggerPrice
208
206
  * @property {number} leverageTDR
209
207
  * @property {number} iDeadline
210
208
  * @property {number} executionTimestamp
@@ -212,37 +210,52 @@ export interface TradeEvent {
212
210
  */
213
211
  export interface SmartContractOrder {
214
212
  flags: BigNumberish;
215
- iPerpetualId: number;
216
- brokerFeeTbps: number;
213
+ iPerpetualId: BigNumberish;
214
+ brokerFeeTbps: BigNumberish;
217
215
  traderAddr: string;
218
216
  brokerAddr: string;
219
217
  executorAddr: string;
220
218
  brokerSignature: BytesLike;
221
- fAmount: BigNumberish;
222
- fLimitPrice: BigNumberish;
223
- fTriggerPrice: BigNumberish;
224
- leverageTDR: number;
225
- iDeadline: number;
226
- executionTimestamp: number;
227
- submittedTimestamp: number;
219
+ fAmount: bigint;
220
+ fLimitPrice: bigint;
221
+ fTriggerPrice: bigint;
222
+ leverageTDR: BigNumberish;
223
+ iDeadline: BigNumberish;
224
+ executionTimestamp: BigNumberish;
225
+ submittedTimestamp: BigNumberish;
228
226
  }
229
-
227
+ // {
228
+ // leverageTDR: bigint;
229
+ // brokerFeeTbps: bigint;
230
+ // iPerpetualId: bigint;
231
+ // traderAddr: string;
232
+ // executionTimestamp: bigint;
233
+ // brokerAddr: string;
234
+ // submittedTimestamp: bigint;
235
+ // flags: bigint;
236
+ // iDeadline: bigint;
237
+ // executorAddr: string;
238
+ // fAmount: bigint;
239
+ // fLimitPrice: bigint;
240
+ // fTriggerPrice: bigint;
241
+ // brokerSignature: string;
242
+ // };
230
243
  /**
231
244
  * @global
232
245
  * @typedef {Object} ClientOrder
233
- * @property {BigNumberish} flags
234
- * @property {BigNumberish} iPerpetualId
235
- * @property {BigNumberish} brokerFeeTbps
246
+ * @property {bigint} flags
247
+ * @property {bigint} iPerpetualId
248
+ * @property {bigint} brokerFeeTbps
236
249
  * @property {string} traderAddr
237
250
  * @property {string} brokerAddr
238
251
  * @property {string} executorAddr
239
252
  * @property {BytesLike} brokerSignature
240
- * @property {BigNumberish} fAmount
241
- * @property {BigNumberish} fLimitPrice
242
- * @property {BigNumberish} fTriggerPrice
243
- * @property {BigNumberish} leverageTDR
244
- * @property {BigNumberish} iDeadline
245
- * @property {BigNumberish} executionTimestamp
253
+ * @property {bigint} fAmount
254
+ * @property {bigint} fLimitPrice
255
+ * @property {bigint} fTriggerPrice
256
+ * @property {bigint} leverageTDR
257
+ * @property {bigint} iDeadline
258
+ * @property {bigint} executionTimestamp
246
259
  * @property {string} parentChildDigest1
247
260
  * @property {string} parentChildDigest2
248
261
  * @property {string} callbackTarget
@@ -255,9 +268,9 @@ export interface ClientOrder {
255
268
  brokerAddr: string;
256
269
  executorAddr: string;
257
270
  brokerSignature: BytesLike;
258
- fAmount: BigNumberish;
259
- fLimitPrice: BigNumberish;
260
- fTriggerPrice: BigNumberish;
271
+ fAmount: bigint;
272
+ fLimitPrice: bigint;
273
+ fTriggerPrice: bigint;
261
274
  leverageTDR: BigNumberish;
262
275
  iDeadline: BigNumberish;
263
276
  executionTimestamp: BigNumberish;
@@ -316,9 +329,9 @@ export interface PriceFeedSubmission {
316
329
  }
317
330
 
318
331
  export interface PriceFeedFormat {
319
- conf: BigNumber;
332
+ conf: bigint;
320
333
  expo: number;
321
- price: BigNumber;
334
+ price: bigint;
322
335
  publish_time: number;
323
336
  }
324
337
 
@@ -1,4 +1,4 @@
1
- import { StaticJsonRpcProvider } from "@ethersproject/providers";
1
+ import { JsonRpcProvider, Provider } from "ethers";
2
2
 
3
3
  /**
4
4
  * OnChainPxFeed: get a price from a chainlink-style oracle
@@ -7,7 +7,7 @@ export default abstract class OnChainPxFeed {
7
7
  public rpcs: string[];
8
8
  protected lastRpc: number = 0;
9
9
  protected lastPx: number | undefined;
10
- protected provider: StaticJsonRpcProvider;
10
+ protected provider: Provider;
11
11
  protected lastResponseTs: number = 0;
12
12
 
13
13
  protected abstract fetchPrice(delay: boolean): Promise<void>;
@@ -15,12 +15,12 @@ export default abstract class OnChainPxFeed {
15
15
  public constructor(rpcs: string[]) {
16
16
  this.rpcs = rpcs;
17
17
  this.lastRpc = Math.floor(Math.random() * rpcs.length);
18
- this.provider = new StaticJsonRpcProvider(this.rpcs[this.lastRpc]);
18
+ this.provider = new JsonRpcProvider(this.rpcs[this.lastRpc]);
19
19
  }
20
20
 
21
21
  protected setRpc() {
22
22
  this.lastRpc = (this.lastRpc + 1) % this.rpcs.length;
23
- this.provider = new StaticJsonRpcProvider(this.rpcs[this.lastRpc]);
23
+ this.provider = new JsonRpcProvider(this.rpcs[this.lastRpc]);
24
24
  }
25
25
 
26
26
  public async getPrice(): Promise<number> {
@@ -1,9 +1,7 @@
1
- import { Contract } from "@ethersproject/contracts";
2
- import { StaticJsonRpcProvider } from "@ethersproject/providers";
3
1
  import { decNToFloat } from "./d8XMath";
4
- import { BigNumber } from "ethers";
5
2
  import { sleep } from "./utils";
6
3
  import OnChainPxFeed from "./onChainPxFeed";
4
+ import { Contract, Provider } from "ethers";
7
5
 
8
6
  /**
9
7
  * OnChainPxFeedAngle: get STUSD-USDC exchange rate
@@ -49,7 +47,7 @@ export default class OnChainPxFeedAngle extends OnChainPxFeed {
49
47
  * @param provider arbitrum provider
50
48
  * @returns STUSD-USDC
51
49
  */
52
- export async function STUSDToUSDC(provider: StaticJsonRpcProvider): Promise<number> {
50
+ export async function STUSDToUSDC(provider: Provider): Promise<number> {
53
51
  // ABIs for IERC4626 and ITransmuter contracts
54
52
  const ierc4626ABI = ["function previewMint(uint256) external view returns (uint256)"];
55
53
  const iTransmuterABI = ["function quoteOut(uint256, address, address) external view returns (uint256)"];
@@ -64,11 +62,11 @@ export async function STUSDToUSDC(provider: StaticJsonRpcProvider): Promise<numb
64
62
  const iTransmuterContract = new Contract(transmuterAddr, iTransmuterABI, provider);
65
63
 
66
64
  // Call previewMint to get amountUSDA
67
- const ONE_STUSD = BigNumber.from(10).pow(BigNumber.from(18));
68
- const amountUSDA: BigNumber = await ierc4626Contract.previewMint(ONE_STUSD);
65
+ const ONE_STUSD = 10n ** 18n; // BigNumber.from(10).pow(BigNumber.from(18));
66
+ const amountUSDA: bigint = await ierc4626Contract.previewMint(ONE_STUSD);
69
67
 
70
68
  // Call quoteOut to get amountIn
71
- const amountUSDC: BigNumber = await iTransmuterContract.quoteOut(amountUSDA, USDC, USDA);
69
+ const amountUSDC: bigint = await iTransmuterContract.quoteOut(amountUSDA, USDC, USDA);
72
70
 
73
71
  return decNToFloat(amountUSDC, 6);
74
72
  }
@@ -1,9 +1,7 @@
1
- import { Contract } from "@ethersproject/contracts";
2
- import { StaticJsonRpcProvider } from "@ethersproject/providers";
3
1
  import { decNToFloat } from "./d8XMath";
4
- import { BigNumber } from "ethers";
5
2
  import { sleep } from "./utils";
6
3
  import OnChainPxFeed from "./onChainPxFeed";
4
+ import { Contract } from "ethers";
7
5
 
8
6
  /**
9
7
  * OnChainPxFeedRedStone: get a price from a chainlink-style oracle