@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 +1 @@
1
- {"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeAccessHandler.js","sourceRoot":"","sources":["../../src/writeAccessHandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d8x/perpetuals-sdk",
3
- "version": "1.3.7",
3
+ "version": "2.0.1-alpha",
4
4
  "description": "Node TypeScript SDK for D8X Perpetual Futures",
5
5
  "author": "D8X",
6
6
  "homepage": "https://github.com/D8-X/d8x-futures-node-sdk#readme",
@@ -30,7 +30,7 @@
30
30
  "prebuild": "node -p \"'export const D8X_SDK_VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts",
31
31
  "prepublish": "yarn build",
32
32
  "prepare": "npm run build",
33
- "typechain": "typechain --target ethers-v5 --out-dir ./src/contracts './src/abi/**/*.json'"
33
+ "typechain": "typechain --target ethers-v6 --out-dir ./src/contracts './src/abi/**/*.json'"
34
34
  },
35
35
  "main": "./dist/cjs/index.js",
36
36
  "module": "./dist/esm/index.js",
@@ -41,21 +41,11 @@
41
41
  "doc"
42
42
  ],
43
43
  "dependencies": {
44
- "@ethersproject/abi": "^5.7.0",
45
- "@ethersproject/abstract-signer": "^5.7.0",
46
- "@ethersproject/bignumber": "^5.7.0",
47
- "@ethersproject/bytes": "^5.7.0",
48
- "@ethersproject/contracts": "^5.7.0",
49
- "@ethersproject/keccak256": "^5.7.0",
50
- "@ethersproject/providers": "^5.7.2",
51
- "@ethersproject/strings": "^5.7.0",
52
- "@ethersproject/units": "^5.7.0",
53
- "@ethersproject/wallet": "^5.7.0",
54
- "@typechain/ethers-v5": "^11.1.1",
55
- "buffer": "^6.0.3",
56
- "ethers": "^5.7.2",
57
- "process": "^0.11.10",
58
- "typechain": "^8.2.0"
44
+ "@typechain/ethers-v6": "^0.5.1",
45
+ "buffer": "6.0.3",
46
+ "ethers": "^6.13.1",
47
+ "process": "0.11.10",
48
+ "typechain": "^8.3.2"
59
49
  },
60
50
  "devDependencies": {
61
51
  "@babel/core": "^7.20.2",
@@ -1,14 +1,8 @@
1
- import { Signer } from "@ethersproject/abstract-signer";
2
- import type {
3
- CallOverrides,
4
- Contract,
5
- ContractTransaction,
6
- Overrides,
7
- PayableOverrides,
8
- } from "@ethersproject/contracts";
9
1
  import { Buffer } from "buffer";
2
+ import { BigNumberish, Contract, ContractTransaction, ContractTransactionResponse, Overrides, Signer } from "ethers";
10
3
  import { ZERO_ADDRESS } from "./constants";
11
4
  import { LimitOrderBook } from "./contracts";
5
+ import { PayableOverrides } from "./contracts/common";
12
6
  import { ABK64x64ToFloat, floatToABK64x64 } from "./d8XMath";
13
7
  import MarketData from "./marketData";
14
8
  import type {
@@ -83,7 +77,7 @@ export default class AccountTrade extends WriteAccessHandler {
83
77
  orderId: string,
84
78
  submission?: PriceFeedSubmission,
85
79
  overrides?: Overrides
86
- ): Promise<ContractTransaction> {
80
+ ): Promise<ContractTransactionResponse> {
87
81
  if (this.proxyContract == null || this.signer == null) {
88
82
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
89
83
  }
@@ -206,7 +200,7 @@ export default class AccountTrade extends WriteAccessHandler {
206
200
  *
207
201
  * @returns {number} Current trading volume for this trader, in USD.
208
202
  */
209
- public async getCurrentTraderVolume(poolSymbolName: string, overrides?: CallOverrides): Promise<number> {
203
+ public async getCurrentTraderVolume(poolSymbolName: string, overrides?: Overrides): Promise<number> {
210
204
  if (this.proxyContract == null || this.signer == null) {
211
205
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
212
206
  }
@@ -235,7 +229,7 @@ export default class AccountTrade extends WriteAccessHandler {
235
229
  *
236
230
  * @returns {string[]} Array of Ids for all the orders currently open by this trader.
237
231
  */
238
- public async getOrderIds(symbol: string, overrides?: CallOverrides): Promise<string[]> {
232
+ public async getOrderIds(symbol: string, overrides?: Overrides): Promise<string[]> {
239
233
  if (this.proxyContract == null || this.signer == null) {
240
234
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
241
235
  }
@@ -262,7 +256,7 @@ export default class AccountTrade extends WriteAccessHandler {
262
256
  symbolToPerpetualMap: Map<string, PerpetualStaticInfo>,
263
257
  proxyContract: Contract,
264
258
  orderBookContract: LimitOrderBook,
265
- chainId: number,
259
+ chainId: BigNumberish,
266
260
  signer: Signer,
267
261
  parentChildIds?: [string, string],
268
262
  overrides?: Overrides
@@ -270,24 +264,28 @@ export default class AccountTrade extends WriteAccessHandler {
270
264
  let scOrder = AccountTrade.toSmartContractOrder(order, traderAddr, symbolToPerpetualMap);
271
265
  let clientOrder = AccountTrade.fromSmartContratOrderToClientOrder(scOrder, parentChildIds);
272
266
  // if we are here, we have a clean order
273
- // decide whether to send order to Limit Order Book or AMM based on order type
274
- // let tx: ContractTransaction;
267
+
268
+ let [signature, digest] = await this._createSignature(scOrder, chainId, true, signer, this.proxyAddr);
269
+
270
+ if (!overrides) {
271
+ overrides = { gasLimit: this.gasLimit };
272
+ }
275
273
  // all orders are sent to the order-book
276
- let [signature, digest] = await this._createSignature(scOrder, chainId, true, signer, proxyContract.address);
274
+ const tx = await orderBookContract.connect(signer).postOrders([clientOrder], [signature], overrides);
277
275
 
278
- const txData = orderBookContract.interface.encodeFunctionData("postOrders", [[clientOrder], [signature]]);
279
- let unsignedTx = {
280
- to: orderBookContract.address,
281
- from: this.traderAddr,
282
- nonce: overrides?.nonce,
283
- data: txData,
284
- gasLimit: overrides?.gasLimit ?? this.gasLimit,
285
- // gas price is populated by the provider if not specified
286
- gasPrice: overrides?.gasPrice,
287
- // gasPrice: overrides.gasPrice ?? parseUnits(gasPrice.toString(), "gwei"),
288
- chainId: this.chainId,
289
- };
290
- let tx = await signer.sendTransaction(unsignedTx);
276
+ // const txData = orderBookContract.interface.encodeFunctionData("postOrders", [[clientOrder], [signature]]);
277
+ // let unsignedTx = {
278
+ // to: orderBookContract.target,
279
+ // from: this.traderAddr,
280
+ // nonce: overrides?.nonce,
281
+ // data: txData,
282
+ // gasLimit: overrides?.gasLimit ?? this.gasLimit,
283
+ // // gas price is populated by the provider if not specified
284
+ // gasPrice: overrides?.gasPrice,
285
+ // // gasPrice: overrides.gasPrice ?? parseUnits(gasPrice.toString(), "gwei"),
286
+ // chainId: chainId,
287
+ // };
288
+ // let tx = await signer.sendTransaction(unsignedTx);
291
289
 
292
290
  let id = this.digestTool.createOrderId(digest);
293
291
  return { tx: tx, orderId: id };
@@ -299,12 +297,12 @@ export default class AccountTrade extends WriteAccessHandler {
299
297
  orderBookContract: LimitOrderBook,
300
298
  submission?: PriceFeedSubmission,
301
299
  overrides?: PayableOverrides
302
- ): Promise<ContractTransaction> {
300
+ ): Promise<ContractTransactionResponse> {
303
301
  if (orderBookContract == null || this.signer == null) {
304
302
  throw Error(`Order Book contract for symbol ${symbol} or signer not defined`);
305
303
  }
306
304
 
307
- let scOrder: SmartContractOrder = await orderBookContract.orderOfDigest(orderId);
305
+ let scOrder = await orderBookContract.orderOfDigest(orderId);
308
306
  let [signature] = await this._createSignature(scOrder, this.chainId, false, this.signer, this.proxyAddr);
309
307
  if (submission == undefined) {
310
308
  submission = await this.fetchLatestFeedPriceInfo(symbol);
@@ -339,12 +337,12 @@ export default class AccountTrade extends WriteAccessHandler {
339
337
  */
340
338
  private async _createSignature(
341
339
  order: SmartContractOrder,
342
- chainId: number,
340
+ chainId: BigNumberish,
343
341
  isNewOrder: boolean,
344
342
  signer: Signer,
345
343
  proxyAddress: string
346
344
  ): Promise<string[]> {
347
- let digest = await this.digestTool.createDigest(order, chainId, isNewOrder, proxyAddress);
345
+ let digest = this.digestTool.createDigest(order, chainId, isNewOrder, proxyAddress);
348
346
  let digestBuffer = Buffer.from(digest.substring(2, digest.length), "hex");
349
347
  let signature = await signer.signMessage(digestBuffer);
350
348
  return [signature, digest];
@@ -375,7 +373,7 @@ export default class AccountTrade extends WriteAccessHandler {
375
373
  amount: number,
376
374
  submission?: PriceFeedSubmission,
377
375
  overrides?: PayableOverrides
378
- ): Promise<ContractTransaction> {
376
+ ): Promise<ContractTransactionResponse> {
379
377
  if (this.proxyContract == null || this.signer == null) {
380
378
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
381
379
  }
@@ -426,7 +424,7 @@ export default class AccountTrade extends WriteAccessHandler {
426
424
  amount: number,
427
425
  submission?: PriceFeedSubmission,
428
426
  overrides?: PayableOverrides
429
- ): Promise<ContractTransaction> {
427
+ ): Promise<ContractTransactionResponse> {
430
428
  if (this.proxyContract == null || this.signer == null) {
431
429
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
432
430
  }
package/src/brokerTool.ts CHANGED
@@ -1,7 +1,3 @@
1
- import { defaultAbiCoder } from "@ethersproject/abi";
2
- import { Signer } from "@ethersproject/abstract-signer";
3
- import { CallOverrides, ContractTransaction, Overrides } from "@ethersproject/contracts";
4
- import { keccak256 } from "@ethersproject/keccak256";
5
1
  import { ABK64x64ToFloat } from "./d8XMath";
6
2
  import { NodeSDKConfig, Order, PerpetualStaticInfo, SmartContractOrder } from "./nodeSDKTypes";
7
3
  import PerpetualDataHandler from "./perpetualDataHandler";
@@ -9,6 +5,7 @@ import WriteAccessHandler from "./writeAccessHandler";
9
5
 
10
6
  import { Buffer } from "buffer";
11
7
  import AccountTrade from "./accountTrade";
8
+ import { AbiCoder, BigNumberish, ContractTransactionResponse, keccak256, Overrides, Signer } from "ethers";
12
9
  /**
13
10
  * Functions for white-label partners to determine fees, deposit lots, and sign-up traders.
14
11
  * This class requires a private key and executes smart-contract interactions that
@@ -64,7 +61,7 @@ export default class BrokerTool extends WriteAccessHandler {
64
61
  *
65
62
  * @returns {number} Exchange fee for this white-label partner, in decimals (i.e. 0.1% is 0.001)
66
63
  */
67
- public async getBrokerInducedFee(poolSymbolName: string, overrides?: CallOverrides): Promise<number | undefined> {
64
+ public async getBrokerInducedFee(poolSymbolName: string, overrides?: Overrides): Promise<number | undefined> {
68
65
  if (this.proxyContract == null || this.signer == null) {
69
66
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
70
67
  }
@@ -103,7 +100,7 @@ export default class BrokerTool extends WriteAccessHandler {
103
100
  public async getFeeForBrokerDesignation(
104
101
  poolSymbolName: string,
105
102
  lots?: number,
106
- overrides?: CallOverrides
103
+ overrides?: Overrides
107
104
  ): Promise<number> {
108
105
  if (this.proxyContract == null || this.signer == null) {
109
106
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
@@ -142,7 +139,7 @@ export default class BrokerTool extends WriteAccessHandler {
142
139
  *
143
140
  * @returns {number} Fee based solely on a white-label partner's traded volume in the corresponding pool, in decimals (i.e. 0.1% is 0.001).
144
141
  */
145
- public async getFeeForBrokerVolume(poolSymbolName: string, overrides?: CallOverrides): Promise<number> {
142
+ public async getFeeForBrokerVolume(poolSymbolName: string, overrides?: Overrides): Promise<number> {
146
143
  if (this.proxyContract == null || this.signer == null) {
147
144
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
148
145
  }
@@ -173,7 +170,7 @@ export default class BrokerTool extends WriteAccessHandler {
173
170
  *
174
171
  * @returns {number} Fee based solely on a white-label partner's D8X balance, in decimals (i.e. 0.1% is 0.001).
175
172
  */
176
- public async getFeeForBrokerStake(brokerAddr?: string, overrides?: CallOverrides): Promise<number> {
173
+ public async getFeeForBrokerStake(brokerAddr?: string, overrides?: Overrides): Promise<number> {
177
174
  if (this.proxyContract == null || this.signer == null) {
178
175
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
179
176
  }
@@ -219,7 +216,7 @@ export default class BrokerTool extends WriteAccessHandler {
219
216
  *
220
217
  * @returns {number} Fee in decimals (i.e. 0.1% is 0.001).
221
218
  */
222
- public async determineExchangeFee(order: Order, traderAddr: string, overrides?: CallOverrides): Promise<number> {
219
+ public async determineExchangeFee(order: Order, traderAddr: string, overrides?: Overrides): Promise<number> {
223
220
  if (this.proxyContract == null || this.signer == null) {
224
221
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
225
222
  }
@@ -251,7 +248,7 @@ export default class BrokerTool extends WriteAccessHandler {
251
248
  *
252
249
  * @returns {number} Current trading volume for this white-label partner, in USD.
253
250
  */
254
- public async getCurrentBrokerVolume(poolSymbolName: string, overrides?: CallOverrides): Promise<number> {
251
+ public async getCurrentBrokerVolume(poolSymbolName: string, overrides?: Overrides): Promise<number> {
255
252
  if (this.proxyContract == null || this.signer == null) {
256
253
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
257
254
  }
@@ -283,7 +280,7 @@ export default class BrokerTool extends WriteAccessHandler {
283
280
  *
284
281
  * @returns {number} White-label partner lot size in a given pool's currency, e.g. in MATIC for poolSymbolName MATIC.
285
282
  */
286
- public async getLotSize(poolSymbolName: string, overrides?: CallOverrides): Promise<number> {
283
+ public async getLotSize(poolSymbolName: string, overrides?: Overrides): Promise<number> {
287
284
  if (this.proxyContract == null) {
288
285
  throw Error("no proxy contract initialized. Use createProxyInstance().");
289
286
  }
@@ -314,7 +311,7 @@ export default class BrokerTool extends WriteAccessHandler {
314
311
  *
315
312
  * @returns {number} Number of lots purchased by this white-label partner.
316
313
  */
317
- public async getBrokerDesignation(poolSymbolName: string, overrides?: CallOverrides): Promise<number> {
314
+ public async getBrokerDesignation(poolSymbolName: string, overrides?: Overrides): Promise<number> {
318
315
  if (this.proxyContract == null || this.signer == null) {
319
316
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
320
317
  }
@@ -349,7 +346,7 @@ export default class BrokerTool extends WriteAccessHandler {
349
346
  poolSymbolName: string,
350
347
  lots: number,
351
348
  overrides?: Overrides
352
- ): Promise<ContractTransaction> {
349
+ ): Promise<ContractTransactionResponse> {
353
350
  if (this.proxyContract == null || this.signer == null) {
354
351
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
355
352
  }
@@ -490,19 +487,19 @@ export default class BrokerTool extends WriteAccessHandler {
490
487
  }
491
488
 
492
489
  private static async _signOrderFromRawData(
493
- iPerpetualId: number,
494
- brokerFeeTbps: number,
490
+ iPerpetualId: BigNumberish,
491
+ brokerFeeTbps: BigNumberish,
495
492
  traderAddr: string,
496
- iDeadline: number,
493
+ iDeadline: BigNumberish,
497
494
  signer: Signer,
498
- chainId: number,
495
+ chainId: BigNumberish,
499
496
  proxyAddress: string
500
497
  ) {
501
498
  const NAME = "Perpetual Trade Manager";
502
499
  const DOMAIN_TYPEHASH = keccak256(
503
500
  Buffer.from("EIP712Domain(string name,uint256 chainId,address verifyingContract)")
504
501
  );
505
- let abiCoder = defaultAbiCoder;
502
+ let abiCoder = new AbiCoder();
506
503
  let domainSeparator = keccak256(
507
504
  abiCoder.encode(
508
505
  ["bytes32", "bytes32", "uint256", "address"],
@@ -532,7 +529,7 @@ export default class BrokerTool extends WriteAccessHandler {
532
529
  traderAddr: string,
533
530
  iDeadline: number,
534
531
  signer: Signer,
535
- chainId: number,
532
+ chainId: BigNumberish,
536
533
  proxyAddress: string,
537
534
  symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>
538
535
  ): Promise<string> {
@@ -577,7 +574,7 @@ export default class BrokerTool extends WriteAccessHandler {
577
574
  poolSymbolName: string,
578
575
  newAddress: string,
579
576
  overrides?: Overrides
580
- ): Promise<ContractTransaction> {
577
+ ): Promise<ContractTransactionResponse> {
581
578
  if (this.proxyContract == null) {
582
579
  throw Error("no proxy contract or wallet initialized. Use createProxyInstance().");
583
580
  }
@@ -2,6 +2,12 @@
2
2
  {
3
3
  "network": "mainnet",
4
4
  "ids": [
5
+ {
6
+ "symbol": "TRUMP24-USD",
7
+ "id": "0x3011e4ede0f6befa0ad3f571001d3e1ffeef3d4af78c3112aaac90416e3a43e7",
8
+ "type": "polymarket",
9
+ "origin": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917"
10
+ },
5
11
  {
6
12
  "symbol": "USDC-USD",
7
13
  "id": "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
@@ -153,12 +159,19 @@
153
159
  "endpoints": ["https://hermes.pyth.network"],
154
160
  "writeEndpoints": ["https://hermes.pyth.network"]
155
161
  },
156
- { "type": "onchain", "endpoints": [], "writeEndpoints": [] }
162
+ { "type": "onchain", "endpoints": [], "writeEndpoints": [] },
163
+ { "type": "polymarket", "endpoints": [], "writeEndpoints": [] }
157
164
  ]
158
165
  },
159
166
  {
160
167
  "network": "odin",
161
168
  "ids": [
169
+ {
170
+ "symbol": "TRUMP24-USD",
171
+ "id": "0x3011e4ede0f6befa0ad3f571001d3e1ffeef3d4af78c3112aaac90416e3a43e7",
172
+ "type": "polymarket",
173
+ "origin": "0xdd22472e552920b8438158ea7238bfadfa4f736aa4cee91a6b86c39ead110917"
174
+ },
162
175
  {
163
176
  "symbol": "USDC-USD",
164
177
  "id": "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
@@ -233,7 +246,8 @@
233
246
  }
234
247
  ],
235
248
  "endpoints": [
236
- { "type": "odin", "endpoints": ["https://hermes.pyth.network"], "writeEndpoints": ["https://odin.d8x.xyz"] }
249
+ { "type": "odin", "endpoints": ["https://hermes.pyth.network"], "writeEndpoints": ["https://odin.d8x.xyz"] },
250
+ { "type": "polymarket", "endpoints": [""], "writeEndpoints": [] }
237
251
  ]
238
252
  }
239
253
  ]
@@ -25,5 +25,6 @@
25
25
  "ZRO": "ZRO",
26
26
  "ETHf": "ETHFI",
27
27
  "ZK": "ZK",
28
- "PNDL": "PENDLE"
28
+ "PNDL": "PENDLE",
29
+ "TR24": "TRUMP24"
29
30
  }
package/src/constants.ts CHANGED
@@ -1,5 +1,4 @@
1
- import { BigNumber } from "@ethersproject/bignumber";
2
- import { AddressZero, HashZero } from "@ethersproject/constants";
1
+ import { ZeroAddress, ZeroHash } from "ethers";
3
2
  import { NodeSDKConfig } from "./nodeSDKTypes";
4
3
 
5
4
  export const ERC20_ABI = require("./abi/ERC20.json");
@@ -16,21 +15,22 @@ export const COLLATERAL_CURRENCY_QUOTE = 0;
16
15
  export const COLLATERAL_CURRENCY_BASE = 1;
17
16
  export const COLLATERAL_CURRENCY_QUANTO = 2;
18
17
  export const PERP_STATE_STR = ["INVALID", "INITIALIZING", "NORMAL", "EMERGENCY", "SETTLE", "CLEARED"];
19
- export const ZERO_ADDRESS = AddressZero;
20
- export const ZERO_ORDER_ID = HashZero;
18
+ export const ZERO_ADDRESS = ZeroAddress;
19
+ export const ZERO_ORDER_ID = ZeroHash;
21
20
  export const MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
22
- export const ONE_64x64 = BigNumber.from("0x010000000000000000");
23
- export const MAX_64x64 = BigNumber.from("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
24
- export const MAX_UINT_256 = BigNumber.from(2).pow(256).sub(BigNumber.from(1));
25
- export const DECIMALS = BigNumber.from(10).pow(BigNumber.from(18));
21
+ export const ONE_64x64 = BigInt("0x010000000000000000");
22
+ export const MAX_64x64 = BigInt("0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
23
+ export const MAX_UINT_256 = 2n ** 256n - 1n; // BigNumber.from(2).pow(256).sub(BigNumber.from(1));
24
+ export const DECIMALS = 10n ** 18n; // BigNumber.from(10).pow(BigNumber.from(18));
26
25
 
27
26
  export const ORDER_MAX_DURATION_SEC = 60 * 60 * 24 * 30 * 4;
28
27
 
29
- export const MASK_CLOSE_ONLY = BigNumber.from("0x80000000");
30
- export const MASK_LIMIT_ORDER = BigNumber.from("0x04000000");
31
- export const MASK_MARKET_ORDER = BigNumber.from("0x40000000");
32
- export const MASK_STOP_ORDER = BigNumber.from("0x20000000");
33
- export const MASK_KEEP_POS_LEVERAGE = BigNumber.from("0x08000000");
28
+ export const MASK_CLOSE_ONLY = BigInt("0x80000000");
29
+ export const MASK_LIMIT_ORDER = BigInt("0x04000000");
30
+ export const MASK_MARKET_ORDER = BigInt("0x40000000");
31
+ export const MASK_STOP_ORDER = BigInt("0x20000000");
32
+ export const MASK_KEEP_POS_LEVERAGE = BigInt("0x08000000");
33
+ export const MASK_PREDICTIVE_MARKET = 2n;
34
34
 
35
35
  export const ORDER_TYPE_LIMIT = "LIMIT";
36
36
  export const ORDER_TYPE_MARKET = "MARKET";