@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.
- package/dist/browser/Plugin.d.cts +1 -1
- package/dist/browser/Plugin.d.mts +1 -1
- package/dist/browser/Plugin.d.ts +1 -1
- package/dist/browser/Witness.d.cts +2 -2
- package/dist/browser/Witness.d.mts +2 -2
- package/dist/browser/Witness.d.ts +2 -2
- package/dist/browser/index.cjs +80 -70
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +4 -4
- package/dist/browser/index.d.mts +4 -4
- package/dist/browser/index.d.ts +4 -4
- package/dist/browser/{index.js → index.mjs} +84 -75
- package/dist/browser/index.mjs.map +1 -0
- package/dist/browser/lib/Ethers/UniSwap3Pair.d.cts +1 -1
- package/dist/browser/lib/Ethers/UniSwap3Pair.d.mts +1 -1
- package/dist/browser/lib/Ethers/UniSwap3Pair.d.ts +1 -1
- package/dist/browser/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.cts +1 -1
- package/dist/browser/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.mts +1 -1
- package/dist/browser/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +1 -1
- package/dist/browser/lib/Ethers/createUniswapPoolContracts.d.cts +1 -1
- package/dist/browser/lib/Ethers/createUniswapPoolContracts.d.mts +1 -1
- package/dist/browser/lib/Ethers/createUniswapPoolContracts.d.ts +1 -1
- package/dist/browser/lib/Ethers/index.d.cts +4 -4
- package/dist/browser/lib/Ethers/index.d.mts +4 -4
- package/dist/browser/lib/Ethers/index.d.ts +4 -4
- package/dist/browser/lib/index.d.cts +3 -3
- package/dist/browser/lib/index.d.mts +3 -3
- package/dist/browser/lib/index.d.ts +3 -3
- package/dist/browser/lib/pricesFromUniswap3.d.cts +1 -1
- package/dist/browser/lib/pricesFromUniswap3.d.mts +1 -1
- package/dist/browser/lib/pricesFromUniswap3.d.ts +1 -1
- package/dist/neutral/Plugin.d.cts +1 -1
- package/dist/neutral/Plugin.d.mts +1 -1
- package/dist/neutral/Plugin.d.ts +1 -1
- package/dist/neutral/Witness.d.cts +2 -2
- package/dist/neutral/Witness.d.mts +2 -2
- package/dist/neutral/Witness.d.ts +2 -2
- package/dist/neutral/index.cjs +80 -70
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.d.cts +4 -4
- package/dist/neutral/index.d.mts +4 -4
- package/dist/neutral/index.d.ts +4 -4
- package/dist/{node/index.js → neutral/index.mjs} +84 -76
- package/dist/neutral/index.mjs.map +1 -0
- package/dist/neutral/lib/Ethers/UniSwap3Pair.d.cts +1 -1
- package/dist/neutral/lib/Ethers/UniSwap3Pair.d.mts +1 -1
- package/dist/neutral/lib/Ethers/UniSwap3Pair.d.ts +1 -1
- package/dist/neutral/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.cts +1 -1
- package/dist/neutral/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.mts +1 -1
- package/dist/neutral/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +1 -1
- package/dist/neutral/lib/Ethers/createUniswapPoolContracts.d.cts +1 -1
- package/dist/neutral/lib/Ethers/createUniswapPoolContracts.d.mts +1 -1
- package/dist/neutral/lib/Ethers/createUniswapPoolContracts.d.ts +1 -1
- package/dist/neutral/lib/Ethers/index.d.cts +4 -4
- package/dist/neutral/lib/Ethers/index.d.mts +4 -4
- package/dist/neutral/lib/Ethers/index.d.ts +4 -4
- package/dist/neutral/lib/index.d.cts +3 -3
- package/dist/neutral/lib/index.d.mts +3 -3
- package/dist/neutral/lib/index.d.ts +3 -3
- package/dist/neutral/lib/pricesFromUniswap3.d.cts +1 -1
- package/dist/neutral/lib/pricesFromUniswap3.d.mts +1 -1
- package/dist/neutral/lib/pricesFromUniswap3.d.ts +1 -1
- package/dist/node/Plugin.d.cts +1 -1
- package/dist/node/Plugin.d.mts +1 -1
- package/dist/node/Plugin.d.ts +1 -1
- package/dist/node/Witness.d.cts +2 -2
- package/dist/node/Witness.d.mts +2 -2
- package/dist/node/Witness.d.ts +2 -2
- package/dist/node/index.cjs +86 -74
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +4 -4
- package/dist/node/index.d.mts +4 -4
- package/dist/node/index.d.ts +4 -4
- package/dist/{neutral/index.js → node/index.mjs} +91 -79
- package/dist/node/index.mjs.map +1 -0
- package/dist/node/lib/Ethers/UniSwap3Pair.d.cts +1 -1
- package/dist/node/lib/Ethers/UniSwap3Pair.d.mts +1 -1
- package/dist/node/lib/Ethers/UniSwap3Pair.d.ts +1 -1
- package/dist/node/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.cts +1 -1
- package/dist/node/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.mts +1 -1
- package/dist/node/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +1 -1
- package/dist/node/lib/Ethers/createUniswapPoolContracts.d.cts +1 -1
- package/dist/node/lib/Ethers/createUniswapPoolContracts.d.mts +1 -1
- package/dist/node/lib/Ethers/createUniswapPoolContracts.d.ts +1 -1
- package/dist/node/lib/Ethers/index.d.cts +4 -4
- package/dist/node/lib/Ethers/index.d.mts +4 -4
- package/dist/node/lib/Ethers/index.d.ts +4 -4
- package/dist/node/lib/index.d.cts +3 -3
- package/dist/node/lib/index.d.mts +3 -3
- package/dist/node/lib/index.d.ts +3 -3
- package/dist/node/lib/pricesFromUniswap3.d.cts +1 -1
- package/dist/node/lib/pricesFromUniswap3.d.mts +1 -1
- package/dist/node/lib/pricesFromUniswap3.d.ts +1 -1
- package/package.json +20 -20
- package/src/Plugin.ts +1 -1
- package/src/Witness.ts +2 -2
- package/src/index.ts +4 -4
- package/src/lib/Ethers/UniSwap3Pair.ts +16 -16
- package/src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts +1 -1
- package/src/lib/Ethers/createUniswapPoolContracts.ts +3 -3
- package/src/lib/Ethers/index.ts +4 -4
- package/src/lib/UniswapPoolContracts.ts +13 -13
- package/src/lib/index.ts +3 -3
- package/src/lib/pricesFromUniswap3.ts +3 -3
- package/dist/browser/index.js.map +0 -1
- package/dist/neutral/index.js.map +0 -1
- package/dist/node/index.js.map +0 -1
|
@@ -1,20 +1,23 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
1
4
|
// src/lib/logErrors.ts
|
|
2
|
-
var logErrors = (func) => {
|
|
5
|
+
var logErrors = /* @__PURE__ */ __name((func) => {
|
|
3
6
|
try {
|
|
4
7
|
return func();
|
|
5
8
|
} catch (ex) {
|
|
6
9
|
console.error(ex);
|
|
7
10
|
throw ex;
|
|
8
11
|
}
|
|
9
|
-
};
|
|
10
|
-
var logErrorsAsync = async (func) => {
|
|
12
|
+
}, "logErrors");
|
|
13
|
+
var logErrorsAsync = /* @__PURE__ */ __name(async (func) => {
|
|
11
14
|
try {
|
|
12
15
|
return await func();
|
|
13
16
|
} catch (ex) {
|
|
14
17
|
console.error(ex);
|
|
15
18
|
throw ex;
|
|
16
19
|
}
|
|
17
|
-
};
|
|
20
|
+
}, "logErrorsAsync");
|
|
18
21
|
|
|
19
22
|
// src/lib/Ethers/UniSwap3Pair.ts
|
|
20
23
|
import { assertEx } from "@xylabs/assert";
|
|
@@ -26,6 +29,9 @@ import { Pool } from "@xyo-network/uniswap-v3-sdk";
|
|
|
26
29
|
|
|
27
30
|
// src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts
|
|
28
31
|
var EthersUniswap3PoolSlot0Wrapper = class {
|
|
32
|
+
static {
|
|
33
|
+
__name(this, "EthersUniswap3PoolSlot0Wrapper");
|
|
34
|
+
}
|
|
29
35
|
values;
|
|
30
36
|
constructor(values) {
|
|
31
37
|
this.values = values;
|
|
@@ -54,25 +60,34 @@ var EthersUniswap3PoolSlot0Wrapper = class {
|
|
|
54
60
|
};
|
|
55
61
|
|
|
56
62
|
// src/lib/Ethers/UniSwap3Pair.ts
|
|
57
|
-
var ChainId
|
|
63
|
+
var ChainId;
|
|
64
|
+
(function(ChainId2) {
|
|
58
65
|
ChainId2[ChainId2["MAINNET"] = 1] = "MAINNET";
|
|
59
66
|
ChainId2[ChainId2["ROPSTEN"] = 3] = "ROPSTEN";
|
|
60
67
|
ChainId2[ChainId2["RINKEBY"] = 4] = "RINKEBY";
|
|
61
68
|
ChainId2[ChainId2["G\xD6RLI"] = 5] = "G\xD6RLI";
|
|
62
69
|
ChainId2[ChainId2["KOVAN"] = 42] = "KOVAN";
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var waitNotNull = async (closure) => {
|
|
70
|
+
})(ChainId || (ChainId = {}));
|
|
71
|
+
var waitNotNull = /* @__PURE__ */ __name(async (closure) => {
|
|
66
72
|
while (closure() === null) await delay(10);
|
|
67
|
-
};
|
|
73
|
+
}, "waitNotNull");
|
|
68
74
|
var EthersUniSwap3Pair = class {
|
|
75
|
+
static {
|
|
76
|
+
__name(this, "EthersUniSwap3Pair");
|
|
77
|
+
}
|
|
69
78
|
address;
|
|
70
79
|
provider;
|
|
71
80
|
_pool;
|
|
72
81
|
_poolContract;
|
|
73
82
|
_slot0;
|
|
74
|
-
_tokenContracts = [
|
|
75
|
-
|
|
83
|
+
_tokenContracts = [
|
|
84
|
+
void 0,
|
|
85
|
+
void 0
|
|
86
|
+
];
|
|
87
|
+
_tokens = [
|
|
88
|
+
void 0,
|
|
89
|
+
void 0
|
|
90
|
+
];
|
|
76
91
|
constructor(address, provider) {
|
|
77
92
|
this.address = address;
|
|
78
93
|
this.provider = provider;
|
|
@@ -82,14 +97,7 @@ var EthersUniSwap3Pair = class {
|
|
|
82
97
|
await waitNotNull(() => this._pool);
|
|
83
98
|
this._pool = this._pool || null;
|
|
84
99
|
const slot0 = await this.slot0();
|
|
85
|
-
this._pool = this._pool === null ? new Pool(
|
|
86
|
-
await this.token(0),
|
|
87
|
-
await this.token(1),
|
|
88
|
-
Number(slot0.feeProtocol),
|
|
89
|
-
`0x${slot0.sqrtPriceX96.toString(16)}`,
|
|
90
|
-
`0x${(await this.poolContract().liquidity()).toString(16)}`,
|
|
91
|
-
Number(slot0.tick)
|
|
92
|
-
) : this._pool;
|
|
100
|
+
this._pool = this._pool === null ? new 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;
|
|
93
101
|
return assertEx(this._pool);
|
|
94
102
|
});
|
|
95
103
|
}
|
|
@@ -101,18 +109,23 @@ var EthersUniSwap3Pair = class {
|
|
|
101
109
|
}
|
|
102
110
|
async price() {
|
|
103
111
|
return await logErrorsAsync(async () => {
|
|
104
|
-
const tokenIndexes = [
|
|
112
|
+
const tokenIndexes = [
|
|
113
|
+
0,
|
|
114
|
+
1
|
|
115
|
+
];
|
|
105
116
|
const pool = await this.pool();
|
|
106
117
|
const tokens = await Promise.all(tokenIndexes.map((value) => this.token(value)));
|
|
107
118
|
const tokenContracts = await Promise.all(tokenIndexes.map((value) => this.tokenContract(value)));
|
|
108
119
|
const tokenPrices = tokens.map((token) => Number.parseFloat(pool.priceOf(token).toSignificant()));
|
|
109
120
|
const tokenSymbols = tokens.map((token, index) => assertEx(token.symbol, () => `Token[${index}] Missing Symbols`).toLowerCase());
|
|
110
121
|
const result = {
|
|
111
|
-
tokens: await Promise.all(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
122
|
+
tokens: await Promise.all(tokenIndexes.map(async (value) => {
|
|
123
|
+
return {
|
|
124
|
+
address: await tokenContracts[value].getAddress(),
|
|
125
|
+
symbol: tokenSymbols[value],
|
|
126
|
+
value: tokenPrices[value]
|
|
127
|
+
};
|
|
128
|
+
}))
|
|
116
129
|
};
|
|
117
130
|
return result;
|
|
118
131
|
});
|
|
@@ -134,13 +147,7 @@ var EthersUniSwap3Pair = class {
|
|
|
134
147
|
await waitNotNull(() => this._tokens[index]);
|
|
135
148
|
this._tokens[index] = this._tokens[index] || null;
|
|
136
149
|
const tokenContract = await this.tokenContract(index);
|
|
137
|
-
this._tokens[index] = this._tokens[index] ?? new Token(
|
|
138
|
-
1 /* MAINNET */,
|
|
139
|
-
await tokenContract.getAddress(),
|
|
140
|
-
Number(await tokenContract.decimals()),
|
|
141
|
-
await tokenContract.symbol(),
|
|
142
|
-
await tokenContract.name()
|
|
143
|
-
);
|
|
150
|
+
this._tokens[index] = this._tokens[index] ?? new Token(1, await tokenContract.getAddress(), Number(await tokenContract.decimals()), await tokenContract.symbol(), await tokenContract.name());
|
|
144
151
|
return assertEx(this._tokens[index]);
|
|
145
152
|
});
|
|
146
153
|
}
|
|
@@ -155,53 +162,51 @@ var EthersUniSwap3Pair = class {
|
|
|
155
162
|
};
|
|
156
163
|
|
|
157
164
|
// src/lib/Ethers/createUniswapPoolContracts.ts
|
|
158
|
-
var createUniswapPoolContracts = (provider, contracts) => {
|
|
165
|
+
var createUniswapPoolContracts = /* @__PURE__ */ __name((provider, contracts) => {
|
|
159
166
|
return logErrors(() => {
|
|
160
167
|
return contracts.map((contract) => new EthersUniSwap3Pair(contract, provider));
|
|
161
168
|
});
|
|
162
|
-
};
|
|
169
|
+
}, "createUniswapPoolContracts");
|
|
163
170
|
|
|
164
171
|
// src/lib/pricesFromUniswap3.ts
|
|
165
172
|
import { fulfilled } from "@xylabs/promise";
|
|
166
|
-
var pricesFromUniswap3 = async (pools) => {
|
|
173
|
+
var pricesFromUniswap3 = /* @__PURE__ */ __name(async (pools) => {
|
|
167
174
|
return await logErrorsAsync(async () => {
|
|
168
|
-
const promiseResults = await Promise.allSettled(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
})
|
|
173
|
-
);
|
|
175
|
+
const promiseResults = await Promise.allSettled(pools.map(async (pool) => {
|
|
176
|
+
const result = await pool.price();
|
|
177
|
+
return result;
|
|
178
|
+
}));
|
|
174
179
|
return promiseResults.filter(fulfilled).map((result) => result.value);
|
|
175
180
|
});
|
|
176
|
-
};
|
|
181
|
+
}, "pricesFromUniswap3");
|
|
177
182
|
|
|
178
183
|
// src/lib/UniswapPoolContracts.ts
|
|
179
184
|
var UniswapPoolContracts = [
|
|
180
|
-
/*xyo/weth*/
|
|
185
|
+
/* xyo/weth */
|
|
181
186
|
"0xE331DE28cd81B768C19A366b0e4e4675c45eC2dA",
|
|
182
|
-
/*xyo/usdt*/
|
|
187
|
+
/* xyo/usdt */
|
|
183
188
|
"0xd0AF1981f52146a6939385451dAeA0726e13a484",
|
|
184
|
-
/*xyo/dai*/
|
|
189
|
+
/* xyo/dai */
|
|
185
190
|
"0x9D7e5647CE3c7C2d835F2F5e82C8fDb36B0BB0fe",
|
|
186
|
-
/*wbtc/xyo*/
|
|
191
|
+
/* wbtc/xyo */
|
|
187
192
|
"0x0cF7494c9dE661467403aBeE8454b3BBf0179a84",
|
|
188
|
-
/*link/xyo*/
|
|
193
|
+
/* link/xyo */
|
|
189
194
|
"0x4693456599a8a4975862A0E720C5de7E1D09A1e4",
|
|
190
|
-
/*wbtc/weth*/
|
|
195
|
+
/* wbtc/weth */
|
|
191
196
|
"0xCBCdF9626bC03E24f779434178A73a0B4bad62eD",
|
|
192
|
-
/*dai/usdc*/
|
|
197
|
+
/* dai/usdc */
|
|
193
198
|
"0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168",
|
|
194
|
-
/*usdc/weth*/
|
|
199
|
+
/* usdc/weth */
|
|
195
200
|
"0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8",
|
|
196
|
-
/*usdc/weth*/
|
|
201
|
+
/* usdc/weth */
|
|
197
202
|
"0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640",
|
|
198
|
-
/*dai/usdc*/
|
|
203
|
+
/* dai/usdc */
|
|
199
204
|
"0x6c6Bc977E13Df9b0de53b251522280BB72383700",
|
|
200
|
-
/*frax/usdc*/
|
|
205
|
+
/* frax/usdc */
|
|
201
206
|
"0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52",
|
|
202
|
-
/*wbtc/usdc*/
|
|
207
|
+
/* wbtc/usdc */
|
|
203
208
|
"0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35",
|
|
204
|
-
/*usdc/usdt*/
|
|
209
|
+
/* usdc/usdt */
|
|
205
210
|
"0x3416cF6C708Da44DB2624D63ea0AAef7113527C6"
|
|
206
211
|
];
|
|
207
212
|
|
|
@@ -213,12 +218,15 @@ import { UniswapCryptoMarketSchema as UniswapCryptoMarketSchema2 } from "@xyo-ne
|
|
|
213
218
|
// src/Witness.ts
|
|
214
219
|
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
215
220
|
import { AbstractWitness } from "@xyo-network/abstract-witness";
|
|
216
|
-
import {
|
|
217
|
-
UniswapCryptoMarketSchema,
|
|
218
|
-
UniswapCryptoMarketWitnessConfigSchema
|
|
219
|
-
} from "@xyo-network/uniswap-crypto-market-payload-plugin";
|
|
221
|
+
import { UniswapCryptoMarketSchema, UniswapCryptoMarketWitnessConfigSchema } from "@xyo-network/uniswap-crypto-market-payload-plugin";
|
|
220
222
|
var UniswapCryptoMarketWitness = class extends AbstractWitness {
|
|
221
|
-
static
|
|
223
|
+
static {
|
|
224
|
+
__name(this, "UniswapCryptoMarketWitness");
|
|
225
|
+
}
|
|
226
|
+
static configSchemas = [
|
|
227
|
+
...super.configSchemas,
|
|
228
|
+
UniswapCryptoMarketWitnessConfigSchema
|
|
229
|
+
];
|
|
222
230
|
static defaultConfigSchema = UniswapCryptoMarketWitnessConfigSchema;
|
|
223
231
|
pairs;
|
|
224
232
|
get provider() {
|
|
@@ -233,29 +241,29 @@ var UniswapCryptoMarketWitness = class extends AbstractWitness {
|
|
|
233
241
|
schema: UniswapCryptoMarketSchema,
|
|
234
242
|
timestamp
|
|
235
243
|
};
|
|
236
|
-
return [
|
|
244
|
+
return [
|
|
245
|
+
payload
|
|
246
|
+
];
|
|
237
247
|
}
|
|
238
248
|
async startHandler() {
|
|
239
|
-
var _a;
|
|
240
249
|
await super.startHandler();
|
|
241
|
-
this.pairs = createUniswapPoolContracts(
|
|
242
|
-
assertEx2(this.provider, () => "Provider Required"),
|
|
243
|
-
((_a = this.config) == null ? void 0 : _a.pools) ?? UniswapPoolContracts
|
|
244
|
-
);
|
|
250
|
+
this.pairs = createUniswapPoolContracts(assertEx2(this.provider, () => "Provider Required"), this.config?.pools ?? UniswapPoolContracts);
|
|
245
251
|
return true;
|
|
246
252
|
}
|
|
247
253
|
};
|
|
248
254
|
|
|
249
255
|
// src/Plugin.ts
|
|
250
|
-
var UniswapCryptoMarketPlugin = () => createPayloadSetWitnessPlugin(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
256
|
+
var UniswapCryptoMarketPlugin = /* @__PURE__ */ __name(() => createPayloadSetWitnessPlugin({
|
|
257
|
+
required: {
|
|
258
|
+
[UniswapCryptoMarketSchema2]: 1
|
|
259
|
+
},
|
|
260
|
+
schema: PayloadSetSchema
|
|
261
|
+
}, {
|
|
262
|
+
witness: /* @__PURE__ */ __name(async (params) => {
|
|
263
|
+
const result = await UniswapCryptoMarketWitness.create(params);
|
|
264
|
+
return result;
|
|
265
|
+
}, "witness")
|
|
266
|
+
}), "UniswapCryptoMarketPlugin");
|
|
259
267
|
export {
|
|
260
268
|
ChainId,
|
|
261
269
|
EthersUniSwap3Pair,
|
|
@@ -267,4 +275,4 @@ export {
|
|
|
267
275
|
UniswapCryptoMarketPlugin as default,
|
|
268
276
|
pricesFromUniswap3
|
|
269
277
|
};
|
|
270
|
-
//# sourceMappingURL=index.
|
|
278
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../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 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":";;;;AAAO,IAAMA,YAAY,wBAAIC,SAAAA;AAC3B,MAAI;AACF,WAAOA,KAAAA;EACT,SAASC,IAAI;AACXC,YAAQC,MAAMF,EAAAA;AACd,UAAMA;EACR;AACF,GAPyB;AASlB,IAAMG,iBAAiB,8BAAUJ,SAAAA;AACtC,MAAI;AACF,WAAO,MAAMA,KAAAA;EACf,SAASC,IAAI;AACXC,YAAQC,MAAMF,EAAAA;AACd,UAAMA;EACR;AACF,GAP8B;;;ACT9B,SAASI,gBAAgB;AACzB,SAASC,aAAa;AACtB,SAAyBC,+BAA+B;AACxD,SAASC,aAAa;AACtB,SAAyBC,+BAA+B;AACxD,SAASC,YAAY;;;ACHd,IAAMC,iCAAN,MAAMA;EAAb,OAAaA;;;EACDC;EACVC,YAAYD,QAAoC;AAC9C,SAAKA,SAASA;EAChB;EAEA,IAAIE,cAAc;AAChB,WAAO,KAAKF,OAAO,CAAA;EACrB;EAEA,IAAIG,yBAAyB;AAC3B,WAAO,KAAKH,OAAO,CAAA;EACrB;EAEA,IAAII,6BAA6B;AAC/B,WAAO,KAAKJ,OAAO,CAAA;EACrB;EAEA,IAAIK,mBAAmB;AACrB,WAAO,KAAKL,OAAO,CAAA;EACrB;EAEA,IAAIM,eAAe;AACjB,WAAO,KAAKN,OAAO,CAAA;EACrB;EAEA,IAAIO,OAAO;AACT,WAAO,KAAKP,OAAO,CAAA;EACrB;EAEA,IAAIQ,WAAW;AACb,WAAO,KAAKR,OAAO,CAAA;EACrB;AACF;;;;UDxBYS,UAAAA;;;;;;GAAAA,YAAAA,UAAAA,CAAAA,EAAAA;AASZ,IAAMC,cAAc,8BAAOC,YAAAA;AACzB,SAAOA,QAAAA,MAAc,KAAM,OAAMC,MAAM,EAAA;AACzC,GAFoB;AAIb,IAAMC,qBAAN,MAAMA;EAxBb,OAwBaA;;;EACDC;EACAC;EAEFC;EACAC;EACAC;EACAC,kBAAyD;IAACC;IAAWA;;EACrEC,UAAwC;IAACD;IAAWA;;EAE5DE,YAAYR,SAAiBC,UAAoB;AAC/C,SAAKD,UAAUA;AACf,SAAKC,WAAWA;EAClB;EAEA,MAAMQ,OAAsB;AAC1B,WAAO,MAAMC,eAAe,YAAA;AAC1B,YAAMd,YAAY,MAAM,KAAKM,KAAK;AAClC,WAAKA,QAAQ,KAAKA,SAAS;AAC3B,YAAMS,QAAQ,MAAM,KAAKA,MAAK;AAC9B,WAAKT,QACD,KAAKA,UAAU,OACb,IAAIU,KACJ,MAAM,KAAKC,MAAM,CAAA,GACjB,MAAM,KAAKA,MAAM,CAAA,GACjBC,OAAOH,MAAMI,WAAW,GACxB,KAAKJ,MAAMK,aAAaC,SAAS,EAAA,CAAA,IACjC,MAAM,MAAM,KAAKC,aAAY,EAAGC,UAAS,GAAIF,SAAS,EAAA,CAAA,IACtDH,OAAOH,MAAMS,IAAI,CAAA,IAEjB,KAAKlB;AACX,aAAOmB,SAAS,KAAKnB,KAAK;IAC5B,CAAA;EACF;EAEAgB,eAAe;AACb,WAAOI,UAAU,MAAA;AACf,WAAKnB,gBAAgB,KAAKA,iBAAiBoB,wBAAwBC,QAAQ,KAAKxB,SAAS,KAAKC,QAAQ;AACtG,aAAOoB,SAAS,KAAKlB,aAAa;IACpC,CAAA;EACF;EAEA,MAAMsB,QAAQ;AACZ,WAAO,MAAMf,eAAe,YAAA;AAC1B,YAAMgB,eAA0B;QAAC;QAAG;;AACpC,YAAMjB,OAAO,MAAM,KAAKA,KAAI;AAC5B,YAAMkB,SAAS,MAAMC,QAAQC,IAAIH,aAAaI,IAAIC,CAAAA,UAAS,KAAKlB,MAAMkB,KAAAA,CAAAA,CAAAA;AACtE,YAAMC,iBAAiB,MAAMJ,QAAQC,IAAIH,aAAaI,IAAIC,CAAAA,UAAS,KAAKE,cAAcF,KAAAA,CAAAA,CAAAA;AACtF,YAAMG,cAAcP,OAAOG,IAAIjB,CAAAA,UAASC,OAAOqB,WAAW1B,KAAK2B,QAAQvB,KAAAA,EAAOwB,cAAa,CAAA,CAAA;AAC3F,YAAMC,eAAeX,OAAOG,IAAI,CAACjB,OAAO0B,UAAUlB,SAASR,MAAM2B,QAAQ,MAAM,SAASD,KAAAA,mBAAwB,EAAEE,YAAW,CAAA;AAC7H,YAAMC,SAAS;QACbf,QAAQ,MAAMC,QAAQC,IACpBH,aAAaI,IAAI,OAAOC,UAAAA;AACtB,iBAAO;YAAE/B,SAAS,MAAMgC,eAAeD,KAAAA,EAAOY,WAAU;YAAIH,QAAQF,aAAaP,KAAAA;YAAQA,OAAOG,YAAYH,KAAAA;UAAO;QACrH,CAAA,CAAA;MAEJ;AACA,aAAOW;IACT,CAAA;EACF;EAEA,MAAM/B,QAAiD;AACrD,WAAO,MAAMD,eAAe,YAAA;AAC1B,YAAMd,YAAY,MAAM,KAAKQ,MAAM;AACnC,WAAKA,SAAS,KAAKA,UAAU;AAC7B,UAAI,KAAKA,WAAW,MAAM;AACxB,cAAMc,eAAe,KAAKA,aAAY;AACtC,cAAM0B,OAAO,MAAM1B,aAAaP,MAAK;AACrC,aAAKP,SAAS,KAAKA,UAAU,IAAIyC,+BAA+BD,IAAAA;MAClE;AACA,aAAOvB,SAAS,KAAKjB,MAAM;IAC7B,CAAA;EACF;EAEA,MAAMS,MAAM0B,OAA8B;AACxC,WAAO,MAAM7B,eAAe,YAAA;AAC1B,YAAMd,YAAY,MAAM,KAAKW,QAAQgC,KAAAA,CAAM;AAC3C,WAAKhC,QAAQgC,KAAAA,IAAS,KAAKhC,QAAQgC,KAAAA,KAAU;AAC7C,YAAMN,gBAAgB,MAAM,KAAKA,cAAcM,KAAAA;AAC/C,WAAKhC,QAAQgC,KAAAA,IACT,KAAKhC,QAAQgC,KAAAA,KACZ,IAAIO,MAAAA,GAEL,MAAMb,cAAcU,WAAU,GAC9B7B,OAAO,MAAMmB,cAAcc,SAAQ,CAAA,GACnC,MAAMd,cAAcO,OAAM,GAC1B,MAAMP,cAAce,KAAI,CAAA;AAE5B,aAAO3B,SAAS,KAAKd,QAAQgC,KAAAA,CAAM;IACrC,CAAA;EACF;EAEA,MAAMN,cAAcM,OAAuC;AACzD,WAAO,MAAM7B,eAAe,YAAA;AAC1B,YAAMd,YAAY,MAAM,KAAKS,gBAAgBkC,KAAAA,CAAM;AACnD,WAAKlC,gBAAgBkC,KAAAA,IAAS,KAAKlC,gBAAgBkC,KAAAA,KAAU;AAC7D,WAAKlC,gBAAgBkC,KAAAA,IACjB,KAAKlC,gBAAgBkC,KAAAA,KACpBU,wBAAwBzB,QAAQ,OAAOe,UAAU,IAAI,KAAKrB,aAAY,EAAGgC,OAAM,IAAK,KAAKhC,aAAY,EAAGiC,OAAM,IAAK,KAAKlD,QAAQ;AACrI,aAAOoB,SAAS,KAAKhB,gBAAgBkC,KAAAA,CAAM;IAC7C,CAAA;EACF;AACF;;;AEzHO,IAAMa,6BAA6B,wBAACC,UAAoBC,cAAAA;AAC7D,SAAOC,UAAU,MAAA;AACf,WAAOD,UAAUE,IAAIC,CAAAA,aAAY,IAAIC,mBAAmBD,UAAUJ,QAAAA,CAAAA;EACpE,CAAA;AACF,GAJ0C;;;ACL1C,SAASM,iBAAiB;AAMnB,IAAMC,qBAAqB,8BAAOC,UAAAA;AACvC,SAAO,MAAMC,eAAe,YAAA;AAC1B,UAAMC,iBAAiB,MAAMC,QAAQC,WACnCJ,MAAMK,IAAI,OAAOC,SAAAA;AACf,YAAMC,SAAS,MAAMD,KAAKE,MAAK;AAC/B,aAAOD;IACT,CAAA,CAAA;AAEF,WAAOL,eAAeO,OAAOC,SAAAA,EAAWL,IAAIE,CAAAA,WAAUA,OAAOI,KAAK;EACpE,CAAA;AACF,GAVkC;;;ACN3B,IAAMC,uBAAuB;;EACnB;;EACA;;EACD;;EACC;;EACA;;EACC;;EACD;;EACC;;EACA;;EACD;;EACC;;EACA;;EACA;;;;ACblB,SAASC,wBAAwB;AACjC,SAASC,qCAAqC;AAC9C,SAASC,6BAAAA,kCAAiC;;;ACF1C,SAASC,YAAAA,iBAAgB;AACzB,SAASC,uBAAuB;AAGhC,SAEEC,2BACAC,8CACK;AAcA,IAAMC,6BAAN,cAEGC,gBAAAA;EAxBV,OAwBUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAE7CE;EACV,IAAcC,WAAW;AACvB,WAAO,KAAKC,OAAOD;EACrB;EAEA,MAAyBE,iBAAqC;AAC5D,UAAM,KAAKC,QAAQ,OAAA;AACnB,UAAMJ,QAAQ,MAAMK,mBAAmBC,UAAS,KAAKN,KAAK,CAAA;AAC1D,UAAMO,YAAYC,KAAKC,IAAG;AAE1B,UAAMC,UAAsC;MAC1CV;MACAW,QAAQC;MACRL;IACF;AAEA,WAAO;MAACG;;EACV;EAEA,MAAyBG,eAAe;AACtC,UAAM,MAAMA,aAAAA;AACZ,SAAKb,QAAQc,2BACXR,UAAS,KAAKL,UAAU,MAAM,mBAAA,GAC9B,KAAKc,QAAQC,SAASC,oBAAAA;AAExB,WAAO;EACT;AACF;;;ADjDO,IAAMC,4BAA4B,6BACvCC,8BACE;EAAEC,UAAU;IAAE,CAACC,0BAAAA,GAA4B;EAAE;EAAGC,QAAQC;AAAiB,GACzE;EACEC,SAAS,8BAAOC,WAAAA;AACd,UAAMC,SAAS,MAAMC,2BAA2BC,OAAOH,MAAAA;AACvD,WAAOC;EACT,GAHS;AAIX,CAAA,GARqC;","names":["logErrors","func","ex","console","error","logErrorsAsync","assertEx","delay","IERC20Metadata__factory","Token","IUniswapV3Pool__factory","Pool","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","fulfilled","pricesFromUniswap3","pools","logErrorsAsync","promiseResults","Promise","allSettled","map","pool","result","price","filter","fulfilled","value","UniswapPoolContracts","PayloadSetSchema","createPayloadSetWitnessPlugin","UniswapCryptoMarketSchema","assertEx","AbstractWitness","UniswapCryptoMarketSchema","UniswapCryptoMarketWitnessConfigSchema","UniswapCryptoMarketWitness","AbstractWitness","configSchemas","UniswapCryptoMarketWitnessConfigSchema","defaultConfigSchema","pairs","provider","params","observeHandler","started","pricesFromUniswap3","assertEx","timestamp","Date","now","payload","schema","UniswapCryptoMarketSchema","startHandler","createUniswapPoolContracts","config","pools","UniswapPoolContracts","UniswapCryptoMarketPlugin","createPayloadSetWitnessPlugin","required","UniswapCryptoMarketSchema","schema","PayloadSetSchema","witness","params","result","UniswapCryptoMarketWitness","create"]}
|
|
@@ -2,7 +2,7 @@ import { IERC20Metadata } from '@xyo-network/typechain';
|
|
|
2
2
|
import { Token } from '@xyo-network/uniswap-sdk-core';
|
|
3
3
|
import { Pool } from '@xyo-network/uniswap-v3-sdk';
|
|
4
4
|
import { Provider } from 'ethers';
|
|
5
|
-
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.
|
|
5
|
+
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.ts';
|
|
6
6
|
export declare enum ChainId {
|
|
7
7
|
MAINNET = 1,
|
|
8
8
|
ROPSTEN = 3,
|
|
@@ -2,7 +2,7 @@ import { IERC20Metadata } from '@xyo-network/typechain';
|
|
|
2
2
|
import { Token } from '@xyo-network/uniswap-sdk-core';
|
|
3
3
|
import { Pool } from '@xyo-network/uniswap-v3-sdk';
|
|
4
4
|
import { Provider } from 'ethers';
|
|
5
|
-
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.
|
|
5
|
+
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.ts';
|
|
6
6
|
export declare enum ChainId {
|
|
7
7
|
MAINNET = 1,
|
|
8
8
|
ROPSTEN = 3,
|
|
@@ -2,7 +2,7 @@ import { IERC20Metadata } from '@xyo-network/typechain';
|
|
|
2
2
|
import { Token } from '@xyo-network/uniswap-sdk-core';
|
|
3
3
|
import { Pool } from '@xyo-network/uniswap-v3-sdk';
|
|
4
4
|
import { Provider } from 'ethers';
|
|
5
|
-
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.
|
|
5
|
+
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper.ts';
|
|
6
6
|
export declare enum ChainId {
|
|
7
7
|
MAINNET = 1,
|
|
8
8
|
ROPSTEN = 3,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.
|
|
1
|
+
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.ts';
|
|
2
2
|
export declare class EthersUniswap3PoolSlot0Wrapper {
|
|
3
3
|
protected values: EthersUniswapV3Slot0Fields;
|
|
4
4
|
constructor(values: EthersUniswapV3Slot0Fields);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.
|
|
1
|
+
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.ts';
|
|
2
2
|
export declare class EthersUniswap3PoolSlot0Wrapper {
|
|
3
3
|
protected values: EthersUniswapV3Slot0Fields;
|
|
4
4
|
constructor(values: EthersUniswapV3Slot0Fields);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.
|
|
1
|
+
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields.ts';
|
|
2
2
|
export declare class EthersUniswap3PoolSlot0Wrapper {
|
|
3
3
|
protected values: EthersUniswapV3Slot0Fields;
|
|
4
4
|
constructor(values: EthersUniswapV3Slot0Fields);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Provider } from 'ethers';
|
|
2
|
-
import { EthersUniSwap3Pair } from './UniSwap3Pair.
|
|
2
|
+
import { EthersUniSwap3Pair } from './UniSwap3Pair.ts';
|
|
3
3
|
export declare const createUniswapPoolContracts: (provider: Provider, contracts: string[]) => EthersUniSwap3Pair[];
|
|
4
4
|
//# sourceMappingURL=createUniswapPoolContracts.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Provider } from 'ethers';
|
|
2
|
-
import { EthersUniSwap3Pair } from './UniSwap3Pair.
|
|
2
|
+
import { EthersUniSwap3Pair } from './UniSwap3Pair.ts';
|
|
3
3
|
export declare const createUniswapPoolContracts: (provider: Provider, contracts: string[]) => EthersUniSwap3Pair[];
|
|
4
4
|
//# sourceMappingURL=createUniswapPoolContracts.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Provider } from 'ethers';
|
|
2
|
-
import { EthersUniSwap3Pair } from './UniSwap3Pair.
|
|
2
|
+
import { EthersUniSwap3Pair } from './UniSwap3Pair.ts';
|
|
3
3
|
export declare const createUniswapPoolContracts: (provider: Provider, contracts: string[]) => EthersUniSwap3Pair[];
|
|
4
4
|
//# sourceMappingURL=createUniswapPoolContracts.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './createUniswapPoolContracts.
|
|
2
|
-
export * from './UniSwap3Pair.
|
|
3
|
-
export * from './Uniswap3PoolSlot0Wrapper.
|
|
4
|
-
export * from './UniswapV3Slot0Fields.
|
|
1
|
+
export * from './createUniswapPoolContracts.ts';
|
|
2
|
+
export * from './UniSwap3Pair.ts';
|
|
3
|
+
export * from './Uniswap3PoolSlot0Wrapper.ts';
|
|
4
|
+
export * from './UniswapV3Slot0Fields.ts';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './createUniswapPoolContracts.
|
|
2
|
-
export * from './UniSwap3Pair.
|
|
3
|
-
export * from './Uniswap3PoolSlot0Wrapper.
|
|
4
|
-
export * from './UniswapV3Slot0Fields.
|
|
1
|
+
export * from './createUniswapPoolContracts.ts';
|
|
2
|
+
export * from './UniSwap3Pair.ts';
|
|
3
|
+
export * from './Uniswap3PoolSlot0Wrapper.ts';
|
|
4
|
+
export * from './UniswapV3Slot0Fields.ts';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './createUniswapPoolContracts.
|
|
2
|
-
export * from './UniSwap3Pair.
|
|
3
|
-
export * from './Uniswap3PoolSlot0Wrapper.
|
|
4
|
-
export * from './UniswapV3Slot0Fields.
|
|
1
|
+
export * from './createUniswapPoolContracts.ts';
|
|
2
|
+
export * from './UniSwap3Pair.ts';
|
|
3
|
+
export * from './Uniswap3PoolSlot0Wrapper.ts';
|
|
4
|
+
export * from './UniswapV3Slot0Fields.ts';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './Ethers/index.
|
|
2
|
-
export * from './pricesFromUniswap3.
|
|
3
|
-
export * from './UniswapPoolContracts.
|
|
1
|
+
export * from './Ethers/index.ts';
|
|
2
|
+
export * from './pricesFromUniswap3.ts';
|
|
3
|
+
export * from './UniswapPoolContracts.ts';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './Ethers/index.
|
|
2
|
-
export * from './pricesFromUniswap3.
|
|
3
|
-
export * from './UniswapPoolContracts.
|
|
1
|
+
export * from './Ethers/index.ts';
|
|
2
|
+
export * from './pricesFromUniswap3.ts';
|
|
3
|
+
export * from './UniswapPoolContracts.ts';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './Ethers/index.
|
|
2
|
-
export * from './pricesFromUniswap3.
|
|
3
|
-
export * from './UniswapPoolContracts.
|
|
1
|
+
export * from './Ethers/index.ts';
|
|
2
|
+
export * from './pricesFromUniswap3.ts';
|
|
3
|
+
export * from './UniswapPoolContracts.ts';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { UniswapCryptoPair } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
2
|
-
import { EthersUniSwap3Pair } from './Ethers/index.
|
|
2
|
+
import { EthersUniSwap3Pair } from './Ethers/index.ts';
|
|
3
3
|
export declare const pricesFromUniswap3: (pools: EthersUniSwap3Pair[]) => Promise<UniswapCryptoPair[]>;
|
|
4
4
|
//# sourceMappingURL=pricesFromUniswap3.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { UniswapCryptoPair } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
2
|
-
import { EthersUniSwap3Pair } from './Ethers/index.
|
|
2
|
+
import { EthersUniSwap3Pair } from './Ethers/index.ts';
|
|
3
3
|
export declare const pricesFromUniswap3: (pools: EthersUniSwap3Pair[]) => Promise<UniswapCryptoPair[]>;
|
|
4
4
|
//# sourceMappingURL=pricesFromUniswap3.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { UniswapCryptoPair } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
2
|
-
import { EthersUniSwap3Pair } from './Ethers/index.
|
|
2
|
+
import { EthersUniSwap3Pair } from './Ethers/index.ts';
|
|
3
3
|
export declare const pricesFromUniswap3: (pools: EthersUniSwap3Pair[]) => Promise<UniswapCryptoPair[]>;
|
|
4
4
|
//# sourceMappingURL=pricesFromUniswap3.d.ts.map
|
package/dist/node/Plugin.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UniswapCryptoMarketWitness } from './Witness.
|
|
1
|
+
import { UniswapCryptoMarketWitness } from './Witness.ts';
|
|
2
2
|
export declare const UniswapCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UniswapCryptoMarketWitness<import("@xylabs/object").BaseParamsFields & {
|
|
3
3
|
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
package/dist/node/Plugin.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UniswapCryptoMarketWitness } from './Witness.
|
|
1
|
+
import { UniswapCryptoMarketWitness } from './Witness.ts';
|
|
2
2
|
export declare const UniswapCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UniswapCryptoMarketWitness<import("@xylabs/object").BaseParamsFields & {
|
|
3
3
|
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
package/dist/node/Plugin.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UniswapCryptoMarketWitness } from './Witness.
|
|
1
|
+
import { UniswapCryptoMarketWitness } from './Witness.ts';
|
|
2
2
|
export declare const UniswapCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UniswapCryptoMarketWitness<import("@xylabs/object").BaseParamsFields & {
|
|
3
3
|
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
package/dist/node/Witness.d.cts
CHANGED
|
@@ -3,8 +3,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
3
3
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
4
4
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
5
|
import { Provider } from 'ethers';
|
|
6
|
-
import { UniswapCryptoMarketWitnessConfig } from './Config.
|
|
7
|
-
import { EthersUniSwap3Pair } from './lib/index.
|
|
6
|
+
import { UniswapCryptoMarketWitnessConfig } from './Config.ts';
|
|
7
|
+
import { EthersUniSwap3Pair } from './lib/index.ts';
|
|
8
8
|
export type UniswapCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<UniswapCryptoMarketWitnessConfig>, {
|
|
9
9
|
provider?: Provider;
|
|
10
10
|
}>;
|
package/dist/node/Witness.d.mts
CHANGED
|
@@ -3,8 +3,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
3
3
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
4
4
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
5
|
import { Provider } from 'ethers';
|
|
6
|
-
import { UniswapCryptoMarketWitnessConfig } from './Config.
|
|
7
|
-
import { EthersUniSwap3Pair } from './lib/index.
|
|
6
|
+
import { UniswapCryptoMarketWitnessConfig } from './Config.ts';
|
|
7
|
+
import { EthersUniSwap3Pair } from './lib/index.ts';
|
|
8
8
|
export type UniswapCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<UniswapCryptoMarketWitnessConfig>, {
|
|
9
9
|
provider?: Provider;
|
|
10
10
|
}>;
|
package/dist/node/Witness.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
|
3
3
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
4
4
|
import { WitnessParams } from '@xyo-network/witness-model';
|
|
5
5
|
import { Provider } from 'ethers';
|
|
6
|
-
import { UniswapCryptoMarketWitnessConfig } from './Config.
|
|
7
|
-
import { EthersUniSwap3Pair } from './lib/index.
|
|
6
|
+
import { UniswapCryptoMarketWitnessConfig } from './Config.ts';
|
|
7
|
+
import { EthersUniSwap3Pair } from './lib/index.ts';
|
|
8
8
|
export type UniswapCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<UniswapCryptoMarketWitnessConfig>, {
|
|
9
9
|
provider?: Provider;
|
|
10
10
|
}>;
|