@d8x/perpetuals-sdk 0.7.6 → 0.7.8

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 (99) hide show
  1. package/dist/cjs/abi/IPyth.json +471 -0
  2. package/dist/cjs/abi/OracleFactory.json +457 -0
  3. package/dist/cjs/config/priceFeedConfig.json +1 -1
  4. package/dist/cjs/contracts/IPyth.d.ts +234 -0
  5. package/dist/cjs/contracts/IPyth.js +3 -0
  6. package/dist/cjs/contracts/IPyth.js.map +1 -0
  7. package/dist/cjs/contracts/OracleFactory.d.ts +288 -0
  8. package/dist/cjs/contracts/OracleFactory.js +3 -0
  9. package/dist/cjs/contracts/OracleFactory.js.map +1 -0
  10. package/dist/cjs/contracts/factories/IPyth__factory.d.ts +367 -0
  11. package/dist/cjs/contracts/factories/IPyth__factory.js +489 -0
  12. package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -0
  13. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +361 -0
  14. package/dist/cjs/contracts/factories/OracleFactory__factory.js +475 -0
  15. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -0
  16. package/dist/cjs/contracts/factories/index.d.ts +2 -0
  17. package/dist/cjs/contracts/factories/index.js +5 -1
  18. package/dist/cjs/contracts/factories/index.js.map +1 -1
  19. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -9
  20. package/dist/cjs/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  21. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -9
  22. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  23. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -9
  24. package/dist/cjs/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  25. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -9
  26. package/dist/cjs/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  27. package/dist/cjs/contracts/index.d.ts +4 -0
  28. package/dist/cjs/contracts/index.js +5 -1
  29. package/dist/cjs/contracts/index.js.map +1 -1
  30. package/dist/cjs/index.d.ts +2 -1
  31. package/dist/cjs/index.js +3 -1
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/orderReferrerTool.js +1 -1
  34. package/dist/cjs/orderReferrerTool.js.map +1 -1
  35. package/dist/cjs/priceFeeds.js +1 -1
  36. package/dist/cjs/priceFeeds.js.map +1 -1
  37. package/dist/cjs/version.d.ts +1 -1
  38. package/dist/cjs/version.js +1 -1
  39. package/dist/esm/abi/IPyth.json +471 -0
  40. package/dist/esm/abi/OracleFactory.json +457 -0
  41. package/dist/esm/config/priceFeedConfig.json +1 -1
  42. package/dist/esm/contracts/IPyth.d.ts +234 -0
  43. package/dist/esm/contracts/IPyth.js +2 -0
  44. package/dist/esm/contracts/IPyth.js.map +1 -0
  45. package/dist/esm/contracts/OracleFactory.d.ts +288 -0
  46. package/dist/esm/contracts/OracleFactory.js +2 -0
  47. package/dist/esm/contracts/OracleFactory.js.map +1 -0
  48. package/dist/esm/contracts/factories/IPyth__factory.d.ts +367 -0
  49. package/dist/esm/contracts/factories/IPyth__factory.js +485 -0
  50. package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -0
  51. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +361 -0
  52. package/dist/esm/contracts/factories/OracleFactory__factory.js +471 -0
  53. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -0
  54. package/dist/esm/contracts/factories/index.d.ts +2 -0
  55. package/dist/esm/contracts/factories/index.js +2 -0
  56. package/dist/esm/contracts/factories/index.js.map +1 -1
  57. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js +12 -8
  58. package/dist/esm/contracts/factories/zkevmTestnet/IPerpetualManager__factory.js.map +1 -1
  59. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js +12 -8
  60. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.js.map +1 -1
  61. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js +12 -8
  62. package/dist/esm/contracts/factories/zkevmTestnet/LimitOrderBook__factory.js.map +1 -1
  63. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js +12 -8
  64. package/dist/esm/contracts/factories/zkevmTestnet/ShareToken__factory.js.map +1 -1
  65. package/dist/esm/contracts/index.d.ts +4 -0
  66. package/dist/esm/contracts/index.js +2 -0
  67. package/dist/esm/contracts/index.js.map +1 -1
  68. package/dist/esm/index.d.ts +2 -1
  69. package/dist/esm/index.js +2 -1
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/orderReferrerTool.js +1 -1
  72. package/dist/esm/orderReferrerTool.js.map +1 -1
  73. package/dist/esm/priceFeeds.js +1 -1
  74. package/dist/esm/priceFeeds.js.map +1 -1
  75. package/dist/esm/version.d.ts +1 -1
  76. package/dist/esm/version.js +1 -1
  77. package/package.json +1 -1
  78. package/src/abi/IPyth.json +471 -0
  79. package/src/abi/OracleFactory.json +457 -0
  80. package/src/config/priceFeedConfig.json +1 -1
  81. package/src/contracts/IPyth.ts +571 -0
  82. package/src/contracts/OracleFactory.ts +708 -0
  83. package/src/contracts/factories/IPyth__factory.ts +489 -0
  84. package/src/contracts/factories/{zkevmTestnet/ShareToken__factory.ts → OracleFactory__factory.ts} +222 -206
  85. package/src/contracts/factories/index.ts +2 -0
  86. package/src/contracts/index.ts +4 -0
  87. package/src/index.ts +2 -0
  88. package/src/orderReferrerTool.ts +1 -1
  89. package/src/priceFeeds.ts +1 -1
  90. package/src/version.ts +1 -1
  91. package/src/contracts/factories/zkevmTestnet/IPerpetualManager__factory.ts +0 -5804
  92. package/src/contracts/factories/zkevmTestnet/LimitOrderBookFactory__factory.ts +0 -263
  93. package/src/contracts/factories/zkevmTestnet/LimitOrderBook__factory.ts +0 -1131
  94. package/src/contracts/factories/zkevmTestnet/index.ts +0 -7
  95. package/src/contracts/zkevmTestnet/IPerpetualManager.ts +0 -7109
  96. package/src/contracts/zkevmTestnet/LimitOrderBook.ts +0 -1341
  97. package/src/contracts/zkevmTestnet/LimitOrderBookFactory.ts +0 -472
  98. package/src/contracts/zkevmTestnet/ShareToken.ts +0 -695
  99. package/src/contracts/zkevmTestnet/index.ts +0 -7
@@ -4,28 +4,25 @@
4
4
 
5
5
  import { Contract, Signer, utils } from "ethers";
6
6
  import type { Provider } from "@ethersproject/providers";
7
- import type {
8
- ShareToken,
9
- ShareTokenInterface,
10
- } from "../../zkevmTestnet/ShareToken";
7
+ import type { OracleFactory, OracleFactoryInterface } from "../OracleFactory";
11
8
 
12
9
  const _abi = [
13
10
  {
14
11
  inputs: [
15
12
  {
16
- internalType: "uint8",
17
- name: "_poolId",
18
- type: "uint8",
13
+ internalType: "uint256",
14
+ name: "_maxFeedTimeGapSec",
15
+ type: "uint256",
19
16
  },
20
17
  {
21
- internalType: "string",
22
- name: "_name",
23
- type: "string",
18
+ internalType: "address",
19
+ name: "_pythFeedAddress",
20
+ type: "address",
24
21
  },
25
22
  {
26
- internalType: "string",
27
- name: "_symbol",
28
- type: "string",
23
+ internalType: "address",
24
+ name: "_onDemandfeedAddress",
25
+ type: "address",
29
26
  },
30
27
  ],
31
28
  stateMutability: "nonpayable",
@@ -35,25 +32,50 @@ const _abi = [
35
32
  anonymous: false,
36
33
  inputs: [
37
34
  {
38
- indexed: true,
39
- internalType: "address",
40
- name: "owner",
41
- type: "address",
35
+ indexed: false,
36
+ internalType: "bytes4",
37
+ name: "baseCurrency",
38
+ type: "bytes4",
42
39
  },
43
40
  {
44
- indexed: true,
41
+ indexed: false,
42
+ internalType: "bytes4",
43
+ name: "quoteCurrency",
44
+ type: "bytes4",
45
+ },
46
+ {
47
+ indexed: false,
45
48
  internalType: "address",
46
- name: "spender",
49
+ name: "oracle",
47
50
  type: "address",
48
51
  },
52
+ ],
53
+ name: "OracleAdded",
54
+ type: "event",
55
+ },
56
+ {
57
+ anonymous: false,
58
+ inputs: [
49
59
  {
50
60
  indexed: false,
51
- internalType: "uint256",
52
- name: "value",
53
- type: "uint256",
61
+ internalType: "bytes4",
62
+ name: "baseCurrency",
63
+ type: "bytes4",
64
+ },
65
+ {
66
+ indexed: false,
67
+ internalType: "bytes4",
68
+ name: "quoteCurrency",
69
+ type: "bytes4",
70
+ },
71
+ {
72
+ indexed: false,
73
+ internalType: "address",
74
+ name: "oracle",
75
+ type: "address",
54
76
  },
55
77
  ],
56
- name: "Approval",
78
+ name: "OracleCreated",
57
79
  type: "event",
58
80
  },
59
81
  {
@@ -80,100 +102,137 @@ const _abi = [
80
102
  inputs: [
81
103
  {
82
104
  indexed: false,
83
- internalType: "address",
84
- name: "from",
85
- type: "address",
105
+ internalType: "bytes4",
106
+ name: "baseCurrency",
107
+ type: "bytes4",
86
108
  },
87
109
  {
88
110
  indexed: false,
89
- internalType: "address",
90
- name: "to",
91
- type: "address",
111
+ internalType: "bytes4",
112
+ name: "quoteCurrency",
113
+ type: "bytes4",
92
114
  },
93
115
  {
94
116
  indexed: false,
95
- internalType: "uint256",
96
- name: "amountD18",
97
- type: "uint256",
117
+ internalType: "address[]",
118
+ name: "oracle",
119
+ type: "address[]",
98
120
  },
99
121
  {
100
122
  indexed: false,
101
- internalType: "uint256",
102
- name: "priceD18",
103
- type: "uint256",
123
+ internalType: "bool[]",
124
+ name: "isInverse",
125
+ type: "bool[]",
104
126
  },
105
127
  ],
106
- name: "P2PTransfer",
128
+ name: "RouteAdded",
107
129
  type: "event",
108
130
  },
109
131
  {
110
132
  anonymous: false,
111
133
  inputs: [
112
134
  {
113
- indexed: true,
114
- internalType: "address",
115
- name: "from",
116
- type: "address",
135
+ indexed: false,
136
+ internalType: "bytes4",
137
+ name: "baseCurrency",
138
+ type: "bytes4",
117
139
  },
118
140
  {
119
- indexed: true,
120
- internalType: "address",
121
- name: "to",
122
- type: "address",
141
+ indexed: false,
142
+ internalType: "bytes4",
143
+ name: "quoteCurrency",
144
+ type: "bytes4",
123
145
  },
124
146
  {
125
147
  indexed: false,
126
- internalType: "uint256",
127
- name: "value",
128
- type: "uint256",
148
+ internalType: "address",
149
+ name: "oracle",
150
+ type: "address",
129
151
  },
130
152
  ],
131
- name: "Transfer",
153
+ name: "ShortRouteAdded",
132
154
  type: "event",
133
155
  },
134
156
  {
135
157
  inputs: [
136
158
  {
137
159
  internalType: "address",
138
- name: "owner",
160
+ name: "_oracle",
139
161
  type: "address",
140
162
  },
163
+ ],
164
+ name: "addOracle",
165
+ outputs: [],
166
+ stateMutability: "nonpayable",
167
+ type: "function",
168
+ },
169
+ {
170
+ inputs: [
141
171
  {
142
- internalType: "address",
143
- name: "spender",
144
- type: "address",
172
+ internalType: "bytes4",
173
+ name: "_baseCurrency",
174
+ type: "bytes4",
145
175
  },
146
- ],
147
- name: "allowance",
148
- outputs: [
149
176
  {
150
- internalType: "uint256",
151
- name: "",
152
- type: "uint256",
177
+ internalType: "bytes4",
178
+ name: "_quoteCurrency",
179
+ type: "bytes4",
180
+ },
181
+ {
182
+ internalType: "address[]",
183
+ name: "_oracles",
184
+ type: "address[]",
185
+ },
186
+ {
187
+ internalType: "bool[]",
188
+ name: "_isInverse",
189
+ type: "bool[]",
153
190
  },
154
191
  ],
155
- stateMutability: "view",
192
+ name: "addRoute",
193
+ outputs: [],
194
+ stateMutability: "nonpayable",
156
195
  type: "function",
157
196
  },
158
197
  {
159
198
  inputs: [
199
+ {
200
+ internalType: "bytes4",
201
+ name: "_baseCurrency",
202
+ type: "bytes4",
203
+ },
204
+ {
205
+ internalType: "bytes4",
206
+ name: "_quoteCurrency",
207
+ type: "bytes4",
208
+ },
209
+ {
210
+ internalType: "uint16",
211
+ name: "_tradingBreakMins",
212
+ type: "uint16",
213
+ },
160
214
  {
161
215
  internalType: "address",
162
- name: "spender",
216
+ name: "_feedAddress",
163
217
  type: "address",
164
218
  },
219
+ {
220
+ internalType: "bytes32",
221
+ name: "_priceId",
222
+ type: "bytes32",
223
+ },
165
224
  {
166
225
  internalType: "uint256",
167
- name: "amount",
226
+ name: "_feedPeriod",
168
227
  type: "uint256",
169
228
  },
170
229
  ],
171
- name: "approve",
230
+ name: "createOracle",
172
231
  outputs: [
173
232
  {
174
- internalType: "bool",
233
+ internalType: "address",
175
234
  name: "",
176
- type: "bool",
235
+ type: "address",
177
236
  },
178
237
  ],
179
238
  stateMutability: "nonpayable",
@@ -182,17 +241,22 @@ const _abi = [
182
241
  {
183
242
  inputs: [
184
243
  {
185
- internalType: "address",
186
- name: "account",
187
- type: "address",
244
+ internalType: "bytes4",
245
+ name: "_baseCurrency",
246
+ type: "bytes4",
247
+ },
248
+ {
249
+ internalType: "bytes4",
250
+ name: "_quoteCurrency",
251
+ type: "bytes4",
188
252
  },
189
253
  ],
190
- name: "balanceOf",
254
+ name: "existsRoute",
191
255
  outputs: [
192
256
  {
193
- internalType: "uint256",
257
+ internalType: "bool",
194
258
  name: "",
195
- type: "uint256",
259
+ type: "bool",
196
260
  },
197
261
  ],
198
262
  stateMutability: "view",
@@ -201,29 +265,34 @@ const _abi = [
201
265
  {
202
266
  inputs: [
203
267
  {
204
- internalType: "address",
205
- name: "_account",
206
- type: "address",
268
+ internalType: "bytes4",
269
+ name: "_baseCurrency",
270
+ type: "bytes4",
207
271
  },
208
272
  {
209
- internalType: "uint256",
210
- name: "_amount",
211
- type: "uint256",
273
+ internalType: "bytes4",
274
+ name: "_quoteCurrency",
275
+ type: "bytes4",
212
276
  },
213
277
  ],
214
- name: "burn",
215
- outputs: [],
216
- stateMutability: "nonpayable",
217
- type: "function",
218
- },
219
- {
220
- inputs: [],
221
- name: "decimals",
278
+ name: "getRoute",
222
279
  outputs: [
223
280
  {
224
- internalType: "uint8",
281
+ components: [
282
+ {
283
+ internalType: "address",
284
+ name: "oracle",
285
+ type: "address",
286
+ },
287
+ {
288
+ internalType: "bool",
289
+ name: "isInverse",
290
+ type: "bool",
291
+ },
292
+ ],
293
+ internalType: "struct OracleFactory.OracleData[]",
225
294
  name: "",
226
- type: "uint8",
295
+ type: "tuple[]",
227
296
  },
228
297
  ],
229
298
  stateMutability: "view",
@@ -232,77 +301,88 @@ const _abi = [
232
301
  {
233
302
  inputs: [
234
303
  {
235
- internalType: "address",
236
- name: "spender",
237
- type: "address",
238
- },
239
- {
240
- internalType: "uint256",
241
- name: "subtractedValue",
242
- type: "uint256",
304
+ internalType: "bytes4[2]",
305
+ name: "_baseQuote",
306
+ type: "bytes4[2]",
243
307
  },
244
308
  ],
245
- name: "decreaseAllowance",
309
+ name: "getRouteIds",
246
310
  outputs: [
247
311
  {
248
- internalType: "bool",
312
+ internalType: "bytes32[]",
249
313
  name: "",
250
- type: "bool",
314
+ type: "bytes32[]",
315
+ },
316
+ {
317
+ internalType: "bool[]",
318
+ name: "",
319
+ type: "bool[]",
251
320
  },
252
321
  ],
253
- stateMutability: "nonpayable",
322
+ stateMutability: "view",
254
323
  type: "function",
255
324
  },
256
325
  {
257
326
  inputs: [
258
327
  {
259
- internalType: "address",
260
- name: "spender",
261
- type: "address",
328
+ internalType: "bytes4",
329
+ name: "_baseCurrency",
330
+ type: "bytes4",
262
331
  },
263
332
  {
264
- internalType: "uint256",
265
- name: "addedValue",
266
- type: "uint256",
333
+ internalType: "bytes4",
334
+ name: "_quoteCurrency",
335
+ type: "bytes4",
267
336
  },
268
337
  ],
269
- name: "increaseAllowance",
338
+ name: "getSpotPrice",
270
339
  outputs: [
271
340
  {
272
- internalType: "bool",
341
+ internalType: "int128",
273
342
  name: "",
274
- type: "bool",
343
+ type: "int128",
344
+ },
345
+ {
346
+ internalType: "uint256",
347
+ name: "",
348
+ type: "uint256",
275
349
  },
276
350
  ],
277
- stateMutability: "nonpayable",
351
+ stateMutability: "view",
278
352
  type: "function",
279
353
  },
280
354
  {
281
355
  inputs: [
282
356
  {
283
- internalType: "address",
284
- name: "_account",
285
- type: "address",
357
+ internalType: "bytes4",
358
+ name: "_baseCurrency",
359
+ type: "bytes4",
286
360
  },
287
361
  {
288
- internalType: "uint256",
289
- name: "_amount",
290
- type: "uint256",
362
+ internalType: "bytes4",
363
+ name: "_quoteCurrency",
364
+ type: "bytes4",
291
365
  },
292
366
  ],
293
- name: "mint",
294
- outputs: [],
295
- stateMutability: "nonpayable",
367
+ name: "isRouteTerminated",
368
+ outputs: [
369
+ {
370
+ internalType: "bool",
371
+ name: "",
372
+ type: "bool",
373
+ },
374
+ ],
375
+ stateMutability: "view",
296
376
  type: "function",
297
377
  },
298
378
  {
299
379
  inputs: [],
300
- name: "name",
380
+ name: "onDemandFeed",
301
381
  outputs: [
302
382
  {
303
- internalType: "string",
383
+ internalType: "address",
304
384
  name: "",
305
- type: "string",
385
+ type: "address",
306
386
  },
307
387
  ],
308
388
  stateMutability: "view",
@@ -323,12 +403,12 @@ const _abi = [
323
403
  },
324
404
  {
325
405
  inputs: [],
326
- name: "poolId",
406
+ name: "pyth",
327
407
  outputs: [
328
408
  {
329
- internalType: "uint8",
409
+ internalType: "address",
330
410
  name: "",
331
- type: "uint8",
411
+ type: "address",
332
412
  },
333
413
  ],
334
414
  stateMutability: "view",
@@ -345,118 +425,54 @@ const _abi = [
345
425
  inputs: [
346
426
  {
347
427
  internalType: "address",
348
- name: "_account",
428
+ name: "newOwner",
349
429
  type: "address",
350
430
  },
351
431
  ],
352
- name: "setTransferRestricted",
432
+ name: "transferOwnership",
353
433
  outputs: [],
354
434
  stateMutability: "nonpayable",
355
435
  type: "function",
356
436
  },
357
- {
358
- inputs: [],
359
- name: "symbol",
360
- outputs: [
361
- {
362
- internalType: "string",
363
- name: "",
364
- type: "string",
365
- },
366
- ],
367
- stateMutability: "view",
368
- type: "function",
369
- },
370
- {
371
- inputs: [],
372
- name: "totalSupply",
373
- outputs: [
374
- {
375
- internalType: "uint256",
376
- name: "",
377
- type: "uint256",
378
- },
379
- ],
380
- stateMutability: "view",
381
- type: "function",
382
- },
383
437
  {
384
438
  inputs: [
385
439
  {
386
- internalType: "address",
387
- name: "to",
388
- type: "address",
440
+ internalType: "bytes[]",
441
+ name: "_updateData",
442
+ type: "bytes[]",
389
443
  },
390
444
  {
391
- internalType: "uint256",
392
- name: "amount",
393
- type: "uint256",
445
+ internalType: "bytes32[]",
446
+ name: "_priceIds",
447
+ type: "bytes32[]",
394
448
  },
395
- ],
396
- name: "transfer",
397
- outputs: [
398
449
  {
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: "from",
412
- type: "address",
413
- },
414
- {
415
- internalType: "address",
416
- name: "to",
417
- type: "address",
450
+ internalType: "uint64[]",
451
+ name: "_publishTimes",
452
+ type: "uint64[]",
418
453
  },
419
454
  {
420
455
  internalType: "uint256",
421
- name: "amount",
456
+ name: "_maxAcceptableFeedAge",
422
457
  type: "uint256",
423
458
  },
424
459
  ],
425
- name: "transferFrom",
426
- outputs: [
427
- {
428
- internalType: "bool",
429
- name: "",
430
- type: "bool",
431
- },
432
- ],
433
- stateMutability: "nonpayable",
434
- type: "function",
435
- },
436
- {
437
- inputs: [
438
- {
439
- internalType: "address",
440
- name: "newOwner",
441
- type: "address",
442
- },
443
- ],
444
- name: "transferOwnership",
460
+ name: "updatePriceFeeds",
445
461
  outputs: [],
446
- stateMutability: "nonpayable",
462
+ stateMutability: "payable",
447
463
  type: "function",
448
464
  },
449
465
  ] as const;
450
466
 
451
- export class ShareToken__factory {
467
+ export class OracleFactory__factory {
452
468
  static readonly abi = _abi;
453
- static createInterface(): ShareTokenInterface {
454
- return new utils.Interface(_abi) as ShareTokenInterface;
469
+ static createInterface(): OracleFactoryInterface {
470
+ return new utils.Interface(_abi) as OracleFactoryInterface;
455
471
  }
456
472
  static connect(
457
473
  address: string,
458
474
  signerOrProvider: Signer | Provider
459
- ): ShareToken {
460
- return new Contract(address, _abi, signerOrProvider) as ShareToken;
475
+ ): OracleFactory {
476
+ return new Contract(address, _abi, signerOrProvider) as OracleFactory;
461
477
  }
462
478
  }
@@ -3,7 +3,9 @@
3
3
  /* eslint-disable */
4
4
  export { ERC20__factory } from "./ERC20__factory";
5
5
  export { IPerpetualManager__factory } from "./IPerpetualManager__factory";
6
+ export { IPyth__factory } from "./IPyth__factory";
6
7
  export { LimitOrderBook__factory } from "./LimitOrderBook__factory";
7
8
  export { LimitOrderBookFactory__factory } from "./LimitOrderBookFactory__factory";
8
9
  export { MockTokenSwap__factory } from "./MockTokenSwap__factory";
10
+ export { OracleFactory__factory } from "./OracleFactory__factory";
9
11
  export { ShareToken__factory } from "./ShareToken__factory";
@@ -3,14 +3,18 @@
3
3
  /* eslint-disable */
4
4
  export type { ERC20 } from "./ERC20";
5
5
  export type { IPerpetualManager } from "./IPerpetualManager";
6
+ export type { IPyth } from "./IPyth";
6
7
  export type { LimitOrderBook } from "./LimitOrderBook";
7
8
  export type { LimitOrderBookFactory } from "./LimitOrderBookFactory";
8
9
  export type { MockTokenSwap } from "./MockTokenSwap";
10
+ export type { OracleFactory } from "./OracleFactory";
9
11
  export type { ShareToken } from "./ShareToken";
10
12
  export * as factories from "./factories";
11
13
  export { ERC20__factory } from "./factories/ERC20__factory";
12
14
  export { IPerpetualManager__factory } from "./factories/IPerpetualManager__factory";
15
+ export { IPyth__factory } from "./factories/IPyth__factory";
13
16
  export { LimitOrderBook__factory } from "./factories/LimitOrderBook__factory";
14
17
  export { LimitOrderBookFactory__factory } from "./factories/LimitOrderBookFactory__factory";
15
18
  export { MockTokenSwap__factory } from "./factories/MockTokenSwap__factory";
19
+ export { OracleFactory__factory } from "./factories/OracleFactory__factory";
16
20
  export { ShareToken__factory } from "./factories/ShareToken__factory";
package/src/index.ts CHANGED
@@ -12,6 +12,7 @@ import WriteAccessHandler from "./writeAccessHandler";
12
12
  import LiquidatorTool from "./liquidatorTool";
13
13
  import TraderInterface from "./traderInterface";
14
14
  import PerpetualEventHandler from "./perpetualEventHandler";
15
+ import PriceFeeds from "./priceFeeds";
15
16
 
16
17
  export {
17
18
  AccountTrade,
@@ -24,6 +25,7 @@ export {
24
25
  LiquidatorTool,
25
26
  TraderInterface,
26
27
  PerpetualEventHandler,
28
+ PriceFeeds,
27
29
  };
28
30
 
29
31
  export * from "./version";
@@ -281,7 +281,7 @@ export default class OrderReferrerTool extends WriteAccessHandler {
281
281
  let userFriendlyOrders: Order[] = new Array<Order>();
282
282
  let orderIdsOut = [];
283
283
  let k = 0;
284
- while (k < orders.length && orders[k].traderAddr != ZERO_ADDRESS) {
284
+ while (k < numElements && k < orders.length && orders[k].traderAddr != ZERO_ADDRESS) {
285
285
  userFriendlyOrders.push(WriteAccessHandler.fromClientOrder(orders[k], this.symbolToPerpStaticInfo));
286
286
  orderIdsOut.push(orderIds[k]);
287
287
  k++;