@d8x/perpetuals-sdk 1.3.4 → 1.3.6

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 (41) hide show
  1. package/dist/cjs/config/priceFeedConfig.json +9 -3
  2. package/dist/cjs/nodeSDKTypes.d.ts +9 -8
  3. package/dist/cjs/orderExecutorTool.d.ts +4 -2
  4. package/dist/cjs/orderExecutorTool.js +28 -19
  5. package/dist/cjs/orderExecutorTool.js.map +1 -1
  6. package/dist/cjs/perpetualDataHandler.d.ts +1 -1
  7. package/dist/cjs/perpetualDataHandler.js +2 -2
  8. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  9. package/dist/cjs/priceFeeds.d.ts +18 -13
  10. package/dist/cjs/priceFeeds.js +62 -26
  11. package/dist/cjs/priceFeeds.js.map +1 -1
  12. package/dist/cjs/version.d.ts +1 -1
  13. package/dist/cjs/version.js +1 -1
  14. package/dist/esm/config/priceFeedConfig.json +9 -3
  15. package/dist/esm/nodeSDKTypes.d.ts +9 -8
  16. package/dist/esm/orderExecutorTool.d.ts +4 -2
  17. package/dist/esm/orderExecutorTool.js +28 -19
  18. package/dist/esm/orderExecutorTool.js.map +1 -1
  19. package/dist/esm/perpetualDataHandler.d.ts +1 -1
  20. package/dist/esm/perpetualDataHandler.js +2 -2
  21. package/dist/esm/perpetualDataHandler.js.map +1 -1
  22. package/dist/esm/priceFeeds.d.ts +18 -13
  23. package/dist/esm/priceFeeds.js +62 -26
  24. package/dist/esm/priceFeeds.js.map +1 -1
  25. package/dist/esm/version.d.ts +1 -1
  26. package/dist/esm/version.js +1 -1
  27. package/package.json +1 -1
  28. package/src/config/priceFeedConfig.json +9 -3
  29. package/src/nodeSDKTypes.ts +18 -2
  30. package/src/orderExecutorTool.ts +44 -30
  31. package/src/perpetualDataHandler.ts +2 -2
  32. package/src/priceFeeds.ts +91 -29
  33. package/src/version.ts +1 -1
  34. package/src/contracts/BeaconProxy.ts +0 -108
  35. package/src/contracts/MockToken.ts +0 -581
  36. package/src/contracts/UUPSUpgradeable.ts +0 -228
  37. package/src/contracts/WeETH.ts +0 -1104
  38. package/src/contracts/factories/BeaconProxy__factory.ts +0 -92
  39. package/src/contracts/factories/MockToken__factory.ts +0 -368
  40. package/src/contracts/factories/UUPSUpgradeable__factory.ts +0 -128
  41. package/src/contracts/factories/WeETH__factory.ts +0 -721
@@ -15,26 +15,18 @@ const onChainPxFactory_1 = __importDefault(require("./onChainPxFactory"));
15
15
  */
16
16
  class PriceFeeds {
17
17
  constructor(dataHandler, priceFeedConfigNetwork) {
18
+ // Endpoints which are used to fetch prices for submissions
19
+ this.writeFeedEndpoints = [];
18
20
  this.THRESHOLD_MARKET_CLOSED_SEC = 15; // smallest lag for which we consider the market as being closed
19
21
  this.cache = new Map();
20
22
  // api formatting constants
21
23
  this.PYTH = { endpoint: "/v2/updates/price/latest?encoding=base64&ids[]=", separator: "&ids[]=", suffix: "" };
22
24
  let configs = require("./config/priceFeedConfig.json");
23
25
  this.config = PriceFeeds._selectConfig(configs, priceFeedConfigNetwork);
24
- // if SDK config contains custom price feed endpoints, these override the public/default ones
26
+ // if SDK config contains custom price feed endpoints, these override the
27
+ // public/default ones
25
28
  if (dataHandler.config.priceFeedEndpoints && dataHandler.config.priceFeedEndpoints.length > 0) {
26
- // override price feed endpoints of same type
27
- for (let k = 0; k < dataHandler.config.priceFeedEndpoints.length; k++) {
28
- for (let j = 0; j < this.config.endpoints.length; j++) {
29
- if (this.config.endpoints[j].type == dataHandler.config.priceFeedEndpoints[k].type) {
30
- this.config.endpoints[j] = dataHandler.config.priceFeedEndpoints[k];
31
- for (let i = 0; i < this.config.endpoints[j].endpoints.length; i++) {
32
- this.config.endpoints[j].endpoints[i] = PriceFeeds.trimEndpoint(this.config.endpoints[j].endpoints[i]);
33
- }
34
- break;
35
- }
36
- }
37
- }
29
+ this.config.endpoints = PriceFeeds.overridePriceEndpointsOfSameType(this.config.endpoints, dataHandler.config.priceFeedEndpoints);
38
30
  }
39
31
  this.onChainPxFeeds = new Map();
40
32
  for (let k = 0; k < this.config.ids.length; k++) {
@@ -43,10 +35,46 @@ class PriceFeeds {
43
35
  this.onChainPxFeeds[sym] = onChainPxFactory_1.default.createFeed(sym);
44
36
  }
45
37
  }
46
- [this.feedInfo, this.feedEndpoints] = PriceFeeds._constructFeedInfo(this.config, false);
38
+ [this.feedInfo, this.feedEndpoints, this.writeFeedEndpoints] = PriceFeeds._constructFeedInfo(this.config, false);
39
+ // Deny providing no endpoints
40
+ if (this.feedEndpoints.length == 0) {
41
+ throw new Error("PriceFeeds: no endpoints provided in config");
42
+ }
43
+ if (this.writeFeedEndpoints.length == 0) {
44
+ throw new Error("PriceFeeds: no writeEndpoints provided in config");
45
+ }
47
46
  this.dataHandler = dataHandler;
48
47
  this.triangulations = new Map();
49
48
  }
49
+ // overridePriceEndpointsOfSameType overrides endpoints of config with same
50
+ // type endpoints provided by user and returns the updated price feed
51
+ // endpoints list.
52
+ static overridePriceEndpointsOfSameType(configEndpoints, userProvidedEndpoints) {
53
+ let result = configEndpoints;
54
+ for (let k = 0; k < userProvidedEndpoints.length; k++) {
55
+ for (let j = 0; j < result.length; j++) {
56
+ if (result[j].type == userProvidedEndpoints[k].type) {
57
+ // read only endpoints
58
+ if (userProvidedEndpoints[k].endpoints.length > 0) {
59
+ result[j].endpoints = userProvidedEndpoints[k].endpoints;
60
+ for (let i = 0; i < result[j].endpoints.length; i++) {
61
+ result[j].endpoints[i] = PriceFeeds.trimEndpoint(result[j].endpoints[i]);
62
+ }
63
+ }
64
+ // write endpoints
65
+ if (userProvidedEndpoints[k].writeEndpoints !== undefined &&
66
+ userProvidedEndpoints[k].writeEndpoints.length > 0) {
67
+ result[j].writeEndpoints = userProvidedEndpoints[k].writeEndpoints;
68
+ for (let i = 0; i < result[j].writeEndpoints.length; i++) {
69
+ result[j].writeEndpoints[i] = PriceFeeds.trimEndpoint(result[j].writeEndpoints[i]);
70
+ }
71
+ }
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ return result;
77
+ }
50
78
  /**
51
79
  * We cut last / or legacy url format /api/ if any
52
80
  * @param endp endpoint string
@@ -90,8 +118,8 @@ class PriceFeeds {
90
118
  this.triangulations = triangulation;
91
119
  }
92
120
  /**
93
- * Get required information to be able to submit a blockchain transaction with price-update
94
- * such as trade execution, liquidation
121
+ * Get required information to be able to submit a blockchain transaction with
122
+ * price-update such as trade execution, liquidation. Uses write price feed endpoints.
95
123
  * @param symbol symbol of perpetual, e.g., BTC-USD-MATIC
96
124
  * @returns PriceFeedSubmission, index prices, market closed information
97
125
  */
@@ -111,8 +139,9 @@ class PriceFeeds {
111
139
  }
112
140
  /**
113
141
  * Get all prices/isMarketClosed for the provided symbols via
114
- * "latest_price_feeds" and triangulation. Triangulation must be defined in config, unless
115
- * it is a direct price feed.
142
+ * "latest_price_feeds" and triangulation. Triangulation must be defined in
143
+ * config, unless it is a direct price feed. Uses read endpoints.
144
+ * @param symbol perpetual symbol of the form BTC-USD-MATIC
116
145
  * @returns map of feed-price symbol to price/isMarketClosed
117
146
  */
118
147
  async fetchPrices(symbols) {
@@ -161,8 +190,10 @@ class PriceFeeds {
161
190
  * Fetch the provided feed prices and bool whether market is closed or open
162
191
  * - requires the feeds to be defined in priceFeedConfig.json
163
192
  * - if symbols undefined, all feeds are queried
164
- * - vaas are not of interest here
165
- * @param symbols array of feed-price symbols (e.g., [btc-usd, eth-usd]) or undefined
193
+ * - vaas are not of interest here, therefore only readonly price feed
194
+ * endpoints are used
195
+ * @param symbols array of feed-price symbols (e.g., [btc-usd, eth-usd]) or
196
+ * undefined
166
197
  * @returns mapping symbol-> [price, isMarketClosed]
167
198
  */
168
199
  async fetchFeedPrices(symbols) {
@@ -230,7 +261,7 @@ class PriceFeeds {
230
261
  return prices;
231
262
  }
232
263
  /**
233
- * Get all configured feed prices via "latest_price_feeds"
264
+ * Get all configured feed prices via "latest_price_feeds".
234
265
  * @returns map of feed-price symbol to price/isMarketClosed
235
266
  */
236
267
  async fetchAllFeedPrices() {
@@ -238,10 +269,10 @@ class PriceFeeds {
238
269
  }
239
270
  /**
240
271
  * Get the latest prices for a given perpetual from the offchain oracle
241
- * networks
272
+ * networks. Uses write price feed endpoints.
242
273
  * @param symbol perpetual symbol of the form BTC-USD-MATIC
243
- * @returns array of price feed updates that can be submitted to the smart contract
244
- * and corresponding price information
274
+ * @returns array of price feed updates that can be submitted to the smart
275
+ * contract and corresponding price information
245
276
  */
246
277
  async fetchLatestFeedPriceInfoForPerpetual(symbol) {
247
278
  // get the feedIds that the contract uses
@@ -257,7 +288,7 @@ class PriceFeeds {
257
288
  // and another
258
289
  let idx = info[0].endpointId;
259
290
  let feedId = feedIds[k];
260
- queries.push(this.feedEndpoints[idx] + "/v2/updates/price/latest?encoding=base64&ids[]=" + feedId);
291
+ queries.push(this.writeFeedEndpoints[idx] + "/v2/updates/price/latest?encoding=base64&ids[]=" + feedId);
261
292
  for (let j = 0; j < info.length; j++) {
262
293
  if (symbols.has(feedId)) {
263
294
  symbols[feedId].append(info[j].symbol);
@@ -454,12 +485,17 @@ class PriceFeeds {
454
485
  let endpointId = -1;
455
486
  let type = "";
456
487
  let feedEndpoints = new Array();
488
+ let writeFeedEndpoints = new Array();
457
489
  for (let k = 0; k < config.endpoints.length; k++) {
458
490
  const L = config.endpoints[k].endpoints.length;
459
491
  let endpointNr = !shuffleEndpoints ? 0 : 1 + Math.floor(Math.random() * (L - 1));
460
492
  // if config has only one endpoint:
461
493
  endpointNr = Math.min(endpointNr, L - 1);
462
494
  feedEndpoints.push(config.endpoints[k].endpoints[endpointNr]);
495
+ // write endpoints
496
+ const n = config.endpoints[k].writeEndpoints.length;
497
+ const useEndpoint = Math.min(!shuffleEndpoints ? 0 : 1 + Math.floor(Math.random() * (n - 1)), n - 1);
498
+ writeFeedEndpoints.push(config.endpoints[k].writeEndpoints[useEndpoint]);
463
499
  }
464
500
  for (let k = 0; k < config.ids.length; k++) {
465
501
  if (type != config.ids[k].type) {
@@ -486,7 +522,7 @@ class PriceFeeds {
486
522
  feed.set(id, [item]);
487
523
  }
488
524
  }
489
- return [feed, feedEndpoints];
525
+ return [feed, feedEndpoints, writeFeedEndpoints];
490
526
  }
491
527
  }
492
528
  exports.default = PriceFeeds;
@@ -1 +1 @@
1
- {"version":3,"file":"priceFeeds.js","sourceRoot":"","sources":["../../src/priceFeeds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"priceFeeds.js","sourceRoot":"","sources":["../../src/priceFeeds.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const D8X_SDK_VERSION = "1.3.4";
1
+ export declare const D8X_SDK_VERSION = "1.3.6";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.D8X_SDK_VERSION = void 0;
4
- exports.D8X_SDK_VERSION = "1.3.4";
4
+ exports.D8X_SDK_VERSION = "1.3.6";
5
5
  //# sourceMappingURL=version.js.map
@@ -148,8 +148,12 @@
148
148
  }
149
149
  ],
150
150
  "endpoints": [
151
- { "type": "pyth", "endpoints": ["https://hermes.pyth.network"] },
152
- { "type": "onchain", "endpoints": [] }
151
+ {
152
+ "type": "pyth",
153
+ "endpoints": ["https://hermes.pyth.network"],
154
+ "writeEndpoints": ["https://hermes.pyth.network"]
155
+ },
156
+ { "type": "onchain", "endpoints": [], "writeEndpoints": [] }
153
157
  ]
154
158
  },
155
159
  {
@@ -228,6 +232,8 @@
228
232
  "origin": "Crypto.USDT/USD"
229
233
  }
230
234
  ],
231
- "endpoints": [{ "type": "odin", "endpoints": ["https://odin.d8x.xyz"] }]
235
+ "endpoints": [
236
+ { "type": "odin", "endpoints": ["https://hermes.pyth.network"], "writeEndpoints": ["https://odin.d8x.xyz"] }
237
+ ]
232
238
  }
233
239
  ]
@@ -19,10 +19,7 @@ export interface NodeSDKConfig {
19
19
  lobFactoryABI?: ContractInterface | undefined;
20
20
  lobABI?: ContractInterface | undefined;
21
21
  shareTokenABI?: ContractInterface | undefined;
22
- priceFeedEndpoints?: Array<{
23
- type: string;
24
- endpoints: string[];
25
- }>;
22
+ priceFeedEndpoints?: PriceFeedEndpointsOptionalWrite;
26
23
  multicall?: string;
27
24
  }
28
25
  export type SettlementConfig = SettlementCcyItem[];
@@ -259,11 +256,15 @@ export interface PriceFeedConfig {
259
256
  type: string;
260
257
  origin: string;
261
258
  }>;
262
- endpoints: Array<{
263
- type: string;
264
- endpoints: string[];
265
- }>;
259
+ endpoints: PriceFeedEndpoints;
260
+ }
261
+ export interface PriceFeedEndpointsItem {
262
+ type: string | "odin" | "pyth" | "onchain";
263
+ endpoints: string[];
264
+ writeEndpoints?: string[];
266
265
  }
266
+ export type PriceFeedEndpoints = Array<Required<PriceFeedEndpointsItem>>;
267
+ export type PriceFeedEndpointsOptionalWrite = Array<PriceFeedEndpointsItem>;
267
268
  export interface PriceFeedSubmission {
268
269
  symbols: Map<string, string[]>;
269
270
  ids: string[];
@@ -1,4 +1,5 @@
1
1
  import { Signer } from "@ethersproject/abstract-signer";
2
+ import { BigNumberish } from "@ethersproject/bignumber";
2
3
  import type { CallOverrides, ContractTransaction, PayableOverrides } from "@ethersproject/contracts";
3
4
  import { BlockTag } from "@ethersproject/providers";
4
5
  import { type NodeSDKConfig, type Order, type PerpetualStaticInfo, type PriceFeedSubmission, type SmartContractOrder } from "./nodeSDKTypes";
@@ -64,7 +65,7 @@ export default class OrderExecutorTool extends WriteAccessHandler {
64
65
  * main();
65
66
  * @returns Transaction object.
66
67
  */
67
- executeOrder(symbol: string, orderId: string, executorAddr?: string, submission?: PriceFeedSubmission, overrides?: PayableOverrides): Promise<ContractTransaction | undefined>;
68
+ executeOrder(symbol: string, orderId: string, executorAddr?: string, submission?: PriceFeedSubmission, overrides?: PayableOverrides): Promise<ContractTransaction>;
68
69
  /**
69
70
  * Executes a list of orders of the symbol. This action interacts with the blockchain and incurs gas costs.
70
71
  * @param {string} symbol Symbol of the form ETH-USD-MATIC.
@@ -96,7 +97,8 @@ export default class OrderExecutorTool extends WriteAccessHandler {
96
97
  executeOrders(symbol: string, orderIds: string[], executorAddr?: string, submission?: PriceFeedSubmission, overrides?: PayableOverrides & {
97
98
  rpcURL?: string;
98
99
  splitTx?: boolean;
99
- }): Promise<ContractTransaction | undefined>;
100
+ maxGasLimit?: BigNumberish;
101
+ }): Promise<ContractTransaction>;
100
102
  /**
101
103
  * Get order from the digest (=id)
102
104
  * @param symbol symbol of order book, e.g. ETH-USD-MATIC
@@ -153,7 +153,16 @@ export default class OrderExecutorTool extends WriteAccessHandler {
153
153
  const nonce = await overrides.nonce;
154
154
  overrides.nonce = BigNumber.from(nonce).add(nonceInc);
155
155
  }
156
- let unsignedTx = {
156
+ if (overrides?.gasLimit !== undefined) {
157
+ overrides.gasLimit = await overrides.gasLimit;
158
+ }
159
+ if (overrides?.gasPrice !== undefined) {
160
+ overrides.gasPrice = await overrides.gasPrice;
161
+ }
162
+ if (value !== undefined) {
163
+ value = await value;
164
+ }
165
+ const unsignedTx = {
157
166
  to: this.getOrderBookContract(symbol).address,
158
167
  from: this.traderAddr,
159
168
  nonce: overrides?.nonce,
@@ -166,26 +175,26 @@ export default class OrderExecutorTool extends WriteAccessHandler {
166
175
  };
167
176
  // no gas limit was specified, explicitly estimate
168
177
  if (!overrides?.gasLimit) {
169
- overrides = {
170
- gasLimit: await this.signer
171
- .estimateGas(unsignedTx)
172
- .then((gas) => gas.mul(1100).div(1000))
173
- .catch((_e) => undefined),
174
- ...overrides,
175
- };
176
- if (!overrides.gasLimit) {
177
- // gas estimate failed - txn would probably revert, double check:
178
- overrides = { gasLimit: this.gasLimit, value: unsignedTx.value, ...overrides };
179
- try {
180
- await this.getOrderBookContract(symbol).callStatic.executeOrders(orderIds, executorAddr, submission.priceFeedVaas, submission.timestamps, overrides);
181
- }
182
- catch (e) {
183
- console.log("Order cannot be executed:", e);
184
- return undefined;
185
- }
178
+ // given gas price might be conservative, which leads to a lower a gas estimate
179
+ //-> compensate with larger buffer
180
+ let gasLimit = await this.signer
181
+ .estimateGas(unsignedTx)
182
+ .then((gas) => gas.mul(1500).div(1000))
183
+ .catch((_e) => undefined);
184
+ if (!gasLimit) {
185
+ // gas estimate failed - txn would probably revert, double check (and possibly re-throw):
186
+ overrides = {
187
+ ...overrides,
188
+ gasLimit: overrides?.maxGasLimit ?? this.gasLimit,
189
+ value: unsignedTx.value,
190
+ };
191
+ await this.getOrderBookContract(symbol, provider).callStatic.executeOrders(orderIds, executorAddr, submission.priceFeedVaas, submission.timestamps, overrides);
192
+ // it worked - use fallback
193
+ gasLimit = BigNumber.from(overrides?.maxGasLimit ?? this.gasLimit);
186
194
  }
195
+ unsignedTx.gasLimit = gasLimit;
187
196
  }
188
- return await this.signer.sendTransaction(unsignedTx);
197
+ return await this.signer.connect(provider).sendTransaction(unsignedTx);
189
198
  }
190
199
  /**
191
200
  * Get order from the digest (=id)
@@ -1 +1 @@
1
- {"version":3,"file":"orderExecutorTool.js","sourceRoot":"","sources":["../../src/orderExecutorTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orderExecutorTool.js","sourceRoot":"","sources":["../../src/orderExecutorTool.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ export default class PerpetualDataHandler {
49
49
  * @param symbol symbol of the form ETH-USD-MATIC
50
50
  * @returns order book contract for the perpetual
51
51
  */
52
- getOrderBookContract(symbol: string): Contract & LimitOrderBook;
52
+ getOrderBookContract(symbol: string, provider?: Provider): Contract & LimitOrderBook;
53
53
  /**
54
54
  * Get perpetuals for the given ids from onchain
55
55
  * @param ids perpetual ids
@@ -73,12 +73,12 @@ export default class PerpetualDataHandler {
73
73
  * @param symbol symbol of the form ETH-USD-MATIC
74
74
  * @returns order book contract for the perpetual
75
75
  */
76
- getOrderBookContract(symbol) {
76
+ getOrderBookContract(symbol, provider) {
77
77
  let orderBookAddr = this.symbolToPerpStaticInfo.get(symbol)?.limitOrderBookAddr;
78
78
  if (orderBookAddr == "" || orderBookAddr == undefined || this.signerOrProvider == null) {
79
79
  throw Error(`no limit order book found for ${symbol} or no signer`);
80
80
  }
81
- let lobContract = LimitOrderBook__factory.connect(orderBookAddr, this.signerOrProvider);
81
+ let lobContract = LimitOrderBook__factory.connect(orderBookAddr, provider ?? this.signerOrProvider);
82
82
  return lobContract;
83
83
  }
84
84
  /**