@d8x/perpetuals-sdk 2.6.22 → 2.6.23

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 (228) hide show
  1. package/dist/cjs/abi/AMMPerpLogic.json +580 -0
  2. package/dist/cjs/abi/BeaconProxy.json +71 -0
  3. package/dist/cjs/abi/IPerpetualManager copy.json +5599 -0
  4. package/dist/cjs/abi/IPerpetualMarginViewLogic.json +286 -0
  5. package/dist/cjs/abi/Maintainer.json +774 -0
  6. package/dist/cjs/abi/MockToken.json +347 -0
  7. package/dist/cjs/abi/MockUSD.json +413 -0
  8. package/dist/cjs/abi/UUPSUpgradeable.json +104 -0
  9. package/dist/cjs/abi/WeETH.json +310 -0
  10. package/dist/cjs/abi-zkevm/IPerpetualManager.json +5366 -0
  11. package/dist/cjs/abi-zkevm/LimitOrderBook.json +910 -0
  12. package/dist/cjs/abi-zkevm/LimitOrderBookFactory.json +236 -0
  13. package/dist/cjs/contracts/AMMPerpLogic.d.ts +303 -0
  14. package/dist/cjs/contracts/AMMPerpLogic.js +3 -0
  15. package/dist/cjs/contracts/AMMPerpLogic.js.map +1 -0
  16. package/dist/cjs/contracts/BeaconProxy.d.ts +63 -0
  17. package/dist/cjs/contracts/BeaconProxy.js +3 -0
  18. package/dist/cjs/contracts/BeaconProxy.js.map +1 -0
  19. package/dist/cjs/contracts/IPerpetualManagerCopy.d.ts +3223 -0
  20. package/dist/cjs/contracts/IPerpetualManagerCopy.js +3 -0
  21. package/dist/cjs/contracts/IPerpetualManagerCopy.js.map +1 -0
  22. package/dist/cjs/contracts/IPerpetualMarginViewLogic.d.ts +183 -0
  23. package/dist/cjs/contracts/IPerpetualMarginViewLogic.js +3 -0
  24. package/dist/cjs/contracts/IPerpetualMarginViewLogic.js.map +1 -0
  25. package/dist/cjs/contracts/Maintainer.d.ts +799 -0
  26. package/dist/cjs/contracts/Maintainer.js +3 -0
  27. package/dist/cjs/contracts/Maintainer.js.map +1 -0
  28. package/dist/cjs/contracts/MockToken.d.ts +263 -0
  29. package/dist/cjs/contracts/MockToken.js +3 -0
  30. package/dist/cjs/contracts/MockToken.js.map +1 -0
  31. package/dist/cjs/contracts/MockUSD.d.ts +186 -0
  32. package/dist/cjs/contracts/MockUSD.js +3 -0
  33. package/dist/cjs/contracts/MockUSD.js.map +1 -0
  34. package/dist/cjs/contracts/UUPSUpgradeable.d.ts +118 -0
  35. package/dist/cjs/contracts/UUPSUpgradeable.js +3 -0
  36. package/dist/cjs/contracts/UUPSUpgradeable.js.map +1 -0
  37. package/dist/cjs/contracts/WeETH.d.ts +503 -0
  38. package/dist/cjs/contracts/WeETH.js +3 -0
  39. package/dist/cjs/contracts/WeETH.js.map +1 -0
  40. package/dist/cjs/contracts/factories/AMMPerpLogic__factory.d.ts +452 -0
  41. package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js +598 -0
  42. package/dist/cjs/contracts/factories/AMMPerpLogic__factory.js.map +1 -0
  43. package/dist/cjs/contracts/factories/BeaconProxy__factory.d.ts +61 -0
  44. package/dist/cjs/contracts/factories/BeaconProxy__factory.js +89 -0
  45. package/dist/cjs/contracts/factories/BeaconProxy__factory.js.map +1 -0
  46. package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.d.ts +4358 -0
  47. package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js +5617 -0
  48. package/dist/cjs/contracts/factories/IPerpetualManagerCopy__factory.js.map +1 -0
  49. package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +221 -0
  50. package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js +304 -0
  51. package/dist/cjs/contracts/factories/IPerpetualMarginViewLogic__factory.js.map +1 -0
  52. package/dist/cjs/contracts/factories/Maintainer__factory.d.ts +609 -0
  53. package/dist/cjs/contracts/factories/Maintainer__factory.js +792 -0
  54. package/dist/cjs/contracts/factories/Maintainer__factory.js.map +1 -0
  55. package/dist/cjs/contracts/factories/MockToken__factory.d.ts +273 -0
  56. package/dist/cjs/contracts/factories/MockToken__factory.js +365 -0
  57. package/dist/cjs/contracts/factories/MockToken__factory.js.map +1 -0
  58. package/dist/cjs/contracts/factories/MockUSD__factory.d.ts +320 -0
  59. package/dist/cjs/contracts/factories/MockUSD__factory.js +431 -0
  60. package/dist/cjs/contracts/factories/MockUSD__factory.js.map +1 -0
  61. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.d.ts +87 -0
  62. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js +122 -0
  63. package/dist/cjs/contracts/factories/UUPSUpgradeable__factory.js.map +1 -0
  64. package/dist/cjs/contracts/factories/WeETH__factory.d.ts +545 -0
  65. package/dist/cjs/contracts/factories/WeETH__factory.js +721 -0
  66. package/dist/cjs/contracts/factories/WeETH__factory.js.map +1 -0
  67. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.d.ts +4136 -0
  68. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js +5324 -0
  69. package/dist/cjs/contracts/factories/lean0/IPerpetualManager__factory.js.map +1 -0
  70. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +189 -0
  71. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js +254 -0
  72. package/dist/cjs/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +1 -0
  73. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.d.ts +715 -0
  74. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js +928 -0
  75. package/dist/cjs/contracts/factories/lean0/LimitOrderBook__factory.js.map +1 -0
  76. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.d.ts +344 -0
  77. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js +456 -0
  78. package/dist/cjs/contracts/factories/lean0/ShareToken__factory.js.map +1 -0
  79. package/dist/cjs/contracts/factories/lean0/index.d.ts +4 -0
  80. package/dist/cjs/contracts/factories/lean0/index.js +15 -0
  81. package/dist/cjs/contracts/factories/lean0/index.js.map +1 -0
  82. package/dist/cjs/contracts/lean0/IPerpetualManager.d.ts +2821 -0
  83. package/dist/cjs/contracts/lean0/IPerpetualManager.js +3 -0
  84. package/dist/cjs/contracts/lean0/IPerpetualManager.js.map +1 -0
  85. package/dist/cjs/contracts/lean0/LimitOrderBook.d.ts +533 -0
  86. package/dist/cjs/contracts/lean0/LimitOrderBook.js +3 -0
  87. package/dist/cjs/contracts/lean0/LimitOrderBook.js.map +1 -0
  88. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.d.ts +210 -0
  89. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js +3 -0
  90. package/dist/cjs/contracts/lean0/LimitOrderBookFactory.js.map +1 -0
  91. package/dist/cjs/contracts/lean0/ShareToken.d.ts +320 -0
  92. package/dist/cjs/contracts/lean0/ShareToken.js +3 -0
  93. package/dist/cjs/contracts/lean0/ShareToken.js.map +1 -0
  94. package/dist/cjs/contracts/lean0/index.d.ts +4 -0
  95. package/dist/cjs/contracts/lean0/index.js +3 -0
  96. package/dist/cjs/contracts/lean0/index.js.map +1 -0
  97. package/dist/cjs/marketData.d.ts +5 -5
  98. package/dist/cjs/marketData.js +7 -3
  99. package/dist/cjs/marketData.js.map +1 -1
  100. package/dist/cjs/perpetualDataHandler.d.ts +15 -15
  101. package/dist/cjs/perpetualDataHandler.js +9 -6
  102. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  103. package/dist/cjs/priceFeeds.js +1 -1
  104. package/dist/cjs/utils.d.ts +3 -3
  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/esm/abi/AMMPerpLogic.json +580 -0
  109. package/dist/esm/abi/BeaconProxy.json +71 -0
  110. package/dist/esm/abi/IPerpetualManager copy.json +5599 -0
  111. package/dist/esm/abi/IPerpetualMarginViewLogic.json +286 -0
  112. package/dist/esm/abi/Maintainer.json +774 -0
  113. package/dist/esm/abi/MockToken.json +347 -0
  114. package/dist/esm/abi/MockUSD.json +413 -0
  115. package/dist/esm/abi/UUPSUpgradeable.json +104 -0
  116. package/dist/esm/abi/WeETH.json +310 -0
  117. package/dist/esm/abi/lean0/IPerpetualManager.json +5306 -0
  118. package/dist/esm/abi/lean0/LimitOrderBook.json +910 -0
  119. package/dist/esm/abi/lean0/LimitOrderBookFactory.json +236 -0
  120. package/dist/esm/abi/lean0/ShareToken.json +438 -0
  121. package/dist/esm/abi-zkevm/IPerpetualManager.json +5366 -0
  122. package/dist/esm/abi-zkevm/LimitOrderBook.json +910 -0
  123. package/dist/esm/abi-zkevm/LimitOrderBookFactory.json +236 -0
  124. package/dist/esm/contracts/AMMPerpLogic.d.ts +303 -0
  125. package/dist/esm/contracts/AMMPerpLogic.js +2 -0
  126. package/dist/esm/contracts/AMMPerpLogic.js.map +1 -0
  127. package/dist/esm/contracts/BeaconProxy.d.ts +63 -0
  128. package/dist/esm/contracts/BeaconProxy.js +2 -0
  129. package/dist/esm/contracts/BeaconProxy.js.map +1 -0
  130. package/dist/esm/contracts/IPerpetualManagerCopy.d.ts +3223 -0
  131. package/dist/esm/contracts/IPerpetualManagerCopy.js +2 -0
  132. package/dist/esm/contracts/IPerpetualManagerCopy.js.map +1 -0
  133. package/dist/esm/contracts/IPerpetualMarginViewLogic.d.ts +183 -0
  134. package/dist/esm/contracts/IPerpetualMarginViewLogic.js +2 -0
  135. package/dist/esm/contracts/IPerpetualMarginViewLogic.js.map +1 -0
  136. package/dist/esm/contracts/Maintainer.d.ts +799 -0
  137. package/dist/esm/contracts/Maintainer.js +2 -0
  138. package/dist/esm/contracts/Maintainer.js.map +1 -0
  139. package/dist/esm/contracts/MockToken.d.ts +263 -0
  140. package/dist/esm/contracts/MockToken.js +2 -0
  141. package/dist/esm/contracts/MockToken.js.map +1 -0
  142. package/dist/esm/contracts/MockUSD.d.ts +186 -0
  143. package/dist/esm/contracts/MockUSD.js +2 -0
  144. package/dist/esm/contracts/MockUSD.js.map +1 -0
  145. package/dist/esm/contracts/UUPSUpgradeable.d.ts +118 -0
  146. package/dist/esm/contracts/UUPSUpgradeable.js +2 -0
  147. package/dist/esm/contracts/UUPSUpgradeable.js.map +1 -0
  148. package/dist/esm/contracts/WeETH.d.ts +503 -0
  149. package/dist/esm/contracts/WeETH.js +2 -0
  150. package/dist/esm/contracts/WeETH.js.map +1 -0
  151. package/dist/esm/contracts/factories/AMMPerpLogic__factory.d.ts +452 -0
  152. package/dist/esm/contracts/factories/AMMPerpLogic__factory.js +594 -0
  153. package/dist/esm/contracts/factories/AMMPerpLogic__factory.js.map +1 -0
  154. package/dist/esm/contracts/factories/BeaconProxy__factory.d.ts +61 -0
  155. package/dist/esm/contracts/factories/BeaconProxy__factory.js +85 -0
  156. package/dist/esm/contracts/factories/BeaconProxy__factory.js.map +1 -0
  157. package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.d.ts +4358 -0
  158. package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js +5613 -0
  159. package/dist/esm/contracts/factories/IPerpetualManagerCopy__factory.js.map +1 -0
  160. package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.d.ts +221 -0
  161. package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js +300 -0
  162. package/dist/esm/contracts/factories/IPerpetualMarginViewLogic__factory.js.map +1 -0
  163. package/dist/esm/contracts/factories/Maintainer__factory.d.ts +609 -0
  164. package/dist/esm/contracts/factories/Maintainer__factory.js +788 -0
  165. package/dist/esm/contracts/factories/Maintainer__factory.js.map +1 -0
  166. package/dist/esm/contracts/factories/MockToken__factory.d.ts +273 -0
  167. package/dist/esm/contracts/factories/MockToken__factory.js +361 -0
  168. package/dist/esm/contracts/factories/MockToken__factory.js.map +1 -0
  169. package/dist/esm/contracts/factories/MockUSD__factory.d.ts +320 -0
  170. package/dist/esm/contracts/factories/MockUSD__factory.js +427 -0
  171. package/dist/esm/contracts/factories/MockUSD__factory.js.map +1 -0
  172. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.d.ts +87 -0
  173. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js +118 -0
  174. package/dist/esm/contracts/factories/UUPSUpgradeable__factory.js.map +1 -0
  175. package/dist/esm/contracts/factories/WeETH__factory.d.ts +545 -0
  176. package/dist/esm/contracts/factories/WeETH__factory.js +717 -0
  177. package/dist/esm/contracts/factories/WeETH__factory.js.map +1 -0
  178. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.d.ts +4136 -0
  179. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js +5320 -0
  180. package/dist/esm/contracts/factories/lean0/IPerpetualManager__factory.js.map +1 -0
  181. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.d.ts +189 -0
  182. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js +250 -0
  183. package/dist/esm/contracts/factories/lean0/LimitOrderBookFactory__factory.js.map +1 -0
  184. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.d.ts +715 -0
  185. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js +924 -0
  186. package/dist/esm/contracts/factories/lean0/LimitOrderBook__factory.js.map +1 -0
  187. package/dist/esm/contracts/factories/lean0/ShareToken__factory.d.ts +344 -0
  188. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js +452 -0
  189. package/dist/esm/contracts/factories/lean0/ShareToken__factory.js.map +1 -0
  190. package/dist/esm/contracts/factories/lean0/index.d.ts +4 -0
  191. package/dist/esm/contracts/factories/lean0/index.js +8 -0
  192. package/dist/esm/contracts/factories/lean0/index.js.map +1 -0
  193. package/dist/esm/contracts/lean0/IPerpetualManager.d.ts +2821 -0
  194. package/dist/esm/contracts/lean0/IPerpetualManager.js +2 -0
  195. package/dist/esm/contracts/lean0/IPerpetualManager.js.map +1 -0
  196. package/dist/esm/contracts/lean0/LimitOrderBook.d.ts +533 -0
  197. package/dist/esm/contracts/lean0/LimitOrderBook.js +2 -0
  198. package/dist/esm/contracts/lean0/LimitOrderBook.js.map +1 -0
  199. package/dist/esm/contracts/lean0/LimitOrderBookFactory.d.ts +210 -0
  200. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js +2 -0
  201. package/dist/esm/contracts/lean0/LimitOrderBookFactory.js.map +1 -0
  202. package/dist/esm/contracts/lean0/ShareToken.d.ts +320 -0
  203. package/dist/esm/contracts/lean0/ShareToken.js +2 -0
  204. package/dist/esm/contracts/lean0/ShareToken.js.map +1 -0
  205. package/dist/esm/contracts/lean0/index.d.ts +4 -0
  206. package/dist/esm/contracts/lean0/index.js +2 -0
  207. package/dist/esm/contracts/lean0/index.js.map +1 -0
  208. package/dist/esm/marketData.d.ts +5 -5
  209. package/dist/esm/marketData.js +7 -3
  210. package/dist/esm/marketData.js.map +1 -1
  211. package/dist/esm/perpetualDataHandler.d.ts +15 -15
  212. package/dist/esm/perpetualDataHandler.js +9 -6
  213. package/dist/esm/perpetualDataHandler.js.map +1 -1
  214. package/dist/esm/priceFeeds.js +1 -1
  215. package/dist/esm/utils.d.ts +3 -3
  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/package.json +1 -1
  220. package/src/contracts/IPerpetualMarginViewLogic.ts +347 -0
  221. package/src/contracts/MockUSD.ts +378 -0
  222. package/src/contracts/factories/IPerpetualMarginViewLogic__factory.ts +313 -0
  223. package/src/contracts/factories/MockUSD__factory.ts +430 -0
  224. package/src/marketData.ts +27 -22
  225. package/src/perpetualDataHandler.ts +34 -24
  226. package/src/priceFeeds.ts +1 -1
  227. package/src/utils.ts +3 -3
  228. package/src/version.ts +1 -1
@@ -0,0 +1,430 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Interface, type ContractRunner } from "ethers";
6
+ import type { MockUSD, MockUSDInterface } from "../MockUSD";
7
+
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "uint8",
13
+ name: "_dec",
14
+ type: "uint8",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ inputs: [
22
+ {
23
+ internalType: "address",
24
+ name: "spender",
25
+ type: "address",
26
+ },
27
+ {
28
+ internalType: "uint256",
29
+ name: "allowance",
30
+ type: "uint256",
31
+ },
32
+ {
33
+ internalType: "uint256",
34
+ name: "needed",
35
+ type: "uint256",
36
+ },
37
+ ],
38
+ name: "ERC20InsufficientAllowance",
39
+ type: "error",
40
+ },
41
+ {
42
+ inputs: [
43
+ {
44
+ internalType: "address",
45
+ name: "sender",
46
+ type: "address",
47
+ },
48
+ {
49
+ internalType: "uint256",
50
+ name: "balance",
51
+ type: "uint256",
52
+ },
53
+ {
54
+ internalType: "uint256",
55
+ name: "needed",
56
+ type: "uint256",
57
+ },
58
+ ],
59
+ name: "ERC20InsufficientBalance",
60
+ type: "error",
61
+ },
62
+ {
63
+ inputs: [
64
+ {
65
+ internalType: "address",
66
+ name: "approver",
67
+ type: "address",
68
+ },
69
+ ],
70
+ name: "ERC20InvalidApprover",
71
+ type: "error",
72
+ },
73
+ {
74
+ inputs: [
75
+ {
76
+ internalType: "address",
77
+ name: "receiver",
78
+ type: "address",
79
+ },
80
+ ],
81
+ name: "ERC20InvalidReceiver",
82
+ type: "error",
83
+ },
84
+ {
85
+ inputs: [
86
+ {
87
+ internalType: "address",
88
+ name: "sender",
89
+ type: "address",
90
+ },
91
+ ],
92
+ name: "ERC20InvalidSender",
93
+ type: "error",
94
+ },
95
+ {
96
+ inputs: [
97
+ {
98
+ internalType: "address",
99
+ name: "spender",
100
+ type: "address",
101
+ },
102
+ ],
103
+ name: "ERC20InvalidSpender",
104
+ type: "error",
105
+ },
106
+ {
107
+ inputs: [
108
+ {
109
+ internalType: "address",
110
+ name: "owner",
111
+ type: "address",
112
+ },
113
+ ],
114
+ name: "OwnableInvalidOwner",
115
+ type: "error",
116
+ },
117
+ {
118
+ inputs: [
119
+ {
120
+ internalType: "address",
121
+ name: "account",
122
+ type: "address",
123
+ },
124
+ ],
125
+ name: "OwnableUnauthorizedAccount",
126
+ type: "error",
127
+ },
128
+ {
129
+ anonymous: false,
130
+ inputs: [
131
+ {
132
+ indexed: true,
133
+ internalType: "address",
134
+ name: "owner",
135
+ type: "address",
136
+ },
137
+ {
138
+ indexed: true,
139
+ internalType: "address",
140
+ name: "spender",
141
+ type: "address",
142
+ },
143
+ {
144
+ indexed: false,
145
+ internalType: "uint256",
146
+ name: "value",
147
+ type: "uint256",
148
+ },
149
+ ],
150
+ name: "Approval",
151
+ type: "event",
152
+ },
153
+ {
154
+ anonymous: false,
155
+ inputs: [
156
+ {
157
+ indexed: true,
158
+ internalType: "address",
159
+ name: "previousOwner",
160
+ type: "address",
161
+ },
162
+ {
163
+ indexed: true,
164
+ internalType: "address",
165
+ name: "newOwner",
166
+ type: "address",
167
+ },
168
+ ],
169
+ name: "OwnershipTransferred",
170
+ type: "event",
171
+ },
172
+ {
173
+ anonymous: false,
174
+ inputs: [
175
+ {
176
+ indexed: true,
177
+ internalType: "address",
178
+ name: "from",
179
+ type: "address",
180
+ },
181
+ {
182
+ indexed: true,
183
+ internalType: "address",
184
+ name: "to",
185
+ type: "address",
186
+ },
187
+ {
188
+ indexed: false,
189
+ internalType: "uint256",
190
+ name: "value",
191
+ type: "uint256",
192
+ },
193
+ ],
194
+ name: "Transfer",
195
+ type: "event",
196
+ },
197
+ {
198
+ inputs: [
199
+ {
200
+ internalType: "address",
201
+ name: "owner",
202
+ type: "address",
203
+ },
204
+ {
205
+ internalType: "address",
206
+ name: "spender",
207
+ type: "address",
208
+ },
209
+ ],
210
+ name: "allowance",
211
+ outputs: [
212
+ {
213
+ internalType: "uint256",
214
+ name: "",
215
+ type: "uint256",
216
+ },
217
+ ],
218
+ stateMutability: "view",
219
+ type: "function",
220
+ },
221
+ {
222
+ inputs: [
223
+ {
224
+ internalType: "address",
225
+ name: "spender",
226
+ type: "address",
227
+ },
228
+ {
229
+ internalType: "uint256",
230
+ name: "value",
231
+ type: "uint256",
232
+ },
233
+ ],
234
+ name: "approve",
235
+ outputs: [
236
+ {
237
+ internalType: "bool",
238
+ name: "",
239
+ type: "bool",
240
+ },
241
+ ],
242
+ stateMutability: "nonpayable",
243
+ type: "function",
244
+ },
245
+ {
246
+ inputs: [
247
+ {
248
+ internalType: "address",
249
+ name: "account",
250
+ type: "address",
251
+ },
252
+ ],
253
+ name: "balanceOf",
254
+ outputs: [
255
+ {
256
+ internalType: "uint256",
257
+ name: "",
258
+ type: "uint256",
259
+ },
260
+ ],
261
+ stateMutability: "view",
262
+ type: "function",
263
+ },
264
+ {
265
+ inputs: [],
266
+ name: "decimals",
267
+ outputs: [
268
+ {
269
+ internalType: "uint8",
270
+ name: "",
271
+ type: "uint8",
272
+ },
273
+ ],
274
+ stateMutability: "view",
275
+ type: "function",
276
+ },
277
+ {
278
+ inputs: [
279
+ {
280
+ internalType: "address",
281
+ name: "_account",
282
+ type: "address",
283
+ },
284
+ {
285
+ internalType: "uint256",
286
+ name: "_amount",
287
+ type: "uint256",
288
+ },
289
+ ],
290
+ name: "mint",
291
+ outputs: [],
292
+ stateMutability: "nonpayable",
293
+ type: "function",
294
+ },
295
+ {
296
+ inputs: [],
297
+ name: "name",
298
+ outputs: [
299
+ {
300
+ internalType: "string",
301
+ name: "",
302
+ type: "string",
303
+ },
304
+ ],
305
+ stateMutability: "view",
306
+ type: "function",
307
+ },
308
+ {
309
+ inputs: [],
310
+ name: "owner",
311
+ outputs: [
312
+ {
313
+ internalType: "address",
314
+ name: "",
315
+ type: "address",
316
+ },
317
+ ],
318
+ stateMutability: "view",
319
+ type: "function",
320
+ },
321
+ {
322
+ inputs: [],
323
+ name: "renounceOwnership",
324
+ outputs: [],
325
+ stateMutability: "nonpayable",
326
+ type: "function",
327
+ },
328
+ {
329
+ inputs: [],
330
+ name: "symbol",
331
+ outputs: [
332
+ {
333
+ internalType: "string",
334
+ name: "",
335
+ type: "string",
336
+ },
337
+ ],
338
+ stateMutability: "view",
339
+ type: "function",
340
+ },
341
+ {
342
+ inputs: [],
343
+ name: "totalSupply",
344
+ outputs: [
345
+ {
346
+ internalType: "uint256",
347
+ name: "",
348
+ type: "uint256",
349
+ },
350
+ ],
351
+ stateMutability: "view",
352
+ type: "function",
353
+ },
354
+ {
355
+ inputs: [
356
+ {
357
+ internalType: "address",
358
+ name: "to",
359
+ type: "address",
360
+ },
361
+ {
362
+ internalType: "uint256",
363
+ name: "value",
364
+ type: "uint256",
365
+ },
366
+ ],
367
+ name: "transfer",
368
+ outputs: [
369
+ {
370
+ internalType: "bool",
371
+ name: "",
372
+ type: "bool",
373
+ },
374
+ ],
375
+ stateMutability: "nonpayable",
376
+ type: "function",
377
+ },
378
+ {
379
+ inputs: [
380
+ {
381
+ internalType: "address",
382
+ name: "from",
383
+ type: "address",
384
+ },
385
+ {
386
+ internalType: "address",
387
+ name: "to",
388
+ type: "address",
389
+ },
390
+ {
391
+ internalType: "uint256",
392
+ name: "value",
393
+ type: "uint256",
394
+ },
395
+ ],
396
+ name: "transferFrom",
397
+ outputs: [
398
+ {
399
+ internalType: "bool",
400
+ name: "",
401
+ type: "bool",
402
+ },
403
+ ],
404
+ stateMutability: "nonpayable",
405
+ type: "function",
406
+ },
407
+ {
408
+ inputs: [
409
+ {
410
+ internalType: "address",
411
+ name: "newOwner",
412
+ type: "address",
413
+ },
414
+ ],
415
+ name: "transferOwnership",
416
+ outputs: [],
417
+ stateMutability: "nonpayable",
418
+ type: "function",
419
+ },
420
+ ] as const;
421
+
422
+ export class MockUSD__factory {
423
+ static readonly abi = _abi;
424
+ static createInterface(): MockUSDInterface {
425
+ return new Interface(_abi) as MockUSDInterface;
426
+ }
427
+ static connect(address: string, runner?: ContractRunner | null): MockUSD {
428
+ return new Contract(address, _abi, runner) as unknown as MockUSD;
429
+ }
430
+ }
package/src/marketData.ts CHANGED
@@ -991,10 +991,11 @@ export default class MarketData extends PerpetualDataHandler {
991
991
  markPrice: number,
992
992
  collToQuoteConversion: number,
993
993
  S2: number,
994
- symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>
994
+ symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>
995
995
  ): [number, number | undefined, number] {
996
996
  let S2Liq: number, S3Liq: number | undefined;
997
997
  const staticInfo = symbolToPerpStaticInfo.get(symbol)!;
998
+
998
999
  let ccyType = staticInfo.collateralCurrencyType;
999
1000
  const isPred = MarketData.isPredictionMarketStatic(staticInfo);
1000
1001
  const idx_availableCashCC = 2;
@@ -1819,7 +1820,7 @@ export default class MarketData extends PerpetualDataHandler {
1819
1820
  protected static async openOrdersOnOrderBook(
1820
1821
  traderAddr: string,
1821
1822
  orderBookContract: LimitOrderBook,
1822
- symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>,
1823
+ symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
1823
1824
  overrides?: Overrides
1824
1825
  ): Promise<Order[]> {
1825
1826
  //eliminate empty orders and map to user friendly orders
@@ -1856,7 +1857,7 @@ export default class MarketData extends PerpetualDataHandler {
1856
1857
  traderAddr: string,
1857
1858
  orderBookContracts: LimitOrderBook[],
1858
1859
  multicall: Multicall3,
1859
- symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>,
1860
+ symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
1860
1861
  overrides?: Overrides
1861
1862
  ): Promise<{ orders: Order[][]; digests: string[][] }> {
1862
1863
  // eliminate empty orders and map to user friendly orders
@@ -2044,9 +2045,9 @@ export default class MarketData extends PerpetualDataHandler {
2044
2045
  * @ignore
2045
2046
  */
2046
2047
  private static async _getAllActivePerpIndexPrices(
2047
- _symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>,
2048
+ _symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
2048
2049
  _priceFeedGetter: PriceFeeds,
2049
- _symbolList: Map<string, string>
2050
+ _symbolList: ReadonlyMap<string, string>
2050
2051
  ): Promise<Map<string, [number, boolean]>> {
2051
2052
  // get all prices from off-chain price-sources
2052
2053
  let allSym = new Set<string>();
@@ -2102,7 +2103,7 @@ export default class MarketData extends PerpetualDataHandler {
2102
2103
  */
2103
2104
  private static async _isMarketClosed(
2104
2105
  symbol: string,
2105
- _symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>,
2106
+ _symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
2106
2107
  _priceFeedGetter: PriceFeeds
2107
2108
  ): Promise<boolean> {
2108
2109
  const sInfo: PerpetualStaticInfo | undefined = _symbolToPerpStaticInfo.get(symbol);
@@ -2133,13 +2134,13 @@ export default class MarketData extends PerpetualDataHandler {
2133
2134
  */
2134
2135
  private static async _queryMidPrices(
2135
2136
  _proxyContract: Contract,
2136
- _poolStaticInfos: Array<PoolStaticInfo>,
2137
+ _poolStaticInfos: ReadonlyArray<PoolStaticInfo>,
2137
2138
  _multicall: Multicall3,
2138
- _nestedPerpetualIDs: Array<Array<number>>,
2139
- _symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>,
2140
- _perpetualIdToSymbol: Map<number, string>,
2141
- _idxPriceMap: Map<string, [number, boolean]>,
2142
- _symbolList: Map<string, string>,
2139
+ _nestedPerpetualIDs: ReadonlyArray<ReadonlyArray<number>>,
2140
+ _symbolToPerpStaticInfo: ReadonlyMap<string, PerpetualStaticInfo>,
2141
+ _perpetualIdToSymbol: ReadonlyMap<number, string>,
2142
+ _idxPriceMap: ReadonlyMap<string, [number, boolean]>,
2143
+ _symbolList: ReadonlyMap<string, string>,
2143
2144
  overrides?: Overrides
2144
2145
  ): Promise<Map<string, number>> {
2145
2146
  // what is the maximal number of queries at once?
@@ -2218,9 +2219,9 @@ export default class MarketData extends PerpetualDataHandler {
2218
2219
  private static async _queryPoolAndPerpetualStates(
2219
2220
  _proxyContract: Contract,
2220
2221
  _multicall: Multicall3,
2221
- _poolStaticInfos: PoolStaticInfo[],
2222
- _symbolList: Map<string, string>,
2223
- _nestedPerpetualIDs: Array<Array<number>>,
2222
+ _poolStaticInfos: readonly PoolStaticInfo[],
2223
+ _symbolList: ReadonlyMap<string, string>,
2224
+ _nestedPerpetualIDs: ReadonlyArray<ReadonlyArray<number>>,
2224
2225
  overrides?: Overrides
2225
2226
  ): Promise<{ pools: Array<PoolState>; perpetuals: Array<PerpetualState> }> {
2226
2227
  const chunkSize = 5;
@@ -2298,7 +2299,7 @@ export default class MarketData extends PerpetualDataHandler {
2298
2299
  */
2299
2300
  protected static _poolDataToPoolState(
2300
2301
  _liquidityPools: Partial<PerpStorage.LiquidityPoolDataStructOutput>[],
2301
- _poolStaticInfos: PoolStaticInfo[]
2302
+ _poolStaticInfos: readonly PoolStaticInfo[]
2302
2303
  ): PoolState[] {
2303
2304
  const poolStates = _liquidityPools.map(
2304
2305
  (pool, k) =>
@@ -2326,9 +2327,9 @@ export default class MarketData extends PerpetualDataHandler {
2326
2327
  * @ignore
2327
2328
  */
2328
2329
  protected static _perpetualDataToPerpetualState(
2329
- _perpetuals: any[],
2330
- _longShortBC: [bigint, bigint][],
2331
- _symbolList: Map<string, string>
2330
+ _perpetuals: readonly any[],
2331
+ _longShortBC: readonly [bigint, bigint][],
2332
+ _symbolList: ReadonlyMap<string, string>
2332
2333
  ): PerpetualState[] {
2333
2334
  const perpStates = new Array<PerpetualState>();
2334
2335
  for (let k = 0; k < _perpetuals.length; k++) {
@@ -2427,9 +2428,13 @@ export default class MarketData extends PerpetualDataHandler {
2427
2428
  ) {
2428
2429
  perp.isMarketClosed = true;
2429
2430
  } else {
2430
- const idxPriceS2Pair = idxPriceMap.get(MarketData.getIndexSymbol(_symbolList, info))!;
2431
+ const indexSymbol = MarketData.getIndexSymbol(_symbolList, info);
2432
+ const idxPriceS2Pair = idxPriceMap.get(indexSymbol)!; // checked in if
2431
2433
  let idxPriceS3Pair: [number, boolean] = [0, false];
2432
- perp.isMarketClosed = idxPriceS2Pair[1];
2434
+ perp.isMarketClosed =
2435
+ idxPriceS2Pair[1] ||
2436
+ (MarketData.isPredictionMarketStatic(info) &&
2437
+ (isNaN(idxPriceS2Pair[0]) || idxPriceS2Pair[0] < 1.01 || idxPriceS2Pair[0] > 1.99));
2433
2438
  if (info.S3Symbol != "" && idxPriceMap.has(info.S3Symbol)) {
2434
2439
  idxPriceS3Pair = idxPriceMap.get(info.S3Symbol)!;
2435
2440
  perp.isMarketClosed = perp.isMarketClosed || idxPriceS3Pair[1];
@@ -2443,7 +2448,7 @@ export default class MarketData extends PerpetualDataHandler {
2443
2448
  }
2444
2449
  perp.collToQuoteIndexPrice = indexS3;
2445
2450
 
2446
- const emaKey = info.S2Symbol + ":ema";
2451
+ const emaKey = indexSymbol + ":ema";
2447
2452
  let markPrice: number;
2448
2453
  if (idxPriceMap.has(emaKey)) {
2449
2454
  let ema: number;