@d8x/perpetuals-sdk 0.8.39 → 0.8.41

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 (66) hide show
  1. package/dist/cjs/abi/IPyth.json +471 -0
  2. package/dist/cjs/abi/OracleFactory.json +457 -0
  3. package/dist/cjs/contracts/IPyth.d.ts +234 -0
  4. package/dist/cjs/contracts/IPyth.js +3 -0
  5. package/dist/cjs/contracts/IPyth.js.map +1 -0
  6. package/dist/cjs/contracts/OracleFactory.d.ts +288 -0
  7. package/dist/cjs/contracts/OracleFactory.js +3 -0
  8. package/dist/cjs/contracts/OracleFactory.js.map +1 -0
  9. package/dist/cjs/contracts/factories/IPyth__factory.d.ts +367 -0
  10. package/dist/cjs/contracts/factories/IPyth__factory.js +489 -0
  11. package/dist/cjs/contracts/factories/IPyth__factory.js.map +1 -0
  12. package/dist/cjs/contracts/factories/OracleFactory__factory.d.ts +361 -0
  13. package/dist/cjs/contracts/factories/OracleFactory__factory.js +475 -0
  14. package/dist/cjs/contracts/factories/OracleFactory__factory.js.map +1 -0
  15. package/dist/cjs/contracts/factories/index.d.ts +2 -0
  16. package/dist/cjs/contracts/factories/index.js +5 -1
  17. package/dist/cjs/contracts/factories/index.js.map +1 -1
  18. package/dist/cjs/contracts/index.d.ts +4 -0
  19. package/dist/cjs/contracts/index.js +5 -1
  20. package/dist/cjs/contracts/index.js.map +1 -1
  21. package/dist/cjs/orderExecutorTool.js +30 -15
  22. package/dist/cjs/orderExecutorTool.js.map +1 -1
  23. package/dist/cjs/perpetualDataHandler.d.ts +2 -1
  24. package/dist/cjs/perpetualDataHandler.js +3 -0
  25. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  26. package/dist/cjs/version.d.ts +1 -1
  27. package/dist/cjs/version.js +1 -1
  28. package/dist/esm/abi/IPyth.json +471 -0
  29. package/dist/esm/abi/OracleFactory.json +457 -0
  30. package/dist/esm/contracts/IPyth.d.ts +234 -0
  31. package/dist/esm/contracts/IPyth.js +2 -0
  32. package/dist/esm/contracts/IPyth.js.map +1 -0
  33. package/dist/esm/contracts/OracleFactory.d.ts +288 -0
  34. package/dist/esm/contracts/OracleFactory.js +2 -0
  35. package/dist/esm/contracts/OracleFactory.js.map +1 -0
  36. package/dist/esm/contracts/factories/IPyth__factory.d.ts +367 -0
  37. package/dist/esm/contracts/factories/IPyth__factory.js +485 -0
  38. package/dist/esm/contracts/factories/IPyth__factory.js.map +1 -0
  39. package/dist/esm/contracts/factories/OracleFactory__factory.d.ts +361 -0
  40. package/dist/esm/contracts/factories/OracleFactory__factory.js +471 -0
  41. package/dist/esm/contracts/factories/OracleFactory__factory.js.map +1 -0
  42. package/dist/esm/contracts/factories/index.d.ts +2 -0
  43. package/dist/esm/contracts/factories/index.js +2 -0
  44. package/dist/esm/contracts/factories/index.js.map +1 -1
  45. package/dist/esm/contracts/index.d.ts +4 -0
  46. package/dist/esm/contracts/index.js +2 -0
  47. package/dist/esm/contracts/index.js.map +1 -1
  48. package/dist/esm/orderExecutorTool.js +30 -15
  49. package/dist/esm/orderExecutorTool.js.map +1 -1
  50. package/dist/esm/perpetualDataHandler.d.ts +2 -1
  51. package/dist/esm/perpetualDataHandler.js +4 -1
  52. package/dist/esm/perpetualDataHandler.js.map +1 -1
  53. package/dist/esm/version.d.ts +1 -1
  54. package/dist/esm/version.js +1 -1
  55. package/package.json +1 -1
  56. package/src/abi/IPyth.json +471 -0
  57. package/src/abi/OracleFactory.json +457 -0
  58. package/src/contracts/IPyth.ts +571 -0
  59. package/src/contracts/OracleFactory.ts +708 -0
  60. package/src/contracts/factories/IPyth__factory.ts +489 -0
  61. package/src/contracts/factories/OracleFactory__factory.ts +478 -0
  62. package/src/contracts/factories/index.ts +2 -0
  63. package/src/contracts/index.ts +4 -0
  64. package/src/orderExecutorTool.ts +34 -16
  65. package/src/perpetualDataHandler.ts +8 -1
  66. package/src/version.ts +1 -1
@@ -0,0 +1,457 @@
1
+ [
2
+ {
3
+ "inputs": [
4
+ {
5
+ "internalType": "uint256",
6
+ "name": "_maxFeedTimeGapSec",
7
+ "type": "uint256"
8
+ },
9
+ {
10
+ "internalType": "address",
11
+ "name": "_pythFeedAddress",
12
+ "type": "address"
13
+ },
14
+ {
15
+ "internalType": "address",
16
+ "name": "_onDemandfeedAddress",
17
+ "type": "address"
18
+ }
19
+ ],
20
+ "stateMutability": "nonpayable",
21
+ "type": "constructor"
22
+ },
23
+ {
24
+ "anonymous": false,
25
+ "inputs": [
26
+ {
27
+ "indexed": false,
28
+ "internalType": "bytes4",
29
+ "name": "baseCurrency",
30
+ "type": "bytes4"
31
+ },
32
+ {
33
+ "indexed": false,
34
+ "internalType": "bytes4",
35
+ "name": "quoteCurrency",
36
+ "type": "bytes4"
37
+ },
38
+ {
39
+ "indexed": false,
40
+ "internalType": "address",
41
+ "name": "oracle",
42
+ "type": "address"
43
+ }
44
+ ],
45
+ "name": "OracleAdded",
46
+ "type": "event"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": false,
53
+ "internalType": "bytes4",
54
+ "name": "baseCurrency",
55
+ "type": "bytes4"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "bytes4",
60
+ "name": "quoteCurrency",
61
+ "type": "bytes4"
62
+ },
63
+ {
64
+ "indexed": false,
65
+ "internalType": "address",
66
+ "name": "oracle",
67
+ "type": "address"
68
+ }
69
+ ],
70
+ "name": "OracleCreated",
71
+ "type": "event"
72
+ },
73
+ {
74
+ "anonymous": false,
75
+ "inputs": [
76
+ {
77
+ "indexed": true,
78
+ "internalType": "address",
79
+ "name": "previousOwner",
80
+ "type": "address"
81
+ },
82
+ {
83
+ "indexed": true,
84
+ "internalType": "address",
85
+ "name": "newOwner",
86
+ "type": "address"
87
+ }
88
+ ],
89
+ "name": "OwnershipTransferred",
90
+ "type": "event"
91
+ },
92
+ {
93
+ "anonymous": false,
94
+ "inputs": [
95
+ {
96
+ "indexed": false,
97
+ "internalType": "bytes4",
98
+ "name": "baseCurrency",
99
+ "type": "bytes4"
100
+ },
101
+ {
102
+ "indexed": false,
103
+ "internalType": "bytes4",
104
+ "name": "quoteCurrency",
105
+ "type": "bytes4"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "address[]",
110
+ "name": "oracle",
111
+ "type": "address[]"
112
+ },
113
+ {
114
+ "indexed": false,
115
+ "internalType": "bool[]",
116
+ "name": "isInverse",
117
+ "type": "bool[]"
118
+ }
119
+ ],
120
+ "name": "RouteAdded",
121
+ "type": "event"
122
+ },
123
+ {
124
+ "anonymous": false,
125
+ "inputs": [
126
+ {
127
+ "indexed": false,
128
+ "internalType": "bytes4",
129
+ "name": "baseCurrency",
130
+ "type": "bytes4"
131
+ },
132
+ {
133
+ "indexed": false,
134
+ "internalType": "bytes4",
135
+ "name": "quoteCurrency",
136
+ "type": "bytes4"
137
+ },
138
+ {
139
+ "indexed": false,
140
+ "internalType": "address",
141
+ "name": "oracle",
142
+ "type": "address"
143
+ }
144
+ ],
145
+ "name": "ShortRouteAdded",
146
+ "type": "event"
147
+ },
148
+ {
149
+ "inputs": [
150
+ {
151
+ "internalType": "address",
152
+ "name": "_oracle",
153
+ "type": "address"
154
+ }
155
+ ],
156
+ "name": "addOracle",
157
+ "outputs": [],
158
+ "stateMutability": "nonpayable",
159
+ "type": "function"
160
+ },
161
+ {
162
+ "inputs": [
163
+ {
164
+ "internalType": "bytes4",
165
+ "name": "_baseCurrency",
166
+ "type": "bytes4"
167
+ },
168
+ {
169
+ "internalType": "bytes4",
170
+ "name": "_quoteCurrency",
171
+ "type": "bytes4"
172
+ },
173
+ {
174
+ "internalType": "address[]",
175
+ "name": "_oracles",
176
+ "type": "address[]"
177
+ },
178
+ {
179
+ "internalType": "bool[]",
180
+ "name": "_isInverse",
181
+ "type": "bool[]"
182
+ }
183
+ ],
184
+ "name": "addRoute",
185
+ "outputs": [],
186
+ "stateMutability": "nonpayable",
187
+ "type": "function"
188
+ },
189
+ {
190
+ "inputs": [
191
+ {
192
+ "internalType": "bytes4",
193
+ "name": "_baseCurrency",
194
+ "type": "bytes4"
195
+ },
196
+ {
197
+ "internalType": "bytes4",
198
+ "name": "_quoteCurrency",
199
+ "type": "bytes4"
200
+ },
201
+ {
202
+ "internalType": "uint16",
203
+ "name": "_tradingBreakMins",
204
+ "type": "uint16"
205
+ },
206
+ {
207
+ "internalType": "address",
208
+ "name": "_feedAddress",
209
+ "type": "address"
210
+ },
211
+ {
212
+ "internalType": "bytes32",
213
+ "name": "_priceId",
214
+ "type": "bytes32"
215
+ },
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "_feedPeriod",
219
+ "type": "uint256"
220
+ }
221
+ ],
222
+ "name": "createOracle",
223
+ "outputs": [
224
+ {
225
+ "internalType": "address",
226
+ "name": "",
227
+ "type": "address"
228
+ }
229
+ ],
230
+ "stateMutability": "nonpayable",
231
+ "type": "function"
232
+ },
233
+ {
234
+ "inputs": [
235
+ {
236
+ "internalType": "bytes4",
237
+ "name": "_baseCurrency",
238
+ "type": "bytes4"
239
+ },
240
+ {
241
+ "internalType": "bytes4",
242
+ "name": "_quoteCurrency",
243
+ "type": "bytes4"
244
+ }
245
+ ],
246
+ "name": "existsRoute",
247
+ "outputs": [
248
+ {
249
+ "internalType": "bool",
250
+ "name": "",
251
+ "type": "bool"
252
+ }
253
+ ],
254
+ "stateMutability": "view",
255
+ "type": "function"
256
+ },
257
+ {
258
+ "inputs": [
259
+ {
260
+ "internalType": "bytes4",
261
+ "name": "_baseCurrency",
262
+ "type": "bytes4"
263
+ },
264
+ {
265
+ "internalType": "bytes4",
266
+ "name": "_quoteCurrency",
267
+ "type": "bytes4"
268
+ }
269
+ ],
270
+ "name": "getRoute",
271
+ "outputs": [
272
+ {
273
+ "components": [
274
+ {
275
+ "internalType": "address",
276
+ "name": "oracle",
277
+ "type": "address"
278
+ },
279
+ {
280
+ "internalType": "bool",
281
+ "name": "isInverse",
282
+ "type": "bool"
283
+ }
284
+ ],
285
+ "internalType": "struct OracleFactory.OracleData[]",
286
+ "name": "",
287
+ "type": "tuple[]"
288
+ }
289
+ ],
290
+ "stateMutability": "view",
291
+ "type": "function"
292
+ },
293
+ {
294
+ "inputs": [
295
+ {
296
+ "internalType": "bytes4[2]",
297
+ "name": "_baseQuote",
298
+ "type": "bytes4[2]"
299
+ }
300
+ ],
301
+ "name": "getRouteIds",
302
+ "outputs": [
303
+ {
304
+ "internalType": "bytes32[]",
305
+ "name": "",
306
+ "type": "bytes32[]"
307
+ },
308
+ {
309
+ "internalType": "bool[]",
310
+ "name": "",
311
+ "type": "bool[]"
312
+ }
313
+ ],
314
+ "stateMutability": "view",
315
+ "type": "function"
316
+ },
317
+ {
318
+ "inputs": [
319
+ {
320
+ "internalType": "bytes4",
321
+ "name": "_baseCurrency",
322
+ "type": "bytes4"
323
+ },
324
+ {
325
+ "internalType": "bytes4",
326
+ "name": "_quoteCurrency",
327
+ "type": "bytes4"
328
+ }
329
+ ],
330
+ "name": "getSpotPrice",
331
+ "outputs": [
332
+ {
333
+ "internalType": "int128",
334
+ "name": "",
335
+ "type": "int128"
336
+ },
337
+ {
338
+ "internalType": "uint256",
339
+ "name": "",
340
+ "type": "uint256"
341
+ }
342
+ ],
343
+ "stateMutability": "view",
344
+ "type": "function"
345
+ },
346
+ {
347
+ "inputs": [
348
+ {
349
+ "internalType": "bytes4",
350
+ "name": "_baseCurrency",
351
+ "type": "bytes4"
352
+ },
353
+ {
354
+ "internalType": "bytes4",
355
+ "name": "_quoteCurrency",
356
+ "type": "bytes4"
357
+ }
358
+ ],
359
+ "name": "isRouteTerminated",
360
+ "outputs": [
361
+ {
362
+ "internalType": "bool",
363
+ "name": "",
364
+ "type": "bool"
365
+ }
366
+ ],
367
+ "stateMutability": "view",
368
+ "type": "function"
369
+ },
370
+ {
371
+ "inputs": [],
372
+ "name": "onDemandFeed",
373
+ "outputs": [
374
+ {
375
+ "internalType": "address",
376
+ "name": "",
377
+ "type": "address"
378
+ }
379
+ ],
380
+ "stateMutability": "view",
381
+ "type": "function"
382
+ },
383
+ {
384
+ "inputs": [],
385
+ "name": "owner",
386
+ "outputs": [
387
+ {
388
+ "internalType": "address",
389
+ "name": "",
390
+ "type": "address"
391
+ }
392
+ ],
393
+ "stateMutability": "view",
394
+ "type": "function"
395
+ },
396
+ {
397
+ "inputs": [],
398
+ "name": "pyth",
399
+ "outputs": [
400
+ {
401
+ "internalType": "address",
402
+ "name": "",
403
+ "type": "address"
404
+ }
405
+ ],
406
+ "stateMutability": "view",
407
+ "type": "function"
408
+ },
409
+ {
410
+ "inputs": [],
411
+ "name": "renounceOwnership",
412
+ "outputs": [],
413
+ "stateMutability": "nonpayable",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "internalType": "address",
420
+ "name": "newOwner",
421
+ "type": "address"
422
+ }
423
+ ],
424
+ "name": "transferOwnership",
425
+ "outputs": [],
426
+ "stateMutability": "nonpayable",
427
+ "type": "function"
428
+ },
429
+ {
430
+ "inputs": [
431
+ {
432
+ "internalType": "bytes[]",
433
+ "name": "_updateData",
434
+ "type": "bytes[]"
435
+ },
436
+ {
437
+ "internalType": "bytes32[]",
438
+ "name": "_priceIds",
439
+ "type": "bytes32[]"
440
+ },
441
+ {
442
+ "internalType": "uint64[]",
443
+ "name": "_publishTimes",
444
+ "type": "uint64[]"
445
+ },
446
+ {
447
+ "internalType": "uint256",
448
+ "name": "_maxAcceptableFeedAge",
449
+ "type": "uint256"
450
+ }
451
+ ],
452
+ "name": "updatePriceFeeds",
453
+ "outputs": [],
454
+ "stateMutability": "payable",
455
+ "type": "function"
456
+ }
457
+ ]
@@ -0,0 +1,234 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
5
+ export declare namespace PythStructs {
6
+ type PriceStruct = {
7
+ price: BigNumberish;
8
+ conf: BigNumberish;
9
+ expo: BigNumberish;
10
+ publishTime: BigNumberish;
11
+ };
12
+ type PriceStructOutput = [BigNumber, BigNumber, number, BigNumber] & {
13
+ price: BigNumber;
14
+ conf: BigNumber;
15
+ expo: number;
16
+ publishTime: BigNumber;
17
+ };
18
+ type PriceFeedStruct = {
19
+ id: BytesLike;
20
+ price: PythStructs.PriceStruct;
21
+ emaPrice: PythStructs.PriceStruct;
22
+ };
23
+ type PriceFeedStructOutput = [
24
+ string,
25
+ PythStructs.PriceStructOutput,
26
+ PythStructs.PriceStructOutput
27
+ ] & {
28
+ id: string;
29
+ price: PythStructs.PriceStructOutput;
30
+ emaPrice: PythStructs.PriceStructOutput;
31
+ };
32
+ }
33
+ export interface IPythInterface extends utils.Interface {
34
+ functions: {
35
+ "getEmaPrice(bytes32)": FunctionFragment;
36
+ "getEmaPriceNoOlderThan(bytes32,uint256)": FunctionFragment;
37
+ "getEmaPriceUnsafe(bytes32)": FunctionFragment;
38
+ "getPrice(bytes32)": FunctionFragment;
39
+ "getPriceNoOlderThan(bytes32,uint256)": FunctionFragment;
40
+ "getPriceUnsafe(bytes32)": FunctionFragment;
41
+ "getUpdateFee(bytes[])": FunctionFragment;
42
+ "getValidTimePeriod()": FunctionFragment;
43
+ "parsePriceFeedUpdates(bytes[],bytes32[],uint64,uint64)": FunctionFragment;
44
+ "updatePriceFeeds(bytes[])": FunctionFragment;
45
+ "updatePriceFeedsIfNecessary(bytes[],bytes32[],uint64[])": FunctionFragment;
46
+ };
47
+ getFunction(nameOrSignatureOrTopic: "getEmaPrice" | "getEmaPriceNoOlderThan" | "getEmaPriceUnsafe" | "getPrice" | "getPriceNoOlderThan" | "getPriceUnsafe" | "getUpdateFee" | "getValidTimePeriod" | "parsePriceFeedUpdates" | "updatePriceFeeds" | "updatePriceFeedsIfNecessary"): FunctionFragment;
48
+ encodeFunctionData(functionFragment: "getEmaPrice", values: [BytesLike]): string;
49
+ encodeFunctionData(functionFragment: "getEmaPriceNoOlderThan", values: [BytesLike, BigNumberish]): string;
50
+ encodeFunctionData(functionFragment: "getEmaPriceUnsafe", values: [BytesLike]): string;
51
+ encodeFunctionData(functionFragment: "getPrice", values: [BytesLike]): string;
52
+ encodeFunctionData(functionFragment: "getPriceNoOlderThan", values: [BytesLike, BigNumberish]): string;
53
+ encodeFunctionData(functionFragment: "getPriceUnsafe", values: [BytesLike]): string;
54
+ encodeFunctionData(functionFragment: "getUpdateFee", values: [BytesLike[]]): string;
55
+ encodeFunctionData(functionFragment: "getValidTimePeriod", values?: undefined): string;
56
+ encodeFunctionData(functionFragment: "parsePriceFeedUpdates", values: [BytesLike[], BytesLike[], BigNumberish, BigNumberish]): string;
57
+ encodeFunctionData(functionFragment: "updatePriceFeeds", values: [BytesLike[]]): string;
58
+ encodeFunctionData(functionFragment: "updatePriceFeedsIfNecessary", values: [BytesLike[], BytesLike[], BigNumberish[]]): string;
59
+ decodeFunctionResult(functionFragment: "getEmaPrice", data: BytesLike): Result;
60
+ decodeFunctionResult(functionFragment: "getEmaPriceNoOlderThan", data: BytesLike): Result;
61
+ decodeFunctionResult(functionFragment: "getEmaPriceUnsafe", data: BytesLike): Result;
62
+ decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result;
63
+ decodeFunctionResult(functionFragment: "getPriceNoOlderThan", data: BytesLike): Result;
64
+ decodeFunctionResult(functionFragment: "getPriceUnsafe", data: BytesLike): Result;
65
+ decodeFunctionResult(functionFragment: "getUpdateFee", data: BytesLike): Result;
66
+ decodeFunctionResult(functionFragment: "getValidTimePeriod", data: BytesLike): Result;
67
+ decodeFunctionResult(functionFragment: "parsePriceFeedUpdates", data: BytesLike): Result;
68
+ decodeFunctionResult(functionFragment: "updatePriceFeeds", data: BytesLike): Result;
69
+ decodeFunctionResult(functionFragment: "updatePriceFeedsIfNecessary", data: BytesLike): Result;
70
+ events: {
71
+ "BatchPriceFeedUpdate(uint16,uint64)": EventFragment;
72
+ "PriceFeedUpdate(bytes32,uint64,int64,uint64)": EventFragment;
73
+ };
74
+ getEvent(nameOrSignatureOrTopic: "BatchPriceFeedUpdate"): EventFragment;
75
+ getEvent(nameOrSignatureOrTopic: "PriceFeedUpdate"): EventFragment;
76
+ }
77
+ export interface BatchPriceFeedUpdateEventObject {
78
+ chainId: number;
79
+ sequenceNumber: BigNumber;
80
+ }
81
+ export type BatchPriceFeedUpdateEvent = TypedEvent<[
82
+ number,
83
+ BigNumber
84
+ ], BatchPriceFeedUpdateEventObject>;
85
+ export type BatchPriceFeedUpdateEventFilter = TypedEventFilter<BatchPriceFeedUpdateEvent>;
86
+ export interface PriceFeedUpdateEventObject {
87
+ id: string;
88
+ publishTime: BigNumber;
89
+ price: BigNumber;
90
+ conf: BigNumber;
91
+ }
92
+ export type PriceFeedUpdateEvent = TypedEvent<[
93
+ string,
94
+ BigNumber,
95
+ BigNumber,
96
+ BigNumber
97
+ ], PriceFeedUpdateEventObject>;
98
+ export type PriceFeedUpdateEventFilter = TypedEventFilter<PriceFeedUpdateEvent>;
99
+ export interface IPyth extends BaseContract {
100
+ connect(signerOrProvider: Signer | Provider | string): this;
101
+ attach(addressOrName: string): this;
102
+ deployed(): Promise<this>;
103
+ interface: IPythInterface;
104
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
105
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
106
+ listeners(eventName?: string): Array<Listener>;
107
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
108
+ removeAllListeners(eventName?: string): this;
109
+ off: OnEvent<this>;
110
+ on: OnEvent<this>;
111
+ once: OnEvent<this>;
112
+ removeListener: OnEvent<this>;
113
+ functions: {
114
+ getEmaPrice(id: BytesLike, overrides?: CallOverrides): Promise<[
115
+ PythStructs.PriceStructOutput
116
+ ] & {
117
+ price: PythStructs.PriceStructOutput;
118
+ }>;
119
+ getEmaPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<[
120
+ PythStructs.PriceStructOutput
121
+ ] & {
122
+ price: PythStructs.PriceStructOutput;
123
+ }>;
124
+ getEmaPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<[
125
+ PythStructs.PriceStructOutput
126
+ ] & {
127
+ price: PythStructs.PriceStructOutput;
128
+ }>;
129
+ getPrice(id: BytesLike, overrides?: CallOverrides): Promise<[
130
+ PythStructs.PriceStructOutput
131
+ ] & {
132
+ price: PythStructs.PriceStructOutput;
133
+ }>;
134
+ getPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<[
135
+ PythStructs.PriceStructOutput
136
+ ] & {
137
+ price: PythStructs.PriceStructOutput;
138
+ }>;
139
+ getPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<[
140
+ PythStructs.PriceStructOutput
141
+ ] & {
142
+ price: PythStructs.PriceStructOutput;
143
+ }>;
144
+ getUpdateFee(updateData: BytesLike[], overrides?: CallOverrides): Promise<[BigNumber] & {
145
+ feeAmount: BigNumber;
146
+ }>;
147
+ getValidTimePeriod(overrides?: CallOverrides): Promise<[BigNumber] & {
148
+ validTimePeriod: BigNumber;
149
+ }>;
150
+ parsePriceFeedUpdates(updateData: BytesLike[], priceIds: BytesLike[], minPublishTime: BigNumberish, maxPublishTime: BigNumberish, overrides?: PayableOverrides & {
151
+ from?: string;
152
+ }): Promise<ContractTransaction>;
153
+ updatePriceFeeds(updateData: BytesLike[], overrides?: PayableOverrides & {
154
+ from?: string;
155
+ }): Promise<ContractTransaction>;
156
+ updatePriceFeedsIfNecessary(updateData: BytesLike[], priceIds: BytesLike[], publishTimes: BigNumberish[], overrides?: PayableOverrides & {
157
+ from?: string;
158
+ }): Promise<ContractTransaction>;
159
+ };
160
+ getEmaPrice(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
161
+ getEmaPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
162
+ getEmaPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
163
+ getPrice(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
164
+ getPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
165
+ getPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
166
+ getUpdateFee(updateData: BytesLike[], overrides?: CallOverrides): Promise<BigNumber>;
167
+ getValidTimePeriod(overrides?: CallOverrides): Promise<BigNumber>;
168
+ parsePriceFeedUpdates(updateData: BytesLike[], priceIds: BytesLike[], minPublishTime: BigNumberish, maxPublishTime: BigNumberish, overrides?: PayableOverrides & {
169
+ from?: string;
170
+ }): Promise<ContractTransaction>;
171
+ updatePriceFeeds(updateData: BytesLike[], overrides?: PayableOverrides & {
172
+ from?: string;
173
+ }): Promise<ContractTransaction>;
174
+ updatePriceFeedsIfNecessary(updateData: BytesLike[], priceIds: BytesLike[], publishTimes: BigNumberish[], overrides?: PayableOverrides & {
175
+ from?: string;
176
+ }): Promise<ContractTransaction>;
177
+ callStatic: {
178
+ getEmaPrice(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
179
+ getEmaPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
180
+ getEmaPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
181
+ getPrice(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
182
+ getPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
183
+ getPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<PythStructs.PriceStructOutput>;
184
+ getUpdateFee(updateData: BytesLike[], overrides?: CallOverrides): Promise<BigNumber>;
185
+ getValidTimePeriod(overrides?: CallOverrides): Promise<BigNumber>;
186
+ parsePriceFeedUpdates(updateData: BytesLike[], priceIds: BytesLike[], minPublishTime: BigNumberish, maxPublishTime: BigNumberish, overrides?: CallOverrides): Promise<PythStructs.PriceFeedStructOutput[]>;
187
+ updatePriceFeeds(updateData: BytesLike[], overrides?: CallOverrides): Promise<void>;
188
+ updatePriceFeedsIfNecessary(updateData: BytesLike[], priceIds: BytesLike[], publishTimes: BigNumberish[], overrides?: CallOverrides): Promise<void>;
189
+ };
190
+ filters: {
191
+ "BatchPriceFeedUpdate(uint16,uint64)"(chainId?: null, sequenceNumber?: null): BatchPriceFeedUpdateEventFilter;
192
+ BatchPriceFeedUpdate(chainId?: null, sequenceNumber?: null): BatchPriceFeedUpdateEventFilter;
193
+ "PriceFeedUpdate(bytes32,uint64,int64,uint64)"(id?: BytesLike | null, publishTime?: null, price?: null, conf?: null): PriceFeedUpdateEventFilter;
194
+ PriceFeedUpdate(id?: BytesLike | null, publishTime?: null, price?: null, conf?: null): PriceFeedUpdateEventFilter;
195
+ };
196
+ estimateGas: {
197
+ getEmaPrice(id: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
198
+ getEmaPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
199
+ getEmaPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
200
+ getPrice(id: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
201
+ getPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
202
+ getPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
203
+ getUpdateFee(updateData: BytesLike[], overrides?: CallOverrides): Promise<BigNumber>;
204
+ getValidTimePeriod(overrides?: CallOverrides): Promise<BigNumber>;
205
+ parsePriceFeedUpdates(updateData: BytesLike[], priceIds: BytesLike[], minPublishTime: BigNumberish, maxPublishTime: BigNumberish, overrides?: PayableOverrides & {
206
+ from?: string;
207
+ }): Promise<BigNumber>;
208
+ updatePriceFeeds(updateData: BytesLike[], overrides?: PayableOverrides & {
209
+ from?: string;
210
+ }): Promise<BigNumber>;
211
+ updatePriceFeedsIfNecessary(updateData: BytesLike[], priceIds: BytesLike[], publishTimes: BigNumberish[], overrides?: PayableOverrides & {
212
+ from?: string;
213
+ }): Promise<BigNumber>;
214
+ };
215
+ populateTransaction: {
216
+ getEmaPrice(id: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
217
+ getEmaPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
218
+ getEmaPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
219
+ getPrice(id: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
220
+ getPriceNoOlderThan(id: BytesLike, age: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
221
+ getPriceUnsafe(id: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
222
+ getUpdateFee(updateData: BytesLike[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
223
+ getValidTimePeriod(overrides?: CallOverrides): Promise<PopulatedTransaction>;
224
+ parsePriceFeedUpdates(updateData: BytesLike[], priceIds: BytesLike[], minPublishTime: BigNumberish, maxPublishTime: BigNumberish, overrides?: PayableOverrides & {
225
+ from?: string;
226
+ }): Promise<PopulatedTransaction>;
227
+ updatePriceFeeds(updateData: BytesLike[], overrides?: PayableOverrides & {
228
+ from?: string;
229
+ }): Promise<PopulatedTransaction>;
230
+ updatePriceFeedsIfNecessary(updateData: BytesLike[], priceIds: BytesLike[], publishTimes: BigNumberish[], overrides?: PayableOverrides & {
231
+ from?: string;
232
+ }): Promise<PopulatedTransaction>;
233
+ };
234
+ }