@xyo-network/uniswap-crypto-market-plugin 2.73.3 → 2.73.4
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/docs.json +94 -94
- package/dist/index.d.mts +135 -0
- package/dist/index.d.ts +135 -0
- package/dist/index.js +282 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +252 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +38 -25
- package/tsup.config.ts +16 -0
- package/dist/cjs/Config.js +0 -3
- package/dist/cjs/Config.js.map +0 -1
- package/dist/cjs/Plugin.js +0 -16
- package/dist/cjs/Plugin.js.map +0 -1
- package/dist/cjs/Witness.js +0 -40
- package/dist/cjs/Witness.js.map +0 -1
- package/dist/cjs/index.js +0 -12
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lib/Ethers/UniSwap3Pair.js +0 -103
- package/dist/cjs/lib/Ethers/UniSwap3Pair.js.map +0 -1
- package/dist/cjs/lib/Ethers/Uniswap3PoolSlot0Wrapper.js +0 -31
- package/dist/cjs/lib/Ethers/Uniswap3PoolSlot0Wrapper.js.map +0 -1
- package/dist/cjs/lib/Ethers/UniswapV3Slot0Fields.js +0 -3
- package/dist/cjs/lib/Ethers/UniswapV3Slot0Fields.js.map +0 -1
- package/dist/cjs/lib/Ethers/createUniswapPoolContracts.js +0 -12
- package/dist/cjs/lib/Ethers/createUniswapPoolContracts.js.map +0 -1
- package/dist/cjs/lib/Ethers/index.js +0 -8
- package/dist/cjs/lib/Ethers/index.js.map +0 -1
- package/dist/cjs/lib/UniswapPoolContracts.js +0 -19
- package/dist/cjs/lib/UniswapPoolContracts.js.map +0 -1
- package/dist/cjs/lib/UniswapV3Slot0Fields.js +0 -3
- package/dist/cjs/lib/UniswapV3Slot0Fields.js.map +0 -1
- package/dist/cjs/lib/index.js +0 -7
- package/dist/cjs/lib/index.js.map +0 -1
- package/dist/cjs/lib/logErrors.js +0 -25
- package/dist/cjs/lib/logErrors.js.map +0 -1
- package/dist/cjs/lib/pricesFromUniswap3.js +0 -17
- package/dist/cjs/lib/pricesFromUniswap3.js.map +0 -1
- package/dist/esm/Config.js +0 -2
- package/dist/esm/Config.js.map +0 -1
- package/dist/esm/Plugin.js +0 -11
- package/dist/esm/Plugin.js.map +0 -1
- package/dist/esm/Witness.js +0 -28
- package/dist/esm/Witness.js.map +0 -1
- package/dist/esm/index.js +0 -8
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/Ethers/UniSwap3Pair.js +0 -91
- package/dist/esm/lib/Ethers/UniSwap3Pair.js.map +0 -1
- package/dist/esm/lib/Ethers/Uniswap3PoolSlot0Wrapper.js +0 -28
- package/dist/esm/lib/Ethers/Uniswap3PoolSlot0Wrapper.js.map +0 -1
- package/dist/esm/lib/Ethers/UniswapV3Slot0Fields.js +0 -2
- package/dist/esm/lib/Ethers/UniswapV3Slot0Fields.js.map +0 -1
- package/dist/esm/lib/Ethers/createUniswapPoolContracts.js +0 -8
- package/dist/esm/lib/Ethers/createUniswapPoolContracts.js.map +0 -1
- package/dist/esm/lib/Ethers/index.js +0 -5
- package/dist/esm/lib/Ethers/index.js.map +0 -1
- package/dist/esm/lib/UniswapPoolContracts.js +0 -16
- package/dist/esm/lib/UniswapPoolContracts.js.map +0 -1
- package/dist/esm/lib/UniswapV3Slot0Fields.js +0 -2
- package/dist/esm/lib/UniswapV3Slot0Fields.js.map +0 -1
- package/dist/esm/lib/index.js +0 -4
- package/dist/esm/lib/index.js.map +0 -1
- package/dist/esm/lib/logErrors.js +0 -19
- package/dist/esm/lib/logErrors.js.map +0 -1
- package/dist/esm/lib/pricesFromUniswap3.js +0 -12
- package/dist/esm/lib/pricesFromUniswap3.js.map +0 -1
- package/dist/types/Config.d.ts +0 -7
- package/dist/types/Config.d.ts.map +0 -1
- package/dist/types/Plugin.d.ts +0 -57
- package/dist/types/Plugin.d.ts.map +0 -1
- package/dist/types/Witness.d.ts +0 -17
- package/dist/types/Witness.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/lib/Ethers/UniSwap3Pair.d.ts +0 -29
- package/dist/types/lib/Ethers/UniSwap3Pair.d.ts.map +0 -1
- package/dist/types/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts +0 -13
- package/dist/types/lib/Ethers/Uniswap3PoolSlot0Wrapper.d.ts.map +0 -1
- package/dist/types/lib/Ethers/UniswapV3Slot0Fields.d.ts +0 -3
- package/dist/types/lib/Ethers/UniswapV3Slot0Fields.d.ts.map +0 -1
- package/dist/types/lib/Ethers/createUniswapPoolContracts.d.ts +0 -4
- package/dist/types/lib/Ethers/createUniswapPoolContracts.d.ts.map +0 -1
- package/dist/types/lib/Ethers/index.d.ts +0 -5
- package/dist/types/lib/Ethers/index.d.ts.map +0 -1
- package/dist/types/lib/UniswapPoolContracts.d.ts +0 -2
- package/dist/types/lib/UniswapPoolContracts.d.ts.map +0 -1
- package/dist/types/lib/UniswapV3Slot0Fields.d.ts +0 -3
- package/dist/types/lib/UniswapV3Slot0Fields.d.ts.map +0 -1
- package/dist/types/lib/index.d.ts +0 -4
- package/dist/types/lib/index.d.ts.map +0 -1
- package/dist/types/lib/logErrors.d.ts +0 -3
- package/dist/types/lib/logErrors.d.ts.map +0 -1
- package/dist/types/lib/pricesFromUniswap3.d.ts +0 -4
- package/dist/types/lib/pricesFromUniswap3.d.ts.map +0 -1
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createUniswapPoolContracts = void 0;
|
|
4
|
-
const logErrors_1 = require("../logErrors");
|
|
5
|
-
const UniSwap3Pair_1 = require("./UniSwap3Pair");
|
|
6
|
-
const createUniswapPoolContracts = (provider, contracts) => {
|
|
7
|
-
return (0, logErrors_1.logErrors)(() => {
|
|
8
|
-
return contracts.map((contract) => new UniSwap3Pair_1.EthersUniSwap3Pair(contract, provider));
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
exports.createUniswapPoolContracts = createUniswapPoolContracts;
|
|
12
|
-
//# sourceMappingURL=createUniswapPoolContracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createUniswapPoolContracts.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/createUniswapPoolContracts.ts"],"names":[],"mappings":";;;AAEA,4CAAwC;AACxC,iDAAmD;AAE5C,MAAM,0BAA0B,GAAG,CAAC,QAAkB,EAAE,SAAmB,EAAE,EAAE;IACpF,OAAO,IAAA,qBAAS,EAAC,GAAG,EAAE;QACpB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,iCAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAJY,QAAA,0BAA0B,8BAItC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./createUniswapPoolContracts"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./UniSwap3Pair"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./Uniswap3PoolSlot0Wrapper"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./UniswapV3Slot0Fields"), exports);
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/index.ts"],"names":[],"mappings":";;;AAAA,uEAA4C;AAC5C,yDAA8B;AAC9B,qEAA0C;AAC1C,iEAAsC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UniswapPoolContracts = void 0;
|
|
4
|
-
exports.UniswapPoolContracts = [
|
|
5
|
-
/*xyo/weth*/ '0xE331DE28cd81B768C19A366b0e4e4675c45eC2dA',
|
|
6
|
-
/*xyo/usdt*/ '0xd0AF1981f52146a6939385451dAeA0726e13a484',
|
|
7
|
-
/*xyo/dai*/ '0x9D7e5647CE3c7C2d835F2F5e82C8fDb36B0BB0fe',
|
|
8
|
-
/*wbtc/xyo*/ '0x0cF7494c9dE661467403aBeE8454b3BBf0179a84',
|
|
9
|
-
/*link/xyo*/ '0x4693456599a8a4975862A0E720C5de7E1D09A1e4',
|
|
10
|
-
/*wbtc/weth*/ '0xCBCdF9626bC03E24f779434178A73a0B4bad62eD',
|
|
11
|
-
/*dai/usdc*/ '0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168',
|
|
12
|
-
/*usdc/weth*/ '0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8',
|
|
13
|
-
/*usdc/weth*/ '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640',
|
|
14
|
-
/*dai/usdc*/ '0x6c6Bc977E13Df9b0de53b251522280BB72383700',
|
|
15
|
-
/*frax/usdc*/ '0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52',
|
|
16
|
-
/*wbtc/usdc*/ '0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35',
|
|
17
|
-
/*usdc/usdt*/ '0x3416cF6C708Da44DB2624D63ea0AAef7113527C6',
|
|
18
|
-
];
|
|
19
|
-
//# sourceMappingURL=UniswapPoolContracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniswapPoolContracts.js","sourceRoot":"","sources":["../../../src/lib/UniswapPoolContracts.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG;IAClC,YAAY,CAAC,4CAA4C;IACzD,YAAY,CAAC,4CAA4C;IACzD,WAAW,CAAC,4CAA4C;IACxD,YAAY,CAAC,4CAA4C;IACzD,YAAY,CAAC,4CAA4C;IACzD,aAAa,CAAC,4CAA4C;IAC1D,YAAY,CAAC,4CAA4C;IACzD,aAAa,CAAC,4CAA4C;IAC1D,aAAa,CAAC,4CAA4C;IAC1D,YAAY,CAAC,4CAA4C;IACzD,aAAa,CAAC,4CAA4C;IAC1D,aAAa,CAAC,4CAA4C;IAC1D,aAAa,CAAC,4CAA4C;CAC3D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniswapV3Slot0Fields.js","sourceRoot":"","sources":["../../../src/lib/UniswapV3Slot0Fields.ts"],"names":[],"mappings":""}
|
package/dist/cjs/lib/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./Ethers"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./pricesFromUniswap3"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./UniswapPoolContracts"), exports);
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwB;AACxB,+DAAoC;AACpC,iEAAsC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logErrorsAsync = exports.logErrors = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const logErrors = (func) => {
|
|
6
|
-
try {
|
|
7
|
-
return func();
|
|
8
|
-
}
|
|
9
|
-
catch (ex) {
|
|
10
|
-
console.error(ex);
|
|
11
|
-
throw ex;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
exports.logErrors = logErrors;
|
|
15
|
-
const logErrorsAsync = (func) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
try {
|
|
17
|
-
return yield func();
|
|
18
|
-
}
|
|
19
|
-
catch (ex) {
|
|
20
|
-
console.error(ex);
|
|
21
|
-
throw ex;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
exports.logErrorsAsync = logErrorsAsync;
|
|
25
|
-
//# sourceMappingURL=logErrors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logErrors.js","sourceRoot":"","sources":["../../../src/lib/logErrors.ts"],"names":[],"mappings":";;;;AAAO,MAAM,SAAS,GAAG,CAAI,IAAa,EAAE,EAAE;IAC5C,IAAI;QACF,OAAO,IAAI,EAAE,CAAA;KACd;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA;AAPY,QAAA,SAAS,aAOrB;AAEM,MAAM,cAAc,GAAG,CAAU,IAAsB,EAAE,EAAE;IAChE,IAAI;QACF,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA,CAAA;AAPY,QAAA,cAAc,kBAO1B"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pricesFromUniswap3 = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const promise_1 = require("@xylabs/promise");
|
|
6
|
-
const logErrors_1 = require("./logErrors");
|
|
7
|
-
const pricesFromUniswap3 = (pools) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
-
return yield (0, logErrors_1.logErrorsAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
9
|
-
const promiseResults = yield Promise.allSettled(pools.map((pool) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
|
-
const result = yield pool.price();
|
|
11
|
-
return result;
|
|
12
|
-
})));
|
|
13
|
-
return promiseResults.filter(promise_1.fulfilled).map((result) => result.value);
|
|
14
|
-
}));
|
|
15
|
-
});
|
|
16
|
-
exports.pricesFromUniswap3 = pricesFromUniswap3;
|
|
17
|
-
//# sourceMappingURL=pricesFromUniswap3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pricesFromUniswap3.js","sourceRoot":"","sources":["../../../src/lib/pricesFromUniswap3.ts"],"names":[],"mappings":";;;;AAAA,6CAA2C;AAI3C,2CAA4C;AAErC,MAAM,kBAAkB,GAAG,CAAO,KAA2B,EAAgC,EAAE;IACpG,OAAO,MAAM,IAAA,0BAAc,EAAC,GAAS,EAAE;QACrC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAC7C,KAAK,CAAC,GAAG,CAAC,CAAO,IAAI,EAA8B,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YACjC,OAAO,MAAM,CAAA;QACf,CAAC,CAAA,CAAC,CACH,CAAA;QACD,OAAO,cAAc,CAAC,MAAM,CAAC,mBAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAVY,QAAA,kBAAkB,sBAU9B"}
|
package/dist/esm/Config.js
DELETED
package/dist/esm/Config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":""}
|
package/dist/esm/Plugin.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { PayloadSetSchema } from '@xyo-network/payload-model';
|
|
2
|
-
import { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
|
|
3
|
-
import { UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
4
|
-
import { UniswapCryptoMarketWitness } from './Witness';
|
|
5
|
-
export const UniswapCryptoMarketPlugin = () => createPayloadSetWitnessPlugin({ required: { [UniswapCryptoMarketSchema]: 1 }, schema: PayloadSetSchema }, {
|
|
6
|
-
witness: async (params) => {
|
|
7
|
-
const result = await UniswapCryptoMarketWitness.create(params);
|
|
8
|
-
return result;
|
|
9
|
-
},
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=Plugin.js.map
|
package/dist/esm/Plugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAE7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAC5C,6BAA6B,CAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC1E;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
|
package/dist/esm/Witness.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { UniswapCryptoMarketSchema, UniswapCryptoMarketWitnessConfigSchema, } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
3
|
-
import { AbstractWitness } from '@xyo-network/witness';
|
|
4
|
-
import { createUniswapPoolContracts, pricesFromUniswap3, UniswapPoolContracts } from './lib';
|
|
5
|
-
export class UniswapCryptoMarketWitness extends AbstractWitness {
|
|
6
|
-
static configSchemas = [UniswapCryptoMarketWitnessConfigSchema];
|
|
7
|
-
pairs;
|
|
8
|
-
get provider() {
|
|
9
|
-
return this.params.provider;
|
|
10
|
-
}
|
|
11
|
-
async observeHandler() {
|
|
12
|
-
await this.started('throw');
|
|
13
|
-
const pairs = await pricesFromUniswap3(assertEx(this.pairs));
|
|
14
|
-
const timestamp = Date.now();
|
|
15
|
-
const payload = {
|
|
16
|
-
pairs,
|
|
17
|
-
schema: UniswapCryptoMarketSchema,
|
|
18
|
-
timestamp,
|
|
19
|
-
};
|
|
20
|
-
return [payload];
|
|
21
|
-
}
|
|
22
|
-
async startHandler() {
|
|
23
|
-
await super.startHandler();
|
|
24
|
-
this.pairs = createUniswapPoolContracts(assertEx(this.provider, 'Provider Required'), this.config?.pools ?? UniswapPoolContracts);
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=Witness.js.map
|
package/dist/esm/Witness.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAEL,yBAAyB,EACzB,sCAAsC,GACvC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAiB,MAAM,sBAAsB,CAAA;AAGrE,OAAO,EAAE,0BAA0B,EAAsB,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAShH,MAAM,OAAO,0BAEX,SAAQ,eAAwB;IAChC,MAAM,CAAU,aAAa,GAAG,CAAC,sCAAsC,CAAC,CAAA;IAE9D,KAAK,CAAuB;IACtC,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAEkB,KAAK,CAAC,cAAc;QACrC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAE5B,MAAM,OAAO,GAA+B;YAC1C,KAAK;YACL,MAAM,EAAE,yBAAyB;YACjC,SAAS;SACV,CAAA;QAED,OAAO,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAEkB,KAAK,CAAC,YAAY;QACnC,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,oBAAoB,CAAC,CAAA;QACjI,OAAO,IAAI,CAAA;IACb,CAAC"}
|
package/dist/esm/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { UniswapCryptoMarketPlugin } from './Plugin';
|
|
2
|
-
export * from './Config';
|
|
3
|
-
export * from './lib';
|
|
4
|
-
export * from './Witness';
|
|
5
|
-
export { UniswapCryptoMarketPlugin };
|
|
6
|
-
// eslint-disable-next-line import/no-default-export
|
|
7
|
-
export default UniswapCryptoMarketPlugin;
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,yBAAyB,EAAE,CAAA;AAEpC,oDAAoD;AACpD,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { ChainId } from '@uniswap/sdk';
|
|
2
|
-
import { Token } from '@uniswap/sdk-core';
|
|
3
|
-
import { Pool } from '@uniswap/v3-sdk';
|
|
4
|
-
import { assertEx } from '@xylabs/assert';
|
|
5
|
-
import { delay } from '@xylabs/delay';
|
|
6
|
-
import { IERC20Metadata__factory } from '@xyo-network/typechain';
|
|
7
|
-
import { IUniswapV3Pool__factory } from '@xyo-network/uniswap-typechain';
|
|
8
|
-
import { logErrors, logErrorsAsync } from '../logErrors';
|
|
9
|
-
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper';
|
|
10
|
-
//null is used as 'in-progress'
|
|
11
|
-
const waitNotNull = async (closure) => {
|
|
12
|
-
while (closure() === null) {
|
|
13
|
-
await delay(10);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
export class EthersUniSwap3Pair {
|
|
17
|
-
address;
|
|
18
|
-
provider;
|
|
19
|
-
_pool;
|
|
20
|
-
_poolContract;
|
|
21
|
-
_slot0;
|
|
22
|
-
_tokenContracts = [undefined, undefined];
|
|
23
|
-
_tokens = [undefined, undefined];
|
|
24
|
-
constructor(address, provider) {
|
|
25
|
-
this.address = address;
|
|
26
|
-
this.provider = provider;
|
|
27
|
-
}
|
|
28
|
-
async pool() {
|
|
29
|
-
return await logErrorsAsync(async () => {
|
|
30
|
-
await waitNotNull(() => this._pool);
|
|
31
|
-
this._pool = this._pool || null;
|
|
32
|
-
const slot0 = await this.slot0();
|
|
33
|
-
this._pool =
|
|
34
|
-
this._pool ??
|
|
35
|
-
new Pool(await this.token(0), await this.token(1), slot0.feeProtocol, slot0.sqrtPriceX96.toHexString(), (await this.poolContract().liquidity()).toHexString(), slot0.tick);
|
|
36
|
-
return assertEx(this._pool);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
poolContract() {
|
|
40
|
-
return logErrors(() => {
|
|
41
|
-
this._poolContract = this._poolContract ?? IUniswapV3Pool__factory.connect(this.address, this.provider);
|
|
42
|
-
return assertEx(this._poolContract);
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
async price() {
|
|
46
|
-
return await logErrorsAsync(async () => {
|
|
47
|
-
const tokenIndexes = [0, 1];
|
|
48
|
-
const pool = await this.pool();
|
|
49
|
-
const tokens = await Promise.all(tokenIndexes.map((value) => this.token(value)));
|
|
50
|
-
const tokenContracts = await Promise.all(tokenIndexes.map((value) => this.tokenContract(value)));
|
|
51
|
-
const tokenPrices = tokens.map((token) => parseFloat(pool.priceOf(token).toSignificant()));
|
|
52
|
-
const tokenSymbols = tokens.map((token, index) => assertEx(token.symbol, `Token[${index}] Missing Symbols`).toLowerCase());
|
|
53
|
-
const result = {
|
|
54
|
-
tokens: tokenIndexes.map((value) => {
|
|
55
|
-
return { address: tokenContracts[value].address, symbol: tokenSymbols[value], value: tokenPrices[value] };
|
|
56
|
-
}),
|
|
57
|
-
};
|
|
58
|
-
return result;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
async slot0() {
|
|
62
|
-
return await logErrorsAsync(async () => {
|
|
63
|
-
await waitNotNull(() => this._slot0);
|
|
64
|
-
this._slot0 = this._slot0 || null;
|
|
65
|
-
this._slot0 = this._slot0 ?? new EthersUniswap3PoolSlot0Wrapper(await this.poolContract().slot0());
|
|
66
|
-
return assertEx(this._slot0);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
async token(index) {
|
|
70
|
-
return await logErrorsAsync(async () => {
|
|
71
|
-
await waitNotNull(() => this._tokens[index]);
|
|
72
|
-
this._tokens[index] = this._tokens[index] || null;
|
|
73
|
-
const tokenContract = await this.tokenContract(index);
|
|
74
|
-
this._tokens[index] =
|
|
75
|
-
this._tokens[index] ??
|
|
76
|
-
new Token(ChainId.MAINNET, tokenContract.address, await tokenContract.decimals(), await tokenContract.symbol(), await tokenContract.name());
|
|
77
|
-
return assertEx(this._tokens[index]);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
async tokenContract(index) {
|
|
81
|
-
return await logErrorsAsync(async () => {
|
|
82
|
-
await waitNotNull(() => this._tokenContracts[index]);
|
|
83
|
-
this._tokenContracts[index] = this._tokenContracts[index] || null;
|
|
84
|
-
this._tokenContracts[index] =
|
|
85
|
-
this._tokenContracts[index] ??
|
|
86
|
-
IERC20Metadata__factory.connect(await (index === 0 ? this.poolContract().token0() : this.poolContract().token1()), this.provider);
|
|
87
|
-
return assertEx(this._tokenContracts[index]);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=UniSwap3Pair.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniSwap3Pair.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/UniSwap3Pair.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export class EthersUniswap3PoolSlot0Wrapper {
|
|
2
|
-
values;
|
|
3
|
-
constructor(values) {
|
|
4
|
-
this.values = values;
|
|
5
|
-
}
|
|
6
|
-
get feeProtocol() {
|
|
7
|
-
return this.values[5];
|
|
8
|
-
}
|
|
9
|
-
get observationCardinality() {
|
|
10
|
-
return this.values[3];
|
|
11
|
-
}
|
|
12
|
-
get observationCardinalityNext() {
|
|
13
|
-
return this.values[4];
|
|
14
|
-
}
|
|
15
|
-
get observationIndex() {
|
|
16
|
-
return this.values[2];
|
|
17
|
-
}
|
|
18
|
-
get sqrtPriceX96() {
|
|
19
|
-
return this.values[0];
|
|
20
|
-
}
|
|
21
|
-
get tick() {
|
|
22
|
-
return this.values[1];
|
|
23
|
-
}
|
|
24
|
-
get unlocked() {
|
|
25
|
-
return this.values[6];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=Uniswap3PoolSlot0Wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Uniswap3PoolSlot0Wrapper.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,8BAA8B;IAC/B,MAAM,CAA4B;IAC5C,YAAY,MAAkC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniswapV3Slot0Fields.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/UniswapV3Slot0Fields.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { logErrors } from '../logErrors';
|
|
2
|
-
import { EthersUniSwap3Pair } from './UniSwap3Pair';
|
|
3
|
-
export const createUniswapPoolContracts = (provider, contracts) => {
|
|
4
|
-
return logErrors(() => {
|
|
5
|
-
return contracts.map((contract) => new EthersUniSwap3Pair(contract, provider));
|
|
6
|
-
});
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=createUniswapPoolContracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createUniswapPoolContracts.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/createUniswapPoolContracts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAkB,EAAE,SAAmB,EAAE,EAAE;IACpF,OAAO,SAAS,CAAC,GAAG,EAAE;QACpB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAChF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/Ethers/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export const UniswapPoolContracts = [
|
|
2
|
-
/*xyo/weth*/ '0xE331DE28cd81B768C19A366b0e4e4675c45eC2dA',
|
|
3
|
-
/*xyo/usdt*/ '0xd0AF1981f52146a6939385451dAeA0726e13a484',
|
|
4
|
-
/*xyo/dai*/ '0x9D7e5647CE3c7C2d835F2F5e82C8fDb36B0BB0fe',
|
|
5
|
-
/*wbtc/xyo*/ '0x0cF7494c9dE661467403aBeE8454b3BBf0179a84',
|
|
6
|
-
/*link/xyo*/ '0x4693456599a8a4975862A0E720C5de7E1D09A1e4',
|
|
7
|
-
/*wbtc/weth*/ '0xCBCdF9626bC03E24f779434178A73a0B4bad62eD',
|
|
8
|
-
/*dai/usdc*/ '0x5777d92f208679DB4b9778590Fa3CAB3aC9e2168',
|
|
9
|
-
/*usdc/weth*/ '0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8',
|
|
10
|
-
/*usdc/weth*/ '0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640',
|
|
11
|
-
/*dai/usdc*/ '0x6c6Bc977E13Df9b0de53b251522280BB72383700',
|
|
12
|
-
/*frax/usdc*/ '0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52',
|
|
13
|
-
/*wbtc/usdc*/ '0x99ac8cA7087fA4A2A1FB6357269965A2014ABc35',
|
|
14
|
-
/*usdc/usdt*/ '0x3416cF6C708Da44DB2624D63ea0AAef7113527C6',
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=UniswapPoolContracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniswapPoolContracts.js","sourceRoot":"","sources":["../../../src/lib/UniswapPoolContracts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,YAAY,CAAC,4CAA4C;IACzD,YAAY,CAAC,4CAA4C;IACzD,WAAW,CAAC,4CAA4C;IACxD,YAAY,CAAC,4CAA4C;IACzD,YAAY,CAAC,4CAA4C;IACzD,aAAa,CAAC,4CAA4C;IAC1D,YAAY,CAAC,4CAA4C;IACzD,aAAa,CAAC,4CAA4C;IAC1D,aAAa,CAAC,4CAA4C;IAC1D,YAAY,CAAC,4CAA4C;IACzD,aAAa,CAAC,4CAA4C;IAC1D,aAAa,CAAC,4CAA4C;IAC1D,aAAa,CAAC,4CAA4C;CAC3D,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniswapV3Slot0Fields.js","sourceRoot":"","sources":["../../../src/lib/UniswapV3Slot0Fields.ts"],"names":[],"mappings":""}
|
package/dist/esm/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export const logErrors = (func) => {
|
|
2
|
-
try {
|
|
3
|
-
return func();
|
|
4
|
-
}
|
|
5
|
-
catch (ex) {
|
|
6
|
-
console.error(ex);
|
|
7
|
-
throw ex;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
|
-
export const logErrorsAsync = async (func) => {
|
|
11
|
-
try {
|
|
12
|
-
return await func();
|
|
13
|
-
}
|
|
14
|
-
catch (ex) {
|
|
15
|
-
console.error(ex);
|
|
16
|
-
throw ex;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=logErrors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logErrors.js","sourceRoot":"","sources":["../../../src/lib/logErrors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,IAAa,EAAE,EAAE;IAC5C,IAAI;QACF,OAAO,IAAI,EAAE,CAAA;KACd;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAK,IAAsB,EAAE,EAAE;IAChE,IAAI;QACF,OAAO,MAAM,IAAI,EAAE,CAAA;KACpB;IAAC,OAAO,EAAE,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,MAAM,EAAE,CAAA;KACT;AACH,CAAC,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { fulfilled } from '@xylabs/promise';
|
|
2
|
-
import { logErrorsAsync } from './logErrors';
|
|
3
|
-
export const pricesFromUniswap3 = async (pools) => {
|
|
4
|
-
return await logErrorsAsync(async () => {
|
|
5
|
-
const promiseResults = await Promise.allSettled(pools.map(async (pool) => {
|
|
6
|
-
const result = await pool.price();
|
|
7
|
-
return result;
|
|
8
|
-
}));
|
|
9
|
-
return promiseResults.filter(fulfilled).map((result) => result.value);
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=pricesFromUniswap3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pricesFromUniswap3.js","sourceRoot":"","sources":["../../../src/lib/pricesFromUniswap3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAI3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAA2B,EAAgC,EAAE;IACpG,OAAO,MAAM,cAAc,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAC7C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAA8B,EAAE;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YACjC,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CACH,CAAA;QACD,OAAO,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/dist/types/Config.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { UniswapCryptoMarketWitnessConfigSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
2
|
-
import { WitnessConfig } from '@xyo-network/witness';
|
|
3
|
-
export type UniswapCryptoMarketWitnessConfig = WitnessConfig<{
|
|
4
|
-
pools?: string[];
|
|
5
|
-
schema: UniswapCryptoMarketWitnessConfigSchema;
|
|
6
|
-
}>;
|
|
7
|
-
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,MAAM,mDAAmD,CAAA;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,MAAM,MAAM,gCAAgC,GAAG,aAAa,CAAC;IAC3D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,EAAE,sCAAsC,CAAA;CAC/C,CAAC,CAAA"}
|
package/dist/types/Plugin.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { UniswapCryptoMarketWitness } from './Witness';
|
|
2
|
-
export declare const UniswapCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<UniswapCryptoMarketWitness<import("@xyo-network/core").BaseParamsFields & {
|
|
3
|
-
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
4
|
-
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
5
|
-
accountDerivationPath?: string | undefined;
|
|
6
|
-
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
7
|
-
readonly name?: string | undefined;
|
|
8
|
-
readonly paging?: Record<string, {
|
|
9
|
-
size?: number | undefined;
|
|
10
|
-
}> | undefined;
|
|
11
|
-
readonly schema: string;
|
|
12
|
-
readonly security?: {
|
|
13
|
-
readonly allowAnonymous?: boolean | undefined;
|
|
14
|
-
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
15
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
16
|
-
} | undefined;
|
|
17
|
-
readonly sign?: boolean | undefined;
|
|
18
|
-
readonly storeQueries?: boolean | undefined;
|
|
19
|
-
readonly timestamp?: boolean | undefined;
|
|
20
|
-
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
21
|
-
accountDerivationPath?: string | undefined;
|
|
22
|
-
readonly archivist?: import("@xyo-network/module-model").ArchivistModuleConfig | undefined;
|
|
23
|
-
readonly name?: string | undefined;
|
|
24
|
-
readonly paging?: Record<string, {
|
|
25
|
-
size?: number | undefined;
|
|
26
|
-
}> | undefined;
|
|
27
|
-
readonly schema: "network.xyo.crypto.market.uniswap.witness.config";
|
|
28
|
-
readonly security?: {
|
|
29
|
-
readonly allowAnonymous?: boolean | undefined;
|
|
30
|
-
readonly allowed?: Record<string, (string | import("@xyo-network/module-model").CosigningAddressSet)[]> | undefined;
|
|
31
|
-
readonly disallowed?: Record<string, string[]> | undefined;
|
|
32
|
-
} | undefined;
|
|
33
|
-
readonly sign?: boolean | undefined;
|
|
34
|
-
readonly storeQueries?: boolean | undefined;
|
|
35
|
-
readonly timestamp?: boolean | undefined;
|
|
36
|
-
} & Omit<{
|
|
37
|
-
archivist?: string | undefined;
|
|
38
|
-
schema: "network.xyo.crypto.market.uniswap.witness.config";
|
|
39
|
-
targetSet?: (import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & import("@xyo-network/payload-model").PayloadSet & {
|
|
40
|
-
schema: "network.xyo.payload.set";
|
|
41
|
-
}) | undefined;
|
|
42
|
-
} & {
|
|
43
|
-
pools?: string[] | undefined;
|
|
44
|
-
schema: "network.xyo.crypto.market.uniswap.witness.config";
|
|
45
|
-
}, "schema"> & {
|
|
46
|
-
schema: "network.xyo.crypto.market.uniswap.witness.config";
|
|
47
|
-
}, "schema"> & {
|
|
48
|
-
schema: string;
|
|
49
|
-
}, "schema"> & {
|
|
50
|
-
schema: string;
|
|
51
|
-
};
|
|
52
|
-
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
53
|
-
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
54
|
-
} & {
|
|
55
|
-
provider?: import("@ethersproject/abstract-provider").Provider | undefined;
|
|
56
|
-
}>>;
|
|
57
|
-
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAA;AAEtD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASnC,CAAA"}
|
package/dist/types/Witness.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Provider } from '@ethersproject/providers';
|
|
2
|
-
import { AnyConfigSchema } from '@xyo-network/module-model';
|
|
3
|
-
import { Payload } from '@xyo-network/payload-model';
|
|
4
|
-
import { AbstractWitness, WitnessParams } from '@xyo-network/witness';
|
|
5
|
-
import { UniswapCryptoMarketWitnessConfig } from './Config';
|
|
6
|
-
import { EthersUniSwap3Pair } from './lib';
|
|
7
|
-
export type UniswapCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<UniswapCryptoMarketWitnessConfig>, {
|
|
8
|
-
provider?: Provider;
|
|
9
|
-
}>;
|
|
10
|
-
export declare class UniswapCryptoMarketWitness<TParams extends UniswapCryptoMarketWitnessParams = UniswapCryptoMarketWitnessParams> extends AbstractWitness<TParams> {
|
|
11
|
-
static configSchemas: "network.xyo.crypto.market.uniswap.witness.config"[];
|
|
12
|
-
protected pairs?: EthersUniSwap3Pair[];
|
|
13
|
-
protected get provider(): Provider | undefined;
|
|
14
|
-
protected observeHandler(): Promise<Payload[]>;
|
|
15
|
-
protected startHandler(): Promise<boolean>;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAMpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAC3D,OAAO,EAA8B,kBAAkB,EAA4C,MAAM,OAAO,CAAA;AAEhH,MAAM,MAAM,gCAAgC,GAAG,aAAa,CAC1D,eAAe,CAAC,gCAAgC,CAAC,EACjD;IACE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CACF,CAAA;AAED,qBAAa,0BAA0B,CACrC,OAAO,SAAS,gCAAgC,GAAG,gCAAgC,CACnF,SAAQ,eAAe,CAAC,OAAO,CAAC;IAChC,OAAgB,aAAa,uDAA2C;IAExE,SAAS,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACtC,SAAS,KAAK,QAAQ,yBAErB;cAEwB,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;cAcpC,YAAY;CAKtC"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,yBAAyB,EAAE,CAAA;AAGpC,eAAe,yBAAyB,CAAA"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Provider } from '@ethersproject/providers';
|
|
2
|
-
import { Token } from '@uniswap/sdk-core';
|
|
3
|
-
import { Pool } from '@uniswap/v3-sdk';
|
|
4
|
-
import { IERC20Metadata } from '@xyo-network/typechain';
|
|
5
|
-
import { IUniswapV3Pool } from '@xyo-network/uniswap-typechain';
|
|
6
|
-
import { EthersUniswap3PoolSlot0Wrapper } from './Uniswap3PoolSlot0Wrapper';
|
|
7
|
-
export declare class EthersUniSwap3Pair {
|
|
8
|
-
protected address: string;
|
|
9
|
-
protected provider: Provider;
|
|
10
|
-
private _pool?;
|
|
11
|
-
private _poolContract?;
|
|
12
|
-
private _slot0?;
|
|
13
|
-
private _tokenContracts;
|
|
14
|
-
private _tokens;
|
|
15
|
-
constructor(address: string, provider: Provider);
|
|
16
|
-
pool(): Promise<Pool>;
|
|
17
|
-
poolContract(): IUniswapV3Pool;
|
|
18
|
-
price(): Promise<{
|
|
19
|
-
tokens: {
|
|
20
|
-
address: string;
|
|
21
|
-
symbol: string;
|
|
22
|
-
value: number;
|
|
23
|
-
}[];
|
|
24
|
-
}>;
|
|
25
|
-
slot0(): Promise<EthersUniswap3PoolSlot0Wrapper>;
|
|
26
|
-
token(index: 0 | 1): Promise<Token>;
|
|
27
|
-
tokenContract(index: 0 | 1): Promise<IERC20Metadata>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=UniSwap3Pair.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UniSwap3Pair.d.ts","sourceRoot":"","sources":["../../../../src/lib/Ethers/UniSwap3Pair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAGtC,OAAO,EAAE,cAAc,EAA2B,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,cAAc,EAA2B,MAAM,gCAAgC,CAAA;AAGxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAA;AAS3E,qBAAa,kBAAkB;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE5B,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAuC;IACtD,OAAO,CAAC,eAAe,CAAgE;IACvF,OAAO,CAAC,OAAO,CAAuD;gBAE1D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAKzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B,YAAY,IAAI,cAAc;IAOxB,KAAK;;;;;;;IAiBL,KAAK,IAAI,OAAO,CAAC,8BAA8B,CAAC;IAShD,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IAYnC,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAU3D"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EthersUniswapV3Slot0Fields } from './UniswapV3Slot0Fields';
|
|
2
|
-
export declare class EthersUniswap3PoolSlot0Wrapper {
|
|
3
|
-
protected values: EthersUniswapV3Slot0Fields;
|
|
4
|
-
constructor(values: EthersUniswapV3Slot0Fields);
|
|
5
|
-
get feeProtocol(): number;
|
|
6
|
-
get observationCardinality(): number;
|
|
7
|
-
get observationCardinalityNext(): number;
|
|
8
|
-
get observationIndex(): number;
|
|
9
|
-
get sqrtPriceX96(): import("ethers").BigNumber;
|
|
10
|
-
get tick(): number;
|
|
11
|
-
get unlocked(): boolean;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=Uniswap3PoolSlot0Wrapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Uniswap3PoolSlot0Wrapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/Ethers/Uniswap3PoolSlot0Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAEnE,qBAAa,8BAA8B;IACzC,SAAS,CAAC,MAAM,EAAE,0BAA0B,CAAA;gBAChC,MAAM,EAAE,0BAA0B;IAI9C,IAAI,WAAW,WAEd;IAED,IAAI,sBAAsB,WAEzB;IAED,IAAI,0BAA0B,WAE7B;IAED,IAAI,gBAAgB,WAEnB;IAED,IAAI,YAAY,+BAEf;IAED,IAAI,IAAI,WAEP;IAED,IAAI,QAAQ,YAEX;CACF"}
|