@xyo-network/uniswap-crypto-market-plugin 2.99.4 → 2.99.5

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 (107) hide show
  1. package/dist/browser/Plugin.d.cts +1 -1
  2. package/dist/browser/Plugin.d.mts +1 -1
  3. package/dist/browser/Plugin.d.ts +1 -1
  4. package/dist/browser/Witness.d.cts +2 -2
  5. package/dist/browser/Witness.d.mts +2 -2
  6. package/dist/browser/Witness.d.ts +2 -2
  7. package/dist/browser/index.cjs +80 -70
  8. package/dist/browser/index.cjs.map +1 -1
  9. package/dist/browser/index.d.cts +4 -4
  10. package/dist/browser/index.d.mts +4 -4
  11. package/dist/browser/index.d.ts +4 -4
  12. package/dist/browser/{index.js → index.mjs} +84 -75
  13. package/dist/browser/index.mjs.map +1 -0
  14. package/dist/browser/lib/Ethers/UniSwap3Pair.d.cts +1 -1
  15. package/dist/browser/lib/Ethers/UniSwap3Pair.d.mts +1 -1
  16. package/dist/browser/lib/Ethers/UniSwap3Pair.d.ts +1 -1
  17. package/dist/browser/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.cts +1 -1
  18. package/dist/browser/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.mts +1 -1
  19. package/dist/browser/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +1 -1
  20. package/dist/browser/lib/Ethers/createUniswapPoolContracts.d.cts +1 -1
  21. package/dist/browser/lib/Ethers/createUniswapPoolContracts.d.mts +1 -1
  22. package/dist/browser/lib/Ethers/createUniswapPoolContracts.d.ts +1 -1
  23. package/dist/browser/lib/Ethers/index.d.cts +4 -4
  24. package/dist/browser/lib/Ethers/index.d.mts +4 -4
  25. package/dist/browser/lib/Ethers/index.d.ts +4 -4
  26. package/dist/browser/lib/index.d.cts +3 -3
  27. package/dist/browser/lib/index.d.mts +3 -3
  28. package/dist/browser/lib/index.d.ts +3 -3
  29. package/dist/browser/lib/pricesFromUniswap3.d.cts +1 -1
  30. package/dist/browser/lib/pricesFromUniswap3.d.mts +1 -1
  31. package/dist/browser/lib/pricesFromUniswap3.d.ts +1 -1
  32. package/dist/neutral/Plugin.d.cts +1 -1
  33. package/dist/neutral/Plugin.d.mts +1 -1
  34. package/dist/neutral/Plugin.d.ts +1 -1
  35. package/dist/neutral/Witness.d.cts +2 -2
  36. package/dist/neutral/Witness.d.mts +2 -2
  37. package/dist/neutral/Witness.d.ts +2 -2
  38. package/dist/neutral/index.cjs +80 -70
  39. package/dist/neutral/index.cjs.map +1 -1
  40. package/dist/neutral/index.d.cts +4 -4
  41. package/dist/neutral/index.d.mts +4 -4
  42. package/dist/neutral/index.d.ts +4 -4
  43. package/dist/{node/index.js → neutral/index.mjs} +84 -76
  44. package/dist/neutral/index.mjs.map +1 -0
  45. package/dist/neutral/lib/Ethers/UniSwap3Pair.d.cts +1 -1
  46. package/dist/neutral/lib/Ethers/UniSwap3Pair.d.mts +1 -1
  47. package/dist/neutral/lib/Ethers/UniSwap3Pair.d.ts +1 -1
  48. package/dist/neutral/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.cts +1 -1
  49. package/dist/neutral/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.mts +1 -1
  50. package/dist/neutral/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +1 -1
  51. package/dist/neutral/lib/Ethers/createUniswapPoolContracts.d.cts +1 -1
  52. package/dist/neutral/lib/Ethers/createUniswapPoolContracts.d.mts +1 -1
  53. package/dist/neutral/lib/Ethers/createUniswapPoolContracts.d.ts +1 -1
  54. package/dist/neutral/lib/Ethers/index.d.cts +4 -4
  55. package/dist/neutral/lib/Ethers/index.d.mts +4 -4
  56. package/dist/neutral/lib/Ethers/index.d.ts +4 -4
  57. package/dist/neutral/lib/index.d.cts +3 -3
  58. package/dist/neutral/lib/index.d.mts +3 -3
  59. package/dist/neutral/lib/index.d.ts +3 -3
  60. package/dist/neutral/lib/pricesFromUniswap3.d.cts +1 -1
  61. package/dist/neutral/lib/pricesFromUniswap3.d.mts +1 -1
  62. package/dist/neutral/lib/pricesFromUniswap3.d.ts +1 -1
  63. package/dist/node/Plugin.d.cts +1 -1
  64. package/dist/node/Plugin.d.mts +1 -1
  65. package/dist/node/Plugin.d.ts +1 -1
  66. package/dist/node/Witness.d.cts +2 -2
  67. package/dist/node/Witness.d.mts +2 -2
  68. package/dist/node/Witness.d.ts +2 -2
  69. package/dist/node/index.cjs +86 -74
  70. package/dist/node/index.cjs.map +1 -1
  71. package/dist/node/index.d.cts +4 -4
  72. package/dist/node/index.d.mts +4 -4
  73. package/dist/node/index.d.ts +4 -4
  74. package/dist/{neutral/index.js → node/index.mjs} +91 -79
  75. package/dist/node/index.mjs.map +1 -0
  76. package/dist/node/lib/Ethers/UniSwap3Pair.d.cts +1 -1
  77. package/dist/node/lib/Ethers/UniSwap3Pair.d.mts +1 -1
  78. package/dist/node/lib/Ethers/UniSwap3Pair.d.ts +1 -1
  79. package/dist/node/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.cts +1 -1
  80. package/dist/node/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.mts +1 -1
  81. package/dist/node/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +1 -1
  82. package/dist/node/lib/Ethers/createUniswapPoolContracts.d.cts +1 -1
  83. package/dist/node/lib/Ethers/createUniswapPoolContracts.d.mts +1 -1
  84. package/dist/node/lib/Ethers/createUniswapPoolContracts.d.ts +1 -1
  85. package/dist/node/lib/Ethers/index.d.cts +4 -4
  86. package/dist/node/lib/Ethers/index.d.mts +4 -4
  87. package/dist/node/lib/Ethers/index.d.ts +4 -4
  88. package/dist/node/lib/index.d.cts +3 -3
  89. package/dist/node/lib/index.d.mts +3 -3
  90. package/dist/node/lib/index.d.ts +3 -3
  91. package/dist/node/lib/pricesFromUniswap3.d.cts +1 -1
  92. package/dist/node/lib/pricesFromUniswap3.d.mts +1 -1
  93. package/dist/node/lib/pricesFromUniswap3.d.ts +1 -1
  94. package/package.json +20 -20
  95. package/src/Plugin.ts +1 -1
  96. package/src/Witness.ts +2 -2
  97. package/src/index.ts +4 -4
  98. package/src/lib/Ethers/UniSwap3Pair.ts +16 -16
  99. package/src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts +1 -1
  100. package/src/lib/Ethers/createUniswapPoolContracts.ts +3 -3
  101. package/src/lib/Ethers/index.ts +4 -4
  102. package/src/lib/UniswapPoolContracts.ts +13 -13
  103. package/src/lib/index.ts +3 -3
  104. package/src/lib/pricesFromUniswap3.ts +3 -3
  105. package/dist/browser/index.js.map +0 -1
  106. package/dist/neutral/index.js.map +0 -1
  107. package/dist/node/index.js.map +0 -1
@@ -2,7 +2,11 @@
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
5
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __reflectGet = Reflect.get;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
10
  var __export = (target, all) => {
7
11
  for (var name in all)
8
12
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,6 +20,8 @@ var __copyProps = (to, from, except, desc) => {
16
20
  return to;
17
21
  };
18
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
19
25
 
20
26
  // src/index.ts
21
27
  var src_exports = {};
@@ -33,22 +39,22 @@ __export(src_exports, {
33
39
  module.exports = __toCommonJS(src_exports);
34
40
 
35
41
  // src/lib/logErrors.ts
36
- var logErrors = (func) => {
42
+ var logErrors = /* @__PURE__ */ __name((func) => {
37
43
  try {
38
44
  return func();
39
45
  } catch (ex) {
40
46
  console.error(ex);
41
47
  throw ex;
42
48
  }
43
- };
44
- var logErrorsAsync = async (func) => {
49
+ }, "logErrors");
50
+ var logErrorsAsync = /* @__PURE__ */ __name(async (func) => {
45
51
  try {
46
52
  return await func();
47
53
  } catch (ex) {
48
54
  console.error(ex);
49
55
  throw ex;
50
56
  }
51
- };
57
+ }, "logErrorsAsync");
52
58
 
53
59
  // src/lib/Ethers/UniSwap3Pair.ts
54
60
  var import_assert = require("@xylabs/assert");
@@ -59,7 +65,7 @@ var import_uniswap_typechain = require("@xyo-network/uniswap-typechain");
59
65
  var import_uniswap_v3_sdk = require("@xyo-network/uniswap-v3-sdk");
60
66
 
61
67
  // src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts
62
- var EthersUniswap3PoolSlot0Wrapper = class {
68
+ var _EthersUniswap3PoolSlot0Wrapper = class _EthersUniswap3PoolSlot0Wrapper {
63
69
  values;
64
70
  constructor(values) {
65
71
  this.values = values;
@@ -86,27 +92,35 @@ var EthersUniswap3PoolSlot0Wrapper = class {
86
92
  return this.values[6];
87
93
  }
88
94
  };
95
+ __name(_EthersUniswap3PoolSlot0Wrapper, "EthersUniswap3PoolSlot0Wrapper");
96
+ var EthersUniswap3PoolSlot0Wrapper = _EthersUniswap3PoolSlot0Wrapper;
89
97
 
90
98
  // src/lib/Ethers/UniSwap3Pair.ts
91
- var ChainId = /* @__PURE__ */ ((ChainId2) => {
99
+ var ChainId;
100
+ (function(ChainId2) {
92
101
  ChainId2[ChainId2["MAINNET"] = 1] = "MAINNET";
93
102
  ChainId2[ChainId2["ROPSTEN"] = 3] = "ROPSTEN";
94
103
  ChainId2[ChainId2["RINKEBY"] = 4] = "RINKEBY";
95
104
  ChainId2[ChainId2["G\xD6RLI"] = 5] = "G\xD6RLI";
96
105
  ChainId2[ChainId2["KOVAN"] = 42] = "KOVAN";
97
- return ChainId2;
98
- })(ChainId || {});
99
- var waitNotNull = async (closure) => {
106
+ })(ChainId || (ChainId = {}));
107
+ var waitNotNull = /* @__PURE__ */ __name(async (closure) => {
100
108
  while (closure() === null) await (0, import_delay.delay)(10);
101
- };
102
- var EthersUniSwap3Pair = class {
109
+ }, "waitNotNull");
110
+ var _EthersUniSwap3Pair = class _EthersUniSwap3Pair {
103
111
  address;
104
112
  provider;
105
113
  _pool;
106
114
  _poolContract;
107
115
  _slot0;
108
- _tokenContracts = [void 0, void 0];
109
- _tokens = [void 0, void 0];
116
+ _tokenContracts = [
117
+ void 0,
118
+ void 0
119
+ ];
120
+ _tokens = [
121
+ void 0,
122
+ void 0
123
+ ];
110
124
  constructor(address, provider) {
111
125
  this.address = address;
112
126
  this.provider = provider;
@@ -116,14 +130,7 @@ var EthersUniSwap3Pair = class {
116
130
  await waitNotNull(() => this._pool);
117
131
  this._pool = this._pool || null;
118
132
  const slot0 = await this.slot0();
119
- this._pool = this._pool === null ? new import_uniswap_v3_sdk.Pool(
120
- await this.token(0),
121
- await this.token(1),
122
- Number(slot0.feeProtocol),
123
- `0x${slot0.sqrtPriceX96.toString(16)}`,
124
- `0x${(await this.poolContract().liquidity()).toString(16)}`,
125
- Number(slot0.tick)
126
- ) : this._pool;
133
+ this._pool = this._pool === null ? new import_uniswap_v3_sdk.Pool(await this.token(0), await this.token(1), Number(slot0.feeProtocol), `0x${slot0.sqrtPriceX96.toString(16)}`, `0x${(await this.poolContract().liquidity()).toString(16)}`, Number(slot0.tick)) : this._pool;
127
134
  return (0, import_assert.assertEx)(this._pool);
128
135
  });
129
136
  }
@@ -135,18 +142,23 @@ var EthersUniSwap3Pair = class {
135
142
  }
136
143
  async price() {
137
144
  return await logErrorsAsync(async () => {
138
- const tokenIndexes = [0, 1];
145
+ const tokenIndexes = [
146
+ 0,
147
+ 1
148
+ ];
139
149
  const pool = await this.pool();
140
150
  const tokens = await Promise.all(tokenIndexes.map((value) => this.token(value)));
141
151
  const tokenContracts = await Promise.all(tokenIndexes.map((value) => this.tokenContract(value)));
142
152
  const tokenPrices = tokens.map((token) => Number.parseFloat(pool.priceOf(token).toSignificant()));
143
153
  const tokenSymbols = tokens.map((token, index) => (0, import_assert.assertEx)(token.symbol, () => `Token[${index}] Missing Symbols`).toLowerCase());
144
154
  const result = {
145
- tokens: await Promise.all(
146
- tokenIndexes.map(async (value) => {
147
- return { address: await tokenContracts[value].getAddress(), symbol: tokenSymbols[value], value: tokenPrices[value] };
148
- })
149
- )
155
+ tokens: await Promise.all(tokenIndexes.map(async (value) => {
156
+ return {
157
+ address: await tokenContracts[value].getAddress(),
158
+ symbol: tokenSymbols[value],
159
+ value: tokenPrices[value]
160
+ };
161
+ }))
150
162
  };
151
163
  return result;
152
164
  });
@@ -168,13 +180,7 @@ var EthersUniSwap3Pair = class {
168
180
  await waitNotNull(() => this._tokens[index]);
169
181
  this._tokens[index] = this._tokens[index] || null;
170
182
  const tokenContract = await this.tokenContract(index);
171
- this._tokens[index] = this._tokens[index] ?? new import_uniswap_sdk_core.Token(
172
- 1 /* MAINNET */,
173
- await tokenContract.getAddress(),
174
- Number(await tokenContract.decimals()),
175
- await tokenContract.symbol(),
176
- await tokenContract.name()
177
- );
183
+ this._tokens[index] = this._tokens[index] ?? new import_uniswap_sdk_core.Token(1, await tokenContract.getAddress(), Number(await tokenContract.decimals()), await tokenContract.symbol(), await tokenContract.name());
178
184
  return (0, import_assert.assertEx)(this._tokens[index]);
179
185
  });
180
186
  }
@@ -187,55 +193,55 @@ var EthersUniSwap3Pair = class {
187
193
  });
188
194
  }
189
195
  };
196
+ __name(_EthersUniSwap3Pair, "EthersUniSwap3Pair");
197
+ var EthersUniSwap3Pair = _EthersUniSwap3Pair;
190
198
 
191
199
  // src/lib/Ethers/createUniswapPoolContracts.ts
192
- var createUniswapPoolContracts = (provider, contracts) => {
200
+ var createUniswapPoolContracts = /* @__PURE__ */ __name((provider, contracts) => {
193
201
  return logErrors(() => {
194
202
  return contracts.map((contract) => new EthersUniSwap3Pair(contract, provider));
195
203
  });
196
- };
204
+ }, "createUniswapPoolContracts");
197
205
 
198
206
  // src/lib/pricesFromUniswap3.ts
199
207
  var import_promise = require("@xylabs/promise");
200
- var pricesFromUniswap3 = async (pools) => {
208
+ var pricesFromUniswap3 = /* @__PURE__ */ __name(async (pools) => {
201
209
  return await logErrorsAsync(async () => {
202
- const promiseResults = await Promise.allSettled(
203
- pools.map(async (pool) => {
204
- const result = await pool.price();
205
- return result;
206
- })
207
- );
210
+ const promiseResults = await Promise.allSettled(pools.map(async (pool) => {
211
+ const result = await pool.price();
212
+ return result;
213
+ }));
208
214
  return promiseResults.filter(import_promise.fulfilled).map((result) => result.value);
209
215
  });
210
- };
216
+ }, "pricesFromUniswap3");
211
217
 
212
218
  // src/lib/UniswapPoolContracts.ts
213
219
  var UniswapPoolContracts = [
214
- /*xyo/weth*/
220
+ /* xyo/weth */
215
221
  "0xE331DE28cd81B768C19A366b0e4e4675c45eC2dA",
216
- /*xyo/usdt*/
222
+ /* xyo/usdt */
217
223
  "0xd0AF1981f52146a6939385451dAeA0726e13a484",
218
- /*xyo/dai*/
224
+ /* xyo/dai */
219
225
  "0x9D7e5647CE3c7C2d835F2F5e82C8fDb36B0BB0fe",
220
- /*wbtc/xyo*/
226
+ /* wbtc/xyo */
221
227
  "0x0cF7494c9dE661467403aBeE8454b3BBf0179a84",
222
- /*link/xyo*/
228
+ /* link/xyo */
223
229
  "0x4693456599a8a4975862A0E720C5de7E1D09A1e4",
224
- /*wbtc/weth*/
230
+ /* wbtc/weth */
225
231
  "0xCBCdF9626bC03E24f779434178A73a0B4bad62eD",
226
- /*dai/usdc*/
232
+ /* dai/usdc */
227
233
  "0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168",
228
- /*usdc/weth*/
234
+ /* usdc/weth */
229
235
  "0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8",
230
- /*usdc/weth*/
236
+ /* usdc/weth */
231
237
  "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
232
- /*dai/usdc*/
238
+ /* dai/usdc */
233
239
  "0x6c6Bc977E13Df9b0de53b251522280BB72383700",
234
- /*frax/usdc*/
240
+ /* frax/usdc */
235
241
  "0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52",
236
- /*wbtc/usdc*/
242
+ /* wbtc/usdc */
237
243
  "0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35",
238
- /*usdc/usdt*/
244
+ /* usdc/usdt */
239
245
  "0x3416cF6C708Da44DB2624D63ea0AAef7113527C6"
240
246
  ];
241
247
 
@@ -248,9 +254,7 @@ var import_uniswap_crypto_market_payload_plugin2 = require("@xyo-network/uniswap
248
254
  var import_assert2 = require("@xylabs/assert");
249
255
  var import_abstract_witness = require("@xyo-network/abstract-witness");
250
256
  var import_uniswap_crypto_market_payload_plugin = require("@xyo-network/uniswap-crypto-market-payload-plugin");
251
- var UniswapCryptoMarketWitness = class extends import_abstract_witness.AbstractWitness {
252
- static configSchemas = [...super.configSchemas, import_uniswap_crypto_market_payload_plugin.UniswapCryptoMarketWitnessConfigSchema];
253
- static defaultConfigSchema = import_uniswap_crypto_market_payload_plugin.UniswapCryptoMarketWitnessConfigSchema;
257
+ var _UniswapCryptoMarketWitness = class _UniswapCryptoMarketWitness extends import_abstract_witness.AbstractWitness {
254
258
  pairs;
255
259
  get provider() {
256
260
  return this.params.provider;
@@ -264,29 +268,37 @@ var UniswapCryptoMarketWitness = class extends import_abstract_witness.AbstractW
264
268
  schema: import_uniswap_crypto_market_payload_plugin.UniswapCryptoMarketSchema,
265
269
  timestamp
266
270
  };
267
- return [payload];
271
+ return [
272
+ payload
273
+ ];
268
274
  }
269
275
  async startHandler() {
270
276
  var _a;
271
277
  await super.startHandler();
272
- this.pairs = createUniswapPoolContracts(
273
- (0, import_assert2.assertEx)(this.provider, () => "Provider Required"),
274
- ((_a = this.config) == null ? void 0 : _a.pools) ?? UniswapPoolContracts
275
- );
278
+ this.pairs = createUniswapPoolContracts((0, import_assert2.assertEx)(this.provider, () => "Provider Required"), ((_a = this.config) == null ? void 0 : _a.pools) ?? UniswapPoolContracts);
276
279
  return true;
277
280
  }
278
281
  };
282
+ __name(_UniswapCryptoMarketWitness, "UniswapCryptoMarketWitness");
283
+ __publicField(_UniswapCryptoMarketWitness, "configSchemas", [
284
+ ...__superGet(_UniswapCryptoMarketWitness, _UniswapCryptoMarketWitness, "configSchemas"),
285
+ import_uniswap_crypto_market_payload_plugin.UniswapCryptoMarketWitnessConfigSchema
286
+ ]);
287
+ __publicField(_UniswapCryptoMarketWitness, "defaultConfigSchema", import_uniswap_crypto_market_payload_plugin.UniswapCryptoMarketWitnessConfigSchema);
288
+ var UniswapCryptoMarketWitness = _UniswapCryptoMarketWitness;
279
289
 
280
290
  // src/Plugin.ts
281
- var UniswapCryptoMarketPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
282
- { required: { [import_uniswap_crypto_market_payload_plugin2.UniswapCryptoMarketSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
283
- {
284
- witness: async (params) => {
285
- const result = await UniswapCryptoMarketWitness.create(params);
286
- return result;
287
- }
288
- }
289
- );
291
+ var UniswapCryptoMarketPlugin = /* @__PURE__ */ __name(() => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)({
292
+ required: {
293
+ [import_uniswap_crypto_market_payload_plugin2.UniswapCryptoMarketSchema]: 1
294
+ },
295
+ schema: import_payload_model.PayloadSetSchema
296
+ }, {
297
+ witness: /* @__PURE__ */ __name(async (params) => {
298
+ const result = await UniswapCryptoMarketWitness.create(params);
299
+ return result;
300
+ }, "witness")
301
+ }), "UniswapCryptoMarketPlugin");
290
302
  // Annotate the CommonJS export names for ESM import in node:
291
303
  0 && (module.exports = {
292
304
  ChainId,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/lib/logErrors.ts","../../src/lib/Ethers/UniSwap3Pair.ts","../../src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts","../../src/lib/Ethers/createUniswapPoolContracts.ts","../../src/lib/pricesFromUniswap3.ts","../../src/lib/UniswapPoolContracts.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["export * from './Config.js'\nexport * from './lib/index.js'\n// eslint-disable-next-line import/no-default-export\nexport { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.js'\nexport * from './Witness.js'\n","export const logErrors = <T>(func: () => T) => {\n try {\n return func()\n } catch (ex) {\n console.error(ex)\n throw ex\n }\n}\n\nexport const logErrorsAsync = async <T>(func: () => Promise<T>) => {\n try {\n return await func()\n } catch (ex) {\n console.error(ex)\n throw ex\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { delay } from '@xylabs/delay'\nimport { IERC20Metadata, IERC20Metadata__factory } from '@xyo-network/typechain'\nimport { Token } from '@xyo-network/uniswap-sdk-core'\nimport { IUniswapV3Pool, IUniswapV3Pool__factory } from '@xyo-network/uniswap-typechain'\nimport { Pool } from '@xyo-network/uniswap-v3-sdk'\nimport { Provider } from 'ethers'\n\nimport { logErrors, logErrorsAsync } from '../logErrors.js'\nimport { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.js'\n\nexport enum ChainId {\n MAINNET = 1,\n ROPSTEN = 3,\n RINKEBY = 4,\n GÖRLI = 5,\n KOVAN = 42,\n}\n\n//null is used as 'in-progress'\nconst waitNotNull = async (closure: () => unknown) => {\n while (closure() === null) await delay(10)\n}\n\nexport class EthersUniSwap3Pair {\n protected address: string\n protected provider: Provider\n\n private _pool?: Pool | null\n private _poolContract?: IUniswapV3Pool\n private _slot0?: EthersUniswap3PoolSlot0Wrapper | null\n private _tokenContracts: (IERC20Metadata | null | undefined)[] = [undefined, undefined]\n private _tokens: (Token | null | undefined)[] = [undefined, undefined]\n\n constructor(address: string, provider: Provider) {\n this.address = address\n this.provider = provider\n }\n\n async pool(): Promise<Pool> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._pool)\n this._pool = this._pool || null\n const slot0 = await this.slot0()\n this._pool =\n this._pool === null ?\n new Pool(\n await this.token(0),\n await this.token(1),\n Number(slot0.feeProtocol),\n `0x${slot0.sqrtPriceX96.toString(16)}`,\n `0x${(await this.poolContract().liquidity()).toString(16)}`,\n Number(slot0.tick),\n )\n : this._pool\n return assertEx(this._pool)\n })\n }\n\n poolContract() {\n return logErrors(() => {\n this._poolContract = this._poolContract ?? IUniswapV3Pool__factory.connect(this.address, this.provider)\n return assertEx(this._poolContract)\n })\n }\n\n async price() {\n return await logErrorsAsync(async () => {\n const tokenIndexes: (0 | 1)[] = [0, 1]\n const pool = await this.pool()\n const tokens = await Promise.all(tokenIndexes.map((value) => this.token(value)))\n const tokenContracts = await Promise.all(tokenIndexes.map((value) => this.tokenContract(value)))\n const tokenPrices = tokens.map((token) => Number.parseFloat(pool.priceOf(token).toSignificant()))\n const tokenSymbols = tokens.map((token, index) => assertEx(token.symbol, () => `Token[${index}] Missing Symbols`).toLowerCase())\n const result = {\n tokens: await Promise.all(\n tokenIndexes.map(async (value) => {\n return { address: await tokenContracts[value].getAddress(), symbol: tokenSymbols[value], value: tokenPrices[value] }\n }),\n ),\n }\n return result\n })\n }\n\n async slot0(): Promise<EthersUniswap3PoolSlot0Wrapper> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._slot0)\n this._slot0 = this._slot0 || null\n if (this._slot0 === null) {\n const poolContract = this.poolContract()\n const slot = await poolContract.slot0()\n this._slot0 = this._slot0 ?? new EthersUniswap3PoolSlot0Wrapper(slot)\n }\n return assertEx(this._slot0)\n })\n }\n\n async token(index: 0 | 1): Promise<Token> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._tokens[index])\n this._tokens[index] = this._tokens[index] || null\n const tokenContract = await this.tokenContract(index)\n this._tokens[index] =\n this._tokens[index] ??\n new Token(\n ChainId.MAINNET,\n await tokenContract.getAddress(),\n Number(await tokenContract.decimals()),\n await tokenContract.symbol(),\n await tokenContract.name(),\n )\n return assertEx(this._tokens[index])\n })\n }\n\n async tokenContract(index: 0 | 1): Promise<IERC20Metadata> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._tokenContracts[index])\n this._tokenContracts[index] = this._tokenContracts[index] || null\n this._tokenContracts[index] =\n this._tokenContracts[index] ??\n IERC20Metadata__factory.connect(await (index === 0 ? this.poolContract().token0() : this.poolContract().token1()), this.provider)\n return assertEx(this._tokenContracts[index])\n })\n }\n}\n","import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.js'\n\nexport class EthersUniswap3PoolSlot0Wrapper {\n protected values: EthersUniswapV3Slot0Fields\n constructor(values: EthersUniswapV3Slot0Fields) {\n this.values = values\n }\n\n get feeProtocol() {\n return this.values[5]\n }\n\n get observationCardinality() {\n return this.values[3]\n }\n\n get observationCardinalityNext() {\n return this.values[4]\n }\n\n get observationIndex() {\n return this.values[2]\n }\n\n get sqrtPriceX96() {\n return this.values[0]\n }\n\n get tick() {\n return this.values[1]\n }\n\n get unlocked() {\n return this.values[6]\n }\n}\n","import { Provider } from 'ethers'\n\nimport { logErrors } from '../logErrors.js'\nimport { EthersUniSwap3Pair } from './UniSwap3Pair.js'\n\nexport const createUniswapPoolContracts = (provider: Provider, contracts: string[]) => {\n return logErrors(() => {\n return contracts.map((contract) => new EthersUniSwap3Pair(contract, provider))\n })\n}\n","import { fulfilled } from '@xylabs/promise'\nimport { UniswapCryptoPair } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { EthersUniSwap3Pair } from './Ethers/index.js'\nimport { logErrorsAsync } from './logErrors.js'\n\nexport const pricesFromUniswap3 = async (pools: EthersUniSwap3Pair[]): Promise<UniswapCryptoPair[]> => {\n return await logErrorsAsync(async () => {\n const promiseResults = await Promise.allSettled(\n pools.map(async (pool): Promise<UniswapCryptoPair> => {\n const result = await pool.price()\n return result\n }),\n )\n return promiseResults.filter(fulfilled).map((result) => result.value)\n })\n}\n","export const UniswapPoolContracts = [\n /*xyo/weth*/ '0xE331DE28cd81B768C19A366b0e4e4675c45eC2dA',\n /*xyo/usdt*/ '0xd0AF1981f52146a6939385451dAeA0726e13a484',\n /*xyo/dai*/ '0x9D7e5647CE3c7C2d835F2F5e82C8fDb36B0BB0fe',\n /*wbtc/xyo*/ '0x0cF7494c9dE661467403aBeE8454b3BBf0179a84',\n /*link/xyo*/ '0x4693456599a8a4975862A0E720C5de7E1D09A1e4',\n /*wbtc/weth*/ '0xCBCdF9626bC03E24f779434178A73a0B4bad62eD',\n /*dai/usdc*/ '0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168',\n /*usdc/weth*/ '0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8',\n /*usdc/weth*/ '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640',\n /*dai/usdc*/ '0x6c6Bc977E13Df9b0de53b251522280BB72383700',\n /*frax/usdc*/ '0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52',\n /*wbtc/usdc*/ '0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35',\n /*usdc/usdt*/ '0x3416cF6C708Da44DB2624D63ea0AAef7113527C6',\n]\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\nimport { UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { UniswapCryptoMarketWitness } from './Witness.js'\n\nexport const UniswapCryptoMarketPlugin = () =>\n createPayloadSetWitnessPlugin<UniswapCryptoMarketWitness>(\n { required: { [UniswapCryptoMarketSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await UniswapCryptoMarketWitness.create(params)\n return result\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport {\n UniswapCryptoMarketPayload,\n UniswapCryptoMarketSchema,\n UniswapCryptoMarketWitnessConfigSchema,\n} from '@xyo-network/uniswap-crypto-market-payload-plugin'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { Provider } from 'ethers'\n\nimport { UniswapCryptoMarketWitnessConfig } from './Config.js'\nimport { createUniswapPoolContracts, EthersUniSwap3Pair, pricesFromUniswap3, UniswapPoolContracts } from './lib/index.js'\n\nexport type UniswapCryptoMarketWitnessParams = WitnessParams<\n AnyConfigSchema<UniswapCryptoMarketWitnessConfig>,\n {\n provider?: Provider\n }\n>\n\nexport class UniswapCryptoMarketWitness<\n TParams extends UniswapCryptoMarketWitnessParams = UniswapCryptoMarketWitnessParams,\n> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, UniswapCryptoMarketWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = UniswapCryptoMarketWitnessConfigSchema\n\n protected pairs?: EthersUniSwap3Pair[]\n protected get provider() {\n return this.params.provider\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const pairs = await pricesFromUniswap3(assertEx(this.pairs))\n const timestamp = Date.now()\n\n const payload: UniswapCryptoMarketPayload = {\n pairs,\n schema: UniswapCryptoMarketSchema,\n timestamp,\n }\n\n return [payload]\n }\n\n protected override async startHandler() {\n await super.startHandler()\n this.pairs = createUniswapPoolContracts(\n assertEx(this.provider, () => 'Provider Required'),\n this.config?.pools ?? UniswapPoolContracts,\n )\n return true\n }\n}\n"],"mappings":"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","names":["ChainId","import_uniswap_crypto_market_payload_plugin","import_assert"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/lib/logErrors.ts","../../src/lib/Ethers/UniSwap3Pair.ts","../../src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts","../../src/lib/Ethers/createUniswapPoolContracts.ts","../../src/lib/pricesFromUniswap3.ts","../../src/lib/UniswapPoolContracts.ts","../../src/Plugin.ts","../../src/Witness.ts"],"sourcesContent":["export * from './Config.ts'\nexport * from './lib/index.ts'\n// eslint-disable-next-line import/no-default-export\nexport { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.ts'\nexport * from './Witness.ts'\n","export const logErrors = <T>(func: () => T) => {\n try {\n return func()\n } catch (ex) {\n console.error(ex)\n throw ex\n }\n}\n\nexport const logErrorsAsync = async <T>(func: () => Promise<T>) => {\n try {\n return await func()\n } catch (ex) {\n console.error(ex)\n throw ex\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { delay } from '@xylabs/delay'\nimport { IERC20Metadata, IERC20Metadata__factory } from '@xyo-network/typechain'\nimport { Token } from '@xyo-network/uniswap-sdk-core'\nimport { IUniswapV3Pool, IUniswapV3Pool__factory } from '@xyo-network/uniswap-typechain'\nimport { Pool } from '@xyo-network/uniswap-v3-sdk'\nimport { Provider } from 'ethers'\n\nimport { logErrors, logErrorsAsync } from '../logErrors.ts'\nimport { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.ts'\n\nexport enum ChainId {\n MAINNET = 1,\n ROPSTEN = 3,\n RINKEBY = 4,\n GÖRLI = 5,\n KOVAN = 42,\n}\n\n// null is used as 'in-progress'\nconst waitNotNull = async (closure: () => unknown) => {\n while (closure() === null) await delay(10)\n}\n\nexport class EthersUniSwap3Pair {\n protected address: string\n protected provider: Provider\n\n private _pool?: Pool | null\n private _poolContract?: IUniswapV3Pool\n private _slot0?: EthersUniswap3PoolSlot0Wrapper | null\n private _tokenContracts: (IERC20Metadata | null | undefined)[] = [undefined, undefined]\n private _tokens: (Token | null | undefined)[] = [undefined, undefined]\n\n constructor(address: string, provider: Provider) {\n this.address = address\n this.provider = provider\n }\n\n async pool(): Promise<Pool> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._pool)\n this._pool = this._pool || null\n const slot0 = await this.slot0()\n this._pool\n = this._pool === null\n ? new Pool(\n await this.token(0),\n await this.token(1),\n Number(slot0.feeProtocol),\n `0x${slot0.sqrtPriceX96.toString(16)}`,\n `0x${(await this.poolContract().liquidity()).toString(16)}`,\n Number(slot0.tick),\n )\n : this._pool\n return assertEx(this._pool)\n })\n }\n\n poolContract() {\n return logErrors(() => {\n this._poolContract = this._poolContract ?? IUniswapV3Pool__factory.connect(this.address, this.provider)\n return assertEx(this._poolContract)\n })\n }\n\n async price() {\n return await logErrorsAsync(async () => {\n const tokenIndexes: (0 | 1)[] = [0, 1]\n const pool = await this.pool()\n const tokens = await Promise.all(tokenIndexes.map(value => this.token(value)))\n const tokenContracts = await Promise.all(tokenIndexes.map(value => this.tokenContract(value)))\n const tokenPrices = tokens.map(token => Number.parseFloat(pool.priceOf(token).toSignificant()))\n const tokenSymbols = tokens.map((token, index) => assertEx(token.symbol, () => `Token[${index}] Missing Symbols`).toLowerCase())\n const result = {\n tokens: await Promise.all(\n tokenIndexes.map(async (value) => {\n return { address: await tokenContracts[value].getAddress(), symbol: tokenSymbols[value], value: tokenPrices[value] }\n }),\n ),\n }\n return result\n })\n }\n\n async slot0(): Promise<EthersUniswap3PoolSlot0Wrapper> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._slot0)\n this._slot0 = this._slot0 || null\n if (this._slot0 === null) {\n const poolContract = this.poolContract()\n const slot = await poolContract.slot0()\n this._slot0 = this._slot0 ?? new EthersUniswap3PoolSlot0Wrapper(slot)\n }\n return assertEx(this._slot0)\n })\n }\n\n async token(index: 0 | 1): Promise<Token> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._tokens[index])\n this._tokens[index] = this._tokens[index] || null\n const tokenContract = await this.tokenContract(index)\n this._tokens[index]\n = this._tokens[index]\n ?? new Token(\n ChainId.MAINNET,\n await tokenContract.getAddress(),\n Number(await tokenContract.decimals()),\n await tokenContract.symbol(),\n await tokenContract.name(),\n )\n return assertEx(this._tokens[index])\n })\n }\n\n async tokenContract(index: 0 | 1): Promise<IERC20Metadata> {\n return await logErrorsAsync(async () => {\n await waitNotNull(() => this._tokenContracts[index])\n this._tokenContracts[index] = this._tokenContracts[index] || null\n this._tokenContracts[index]\n = this._tokenContracts[index]\n ?? IERC20Metadata__factory.connect(await (index === 0 ? this.poolContract().token0() : this.poolContract().token1()), this.provider)\n return assertEx(this._tokenContracts[index])\n })\n }\n}\n","import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.ts'\n\nexport class EthersUniswap3PoolSlot0Wrapper {\n protected values: EthersUniswapV3Slot0Fields\n constructor(values: EthersUniswapV3Slot0Fields) {\n this.values = values\n }\n\n get feeProtocol() {\n return this.values[5]\n }\n\n get observationCardinality() {\n return this.values[3]\n }\n\n get observationCardinalityNext() {\n return this.values[4]\n }\n\n get observationIndex() {\n return this.values[2]\n }\n\n get sqrtPriceX96() {\n return this.values[0]\n }\n\n get tick() {\n return this.values[1]\n }\n\n get unlocked() {\n return this.values[6]\n }\n}\n","import { Provider } from 'ethers'\n\nimport { logErrors } from '../logErrors.ts'\nimport { EthersUniSwap3Pair } from './UniSwap3Pair.ts'\n\nexport const createUniswapPoolContracts = (provider: Provider, contracts: string[]) => {\n return logErrors(() => {\n return contracts.map(contract => new EthersUniSwap3Pair(contract, provider))\n })\n}\n","import { fulfilled } from '@xylabs/promise'\nimport { UniswapCryptoPair } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { EthersUniSwap3Pair } from './Ethers/index.ts'\nimport { logErrorsAsync } from './logErrors.ts'\n\nexport const pricesFromUniswap3 = async (pools: EthersUniSwap3Pair[]): Promise<UniswapCryptoPair[]> => {\n return await logErrorsAsync(async () => {\n const promiseResults = await Promise.allSettled(\n pools.map(async (pool): Promise<UniswapCryptoPair> => {\n const result = await pool.price()\n return result\n }),\n )\n return promiseResults.filter(fulfilled).map(result => result.value)\n })\n}\n","export const UniswapPoolContracts = [\n /* xyo/weth */ '0xE331DE28cd81B768C19A366b0e4e4675c45eC2dA',\n /* xyo/usdt */ '0xd0AF1981f52146a6939385451dAeA0726e13a484',\n /* xyo/dai */ '0x9D7e5647CE3c7C2d835F2F5e82C8fDb36B0BB0fe',\n /* wbtc/xyo */ '0x0cF7494c9dE661467403aBeE8454b3BBf0179a84',\n /* link/xyo */ '0x4693456599a8a4975862A0E720C5de7E1D09A1e4',\n /* wbtc/weth */ '0xCBCdF9626bC03E24f779434178A73a0B4bad62eD',\n /* dai/usdc */ '0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168',\n /* usdc/weth */ '0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8',\n /* usdc/weth */ '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640',\n /* dai/usdc */ '0x6c6Bc977E13Df9b0de53b251522280BB72383700',\n /* frax/usdc */ '0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52',\n /* wbtc/usdc */ '0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35',\n /* usdc/usdt */ '0x3416cF6C708Da44DB2624D63ea0AAef7113527C6',\n]\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\nimport { UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { UniswapCryptoMarketWitness } from './Witness.ts'\n\nexport const UniswapCryptoMarketPlugin = () =>\n createPayloadSetWitnessPlugin<UniswapCryptoMarketWitness>(\n { required: { [UniswapCryptoMarketSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await UniswapCryptoMarketWitness.create(params)\n return result\n },\n },\n )\n","import { assertEx } from '@xylabs/assert'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport {\n UniswapCryptoMarketPayload,\n UniswapCryptoMarketSchema,\n UniswapCryptoMarketWitnessConfigSchema,\n} from '@xyo-network/uniswap-crypto-market-payload-plugin'\nimport { WitnessParams } from '@xyo-network/witness-model'\nimport { Provider } from 'ethers'\n\nimport { UniswapCryptoMarketWitnessConfig } from './Config.ts'\nimport { createUniswapPoolContracts, EthersUniSwap3Pair, pricesFromUniswap3, UniswapPoolContracts } from './lib/index.ts'\n\nexport type UniswapCryptoMarketWitnessParams = WitnessParams<\n AnyConfigSchema<UniswapCryptoMarketWitnessConfig>,\n {\n provider?: Provider\n }\n>\n\nexport class UniswapCryptoMarketWitness<\n TParams extends UniswapCryptoMarketWitnessParams = UniswapCryptoMarketWitnessParams,\n> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, UniswapCryptoMarketWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = UniswapCryptoMarketWitnessConfigSchema\n\n protected pairs?: EthersUniSwap3Pair[]\n protected get provider() {\n return this.params.provider\n }\n\n protected override async observeHandler(): Promise<Payload[]> {\n await this.started('throw')\n const pairs = await pricesFromUniswap3(assertEx(this.pairs))\n const timestamp = Date.now()\n\n const payload: UniswapCryptoMarketPayload = {\n pairs,\n schema: UniswapCryptoMarketSchema,\n timestamp,\n }\n\n return [payload]\n }\n\n protected override async startHandler() {\n await super.startHandler()\n this.pairs = createUniswapPoolContracts(\n assertEx(this.provider, () => 'Provider Required'),\n this.config?.pools ?? UniswapPoolContracts,\n )\n return true\n }\n}\n"],"mappings":"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","names":["logErrors","func","ex","console","error","logErrorsAsync","EthersUniswap3PoolSlot0Wrapper","values","constructor","feeProtocol","observationCardinality","observationCardinalityNext","observationIndex","sqrtPriceX96","tick","unlocked","ChainId","waitNotNull","closure","delay","EthersUniSwap3Pair","address","provider","_pool","_poolContract","_slot0","_tokenContracts","undefined","_tokens","constructor","pool","logErrorsAsync","slot0","Pool","token","Number","feeProtocol","sqrtPriceX96","toString","poolContract","liquidity","tick","assertEx","logErrors","IUniswapV3Pool__factory","connect","price","tokenIndexes","tokens","Promise","all","map","value","tokenContracts","tokenContract","tokenPrices","parseFloat","priceOf","toSignificant","tokenSymbols","index","symbol","toLowerCase","result","getAddress","slot","EthersUniswap3PoolSlot0Wrapper","Token","decimals","name","IERC20Metadata__factory","token0","token1","createUniswapPoolContracts","provider","contracts","logErrors","map","contract","EthersUniSwap3Pair","pricesFromUniswap3","pools","logErrorsAsync","promiseResults","Promise","allSettled","map","pool","result","price","filter","fulfilled","value","UniswapPoolContracts","import_uniswap_crypto_market_payload_plugin","import_assert","UniswapCryptoMarketWitness","AbstractWitness","pairs","provider","params","observeHandler","started","pricesFromUniswap3","assertEx","timestamp","Date","now","payload","schema","UniswapCryptoMarketSchema","startHandler","createUniswapPoolContracts","config","pools","UniswapPoolContracts","configSchemas","UniswapCryptoMarketWitnessConfigSchema","defaultConfigSchema","UniswapCryptoMarketPlugin","createPayloadSetWitnessPlugin","required","UniswapCryptoMarketSchema","schema","PayloadSetSchema","witness","params","result","UniswapCryptoMarketWitness","create"]}
@@ -1,5 +1,5 @@
1
- export * from './Config.js';
2
- export * from './lib/index.js';
3
- export { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.js';
4
- export * from './Witness.js';
1
+ export * from './Config.ts';
2
+ export * from './lib/index.ts';
3
+ export { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.ts';
4
+ export * from './Witness.ts';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- export * from './Config.js';
2
- export * from './lib/index.js';
3
- export { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.js';
4
- export * from './Witness.js';
1
+ export * from './Config.ts';
2
+ export * from './lib/index.ts';
3
+ export { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.ts';
4
+ export * from './Witness.ts';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
- export * from './Config.js';
2
- export * from './lib/index.js';
3
- export { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.js';
4
- export * from './Witness.js';
1
+ export * from './Config.ts';
2
+ export * from './lib/index.ts';
3
+ export { UniswapCryptoMarketPlugin as default, UniswapCryptoMarketPlugin } from './Plugin.ts';
4
+ export * from './Witness.ts';
5
5
  //# sourceMappingURL=index.d.ts.map