@d8x/perpetuals-sdk 1.3.7 → 2.0.0-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 (271) 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/constants.d.ts +11 -12
  8. package/dist/cjs/constants.js +12 -13
  9. package/dist/cjs/constants.js.map +1 -1
  10. package/dist/cjs/contracts/ERC20.d.ts +146 -171
  11. package/dist/cjs/contracts/IPerpetualManager.d.ts +2534 -2225
  12. package/dist/cjs/contracts/IPyth.d.ts +181 -184
  13. package/dist/cjs/contracts/LimitOrderBook.d.ts +373 -401
  14. package/dist/cjs/contracts/LimitOrderBookBeacon.d.ts +53 -104
  15. package/dist/cjs/contracts/LimitOrderBookFactory.d.ts +129 -185
  16. package/dist/cjs/contracts/MockTokenSwap.d.ts +109 -169
  17. package/dist/cjs/contracts/Multicall3.d.ts +147 -211
  18. package/dist/cjs/contracts/OnDemandOracleUpgradeable.d.ts +342 -399
  19. package/dist/cjs/contracts/OracleFactory.d.ts +258 -238
  20. package/dist/cjs/contracts/PerpetualManagerProxy.d.ts +1099 -891
  21. package/dist/cjs/contracts/RedStoneAbi.d.ts +369 -488
  22. package/dist/cjs/contracts/ShareToken.d.ts +232 -285
  23. package/dist/cjs/contracts/common.d.ts +40 -11
  24. package/dist/cjs/contracts/factories/ERC20__factory.d.ts +2 -3
  25. package/dist/cjs/contracts/factories/ERC20__factory.js +3 -3
  26. package/dist/cjs/contracts/factories/ERC20__factory.js.map +1 -1
  27. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +2 -3
  28. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +3 -3
  29. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  30. package/dist/cjs/contracts/factories/IPyth__factory.d.ts +2 -3
  31. package/dist/cjs/contracts/factories/IPyth__factory.js +3 -3
  32. package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -1
  33. package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.d.ts +2 -3
  34. package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.js +3 -3
  35. package/dist/cjs/contracts/factories/LimitOrderBookBeacon__factory.js.map +1 -1
  36. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.d.ts +2 -3
  37. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js +3 -3
  38. package/dist/cjs/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  39. package/dist/cjs/contracts/factories/LimitOrderBook__factory.d.ts +2 -3
  40. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js +3 -3
  41. package/dist/cjs/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  42. package/dist/cjs/contracts/factories/MockTokenSwap__factory.d.ts +2 -3
  43. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js +3 -3
  44. package/dist/cjs/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  45. package/dist/cjs/contracts/factories/Multicall3__factory.d.ts +11 -9
  46. package/dist/cjs/contracts/factories/Multicall3__factory.js +7 -10
  47. package/dist/cjs/contracts/factories/Multicall3__factory.js.map +1 -1
  48. package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.d.ts +2 -3
  49. package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.js +3 -3
  50. package/dist/cjs/contracts/factories/OnDemandOracleUpgradeable__factory.js.map +1 -1
  51. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +2 -3
  52. package/dist/cjs/contracts/factories/OracleFactory__factory.js +3 -3
  53. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -1
  54. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.d.ts +2 -3
  55. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js +3 -3
  56. package/dist/cjs/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  57. package/dist/cjs/contracts/factories/RedStoneAbi__factory.d.ts +2 -3
  58. package/dist/cjs/contracts/factories/RedStoneAbi__factory.js +3 -3
  59. package/dist/cjs/contracts/factories/RedStoneAbi__factory.js.map +1 -1
  60. package/dist/cjs/contracts/factories/ShareToken__factory.d.ts +2 -3
  61. package/dist/cjs/contracts/factories/ShareToken__factory.js +3 -3
  62. package/dist/cjs/contracts/factories/ShareToken__factory.js.map +1 -1
  63. package/dist/cjs/d8XMath.d.ts +16 -16
  64. package/dist/cjs/d8XMath.js +48 -49
  65. package/dist/cjs/d8XMath.js.map +1 -1
  66. package/dist/cjs/liquidatorTool.d.ts +8 -8
  67. package/dist/cjs/liquidatorTool.js +5 -7
  68. package/dist/cjs/liquidatorTool.js.map +1 -1
  69. package/dist/cjs/liquidityProviderTool.d.ts +4 -5
  70. package/dist/cjs/liquidityProviderTool.js.map +1 -1
  71. package/dist/cjs/marketData.d.ts +27 -28
  72. package/dist/cjs/marketData.js +65 -69
  73. package/dist/cjs/marketData.js.map +1 -1
  74. package/dist/cjs/nodeSDKTypes.d.ts +35 -37
  75. package/dist/cjs/onChainPxFeed.d.ts +2 -2
  76. package/dist/cjs/onChainPxFeed.js +3 -3
  77. package/dist/cjs/onChainPxFeed.js.map +1 -1
  78. package/dist/cjs/onChainPxFeedAngle.d.ts +2 -2
  79. package/dist/cjs/onChainPxFeedAngle.js +4 -5
  80. package/dist/cjs/onChainPxFeedAngle.js.map +1 -1
  81. package/dist/cjs/onChainPxFeedRedStone.js +2 -2
  82. package/dist/cjs/onChainPxFeedRedStone.js.map +1 -1
  83. package/dist/cjs/orderExecutorTool.d.ts +7 -9
  84. package/dist/cjs/orderExecutorTool.js +52 -62
  85. package/dist/cjs/orderExecutorTool.js.map +1 -1
  86. package/dist/cjs/perpetualDataHandler.d.ts +38 -35
  87. package/dist/cjs/perpetualDataHandler.js +173 -167
  88. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  89. package/dist/cjs/perpetualEventHandler.d.ts +4 -5
  90. package/dist/cjs/perpetualEventHandler.js +2 -2
  91. package/dist/cjs/perpetualEventHandler.js.map +1 -1
  92. package/dist/cjs/priceFeeds.js +2 -3
  93. package/dist/cjs/priceFeeds.js.map +1 -1
  94. package/dist/cjs/referralCodeSigner.d.ts +1 -1
  95. package/dist/cjs/referralCodeSigner.js +12 -16
  96. package/dist/cjs/referralCodeSigner.js.map +1 -1
  97. package/dist/cjs/traderDigests.d.ts +2 -1
  98. package/dist/cjs/traderDigests.js +9 -11
  99. package/dist/cjs/traderDigests.js.map +1 -1
  100. package/dist/cjs/traderInterface.d.ts +8 -9
  101. package/dist/cjs/traderInterface.js +26 -23
  102. package/dist/cjs/traderInterface.js.map +1 -1
  103. package/dist/cjs/utils.d.ts +2 -3
  104. package/dist/cjs/utils.js +1 -2
  105. package/dist/cjs/utils.js.map +1 -1
  106. package/dist/cjs/version.d.ts +1 -1
  107. package/dist/cjs/version.js +1 -1
  108. package/dist/cjs/version.js.map +1 -1
  109. package/dist/cjs/writeAccessHandler.d.ts +7 -9
  110. package/dist/cjs/writeAccessHandler.js +13 -16
  111. package/dist/cjs/writeAccessHandler.js.map +1 -1
  112. package/dist/esm/accountTrade.d.ts +9 -9
  113. package/dist/esm/accountTrade.js +19 -17
  114. package/dist/esm/accountTrade.js.map +1 -1
  115. package/dist/esm/brokerTool.d.ts +11 -12
  116. package/dist/esm/brokerTool.js +2 -3
  117. package/dist/esm/brokerTool.js.map +1 -1
  118. package/dist/esm/constants.d.ts +11 -12
  119. package/dist/esm/constants.js +12 -13
  120. package/dist/esm/constants.js.map +1 -1
  121. package/dist/esm/contracts/ERC20.d.ts +146 -171
  122. package/dist/esm/contracts/IPerpetualManager.d.ts +2534 -2225
  123. package/dist/esm/contracts/IPyth.d.ts +181 -184
  124. package/dist/esm/contracts/LimitOrderBook.d.ts +373 -401
  125. package/dist/esm/contracts/LimitOrderBookBeacon.d.ts +53 -104
  126. package/dist/esm/contracts/LimitOrderBookFactory.d.ts +129 -185
  127. package/dist/esm/contracts/MockTokenSwap.d.ts +109 -169
  128. package/dist/esm/contracts/Multicall3.d.ts +147 -211
  129. package/dist/esm/contracts/OnDemandOracleUpgradeable.d.ts +342 -399
  130. package/dist/esm/contracts/OracleFactory.d.ts +258 -238
  131. package/dist/esm/contracts/PerpetualManagerProxy.d.ts +1099 -891
  132. package/dist/esm/contracts/RedStoneAbi.d.ts +369 -488
  133. package/dist/esm/contracts/ShareToken.d.ts +232 -285
  134. package/dist/esm/contracts/common.d.ts +40 -11
  135. package/dist/esm/contracts/factories/ERC20__factory.d.ts +2 -3
  136. package/dist/esm/contracts/factories/ERC20__factory.js +4 -4
  137. package/dist/esm/contracts/factories/ERC20__factory.js.map +1 -1
  138. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +2 -3
  139. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +4 -4
  140. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  141. package/dist/esm/contracts/factories/IPyth__factory.d.ts +2 -3
  142. package/dist/esm/contracts/factories/IPyth__factory.js +4 -4
  143. package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -1
  144. package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.d.ts +2 -3
  145. package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.js +4 -4
  146. package/dist/esm/contracts/factories/LimitOrderBookBeacon__factory.js.map +1 -1
  147. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.d.ts +2 -3
  148. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js +4 -4
  149. package/dist/esm/contracts/factories/LimitOrderBookFactory__factory.js.map +1 -1
  150. package/dist/esm/contracts/factories/LimitOrderBook__factory.d.ts +2 -3
  151. package/dist/esm/contracts/factories/LimitOrderBook__factory.js +4 -4
  152. package/dist/esm/contracts/factories/LimitOrderBook__factory.js.map +1 -1
  153. package/dist/esm/contracts/factories/MockTokenSwap__factory.d.ts +2 -3
  154. package/dist/esm/contracts/factories/MockTokenSwap__factory.js +4 -4
  155. package/dist/esm/contracts/factories/MockTokenSwap__factory.js.map +1 -1
  156. package/dist/esm/contracts/factories/Multicall3__factory.d.ts +11 -9
  157. package/dist/esm/contracts/factories/Multicall3__factory.js +8 -11
  158. package/dist/esm/contracts/factories/Multicall3__factory.js.map +1 -1
  159. package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.d.ts +2 -3
  160. package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.js +4 -4
  161. package/dist/esm/contracts/factories/OnDemandOracleUpgradeable__factory.js.map +1 -1
  162. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +2 -3
  163. package/dist/esm/contracts/factories/OracleFactory__factory.js +4 -4
  164. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -1
  165. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.d.ts +2 -3
  166. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js +4 -4
  167. package/dist/esm/contracts/factories/PerpetualManagerProxy__factory.js.map +1 -1
  168. package/dist/esm/contracts/factories/RedStoneAbi__factory.d.ts +2 -3
  169. package/dist/esm/contracts/factories/RedStoneAbi__factory.js +4 -4
  170. package/dist/esm/contracts/factories/RedStoneAbi__factory.js.map +1 -1
  171. package/dist/esm/contracts/factories/ShareToken__factory.d.ts +2 -3
  172. package/dist/esm/contracts/factories/ShareToken__factory.js +4 -4
  173. package/dist/esm/contracts/factories/ShareToken__factory.js.map +1 -1
  174. package/dist/esm/d8XMath.d.ts +16 -16
  175. package/dist/esm/d8XMath.js +48 -49
  176. package/dist/esm/d8XMath.js.map +1 -1
  177. package/dist/esm/liquidatorTool.d.ts +8 -8
  178. package/dist/esm/liquidatorTool.js +5 -7
  179. package/dist/esm/liquidatorTool.js.map +1 -1
  180. package/dist/esm/liquidityProviderTool.d.ts +4 -5
  181. package/dist/esm/liquidityProviderTool.js.map +1 -1
  182. package/dist/esm/marketData.d.ts +27 -28
  183. package/dist/esm/marketData.js +55 -59
  184. package/dist/esm/marketData.js.map +1 -1
  185. package/dist/esm/nodeSDKTypes.d.ts +35 -37
  186. package/dist/esm/onChainPxFeed.d.ts +2 -2
  187. package/dist/esm/onChainPxFeed.js +3 -3
  188. package/dist/esm/onChainPxFeed.js.map +1 -1
  189. package/dist/esm/onChainPxFeedAngle.d.ts +2 -2
  190. package/dist/esm/onChainPxFeedAngle.js +2 -3
  191. package/dist/esm/onChainPxFeedAngle.js.map +1 -1
  192. package/dist/esm/onChainPxFeedRedStone.js +1 -1
  193. package/dist/esm/onChainPxFeedRedStone.js.map +1 -1
  194. package/dist/esm/orderExecutorTool.d.ts +7 -9
  195. package/dist/esm/orderExecutorTool.js +38 -48
  196. package/dist/esm/orderExecutorTool.js.map +1 -1
  197. package/dist/esm/perpetualDataHandler.d.ts +38 -35
  198. package/dist/esm/perpetualDataHandler.js +114 -108
  199. package/dist/esm/perpetualDataHandler.js.map +1 -1
  200. package/dist/esm/perpetualEventHandler.d.ts +4 -5
  201. package/dist/esm/perpetualEventHandler.js +2 -2
  202. package/dist/esm/perpetualEventHandler.js.map +1 -1
  203. package/dist/esm/priceFeeds.js +2 -3
  204. package/dist/esm/priceFeeds.js.map +1 -1
  205. package/dist/esm/referralCodeSigner.d.ts +1 -1
  206. package/dist/esm/referralCodeSigner.js +6 -10
  207. package/dist/esm/referralCodeSigner.js.map +1 -1
  208. package/dist/esm/traderDigests.d.ts +2 -1
  209. package/dist/esm/traderDigests.js +2 -4
  210. package/dist/esm/traderDigests.js.map +1 -1
  211. package/dist/esm/traderInterface.d.ts +8 -9
  212. package/dist/esm/traderInterface.js +26 -23
  213. package/dist/esm/traderInterface.js.map +1 -1
  214. package/dist/esm/utils.d.ts +2 -3
  215. package/dist/esm/utils.js +1 -2
  216. package/dist/esm/utils.js.map +1 -1
  217. package/dist/esm/version.d.ts +1 -1
  218. package/dist/esm/version.js +1 -1
  219. package/dist/esm/version.js.map +1 -1
  220. package/dist/esm/writeAccessHandler.d.ts +7 -9
  221. package/dist/esm/writeAccessHandler.js +5 -8
  222. package/dist/esm/writeAccessHandler.js.map +1 -1
  223. package/package.json +7 -17
  224. package/src/accountTrade.ts +32 -34
  225. package/src/brokerTool.ts +17 -20
  226. package/src/constants.ts +12 -13
  227. package/src/contracts/ERC20.ts +236 -350
  228. package/src/contracts/IPerpetualManager.ts +3359 -5050
  229. package/src/contracts/IPyth.ts +272 -409
  230. package/src/contracts/LimitOrderBook.ts +503 -779
  231. package/src/contracts/LimitOrderBookBeacon.ts +123 -171
  232. package/src/contracts/LimitOrderBookFactory.ts +263 -332
  233. package/src/contracts/MockTokenSwap.ts +237 -275
  234. package/src/contracts/Multicall3.ts +208 -374
  235. package/src/contracts/OnDemandOracleUpgradeable.ts +569 -782
  236. package/src/contracts/OracleFactory.ts +410 -538
  237. package/src/contracts/PerpetualManagerProxy.ts +1898 -1426
  238. package/src/contracts/RedStoneAbi.ts +486 -986
  239. package/src/contracts/ShareToken.ts +376 -557
  240. package/src/contracts/common.ts +108 -21
  241. package/src/contracts/factories/ERC20__factory.ts +4 -5
  242. package/src/contracts/factories/IPerpetualManager__factory.ts +4 -5
  243. package/src/contracts/factories/IPyth__factory.ts +4 -5
  244. package/src/contracts/factories/LimitOrderBookBeacon__factory.ts +5 -6
  245. package/src/contracts/factories/LimitOrderBookFactory__factory.ts +5 -6
  246. package/src/contracts/factories/LimitOrderBook__factory.ts +4 -5
  247. package/src/contracts/factories/MockTokenSwap__factory.ts +4 -5
  248. package/src/contracts/factories/Multicall3__factory.ts +21 -19
  249. package/src/contracts/factories/OnDemandOracleUpgradeable__factory.ts +5 -6
  250. package/src/contracts/factories/OracleFactory__factory.ts +4 -5
  251. package/src/contracts/factories/PerpetualManagerProxy__factory.ts +5 -6
  252. package/src/contracts/factories/RedStoneAbi__factory.ts +4 -8
  253. package/src/contracts/factories/ShareToken__factory.ts +4 -8
  254. package/src/d8XMath.ts +57 -57
  255. package/src/liquidatorTool.ts +12 -15
  256. package/src/liquidityProviderTool.ts +7 -5
  257. package/src/marketData.ts +110 -121
  258. package/src/nodeSDKTypes.ts +51 -38
  259. package/src/onChainPxFeed.ts +4 -4
  260. package/src/onChainPxFeedAngle.ts +5 -7
  261. package/src/onChainPxFeedRedStone.ts +1 -3
  262. package/src/orderExecutorTool.ts +100 -108
  263. package/src/perpetualDataHandler.ts +181 -167
  264. package/src/perpetualEventHandler.ts +16 -17
  265. package/src/priceFeeds.ts +2 -3
  266. package/src/referralCodeSigner.ts +6 -10
  267. package/src/traderDigests.ts +8 -5
  268. package/src/traderInterface.ts +45 -31
  269. package/src/utils.ts +3 -4
  270. package/src/version.ts +1 -1
  271. 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