@xyo-network/crypto-asset-plugin 2.61.0 → 2.61.2
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/cjs/Diviner.js +7 -7
- package/dist/cjs/Diviner.js.map +1 -1
- package/dist/cjs/Plugin.js +4 -4
- package/dist/cjs/Plugin.js.map +1 -1
- package/dist/cjs/Schema.js +3 -3
- package/dist/cjs/Schema.js.map +1 -1
- package/dist/cjs/index.js +3 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/average.js.map +1 -1
- package/dist/cjs/lib/divineCoinGeckoPrices.js +1 -1
- package/dist/cjs/lib/divineCoinGeckoPrices.js.map +1 -1
- package/dist/cjs/lib/divinePrices.js +1 -1
- package/dist/cjs/lib/divinePrices.js.map +1 -1
- package/dist/cjs/lib/divineUniswapPrices.js +1 -1
- package/dist/cjs/lib/divineUniswapPrices.js.map +1 -1
- package/dist/cjs/test/sampleCoinGecko.js +1 -1
- package/dist/cjs/test/sampleCoinGecko.js.map +1 -1
- package/dist/cjs/test/sampleUniswap.js +1 -1
- package/dist/cjs/test/sampleUniswap.js.map +1 -1
- package/dist/docs.json +106 -106
- package/dist/esm/Diviner.js +9 -9
- package/dist/esm/Diviner.js.map +1 -1
- package/dist/esm/Plugin.js +4 -4
- package/dist/esm/Plugin.js.map +1 -1
- package/dist/esm/Schema.js +2 -2
- package/dist/esm/Schema.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/average.js.map +1 -1
- package/dist/esm/lib/divineCoinGeckoPrices.js +2 -2
- package/dist/esm/lib/divineCoinGeckoPrices.js.map +1 -1
- package/dist/esm/lib/divinePrices.js +2 -2
- package/dist/esm/lib/divinePrices.js.map +1 -1
- package/dist/esm/lib/divineUniswapPrices.js +2 -2
- package/dist/esm/lib/divineUniswapPrices.js.map +1 -1
- package/dist/esm/test/sampleCoinGecko.js +2 -2
- package/dist/esm/test/sampleCoinGecko.js.map +1 -1
- package/dist/esm/test/sampleUniswap.js +2 -2
- package/dist/esm/test/sampleUniswap.js.map +1 -1
- package/dist/types/Diviner.d.ts +5 -5
- package/dist/types/Diviner.d.ts.map +1 -1
- package/dist/types/Plugin.d.ts +2 -2
- package/dist/types/Plugin.d.ts.map +1 -1
- package/dist/types/Schema.d.ts +4 -4
- package/dist/types/Schema.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/average.d.ts +2 -2
- package/dist/types/lib/average.d.ts.map +1 -1
- package/dist/types/lib/divineCoinGeckoPrices.d.ts +3 -3
- package/dist/types/lib/divineCoinGeckoPrices.d.ts.map +1 -1
- package/dist/types/lib/divinePrices.d.ts +4 -4
- package/dist/types/lib/divinePrices.d.ts.map +1 -1
- package/dist/types/lib/divineUniswapPrices.d.ts +3 -3
- package/dist/types/lib/divineUniswapPrices.d.ts.map +1 -1
- package/dist/types/test/sampleCoinGecko.d.ts +2 -2
- package/dist/types/test/sampleCoinGecko.d.ts.map +1 -1
- package/dist/types/test/sampleUniswap.d.ts +2 -2
- package/dist/types/test/sampleUniswap.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/Diviner.ts +12 -12
- package/src/Plugin.ts +6 -6
- package/src/Schema.ts +4 -4
- package/src/index.ts +3 -3
- package/src/lib/average.ts +2 -2
- package/src/lib/divineCoinGeckoPrices.ts +5 -5
- package/src/lib/divinePrices.ts +8 -8
- package/src/lib/divineUniswapPrices.ts +8 -15
- package/src/test/sampleCoinGecko.ts +3 -3
- package/src/test/sampleUniswap.ts +3 -3
package/dist/esm/Diviner.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AbstractDiviner } from '@xyo-network/abstract-diviner';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin';
|
|
3
|
+
import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin';
|
|
4
|
+
import { UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
5
5
|
import { divinePrices } from './lib';
|
|
6
|
-
import {
|
|
7
|
-
export class
|
|
8
|
-
static configSchema =
|
|
9
|
-
static targetSchema =
|
|
6
|
+
import { CryptoMarketAssetDivinerConfigSchema } from './Schema';
|
|
7
|
+
export class CryptoMarketAssetDiviner extends AbstractDiviner {
|
|
8
|
+
static configSchema = CryptoMarketAssetDivinerConfigSchema;
|
|
9
|
+
static targetSchema = CryptoMarketAssetSchema;
|
|
10
10
|
divine(payloads) {
|
|
11
|
-
const coinGeckoPayload = payloads?.find((payload) => payload?.schema ===
|
|
12
|
-
const uniswapPayload = payloads?.find((payload) => payload?.schema ===
|
|
11
|
+
const coinGeckoPayload = payloads?.find((payload) => payload?.schema === CoingeckoCryptoMarketSchema);
|
|
12
|
+
const uniswapPayload = payloads?.find((payload) => payload?.schema === UniswapCryptoMarketSchema);
|
|
13
13
|
const result = divinePrices(coinGeckoPayload, uniswapPayload);
|
|
14
14
|
return [result];
|
|
15
15
|
}
|
package/dist/esm/Diviner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAgC,2BAA2B,EAAE,MAAM,qDAAqD,CAAA;AAC/H,OAAO,EAA4B,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AAK5G,OAAO,EAA8B,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAEzH,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACpC,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAA;AAK/D,MAAM,OAAO,wBACX,SAAQ,eAAwB;IAGhC,MAAM,CAAU,YAAY,GAAG,oCAAoC,CAAA;IACnE,MAAM,CAAU,YAAY,GAAG,uBAAuB,CAAA;IAE7C,MAAM,CAAC,QAAoB;QAClC,MAAM,gBAAgB,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,2BAA2B,CAAiC,CAAA;QACrI,MAAM,cAAc,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,yBAAyB,CAA+B,CAAA;QAC/H,MAAM,MAAM,GAA6B,YAAY,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;QACvF,OAAO,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC"}
|
package/dist/esm/Plugin.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin';
|
|
2
2
|
import { PayloadSetSchema } from '@xyo-network/payload-model';
|
|
3
3
|
import { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin';
|
|
4
|
-
import {
|
|
5
|
-
export const
|
|
4
|
+
import { CryptoMarketAssetDiviner } from './Diviner';
|
|
5
|
+
export const CryptoMarketAssetPlugin = () => createPayloadSetDivinerPlugin({ required: { [CryptoMarketAssetSchema]: 1 }, schema: PayloadSetSchema }, {
|
|
6
6
|
diviner: async (params) => {
|
|
7
|
-
return (await
|
|
7
|
+
return (await CryptoMarketAssetDiviner.create(params));
|
|
8
8
|
},
|
|
9
9
|
});
|
|
10
10
|
//# sourceMappingURL=Plugin.js.map
|
package/dist/esm/Plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAC1C,6BAA6B,CAC3B,EAAE,QAAQ,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EACxE;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,OAAO,CAAC,MAAM,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,CAA6B,CAAA;IACpF,CAAC;CACF,CACF,CAAA"}
|
package/dist/esm/Schema.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const
|
|
2
|
-
export const
|
|
1
|
+
export const CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query';
|
|
2
|
+
export const CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config';
|
|
3
3
|
//# sourceMappingURL=Schema.js.map
|
package/dist/esm/Schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,mCAAmC,GAAwC,wCAAwC,CAAA;AAGhI,MAAM,CAAC,MAAM,oCAAoC,GAAyC,yCAAyC,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoMarketAssetPlugin } from './Plugin';
|
|
2
2
|
export * from './Diviner';
|
|
3
3
|
export * from './Schema';
|
|
4
|
-
export {
|
|
4
|
+
export { CryptoMarketAssetPlugin };
|
|
5
5
|
// eslint-disable-next-line import/no-default-export
|
|
6
|
-
export default
|
|
6
|
+
export default CryptoMarketAssetPlugin;
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAElC,oDAAoD;AACpD,eAAe,uBAAuB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"average.js","sourceRoot":"","sources":["../../../src/lib/average.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGvC,MAAM,QAAQ,GAAG,CAAC,GAAuB,EAAiB,EAAE;IAC1D,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,KAAyB,EAAsB,EAAE;IAC/E,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,GAAG,MAA8B,EAAsB,EAAE;IAC1F,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"average.js","sourceRoot":"","sources":["../../../src/lib/average.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGvC,MAAM,QAAQ,GAAG,CAAC,GAAuB,EAAiB,EAAE;IAC1D,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,KAAyB,EAAsB,EAAE;IAC/E,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAChC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;AAC3C,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAAC,GAAG,MAA8B,EAAsB,EAAE;IAC1F,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAG,KAA+C,EAA6B,EAAE;IACvG,iCAAiC;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAQ,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrI,8BAA8B;IAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,CAAC,GAAG,MAAM,CAAC;SACR,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,SAAS;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAgC,CAAC;aAC/D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACjB,MAAM,CAAC,MAAM,CAAC,CAClB,CAAA;QACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAA;IACxB,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACrB,CAAA;IACD,sFAAsF;IACtF,MAAM,MAAM,GAA8B,MAAM,CAAC,WAAW,CAC1D,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAChC,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YACxE,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,GAAG,eAAe,CAAC,CAAA;YAC3E,OAAO,CAAC,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvD,CAAC,CAAC,CACH,CAAA;QACD,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAC,CACH,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin';
|
|
2
2
|
import { PayloadBuilder } from '@xyo-network/payload-builder';
|
|
3
|
-
const schema =
|
|
3
|
+
const schema = CryptoMarketAssetSchema;
|
|
4
4
|
const valuationExists = (value) => {
|
|
5
5
|
return !!value[1];
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divineCoinGeckoPrices.js","sourceRoot":"","sources":["../../../src/lib/divineCoinGeckoPrices.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"divineCoinGeckoPrices.js","sourceRoot":"","sources":["../../../src/lib/divineCoinGeckoPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAuC,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AACvH,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,MAAM,MAAM,GAAG,uBAAuB,CAAA;AAEtC,MAAM,eAAe,GAAG,CAAC,KAA4D,EAAsD,EAAE;IAC3I,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,KAAmC,EAA6B,EAAE;IAC1F,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,OAAO,OAAO,cAAc,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;AACrE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAiD,EAA4B,EAAE;IACnH,MAAM,MAAM,GACV,OAAO,IAAI,OAAO,EAAE,MAAM;QACxB,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;aAC3B,MAAM,CAAC,eAAe,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;iBACtB,MAAM,CAAC,gBAAgB,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CACvE,CAAA;YACD,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3B,CAAC,CAAC,CACL;QACH,CAAC,CAAC,EAAE,CAAA;IACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,IAAI,cAAc,CAA2B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;AACvG,CAAC,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { exists } from '@xylabs/exists';
|
|
2
|
-
import {
|
|
2
|
+
import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin';
|
|
3
3
|
import { PayloadBuilder } from '@xyo-network/payload-builder';
|
|
4
4
|
import { average } from './average';
|
|
5
5
|
import { divineCoinGeckoPrices } from './divineCoinGeckoPrices';
|
|
6
6
|
import { divineUniswapPrices } from './divineUniswapPrices';
|
|
7
|
-
const schema =
|
|
7
|
+
const schema = CryptoMarketAssetSchema;
|
|
8
8
|
export const divinePrices = (coinGeckoPayload, uniswapPayload) => {
|
|
9
9
|
const coinGeckoPrices = divineCoinGeckoPrices(coinGeckoPayload);
|
|
10
10
|
const uniswapPrices = divineUniswapPrices(uniswapPayload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divinePrices.js","sourceRoot":"","sources":["../../../src/lib/divinePrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,
|
|
1
|
+
{"version":3,"file":"divinePrices.js","sourceRoot":"","sources":["../../../src/lib/divinePrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAA4B,uBAAuB,EAAE,MAAM,0CAA0C,CAAA;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,MAAM,GAAG,uBAAuB,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,gBAA0D,EAC1D,cAAsD,EAC5B,EAAE;IAC5B,MAAM,eAAe,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IAC/D,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACpE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,IAAI,cAAc,CAA2B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;AACvG,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { exists } from '@xylabs/exists';
|
|
2
|
-
import {
|
|
2
|
+
import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin';
|
|
3
3
|
import { PayloadBuilder } from '@xyo-network/payload-builder';
|
|
4
|
-
const schema =
|
|
4
|
+
const schema = CryptoMarketAssetSchema;
|
|
5
5
|
const mapUniswapToken = (symbol) => {
|
|
6
6
|
// TODO: Actually calculate the value of the token/stablecoin based on others
|
|
7
7
|
// to weed out individual fluctuations in price
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divineUniswapPrices.js","sourceRoot":"","sources":["../../../src/lib/divineUniswapPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"divineUniswapPrices.js","sourceRoot":"","sources":["../../../src/lib/divineUniswapPrices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin';
|
|
2
2
|
export const sampleCoinGeckoPayload = {
|
|
3
3
|
assets: {
|
|
4
4
|
ada: {
|
|
@@ -68,7 +68,7 @@ export const sampleCoinGeckoPayload = {
|
|
|
68
68
|
usd: 0.01439307,
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
|
-
schema:
|
|
71
|
+
schema: CoingeckoCryptoMarketSchema,
|
|
72
72
|
timestamp: 1659012060785,
|
|
73
73
|
};
|
|
74
74
|
//# sourceMappingURL=sampleCoinGecko.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampleCoinGecko.js","sourceRoot":"","sources":["../../../src/test/sampleCoinGecko.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sampleCoinGecko.js","sourceRoot":"","sources":["../../../src/test/sampleCoinGecko.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,2BAA2B,EAAE,MAAM,qDAAqD,CAAA;AAE/H,MAAM,CAAC,MAAM,sBAAsB,GAAiC;IAClE,MAAM,EAAE;QACN,GAAG,EAAE;YACH,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,QAAQ;SACd;QACD,GAAG,EAAE;YACH,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;SACX;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,QAAQ;SACd;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,QAAQ;SACd;QACD,GAAG,EAAE;YACH,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACV;QACD,GAAG,EAAE;YACH,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;SACb;QACD,GAAG,EAAE;YACH,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;SACX;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,KAAK;SACX;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,KAAK;SACX;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;SACX;QACD,GAAG,EAAE;YACH,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,UAAU;SAChB;KACF;IACD,MAAM,EAAE,2BAA2B;IACnC,SAAS,EAAE,aAAa;CACzB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
2
2
|
export const sampleUniswapPayload = {
|
|
3
3
|
pairs: [
|
|
4
4
|
{
|
|
@@ -184,7 +184,7 @@ export const sampleUniswapPayload = {
|
|
|
184
184
|
],
|
|
185
185
|
},
|
|
186
186
|
],
|
|
187
|
-
schema:
|
|
187
|
+
schema: UniswapCryptoMarketSchema,
|
|
188
188
|
timestamp: 1659012011418,
|
|
189
189
|
};
|
|
190
190
|
//# sourceMappingURL=sampleUniswap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampleUniswap.js","sourceRoot":"","sources":["../../../src/test/sampleUniswap.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sampleUniswap.js","sourceRoot":"","sources":["../../../src/test/sampleUniswap.ts"],"names":[],"mappings":"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"}
|
package/dist/types/Diviner.d.ts
CHANGED
|
@@ -3,12 +3,12 @@ import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/divine
|
|
|
3
3
|
import { AnyConfigSchema, Module } from '@xyo-network/module';
|
|
4
4
|
import { Payload } from '@xyo-network/payload-model';
|
|
5
5
|
import { Promisable } from '@xyo-network/promise';
|
|
6
|
-
import {
|
|
7
|
-
export type
|
|
8
|
-
schema:
|
|
6
|
+
import { CryptoMarketAssetDivinerConfigSchema } from './Schema';
|
|
7
|
+
export type CryptoMarketAssetDivinerConfig = DivinerConfig<{
|
|
8
|
+
schema: CryptoMarketAssetDivinerConfigSchema;
|
|
9
9
|
}>;
|
|
10
|
-
export type
|
|
11
|
-
export declare class
|
|
10
|
+
export type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>;
|
|
11
|
+
export declare class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule, Module {
|
|
12
12
|
static configSchema: "network.xyo.crypto.asset.diviner.config";
|
|
13
13
|
static targetSchema: "network.xyo.crypto.asset";
|
|
14
14
|
divine(payloads?: Payload[]): Promisable<Payload[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAA;AAE/D,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,oCAAoC,CAAA;CAAE,CAAC,CAAA;AAC5G,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,OAAO,SAAS,8BAA8B,GAAG,8BAA8B,CACnH,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,aAAa,EAAE,MAAM;IAEhC,OAAgB,YAAY,4CAAuC;IACnE,OAAgB,YAAY,6BAA0B;IAE7C,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAM7D"}
|
package/dist/types/Plugin.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
1
|
+
import { CryptoMarketAssetDiviner } from './Diviner';
|
|
2
|
+
export declare const CryptoMarketAssetPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<CryptoMarketAssetDiviner<import("./Diviner").CryptoMarketAssetDivinerParams>>;
|
|
3
3
|
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB,sJAQjC,CAAA"}
|
package/dist/types/Schema.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export declare const
|
|
3
|
-
export type
|
|
4
|
-
export declare const
|
|
1
|
+
export type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query';
|
|
2
|
+
export declare const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema;
|
|
3
|
+
export type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config';
|
|
4
|
+
export declare const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema;
|
|
5
5
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mCAAmC,GAAG,wCAAwC,CAAA;AAC1F,eAAO,MAAM,mCAAmC,EAAE,mCAA8E,CAAA;AAEhI,MAAM,MAAM,oCAAoC,GAAG,yCAAyC,CAAA;AAC5F,eAAO,MAAM,oCAAoC,EAAE,oCAAgF,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoMarketAssetPlugin } from './Plugin';
|
|
2
2
|
export * from './Diviner';
|
|
3
3
|
export * from './Schema';
|
|
4
|
-
export {
|
|
5
|
-
export default
|
|
4
|
+
export { CryptoMarketAssetPlugin };
|
|
5
|
+
export default CryptoMarketAssetPlugin;
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAGlC,eAAe,uBAAuB,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { AssetInfo,
|
|
2
|
-
export declare const average: (...input: (
|
|
1
|
+
import { AssetInfo, CryptoMarketAssetPayload } from '@xyo-network/crypto-asset-payload-plugin';
|
|
2
|
+
export declare const average: (...input: (CryptoMarketAssetPayload | undefined)[]) => Record<string, AssetInfo>;
|
|
3
3
|
//# sourceMappingURL=average.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"average.d.ts","sourceRoot":"","sources":["../../../src/lib/average.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"average.d.ts","sourceRoot":"","sources":["../../../src/lib/average.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAmB,MAAM,0CAA0C,CAAA;AAiB/G,eAAO,MAAM,OAAO,aAAc,CAAC,wBAAwB,GAAG,SAAS,CAAC,EAAE,KAAG,OAAO,MAAM,EAAE,SAAS,CAkCpG,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare const divineCoinGeckoPrices: (payload:
|
|
1
|
+
import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin';
|
|
2
|
+
import { CryptoMarketAssetPayload } from '@xyo-network/crypto-asset-payload-plugin';
|
|
3
|
+
export declare const divineCoinGeckoPrices: (payload: CoingeckoCryptoMarketPayload | undefined) => CryptoMarketAssetPayload;
|
|
4
4
|
//# sourceMappingURL=divineCoinGeckoPrices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divineCoinGeckoPrices.d.ts","sourceRoot":"","sources":["../../../src/lib/divineCoinGeckoPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"divineCoinGeckoPrices.d.ts","sourceRoot":"","sources":["../../../src/lib/divineCoinGeckoPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAA;AAClG,OAAO,EAAa,wBAAwB,EAA2B,MAAM,0CAA0C,CAAA;AAcvH,eAAO,MAAM,qBAAqB,YAAa,4BAA4B,GAAG,SAAS,KAAG,wBAkBzF,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export declare const divinePrices: (coinGeckoPayload:
|
|
1
|
+
import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin';
|
|
2
|
+
import { CryptoMarketAssetPayload } from '@xyo-network/crypto-asset-payload-plugin';
|
|
3
|
+
import { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
4
|
+
export declare const divinePrices: (coinGeckoPayload: CoingeckoCryptoMarketPayload | undefined, uniswapPayload: UniswapCryptoMarketPayload | undefined) => CryptoMarketAssetPayload;
|
|
5
5
|
//# sourceMappingURL=divinePrices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divinePrices.d.ts","sourceRoot":"","sources":["../../../src/lib/divinePrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"divinePrices.d.ts","sourceRoot":"","sources":["../../../src/lib/divinePrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAA2B,MAAM,0CAA0C,CAAA;AAE5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAA;AAQ9F,eAAO,MAAM,YAAY,qBACL,4BAA4B,GAAG,SAAS,kBAC1C,0BAA0B,GAAG,SAAS,KACrD,wBAOF,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare const divineUniswapPrices: (uniswapPayload:
|
|
1
|
+
import { CryptoMarketAssetPayload } from '@xyo-network/crypto-asset-payload-plugin';
|
|
2
|
+
import { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
3
|
+
export declare const divineUniswapPrices: (uniswapPayload: UniswapCryptoMarketPayload | undefined) => CryptoMarketAssetPayload;
|
|
4
4
|
//# sourceMappingURL=divineUniswapPrices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"divineUniswapPrices.d.ts","sourceRoot":"","sources":["../../../src/lib/divineUniswapPrices.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"divineUniswapPrices.d.ts","sourceRoot":"","sources":["../../../src/lib/divineUniswapPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,wBAAwB,EAAwD,MAAM,0CAA0C,CAAA;AAEpJ,OAAO,EAAE,0BAA0B,EAAyC,MAAM,mDAAmD,CAAA;AAuCrI,eAAO,MAAM,mBAAmB,mBAAoB,0BAA0B,GAAG,SAAS,KAAG,wBAe5F,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const sampleCoinGeckoPayload:
|
|
1
|
+
import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin';
|
|
2
|
+
export declare const sampleCoinGeckoPayload: CoingeckoCryptoMarketPayload;
|
|
3
3
|
//# sourceMappingURL=sampleCoinGecko.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampleCoinGecko.d.ts","sourceRoot":"","sources":["../../../src/test/sampleCoinGecko.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"sampleCoinGecko.d.ts","sourceRoot":"","sources":["../../../src/test/sampleCoinGecko.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAA+B,MAAM,qDAAqD,CAAA;AAE/H,eAAO,MAAM,sBAAsB,EAAE,4BAuEpC,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const sampleUniswapPayload:
|
|
1
|
+
import { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin';
|
|
2
|
+
export declare const sampleUniswapPayload: UniswapCryptoMarketPayload;
|
|
3
3
|
//# sourceMappingURL=sampleUniswap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampleUniswap.d.ts","sourceRoot":"","sources":["../../../src/test/sampleUniswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sampleUniswap.d.ts","sourceRoot":"","sources":["../../../src/test/sampleUniswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,mDAAmD,CAAA;AAEzH,eAAO,MAAM,oBAAoB,EAAE,0BA2LlC,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,16 +11,16 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/exists": "^2.9.1",
|
|
14
|
-
"@xyo-network/abstract-diviner": "^2.61.
|
|
15
|
-
"@xyo-network/coingecko-crypto-market-payload-plugin": "^2.61.
|
|
16
|
-
"@xyo-network/crypto-asset-payload-plugin": "^2.61.
|
|
17
|
-
"@xyo-network/diviner": "^2.61.
|
|
18
|
-
"@xyo-network/module": "^2.61.
|
|
19
|
-
"@xyo-network/payload-builder": "^2.61.
|
|
20
|
-
"@xyo-network/payload-model": "^2.61.
|
|
21
|
-
"@xyo-network/payloadset-plugin": "^2.61.
|
|
22
|
-
"@xyo-network/promise": "^2.61.
|
|
23
|
-
"@xyo-network/uniswap-crypto-market-payload-plugin": "^2.61.
|
|
14
|
+
"@xyo-network/abstract-diviner": "^2.61.2",
|
|
15
|
+
"@xyo-network/coingecko-crypto-market-payload-plugin": "^2.61.2",
|
|
16
|
+
"@xyo-network/crypto-asset-payload-plugin": "^2.61.2",
|
|
17
|
+
"@xyo-network/diviner": "^2.61.2",
|
|
18
|
+
"@xyo-network/module": "^2.61.2",
|
|
19
|
+
"@xyo-network/payload-builder": "^2.61.2",
|
|
20
|
+
"@xyo-network/payload-model": "^2.61.2",
|
|
21
|
+
"@xyo-network/payloadset-plugin": "^2.61.2",
|
|
22
|
+
"@xyo-network/promise": "^2.61.2",
|
|
23
|
+
"@xyo-network/uniswap-crypto-market-payload-plugin": "^2.61.2"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@ethersproject/address": "^5.7.0",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"@ethersproject/providers": "^5.7.2",
|
|
30
30
|
"@ethersproject/solidity": "^5.7.0",
|
|
31
31
|
"@uniswap/sdk": "^3.0.3",
|
|
32
|
-
"@uniswap/sdk-core": "^3.2.
|
|
32
|
+
"@uniswap/sdk-core": "^3.2.6",
|
|
33
33
|
"@uniswap/v3-sdk": "^3.9.0",
|
|
34
34
|
"@xylabs/ts-scripts-yarn3": "^2.17.13",
|
|
35
35
|
"@xylabs/tsconfig": "^2.17.13",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
},
|
|
79
79
|
"sideEffects": false,
|
|
80
80
|
"types": "dist/types/index.d.ts",
|
|
81
|
-
"version": "2.61.
|
|
81
|
+
"version": "2.61.2"
|
|
82
82
|
}
|
package/src/Diviner.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { AbstractDiviner } from '@xyo-network/abstract-diviner'
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'
|
|
3
|
+
import { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'
|
|
4
4
|
import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner'
|
|
5
5
|
import { AnyConfigSchema, Module } from '@xyo-network/module'
|
|
6
6
|
import { Payload } from '@xyo-network/payload-model'
|
|
7
7
|
import { Promisable } from '@xyo-network/promise'
|
|
8
|
-
import {
|
|
8
|
+
import { UniswapCryptoMarketPayload, UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'
|
|
9
9
|
|
|
10
10
|
import { divinePrices } from './lib'
|
|
11
|
-
import {
|
|
11
|
+
import { CryptoMarketAssetDivinerConfigSchema } from './Schema'
|
|
12
12
|
|
|
13
|
-
export type
|
|
14
|
-
export type
|
|
13
|
+
export type CryptoMarketAssetDivinerConfig = DivinerConfig<{ schema: CryptoMarketAssetDivinerConfigSchema }>
|
|
14
|
+
export type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>
|
|
15
15
|
|
|
16
|
-
export class
|
|
16
|
+
export class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams>
|
|
17
17
|
extends AbstractDiviner<TParams>
|
|
18
18
|
implements DivinerModule, Module
|
|
19
19
|
{
|
|
20
|
-
static override configSchema =
|
|
21
|
-
static override targetSchema =
|
|
20
|
+
static override configSchema = CryptoMarketAssetDivinerConfigSchema
|
|
21
|
+
static override targetSchema = CryptoMarketAssetSchema
|
|
22
22
|
|
|
23
23
|
override divine(payloads?: Payload[]): Promisable<Payload[]> {
|
|
24
|
-
const coinGeckoPayload = payloads?.find((payload) => payload?.schema ===
|
|
25
|
-
const uniswapPayload = payloads?.find((payload) => payload?.schema ===
|
|
26
|
-
const result:
|
|
24
|
+
const coinGeckoPayload = payloads?.find((payload) => payload?.schema === CoingeckoCryptoMarketSchema) as CoingeckoCryptoMarketPayload
|
|
25
|
+
const uniswapPayload = payloads?.find((payload) => payload?.schema === UniswapCryptoMarketSchema) as UniswapCryptoMarketPayload
|
|
26
|
+
const result: CryptoMarketAssetPayload = divinePrices(coinGeckoPayload, uniswapPayload)
|
|
27
27
|
return [result]
|
|
28
28
|
}
|
|
29
29
|
}
|
package/src/Plugin.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'
|
|
2
2
|
import { PayloadSetSchema } from '@xyo-network/payload-model'
|
|
3
3
|
import { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { CryptoMarketAssetDiviner } from './Diviner'
|
|
6
6
|
|
|
7
|
-
export const
|
|
8
|
-
createPayloadSetDivinerPlugin<
|
|
9
|
-
{ required: { [
|
|
7
|
+
export const CryptoMarketAssetPlugin = () =>
|
|
8
|
+
createPayloadSetDivinerPlugin<CryptoMarketAssetDiviner>(
|
|
9
|
+
{ required: { [CryptoMarketAssetSchema]: 1 }, schema: PayloadSetSchema },
|
|
10
10
|
{
|
|
11
11
|
diviner: async (params) => {
|
|
12
|
-
return (await
|
|
12
|
+
return (await CryptoMarketAssetDiviner.create(params)) as CryptoMarketAssetDiviner
|
|
13
13
|
},
|
|
14
14
|
},
|
|
15
15
|
)
|
package/src/Schema.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export const
|
|
1
|
+
export type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'
|
|
2
|
+
export const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'
|
|
3
3
|
|
|
4
|
-
export type
|
|
5
|
-
export const
|
|
4
|
+
export type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'
|
|
5
|
+
export const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'
|
package/src/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoMarketAssetPlugin } from './Plugin'
|
|
2
2
|
|
|
3
3
|
export * from './Diviner'
|
|
4
4
|
export * from './Schema'
|
|
5
5
|
|
|
6
|
-
export {
|
|
6
|
+
export { CryptoMarketAssetPlugin }
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line import/no-default-export
|
|
9
|
-
export default
|
|
9
|
+
export default CryptoMarketAssetPlugin
|
package/src/lib/average.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { exists } from '@xylabs/exists'
|
|
2
|
-
import { AssetInfo, Currency, Token
|
|
2
|
+
import { AssetInfo, CryptoMarketAssetPayload, Currency, Token } from '@xyo-network/crypto-asset-payload-plugin'
|
|
3
3
|
|
|
4
4
|
const isNumber = (val: number | undefined): val is number => {
|
|
5
5
|
return val !== undefined
|
|
@@ -16,7 +16,7 @@ const averageStringifiedNumbers = (...prices: (string | undefined)[]): number |
|
|
|
16
16
|
return numbers.length ? numbers.reduce((sum, n) => sum + n, 0) / numbers.length : undefined
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export const average = (...input: (
|
|
19
|
+
export const average = (...input: (CryptoMarketAssetPayload | undefined)[]): Record<string, AssetInfo> => {
|
|
20
20
|
// Get all the assets represented
|
|
21
21
|
const payloads = input.filter(exists)
|
|
22
22
|
const tokens = new Set<Token>(payloads.map((payload) => Object.keys(payload.assets).map<Token>((t) => t as Token)).flatMap((t) => t))
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AssetInfo,
|
|
1
|
+
import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'
|
|
2
|
+
import { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'
|
|
3
3
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
4
4
|
|
|
5
|
-
const schema =
|
|
5
|
+
const schema = CryptoMarketAssetSchema
|
|
6
6
|
|
|
7
7
|
const valuationExists = (value: [string, Partial<Record<string, number>> | undefined]): value is [string, Partial<Record<string, number>>] => {
|
|
8
8
|
return !!value[1]
|
|
@@ -13,7 +13,7 @@ const otherValueExists = (value: [string, number | undefined]): value is [string
|
|
|
13
13
|
return typeof possiblyNumber === 'number' && !isNaN(possiblyNumber)
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export const divineCoinGeckoPrices = (payload:
|
|
16
|
+
export const divineCoinGeckoPrices = (payload: CoingeckoCryptoMarketPayload | undefined): CryptoMarketAssetPayload => {
|
|
17
17
|
const assets: Record<string, AssetInfo> =
|
|
18
18
|
payload && payload?.assets
|
|
19
19
|
? Object.fromEntries(
|
|
@@ -30,5 +30,5 @@ export const divineCoinGeckoPrices = (payload: XyoCoingeckoCryptoMarketPayload |
|
|
|
30
30
|
)
|
|
31
31
|
: {}
|
|
32
32
|
const timestamp = Date.now()
|
|
33
|
-
return new PayloadBuilder<
|
|
33
|
+
return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()
|
|
34
34
|
}
|