@xyo-network/crypto-asset-plugin 2.99.5 → 3.0.0
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/neutral/index.d.ts +45 -4
- package/dist/neutral/index.mjs +83 -137
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +18 -37
- package/src/index.ts +1 -1
- package/xy.config.ts +4 -5
- package/dist/browser/Diviner.d.cts +0 -16
- package/dist/browser/Diviner.d.cts.map +0 -1
- package/dist/browser/Diviner.d.mts +0 -16
- package/dist/browser/Diviner.d.mts.map +0 -1
- package/dist/browser/Diviner.d.ts +0 -16
- package/dist/browser/Diviner.d.ts.map +0 -1
- package/dist/browser/Plugin.d.cts +0 -19
- package/dist/browser/Plugin.d.cts.map +0 -1
- package/dist/browser/Plugin.d.mts +0 -19
- package/dist/browser/Plugin.d.mts.map +0 -1
- package/dist/browser/Plugin.d.ts +0 -19
- package/dist/browser/Plugin.d.ts.map +0 -1
- package/dist/browser/Schema.d.cts +0 -5
- package/dist/browser/Schema.d.cts.map +0 -1
- package/dist/browser/Schema.d.mts +0 -5
- package/dist/browser/Schema.d.mts.map +0 -1
- package/dist/browser/Schema.d.ts +0 -5
- package/dist/browser/Schema.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -242
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -4
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -4
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts +0 -4
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.mjs +0 -221
- package/dist/browser/index.mjs.map +0 -1
- package/dist/browser/lib/average.d.cts +0 -3
- package/dist/browser/lib/average.d.cts.map +0 -1
- package/dist/browser/lib/average.d.mts +0 -3
- package/dist/browser/lib/average.d.mts.map +0 -1
- package/dist/browser/lib/average.d.ts +0 -3
- package/dist/browser/lib/average.d.ts.map +0 -1
- package/dist/browser/lib/divineCoinGeckoPrices.d.cts +0 -4
- package/dist/browser/lib/divineCoinGeckoPrices.d.cts.map +0 -1
- package/dist/browser/lib/divineCoinGeckoPrices.d.mts +0 -4
- package/dist/browser/lib/divineCoinGeckoPrices.d.mts.map +0 -1
- package/dist/browser/lib/divineCoinGeckoPrices.d.ts +0 -4
- package/dist/browser/lib/divineCoinGeckoPrices.d.ts.map +0 -1
- package/dist/browser/lib/divinePrices.d.cts +0 -5
- package/dist/browser/lib/divinePrices.d.cts.map +0 -1
- package/dist/browser/lib/divinePrices.d.mts +0 -5
- package/dist/browser/lib/divinePrices.d.mts.map +0 -1
- package/dist/browser/lib/divinePrices.d.ts +0 -5
- package/dist/browser/lib/divinePrices.d.ts.map +0 -1
- package/dist/browser/lib/divineUniswapPrices.d.cts +0 -4
- package/dist/browser/lib/divineUniswapPrices.d.cts.map +0 -1
- package/dist/browser/lib/divineUniswapPrices.d.mts +0 -4
- package/dist/browser/lib/divineUniswapPrices.d.mts.map +0 -1
- package/dist/browser/lib/divineUniswapPrices.d.ts +0 -4
- package/dist/browser/lib/divineUniswapPrices.d.ts.map +0 -1
- package/dist/browser/lib/index.d.cts +0 -2
- package/dist/browser/lib/index.d.cts.map +0 -1
- package/dist/browser/lib/index.d.mts +0 -2
- package/dist/browser/lib/index.d.mts.map +0 -1
- package/dist/browser/lib/index.d.ts +0 -2
- package/dist/browser/lib/index.d.ts.map +0 -1
- package/dist/browser/test/index.d.cts +0 -3
- package/dist/browser/test/index.d.cts.map +0 -1
- package/dist/browser/test/index.d.mts +0 -3
- package/dist/browser/test/index.d.mts.map +0 -1
- package/dist/browser/test/index.d.ts +0 -3
- package/dist/browser/test/index.d.ts.map +0 -1
- package/dist/browser/test/sampleCoinGecko.d.cts +0 -3
- package/dist/browser/test/sampleCoinGecko.d.cts.map +0 -1
- package/dist/browser/test/sampleCoinGecko.d.mts +0 -3
- package/dist/browser/test/sampleCoinGecko.d.mts.map +0 -1
- package/dist/browser/test/sampleCoinGecko.d.ts +0 -3
- package/dist/browser/test/sampleCoinGecko.d.ts.map +0 -1
- package/dist/browser/test/sampleUniswap.d.cts +0 -3
- package/dist/browser/test/sampleUniswap.d.cts.map +0 -1
- package/dist/browser/test/sampleUniswap.d.mts +0 -3
- package/dist/browser/test/sampleUniswap.d.mts.map +0 -1
- package/dist/browser/test/sampleUniswap.d.ts +0 -3
- package/dist/browser/test/sampleUniswap.d.ts.map +0 -1
- package/dist/neutral/Diviner.d.cts +0 -16
- package/dist/neutral/Diviner.d.cts.map +0 -1
- package/dist/neutral/Diviner.d.mts +0 -16
- package/dist/neutral/Diviner.d.mts.map +0 -1
- package/dist/neutral/Diviner.d.ts +0 -16
- package/dist/neutral/Diviner.d.ts.map +0 -1
- package/dist/neutral/Plugin.d.cts +0 -19
- package/dist/neutral/Plugin.d.cts.map +0 -1
- package/dist/neutral/Plugin.d.mts +0 -19
- package/dist/neutral/Plugin.d.mts.map +0 -1
- package/dist/neutral/Plugin.d.ts +0 -19
- package/dist/neutral/Plugin.d.ts.map +0 -1
- package/dist/neutral/Schema.d.cts +0 -5
- package/dist/neutral/Schema.d.cts.map +0 -1
- package/dist/neutral/Schema.d.mts +0 -5
- package/dist/neutral/Schema.d.mts.map +0 -1
- package/dist/neutral/Schema.d.ts +0 -5
- package/dist/neutral/Schema.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -242
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -4
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -4
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/neutral/lib/average.d.cts +0 -3
- package/dist/neutral/lib/average.d.cts.map +0 -1
- package/dist/neutral/lib/average.d.mts +0 -3
- package/dist/neutral/lib/average.d.mts.map +0 -1
- package/dist/neutral/lib/average.d.ts +0 -3
- package/dist/neutral/lib/average.d.ts.map +0 -1
- package/dist/neutral/lib/divineCoinGeckoPrices.d.cts +0 -4
- package/dist/neutral/lib/divineCoinGeckoPrices.d.cts.map +0 -1
- package/dist/neutral/lib/divineCoinGeckoPrices.d.mts +0 -4
- package/dist/neutral/lib/divineCoinGeckoPrices.d.mts.map +0 -1
- package/dist/neutral/lib/divineCoinGeckoPrices.d.ts +0 -4
- package/dist/neutral/lib/divineCoinGeckoPrices.d.ts.map +0 -1
- package/dist/neutral/lib/divinePrices.d.cts +0 -5
- package/dist/neutral/lib/divinePrices.d.cts.map +0 -1
- package/dist/neutral/lib/divinePrices.d.mts +0 -5
- package/dist/neutral/lib/divinePrices.d.mts.map +0 -1
- package/dist/neutral/lib/divinePrices.d.ts +0 -5
- package/dist/neutral/lib/divinePrices.d.ts.map +0 -1
- package/dist/neutral/lib/divineUniswapPrices.d.cts +0 -4
- package/dist/neutral/lib/divineUniswapPrices.d.cts.map +0 -1
- package/dist/neutral/lib/divineUniswapPrices.d.mts +0 -4
- package/dist/neutral/lib/divineUniswapPrices.d.mts.map +0 -1
- package/dist/neutral/lib/divineUniswapPrices.d.ts +0 -4
- package/dist/neutral/lib/divineUniswapPrices.d.ts.map +0 -1
- package/dist/neutral/lib/index.d.cts +0 -2
- package/dist/neutral/lib/index.d.cts.map +0 -1
- package/dist/neutral/lib/index.d.mts +0 -2
- package/dist/neutral/lib/index.d.mts.map +0 -1
- package/dist/neutral/lib/index.d.ts +0 -2
- package/dist/neutral/lib/index.d.ts.map +0 -1
- package/dist/neutral/test/index.d.cts +0 -3
- package/dist/neutral/test/index.d.cts.map +0 -1
- package/dist/neutral/test/index.d.mts +0 -3
- package/dist/neutral/test/index.d.mts.map +0 -1
- package/dist/neutral/test/index.d.ts +0 -3
- package/dist/neutral/test/index.d.ts.map +0 -1
- package/dist/neutral/test/sampleCoinGecko.d.cts +0 -3
- package/dist/neutral/test/sampleCoinGecko.d.cts.map +0 -1
- package/dist/neutral/test/sampleCoinGecko.d.mts +0 -3
- package/dist/neutral/test/sampleCoinGecko.d.mts.map +0 -1
- package/dist/neutral/test/sampleCoinGecko.d.ts +0 -3
- package/dist/neutral/test/sampleCoinGecko.d.ts.map +0 -1
- package/dist/neutral/test/sampleUniswap.d.cts +0 -3
- package/dist/neutral/test/sampleUniswap.d.cts.map +0 -1
- package/dist/neutral/test/sampleUniswap.d.mts +0 -3
- package/dist/neutral/test/sampleUniswap.d.mts.map +0 -1
- package/dist/neutral/test/sampleUniswap.d.ts +0 -3
- package/dist/neutral/test/sampleUniswap.d.ts.map +0 -1
- package/dist/node/Diviner.d.cts +0 -16
- package/dist/node/Diviner.d.cts.map +0 -1
- package/dist/node/Diviner.d.mts +0 -16
- package/dist/node/Diviner.d.mts.map +0 -1
- package/dist/node/Diviner.d.ts +0 -16
- package/dist/node/Diviner.d.ts.map +0 -1
- package/dist/node/Plugin.d.cts +0 -19
- package/dist/node/Plugin.d.cts.map +0 -1
- package/dist/node/Plugin.d.mts +0 -19
- package/dist/node/Plugin.d.mts.map +0 -1
- package/dist/node/Plugin.d.ts +0 -19
- package/dist/node/Plugin.d.ts.map +0 -1
- package/dist/node/Schema.d.cts +0 -5
- package/dist/node/Schema.d.cts.map +0 -1
- package/dist/node/Schema.d.mts +0 -5
- package/dist/node/Schema.d.mts.map +0 -1
- package/dist/node/Schema.d.ts +0 -5
- package/dist/node/Schema.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -262
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -4
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -4
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts +0 -4
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.mjs +0 -234
- package/dist/node/index.mjs.map +0 -1
- package/dist/node/lib/average.d.cts +0 -3
- package/dist/node/lib/average.d.cts.map +0 -1
- package/dist/node/lib/average.d.mts +0 -3
- package/dist/node/lib/average.d.mts.map +0 -1
- package/dist/node/lib/average.d.ts +0 -3
- package/dist/node/lib/average.d.ts.map +0 -1
- package/dist/node/lib/divineCoinGeckoPrices.d.cts +0 -4
- package/dist/node/lib/divineCoinGeckoPrices.d.cts.map +0 -1
- package/dist/node/lib/divineCoinGeckoPrices.d.mts +0 -4
- package/dist/node/lib/divineCoinGeckoPrices.d.mts.map +0 -1
- package/dist/node/lib/divineCoinGeckoPrices.d.ts +0 -4
- package/dist/node/lib/divineCoinGeckoPrices.d.ts.map +0 -1
- package/dist/node/lib/divinePrices.d.cts +0 -5
- package/dist/node/lib/divinePrices.d.cts.map +0 -1
- package/dist/node/lib/divinePrices.d.mts +0 -5
- package/dist/node/lib/divinePrices.d.mts.map +0 -1
- package/dist/node/lib/divinePrices.d.ts +0 -5
- package/dist/node/lib/divinePrices.d.ts.map +0 -1
- package/dist/node/lib/divineUniswapPrices.d.cts +0 -4
- package/dist/node/lib/divineUniswapPrices.d.cts.map +0 -1
- package/dist/node/lib/divineUniswapPrices.d.mts +0 -4
- package/dist/node/lib/divineUniswapPrices.d.mts.map +0 -1
- package/dist/node/lib/divineUniswapPrices.d.ts +0 -4
- package/dist/node/lib/divineUniswapPrices.d.ts.map +0 -1
- package/dist/node/lib/index.d.cts +0 -2
- package/dist/node/lib/index.d.cts.map +0 -1
- package/dist/node/lib/index.d.mts +0 -2
- package/dist/node/lib/index.d.mts.map +0 -1
- package/dist/node/lib/index.d.ts +0 -2
- package/dist/node/lib/index.d.ts.map +0 -1
- package/dist/node/test/index.d.cts +0 -3
- package/dist/node/test/index.d.cts.map +0 -1
- package/dist/node/test/index.d.mts +0 -3
- package/dist/node/test/index.d.mts.map +0 -1
- package/dist/node/test/index.d.ts +0 -3
- package/dist/node/test/index.d.ts.map +0 -1
- package/dist/node/test/sampleCoinGecko.d.cts +0 -3
- package/dist/node/test/sampleCoinGecko.d.cts.map +0 -1
- package/dist/node/test/sampleCoinGecko.d.mts +0 -3
- package/dist/node/test/sampleCoinGecko.d.mts.map +0 -1
- package/dist/node/test/sampleCoinGecko.d.ts +0 -3
- package/dist/node/test/sampleCoinGecko.d.ts.map +0 -1
- package/dist/node/test/sampleUniswap.d.cts +0 -3
- package/dist/node/test/sampleUniswap.d.cts.map +0 -1
- package/dist/node/test/sampleUniswap.d.mts +0 -3
- package/dist/node/test/sampleUniswap.d.mts.map +0 -1
- package/dist/node/test/sampleUniswap.d.ts +0 -3
- package/dist/node/test/sampleUniswap.d.ts.map +0 -1
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
+
import { DivinerConfig, DivinerParams, DivinerModule } from '@xyo-network/diviner-model';
|
|
3
|
+
import * as _xyo_network_module_model from '@xyo-network/module-model';
|
|
4
|
+
import { AnyConfigSchema, Module } from '@xyo-network/module-model';
|
|
5
|
+
import * as _xyo_network_payload_model from '@xyo-network/payload-model';
|
|
6
|
+
import { Schema, Payload } from '@xyo-network/payload-model';
|
|
7
|
+
import * as _xyo_network_payloadset_plugin from '@xyo-network/payloadset-plugin';
|
|
8
|
+
import * as _store__xyo_network_account_model_virtual_3afa553815_package from '.store/@xyo-network-account-model-virtual-3afa553815/package';
|
|
9
|
+
import * as _store__xylabs_object_npm_4_0_0_ffd6151301_package from '.store/@xylabs-object-npm-4.0.0-ffd6151301/package';
|
|
10
|
+
|
|
11
|
+
type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query';
|
|
12
|
+
declare const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema;
|
|
13
|
+
type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config';
|
|
14
|
+
declare const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema;
|
|
15
|
+
|
|
16
|
+
type CryptoMarketAssetDivinerConfig = DivinerConfig<{
|
|
17
|
+
schema: CryptoMarketAssetDivinerConfigSchema;
|
|
18
|
+
}>;
|
|
19
|
+
type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>;
|
|
20
|
+
declare class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule, Module {
|
|
21
|
+
static readonly configSchemas: Schema[];
|
|
22
|
+
static readonly defaultConfigSchema: Schema;
|
|
23
|
+
static targetSchema: "network.xyo.crypto.asset";
|
|
24
|
+
protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
declare const CryptoMarketAssetPlugin: () => _xyo_network_payloadset_plugin.PayloadSetDivinerPlugin<CryptoMarketAssetDiviner<_store__xylabs_object_npm_4_0_0_ffd6151301_package.BaseParamsFields & {
|
|
28
|
+
account?: _store__xyo_network_account_model_virtual_3afa553815_package.AccountInstance | "random";
|
|
29
|
+
addToResolvers?: boolean;
|
|
30
|
+
additionalSigners?: _store__xyo_network_account_model_virtual_3afa553815_package.AccountInstance[];
|
|
31
|
+
allowNameResolution?: boolean;
|
|
32
|
+
config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & {
|
|
33
|
+
schema: "network.xyo.crypto.asset.diviner.config";
|
|
34
|
+
} & {
|
|
35
|
+
schema: CryptoMarketAssetDivinerConfigSchema;
|
|
36
|
+
}, "schema"> & {
|
|
37
|
+
schema: "network.xyo.crypto.asset.diviner.config";
|
|
38
|
+
}, "schema"> & {
|
|
39
|
+
schema: string;
|
|
40
|
+
};
|
|
41
|
+
ephemeralQueryAccountEnabled?: boolean;
|
|
42
|
+
moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
|
|
43
|
+
}>>;
|
|
44
|
+
|
|
45
|
+
export { CryptoMarketAssetDiviner, type CryptoMarketAssetDivinerConfig, CryptoMarketAssetDivinerConfigSchema, type CryptoMarketAssetDivinerParams, CryptoMarketAssetDivinerQuerySchema, CryptoMarketAssetPlugin, CryptoMarketAssetPlugin as default };
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/Diviner.ts
|
|
5
2
|
import { CoingeckoCryptoMarketSchema } from "@xyo-network/coingecko-crypto-market-payload-plugin";
|
|
6
3
|
import { CryptoMarketAssetSchema as CryptoMarketAssetSchema4 } from "@xyo-network/crypto-asset-payload-plugin";
|
|
@@ -14,86 +11,67 @@ import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder"
|
|
|
14
11
|
|
|
15
12
|
// src/lib/average.ts
|
|
16
13
|
import { exists } from "@xylabs/exists";
|
|
17
|
-
var isNumber =
|
|
14
|
+
var isNumber = (val) => {
|
|
18
15
|
return val !== void 0;
|
|
19
|
-
}
|
|
20
|
-
var parseStringifiedNumber =
|
|
16
|
+
};
|
|
17
|
+
var parseStringifiedNumber = (value) => {
|
|
21
18
|
if (!value) return void 0;
|
|
22
19
|
const parsed = Number.parseFloat(value);
|
|
23
20
|
return Number.isNaN(parsed) ? void 0 : parsed;
|
|
24
|
-
}
|
|
25
|
-
var averageStringifiedNumbers =
|
|
21
|
+
};
|
|
22
|
+
var averageStringifiedNumbers = (...prices) => {
|
|
26
23
|
const numbers = prices.map(parseStringifiedNumber).filter(isNumber);
|
|
27
24
|
return numbers.length > 0 ? numbers.reduce((sum, n) => sum + n, 0) / numbers.length : void 0;
|
|
28
|
-
}
|
|
29
|
-
var average =
|
|
25
|
+
};
|
|
26
|
+
var average = (...input) => {
|
|
30
27
|
const payloads = input.filter(exists);
|
|
31
28
|
const tokens = new Set(payloads.flatMap((payload) => Object.keys(payload.assets).map((t) => t)));
|
|
32
|
-
const valuations = new Set(
|
|
33
|
-
...tokens
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
averageAssetValuation?.toString()
|
|
53
|
-
];
|
|
54
|
-
}));
|
|
55
|
-
return [
|
|
56
|
-
token,
|
|
57
|
-
{
|
|
58
|
-
value
|
|
59
|
-
}
|
|
60
|
-
];
|
|
61
|
-
}));
|
|
29
|
+
const valuations = new Set(
|
|
30
|
+
[...tokens].flatMap((asset) => {
|
|
31
|
+
const assetInfo = payloads.map((p) => p.assets?.[asset]).filter(exists);
|
|
32
|
+
const valueBasis = new Set(assetInfo.flatMap((v) => Object.keys(v.value)).filter(exists));
|
|
33
|
+
return [...valueBasis];
|
|
34
|
+
})
|
|
35
|
+
);
|
|
36
|
+
const assets = Object.fromEntries(
|
|
37
|
+
[...tokens].map((token) => {
|
|
38
|
+
const assetInfo = payloads.map((p) => p.assets?.[token]).filter(exists);
|
|
39
|
+
const value = Object.fromEntries(
|
|
40
|
+
[...valuations].map((valuation) => {
|
|
41
|
+
const assetValuations = assetInfo.map((info) => info.value?.[valuation]);
|
|
42
|
+
const averageAssetValuation = averageStringifiedNumbers(...assetValuations);
|
|
43
|
+
return [valuation, averageAssetValuation?.toString()];
|
|
44
|
+
})
|
|
45
|
+
);
|
|
46
|
+
return [token, { value }];
|
|
47
|
+
})
|
|
48
|
+
);
|
|
62
49
|
return assets;
|
|
63
|
-
}
|
|
50
|
+
};
|
|
64
51
|
|
|
65
52
|
// src/lib/divineCoinGeckoPrices.ts
|
|
66
53
|
import { CryptoMarketAssetSchema } from "@xyo-network/crypto-asset-payload-plugin";
|
|
67
54
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
68
55
|
var schema = CryptoMarketAssetSchema;
|
|
69
|
-
var valuationExists =
|
|
56
|
+
var valuationExists = (value) => {
|
|
70
57
|
return !!value[1];
|
|
71
|
-
}
|
|
72
|
-
var otherValueExists =
|
|
58
|
+
};
|
|
59
|
+
var otherValueExists = (value) => {
|
|
73
60
|
const possiblyNumber = value[1];
|
|
74
61
|
return typeof possiblyNumber === "number" && !Number.isNaN(possiblyNumber);
|
|
75
|
-
}
|
|
76
|
-
var divineCoinGeckoPrices =
|
|
77
|
-
const assets = payload && payload?.assets ? Object.fromEntries(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
value
|
|
86
|
-
}
|
|
87
|
-
];
|
|
88
|
-
})) : {};
|
|
62
|
+
};
|
|
63
|
+
var divineCoinGeckoPrices = async (payload) => {
|
|
64
|
+
const assets = payload && payload?.assets ? Object.fromEntries(
|
|
65
|
+
Object.entries(payload.assets).filter(valuationExists).map(([asset, valuation]) => {
|
|
66
|
+
const value = Object.fromEntries(
|
|
67
|
+
Object.entries(valuation).filter(otherValueExists).map(([symbol, price]) => [symbol.toLowerCase(), price?.toString()])
|
|
68
|
+
);
|
|
69
|
+
return [asset, { value }];
|
|
70
|
+
})
|
|
71
|
+
) : {};
|
|
89
72
|
const timestamp = Date.now();
|
|
90
|
-
return await new PayloadBuilder({
|
|
91
|
-
|
|
92
|
-
}).fields({
|
|
93
|
-
assets,
|
|
94
|
-
timestamp
|
|
95
|
-
}).build();
|
|
96
|
-
}, "divineCoinGeckoPrices");
|
|
73
|
+
return await new PayloadBuilder({ schema }).fields({ assets, timestamp }).build();
|
|
74
|
+
};
|
|
97
75
|
|
|
98
76
|
// src/lib/divineUniswapPrices.ts
|
|
99
77
|
import { assertEx } from "@xylabs/assert";
|
|
@@ -101,76 +79,54 @@ import { exists as exists2 } from "@xylabs/exists";
|
|
|
101
79
|
import { CryptoMarketAssetSchema as CryptoMarketAssetSchema2 } from "@xyo-network/crypto-asset-payload-plugin";
|
|
102
80
|
import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
|
|
103
81
|
var schema2 = CryptoMarketAssetSchema2;
|
|
104
|
-
var mapUniswapToken =
|
|
82
|
+
var mapUniswapToken = (symbol) => {
|
|
105
83
|
if (symbol.toLowerCase() === "wbtc") return "btc";
|
|
106
84
|
if (symbol.toLowerCase() === "weth") return "eth";
|
|
107
85
|
if (symbol.toLowerCase() === "usdt") return "usd";
|
|
108
86
|
return symbol.toLowerCase();
|
|
109
|
-
}
|
|
110
|
-
var pairsContainingToken =
|
|
87
|
+
};
|
|
88
|
+
var pairsContainingToken = (uniswapPayload, token) => {
|
|
111
89
|
return uniswapPayload?.pairs.map((p) => p.tokens).filter((p) => p.some((x) => x.symbol.toLowerCase() === token)).filter(exists2);
|
|
112
|
-
}
|
|
113
|
-
var tokensFromPairs =
|
|
90
|
+
};
|
|
91
|
+
var tokensFromPairs = (pairs) => {
|
|
114
92
|
return pairs.flatMap((p) => p.tokens).map((t) => t.symbol.toLowerCase());
|
|
115
|
-
}
|
|
116
|
-
var valuesFromTokenPairs =
|
|
117
|
-
return Object.fromEntries(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
other?.symbol.toLowerCase(),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
x[1]
|
|
127
|
-
]));
|
|
128
|
-
}, "valuesFromTokenPairs");
|
|
129
|
-
var divineUniswapPrices = /* @__PURE__ */ __name(async (uniswapPayload) => {
|
|
93
|
+
};
|
|
94
|
+
var valuesFromTokenPairs = (tokensPairs, token) => {
|
|
95
|
+
return Object.fromEntries(
|
|
96
|
+
tokensPairs.map((pair) => {
|
|
97
|
+
const current = pair.find((p) => p.symbol.toLowerCase() === token);
|
|
98
|
+
const other = pair.find((p) => p.symbol.toLowerCase() !== token);
|
|
99
|
+
return [other?.symbol.toLowerCase(), current?.value.toString()];
|
|
100
|
+
}).map((x) => [mapUniswapToken(assertEx(x[0], () => "Undefined Token")), x[1]])
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
var divineUniswapPrices = async (uniswapPayload) => {
|
|
130
104
|
let assets = {};
|
|
131
105
|
if (uniswapPayload) {
|
|
132
106
|
const tokens = new Set(tokensFromPairs(uniswapPayload.pairs));
|
|
133
|
-
assets = Object.fromEntries(
|
|
134
|
-
...tokens
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return [
|
|
142
|
-
token,
|
|
143
|
-
assetInfo
|
|
144
|
-
];
|
|
145
|
-
}));
|
|
107
|
+
assets = Object.fromEntries(
|
|
108
|
+
[...tokens].map((token) => {
|
|
109
|
+
const pairs = pairsContainingToken(uniswapPayload, token);
|
|
110
|
+
const value = valuesFromTokenPairs(pairs, token);
|
|
111
|
+
const assetInfo = { value };
|
|
112
|
+
return [token, assetInfo];
|
|
113
|
+
})
|
|
114
|
+
);
|
|
146
115
|
}
|
|
147
116
|
const timestamp = Date.now();
|
|
148
|
-
return await new PayloadBuilder2({
|
|
149
|
-
|
|
150
|
-
}).fields({
|
|
151
|
-
assets,
|
|
152
|
-
timestamp
|
|
153
|
-
}).build();
|
|
154
|
-
}, "divineUniswapPrices");
|
|
117
|
+
return await new PayloadBuilder2({ schema: schema2 }).fields({ assets, timestamp }).build();
|
|
118
|
+
};
|
|
155
119
|
|
|
156
120
|
// src/lib/divinePrices.ts
|
|
157
121
|
var schema3 = CryptoMarketAssetSchema3;
|
|
158
|
-
var divinePrices =
|
|
122
|
+
var divinePrices = async (coinGeckoPayload, uniswapPayload) => {
|
|
159
123
|
const coinGeckoPrices = await divineCoinGeckoPrices(coinGeckoPayload);
|
|
160
124
|
const uniswapPrices = await divineUniswapPrices(uniswapPayload);
|
|
161
|
-
const prices = [
|
|
162
|
-
uniswapPayload,
|
|
163
|
-
coinGeckoPayload
|
|
164
|
-
].some(exists3);
|
|
125
|
+
const prices = [uniswapPayload, coinGeckoPayload].some(exists3);
|
|
165
126
|
const assets = prices ? average(coinGeckoPrices, uniswapPrices) : {};
|
|
166
127
|
const timestamp = Date.now();
|
|
167
|
-
return await new PayloadBuilder3({
|
|
168
|
-
|
|
169
|
-
}).fields({
|
|
170
|
-
assets,
|
|
171
|
-
timestamp
|
|
172
|
-
}).build();
|
|
173
|
-
}, "divinePrices");
|
|
128
|
+
return await new PayloadBuilder3({ schema: schema3 }).fields({ assets, timestamp }).build();
|
|
129
|
+
};
|
|
174
130
|
|
|
175
131
|
// src/Schema.ts
|
|
176
132
|
var CryptoMarketAssetDivinerQuerySchema = "network.xyo.crypto.asset.diviner.query";
|
|
@@ -178,22 +134,14 @@ var CryptoMarketAssetDivinerConfigSchema = "network.xyo.crypto.asset.diviner.con
|
|
|
178
134
|
|
|
179
135
|
// src/Diviner.ts
|
|
180
136
|
var CryptoMarketAssetDiviner = class extends AbstractDiviner {
|
|
181
|
-
static
|
|
182
|
-
__name(this, "CryptoMarketAssetDiviner");
|
|
183
|
-
}
|
|
184
|
-
static configSchemas = [
|
|
185
|
-
...super.configSchemas,
|
|
186
|
-
CryptoMarketAssetDivinerConfigSchema
|
|
187
|
-
];
|
|
137
|
+
static configSchemas = [...super.configSchemas, CryptoMarketAssetDivinerConfigSchema];
|
|
188
138
|
static defaultConfigSchema = CryptoMarketAssetDivinerConfigSchema;
|
|
189
139
|
static targetSchema = CryptoMarketAssetSchema4;
|
|
190
140
|
async divineHandler(payloads) {
|
|
191
141
|
const coinGeckoPayload = payloads?.find((payload) => payload?.schema === CoingeckoCryptoMarketSchema);
|
|
192
142
|
const uniswapPayload = payloads?.find((payload) => payload?.schema === UniswapCryptoMarketSchema);
|
|
193
143
|
const result = await divinePrices(coinGeckoPayload, uniswapPayload);
|
|
194
|
-
return [
|
|
195
|
-
result
|
|
196
|
-
];
|
|
144
|
+
return [result];
|
|
197
145
|
}
|
|
198
146
|
};
|
|
199
147
|
|
|
@@ -201,16 +149,14 @@ var CryptoMarketAssetDiviner = class extends AbstractDiviner {
|
|
|
201
149
|
import { CryptoMarketAssetSchema as CryptoMarketAssetSchema5 } from "@xyo-network/crypto-asset-payload-plugin";
|
|
202
150
|
import { PayloadSetSchema } from "@xyo-network/payload-model";
|
|
203
151
|
import { createPayloadSetDivinerPlugin } from "@xyo-network/payloadset-plugin";
|
|
204
|
-
var CryptoMarketAssetPlugin =
|
|
205
|
-
required: {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}, "diviner")
|
|
213
|
-
}), "CryptoMarketAssetPlugin");
|
|
152
|
+
var CryptoMarketAssetPlugin = () => createPayloadSetDivinerPlugin(
|
|
153
|
+
{ required: { [CryptoMarketAssetSchema5]: 1 }, schema: PayloadSetSchema },
|
|
154
|
+
{
|
|
155
|
+
diviner: async (params) => {
|
|
156
|
+
return await CryptoMarketAssetDiviner.create(params);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
);
|
|
214
160
|
export {
|
|
215
161
|
CryptoMarketAssetDiviner,
|
|
216
162
|
CryptoMarketAssetDivinerConfigSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Diviner.ts","../../src/lib/divinePrices.ts","../../src/lib/average.ts","../../src/lib/divineCoinGeckoPrices.ts","../../src/lib/divineUniswapPrices.ts","../../src/Schema.ts","../../src/Plugin.ts"],"sourcesContent":["import { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema, Module } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { UniswapCryptoMarketPayload, UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { divinePrices } from './lib/index.ts'\nimport { CryptoMarketAssetDivinerConfigSchema } from './Schema.ts'\n\nexport type CryptoMarketAssetDivinerConfig = DivinerConfig<{ schema: CryptoMarketAssetDivinerConfigSchema }>\nexport type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>\n\nexport class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams>\n extends AbstractDiviner<TParams>\n implements DivinerModule, Module {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoMarketAssetDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoMarketAssetDivinerConfigSchema\n static override targetSchema = CryptoMarketAssetSchema\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const coinGeckoPayload = payloads?.find(payload => payload?.schema === CoingeckoCryptoMarketSchema) as CoingeckoCryptoMarketPayload\n const uniswapPayload = payloads?.find(payload => payload?.schema === UniswapCryptoMarketSchema) as UniswapCryptoMarketPayload\n const result: CryptoMarketAssetPayload = await divinePrices(coinGeckoPayload, uniswapPayload)\n return [result]\n }\n}\n","import { exists } from '@xylabs/exists'\nimport { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { average } from './average.ts'\nimport { divineCoinGeckoPrices } from './divineCoinGeckoPrices.ts'\nimport { divineUniswapPrices } from './divineUniswapPrices.ts'\n\nconst schema = CryptoMarketAssetSchema\n\nexport const divinePrices = async (\n coinGeckoPayload: CoingeckoCryptoMarketPayload | undefined,\n uniswapPayload: UniswapCryptoMarketPayload | undefined,\n): Promise<CryptoMarketAssetPayload> => {\n const coinGeckoPrices = await divineCoinGeckoPrices(coinGeckoPayload)\n const uniswapPrices = await divineUniswapPrices(uniswapPayload)\n const prices = [uniswapPayload, coinGeckoPayload].some(exists)\n const assets = prices ? average(coinGeckoPrices, uniswapPrices) : {}\n const timestamp = Date.now()\n return await new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, Currency, Token } from '@xyo-network/crypto-asset-payload-plugin'\n\nconst isNumber = (val: number | undefined): val is number => {\n return val !== undefined\n}\n\nconst parseStringifiedNumber = (value: string | undefined): number | undefined => {\n if (!value) return undefined\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n}\n\nconst averageStringifiedNumbers = (...prices: (string | undefined)[]): number | undefined => {\n const numbers = prices.map(parseStringifiedNumber).filter(isNumber)\n return numbers.length > 0 ? numbers.reduce((sum, n) => sum + n, 0) / numbers.length : undefined\n}\n\nexport const average = (...input: (CryptoMarketAssetPayload | undefined)[]): Record<string, AssetInfo> => {\n // Get all the assets represented\n const payloads = input.filter(exists)\n const tokens = new Set<Token>(payloads.flatMap(payload => Object.keys(payload.assets).map<Token>(t => t as Token)))\n // Get all the valuations used\n const valuations = new Set<Token | Currency>(\n [...tokens].flatMap((asset) => {\n const assetInfo = payloads.map(p => p.assets?.[asset]).filter(exists)\n const valueBasis = new Set<Currency | Token>(assetInfo.flatMap(v => Object.keys(v.value) as unknown as Currency | Token).filter(exists))\n return [...valueBasis]\n }),\n )\n // For each of the tokens, calculate the average valuation for each of valuation bases\n const assets: Record<string, AssetInfo> = Object.fromEntries(\n [...tokens].map((token) => {\n const assetInfo = payloads.map(p => p.assets?.[token]).filter(exists)\n const value = Object.fromEntries(\n [...valuations].map((valuation) => {\n const assetValuations = assetInfo.map(info => info.value?.[valuation])\n const averageAssetValuation = averageStringifiedNumbers(...assetValuations)\n return [valuation, averageAssetValuation?.toString()]\n }),\n )\n return [token, { value }]\n }),\n )\n return assets\n}\n","import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\n\nconst schema = CryptoMarketAssetSchema\n\nconst valuationExists = (value: [string, Partial<Record<string, number>> | undefined]): value is [string, Partial<Record<string, number>>] => {\n return !!value[1]\n}\n\nconst otherValueExists = (value: [string, number | undefined]): value is [string, number] => {\n const possiblyNumber = value[1]\n return typeof possiblyNumber === 'number' && !Number.isNaN(possiblyNumber)\n}\n\nexport const divineCoinGeckoPrices = async (payload: CoingeckoCryptoMarketPayload | undefined): Promise<CryptoMarketAssetPayload> => {\n const assets: Record<string, AssetInfo>\n = payload && payload?.assets\n ? Object.fromEntries(\n Object.entries(payload.assets)\n .filter(valuationExists)\n .map(([asset, valuation]) => {\n const value = Object.fromEntries(\n Object.entries(valuation)\n .filter(otherValueExists)\n .map(([symbol, price]) => [symbol.toLowerCase(), price?.toString()]),\n )\n return [asset, { value }]\n }),\n )\n : {}\n const timestamp = Date.now()\n return await new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema, Currency, Token, ValueBasis } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload, UniswapCryptoPair, UniswapCryptoToken } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nconst schema = CryptoMarketAssetSchema\n\nconst mapUniswapToken = (symbol: string): Token | Currency => {\n // TODO: Actually calculate the value of the token/stablecoin based on others\n // to weed out individual fluctuations in price\n if (symbol.toLowerCase() === 'wbtc') return 'btc'\n if (symbol.toLowerCase() === 'weth') return 'eth'\n if (symbol.toLowerCase() === 'usdt') return 'usd'\n return symbol.toLowerCase() as Token\n}\n\nconst pairsContainingToken = (uniswapPayload: UniswapCryptoMarketPayload, token: Token) => {\n return uniswapPayload?.pairs\n .map(p => p.tokens)\n .filter(p => p.some(x => x.symbol.toLowerCase() === token))\n .filter(exists)\n}\n\nconst tokensFromPairs = (pairs: UniswapCryptoPair[]) => {\n return pairs.flatMap(p => p.tokens).map(t => t.symbol.toLowerCase() as Token)\n}\n\nconst valuesFromTokenPairs = (tokensPairs: UniswapCryptoToken[][], token: Token): ValueBasis => {\n return Object.fromEntries(\n tokensPairs\n .map((pair) => {\n const current = pair.find(p => p.symbol.toLowerCase() === token)\n const other = pair.find(p => p.symbol.toLowerCase() !== token)\n return [other?.symbol.toLowerCase(), current?.value.toString()]\n })\n .map(x => [mapUniswapToken(assertEx(x[0], () => 'Undefined Token')), x[1]]),\n )\n}\n\nexport const divineUniswapPrices = async (uniswapPayload: UniswapCryptoMarketPayload | undefined): Promise<CryptoMarketAssetPayload> => {\n let assets: Partial<Record<Token, AssetInfo | undefined>> = {}\n if (uniswapPayload) {\n const tokens: Set<Token> = new Set(tokensFromPairs(uniswapPayload.pairs))\n assets = Object.fromEntries(\n [...tokens].map((token) => {\n const pairs = pairsContainingToken(uniswapPayload, token)\n const value: ValueBasis = valuesFromTokenPairs(pairs, token)\n const assetInfo: AssetInfo = { value }\n return [token, assetInfo]\n }),\n )\n }\n const timestamp = Date.now()\n return await new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","export type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\nexport const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\n\nexport type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\nexport const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\n","import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoMarketAssetDiviner } from './Diviner.ts'\n\nexport const CryptoMarketAssetPlugin = () =>\n createPayloadSetDivinerPlugin<CryptoMarketAssetDiviner>(\n { required: { [CryptoMarketAssetSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await CryptoMarketAssetDiviner.create(params)) as CryptoMarketAssetDiviner\n },\n },\n )\n"],"mappings":";;;;AAAA,SAAuCA,mCAAmC;AAC1E,SAAmCC,2BAAAA,gCAA+B;AAClE,SAASC,uBAAuB;AAIhC,SAAqCC,iCAAiC;;;ACNtE,SAASC,UAAAA,eAAc;AAEvB,SAAmCC,2BAAAA,gCAA+B;AAClE,SAASC,kBAAAA,uBAAsB;;;ACH/B,SAASC,cAAc;AAGvB,IAAMC,WAAW,wBAACC,QAAAA;AAChB,SAAOA,QAAQC;AACjB,GAFiB;AAIjB,IAAMC,yBAAyB,wBAACC,UAAAA;AAC9B,MAAI,CAACA,MAAO,QAAOF;AACnB,QAAMG,SAASC,OAAOC,WAAWH,KAAAA;AACjC,SAAOE,OAAOE,MAAMH,MAAAA,IAAUH,SAAYG;AAC5C,GAJ+B;AAM/B,IAAMI,4BAA4B,2BAAIC,WAAAA;AACpC,QAAMC,UAAUD,OAAOE,IAAIT,sBAAAA,EAAwBU,OAAOb,QAAAA;AAC1D,SAAOW,QAAQG,SAAS,IAAIH,QAAQI,OAAO,CAACC,KAAKC,MAAMD,MAAMC,GAAG,CAAA,IAAKN,QAAQG,SAASZ;AACxF,GAHkC;AAK3B,IAAMgB,UAAU,2BAAIC,UAAAA;AAEzB,QAAMC,WAAWD,MAAMN,OAAOQ,MAAAA;AAC9B,QAAMC,SAAS,IAAIC,IAAWH,SAASI,QAAQC,CAAAA,YAAWC,OAAOC,KAAKF,QAAQG,MAAM,EAAEhB,IAAWiB,CAAAA,MAAKA,CAAAA,CAAAA,CAAAA;AAEtG,QAAMC,aAAa,IAAIP,IACrB;OAAID;IAAQE,QAAQ,CAACO,UAAAA;AACnB,UAAMC,YAAYZ,SAASR,IAAIqB,CAAAA,MAAKA,EAAEL,SAASG,KAAAA,CAAM,EAAElB,OAAOQ,MAAAA;AAC9D,UAAMa,aAAa,IAAIX,IAAsBS,UAAUR,QAAQW,CAAAA,MAAKT,OAAOC,KAAKQ,EAAE/B,KAAK,CAAA,EAAkCS,OAAOQ,MAAAA,CAAAA;AAChI,WAAO;SAAIa;;EACb,CAAA,CAAA;AAGF,QAAMN,SAAoCF,OAAOU,YAC/C;OAAId;IAAQV,IAAI,CAACyB,UAAAA;AACf,UAAML,YAAYZ,SAASR,IAAIqB,CAAAA,MAAKA,EAAEL,SAASS,KAAAA,CAAM,EAAExB,OAAOQ,MAAAA;AAC9D,UAAMjB,QAAQsB,OAAOU,YACnB;SAAIN;MAAYlB,IAAI,CAAC0B,cAAAA;AACnB,YAAMC,kBAAkBP,UAAUpB,IAAI4B,CAAAA,SAAQA,KAAKpC,QAAQkC,SAAAA,CAAU;AACrE,YAAMG,wBAAwBhC,0BAAAA,GAA6B8B,eAAAA;AAC3D,aAAO;QAACD;QAAWG,uBAAuBC,SAAAA;;IAC5C,CAAA,CAAA;AAEF,WAAO;MAACL;MAAO;QAAEjC;MAAM;;EACzB,CAAA,CAAA;AAEF,SAAOwB;AACT,GA3BuB;;;ACjBvB,SAA8Ce,+BAA+B;AAC7E,SAASC,sBAAsB;AAE/B,IAAMC,SAASC;AAEf,IAAMC,kBAAkB,wBAACC,UAAAA;AACvB,SAAO,CAAC,CAACA,MAAM,CAAA;AACjB,GAFwB;AAIxB,IAAMC,mBAAmB,wBAACD,UAAAA;AACxB,QAAME,iBAAiBF,MAAM,CAAA;AAC7B,SAAO,OAAOE,mBAAmB,YAAY,CAACC,OAAOC,MAAMF,cAAAA;AAC7D,GAHyB;AAKlB,IAAMG,wBAAwB,8BAAOC,YAAAA;AAC1C,QAAMC,SACFD,WAAWA,SAASC,SAClBC,OAAOC,YACPD,OAAOE,QAAQJ,QAAQC,MAAM,EAC1BI,OAAOZ,eAAAA,EACPa,IAAI,CAAC,CAACC,OAAOC,SAAAA,MAAU;AACtB,UAAMd,QAAQQ,OAAOC,YACnBD,OAAOE,QAAQI,SAAAA,EACZH,OAAOV,gBAAAA,EACPW,IAAI,CAAC,CAACG,QAAQC,KAAAA,MAAW;MAACD,OAAOE,YAAW;MAAID,OAAOE,SAAAA;KAAW,CAAA;AAEvE,WAAO;MAACL;MAAO;QAAEb;MAAM;;EACzB,CAAA,CAAA,IAEF,CAAC;AACP,QAAMmB,YAAYC,KAAKC,IAAG;AAC1B,SAAO,MAAM,IAAIC,eAAyC;IAAEzB;EAAO,CAAA,EAAG0B,OAAO;IAAEhB;IAAQY;EAAU,CAAA,EAAGK,MAAK;AAC3G,GAlBqC;;;ACfrC,SAASC,gBAAgB;AACzB,SAASC,UAAAA,eAAc;AACvB,SAA8CC,2BAAAA,gCAA4D;AAC1G,SAASC,kBAAAA,uBAAsB;AAG/B,IAAMC,UAASC;AAEf,IAAMC,kBAAkB,wBAACC,WAAAA;AAGvB,MAAIA,OAAOC,YAAW,MAAO,OAAQ,QAAO;AAC5C,MAAID,OAAOC,YAAW,MAAO,OAAQ,QAAO;AAC5C,MAAID,OAAOC,YAAW,MAAO,OAAQ,QAAO;AAC5C,SAAOD,OAAOC,YAAW;AAC3B,GAPwB;AASxB,IAAMC,uBAAuB,wBAACC,gBAA4CC,UAAAA;AACxE,SAAOD,gBAAgBE,MACpBC,IAAIC,CAAAA,MAAKA,EAAEC,MAAM,EACjBC,OAAOF,CAAAA,MAAKA,EAAEG,KAAKC,CAAAA,MAAKA,EAAEX,OAAOC,YAAW,MAAOG,KAAAA,CAAAA,EACnDK,OAAOG,OAAAA;AACZ,GAL6B;AAO7B,IAAMC,kBAAkB,wBAACR,UAAAA;AACvB,SAAOA,MAAMS,QAAQP,CAAAA,MAAKA,EAAEC,MAAM,EAAEF,IAAIS,CAAAA,MAAKA,EAAEf,OAAOC,YAAW,CAAA;AACnE,GAFwB;AAIxB,IAAMe,uBAAuB,wBAACC,aAAqCb,UAAAA;AACjE,SAAOc,OAAOC,YACZF,YACGX,IAAI,CAACc,SAAAA;AACJ,UAAMC,UAAUD,KAAKE,KAAKf,CAAAA,MAAKA,EAAEP,OAAOC,YAAW,MAAOG,KAAAA;AAC1D,UAAMmB,QAAQH,KAAKE,KAAKf,CAAAA,MAAKA,EAAEP,OAAOC,YAAW,MAAOG,KAAAA;AACxD,WAAO;MAACmB,OAAOvB,OAAOC,YAAAA;MAAeoB,SAASG,MAAMC,SAAAA;;EACtD,CAAA,EACCnB,IAAIK,CAAAA,MAAK;IAACZ,gBAAgB2B,SAASf,EAAE,CAAA,GAAI,MAAM,iBAAA,CAAA;IAAqBA,EAAE,CAAA;GAAG,CAAA;AAEhF,GAV6B;AAYtB,IAAMgB,sBAAsB,8BAAOxB,mBAAAA;AACxC,MAAIyB,SAAwD,CAAC;AAC7D,MAAIzB,gBAAgB;AAClB,UAAMK,SAAqB,IAAIqB,IAAIhB,gBAAgBV,eAAeE,KAAK,CAAA;AACvEuB,aAASV,OAAOC,YACd;SAAIX;MAAQF,IAAI,CAACF,UAAAA;AACf,YAAMC,QAAQH,qBAAqBC,gBAAgBC,KAAAA;AACnD,YAAMoB,QAAoBR,qBAAqBX,OAAOD,KAAAA;AACtD,YAAM0B,YAAuB;QAAEN;MAAM;AACrC,aAAO;QAACpB;QAAO0B;;IACjB,CAAA,CAAA;EAEJ;AACA,QAAMC,YAAYC,KAAKC,IAAG;AAC1B,SAAO,MAAM,IAAIC,gBAAyC;IAAErC,QAAAA;EAAO,CAAA,EAAGsC,OAAO;IAAEP;IAAQG;EAAU,CAAA,EAAGK,MAAK;AAC3G,GAfmC;;;AH9BnC,IAAMC,UAASC;AAER,IAAMC,eAAe,8BAC1BC,kBACAC,mBAAAA;AAEA,QAAMC,kBAAkB,MAAMC,sBAAsBH,gBAAAA;AACpD,QAAMI,gBAAgB,MAAMC,oBAAoBJ,cAAAA;AAChD,QAAMK,SAAS;IAACL;IAAgBD;IAAkBO,KAAKC,OAAAA;AACvD,QAAMC,SAASH,SAASI,QAAQR,iBAAiBE,aAAAA,IAAiB,CAAC;AACnE,QAAMO,YAAYC,KAAKC,IAAG;AAC1B,SAAO,MAAM,IAAIC,gBAAyC;IAAEjB,QAAAA;EAAO,CAAA,EAAGkB,OAAO;IAAEN;IAAQE;EAAU,CAAA,EAAGK,MAAK;AAC3G,GAV4B;;;AIXrB,IAAMC,sCAA2E;AAGjF,IAAMC,uCAA6E;;;ALUnF,IAAMC,2BAAN,cACGC,gBAAAA;EAfV,OAeUA;;;EAER,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EACvD,OAAgBE,eAAeC;EAE/B,MAAyBC,cAAcC,UAA0C;AAC/E,UAAMC,mBAAmBD,UAAUE,KAAKC,CAAAA,YAAWA,SAASC,WAAWC,2BAAAA;AACvE,UAAMC,iBAAiBN,UAAUE,KAAKC,CAAAA,YAAWA,SAASC,WAAWG,yBAAAA;AACrE,UAAMC,SAAmC,MAAMC,aAAaR,kBAAkBK,cAAAA;AAC9E,WAAO;MAACE;;EACV;AACF;;;AM3BA,SAASE,2BAAAA,gCAA+B;AACxC,SAASC,wBAAwB;AACjC,SAASC,qCAAqC;AAIvC,IAAMC,0BAA0B,6BACrCC,8BACE;EAAEC,UAAU;IAAE,CAACC,wBAAAA,GAA0B;EAAE;EAAGC,QAAQC;AAAiB,GACvE;EACEC,SAAS,8BAAOC,WAAAA;AACd,WAAQ,MAAMC,yBAAyBC,OAAOF,MAAAA;EAChD,GAFS;AAGX,CAAA,GAPmC;","names":["CoingeckoCryptoMarketSchema","CryptoMarketAssetSchema","AbstractDiviner","UniswapCryptoMarketSchema","exists","CryptoMarketAssetSchema","PayloadBuilder","exists","isNumber","val","undefined","parseStringifiedNumber","value","parsed","Number","parseFloat","isNaN","averageStringifiedNumbers","prices","numbers","map","filter","length","reduce","sum","n","average","input","payloads","exists","tokens","Set","flatMap","payload","Object","keys","assets","t","valuations","asset","assetInfo","p","valueBasis","v","fromEntries","token","valuation","assetValuations","info","averageAssetValuation","toString","CryptoMarketAssetSchema","PayloadBuilder","schema","CryptoMarketAssetSchema","valuationExists","value","otherValueExists","possiblyNumber","Number","isNaN","divineCoinGeckoPrices","payload","assets","Object","fromEntries","entries","filter","map","asset","valuation","symbol","price","toLowerCase","toString","timestamp","Date","now","PayloadBuilder","fields","build","assertEx","exists","CryptoMarketAssetSchema","PayloadBuilder","schema","CryptoMarketAssetSchema","mapUniswapToken","symbol","toLowerCase","pairsContainingToken","uniswapPayload","token","pairs","map","p","tokens","filter","some","x","exists","tokensFromPairs","flatMap","t","valuesFromTokenPairs","tokensPairs","Object","fromEntries","pair","current","find","other","value","toString","assertEx","divineUniswapPrices","assets","Set","assetInfo","timestamp","Date","now","PayloadBuilder","fields","build","schema","CryptoMarketAssetSchema","divinePrices","coinGeckoPayload","uniswapPayload","coinGeckoPrices","divineCoinGeckoPrices","uniswapPrices","divineUniswapPrices","prices","some","exists","assets","average","timestamp","Date","now","PayloadBuilder","fields","build","CryptoMarketAssetDivinerQuerySchema","CryptoMarketAssetDivinerConfigSchema","CryptoMarketAssetDiviner","AbstractDiviner","configSchemas","CryptoMarketAssetDivinerConfigSchema","defaultConfigSchema","targetSchema","CryptoMarketAssetSchema","divineHandler","payloads","coinGeckoPayload","find","payload","schema","CoingeckoCryptoMarketSchema","uniswapPayload","UniswapCryptoMarketSchema","result","divinePrices","CryptoMarketAssetSchema","PayloadSetSchema","createPayloadSetDivinerPlugin","CryptoMarketAssetPlugin","createPayloadSetDivinerPlugin","required","CryptoMarketAssetSchema","schema","PayloadSetSchema","diviner","params","CryptoMarketAssetDiviner","create"]}
|
|
1
|
+
{"version":3,"sources":["../../src/Diviner.ts","../../src/lib/divinePrices.ts","../../src/lib/average.ts","../../src/lib/divineCoinGeckoPrices.ts","../../src/lib/divineUniswapPrices.ts","../../src/Schema.ts","../../src/Plugin.ts"],"sourcesContent":["import { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { AnyConfigSchema, Module } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { UniswapCryptoMarketPayload, UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { divinePrices } from './lib/index.ts'\nimport { CryptoMarketAssetDivinerConfigSchema } from './Schema.ts'\n\nexport type CryptoMarketAssetDivinerConfig = DivinerConfig<{ schema: CryptoMarketAssetDivinerConfigSchema }>\nexport type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>\n\nexport class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams>\n extends AbstractDiviner<TParams>\n implements DivinerModule, Module {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CryptoMarketAssetDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = CryptoMarketAssetDivinerConfigSchema\n static override targetSchema = CryptoMarketAssetSchema\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const coinGeckoPayload = payloads?.find(payload => payload?.schema === CoingeckoCryptoMarketSchema) as CoingeckoCryptoMarketPayload\n const uniswapPayload = payloads?.find(payload => payload?.schema === UniswapCryptoMarketSchema) as UniswapCryptoMarketPayload\n const result: CryptoMarketAssetPayload = await divinePrices(coinGeckoPayload, uniswapPayload)\n return [result]\n }\n}\n","import { exists } from '@xylabs/exists'\nimport { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { average } from './average.ts'\nimport { divineCoinGeckoPrices } from './divineCoinGeckoPrices.ts'\nimport { divineUniswapPrices } from './divineUniswapPrices.ts'\n\nconst schema = CryptoMarketAssetSchema\n\nexport const divinePrices = async (\n coinGeckoPayload: CoingeckoCryptoMarketPayload | undefined,\n uniswapPayload: UniswapCryptoMarketPayload | undefined,\n): Promise<CryptoMarketAssetPayload> => {\n const coinGeckoPrices = await divineCoinGeckoPrices(coinGeckoPayload)\n const uniswapPrices = await divineUniswapPrices(uniswapPayload)\n const prices = [uniswapPayload, coinGeckoPayload].some(exists)\n const assets = prices ? average(coinGeckoPrices, uniswapPrices) : {}\n const timestamp = Date.now()\n return await new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, Currency, Token } from '@xyo-network/crypto-asset-payload-plugin'\n\nconst isNumber = (val: number | undefined): val is number => {\n return val !== undefined\n}\n\nconst parseStringifiedNumber = (value: string | undefined): number | undefined => {\n if (!value) return undefined\n const parsed = Number.parseFloat(value)\n return Number.isNaN(parsed) ? undefined : parsed\n}\n\nconst averageStringifiedNumbers = (...prices: (string | undefined)[]): number | undefined => {\n const numbers = prices.map(parseStringifiedNumber).filter(isNumber)\n return numbers.length > 0 ? numbers.reduce((sum, n) => sum + n, 0) / numbers.length : undefined\n}\n\nexport const average = (...input: (CryptoMarketAssetPayload | undefined)[]): Record<string, AssetInfo> => {\n // Get all the assets represented\n const payloads = input.filter(exists)\n const tokens = new Set<Token>(payloads.flatMap(payload => Object.keys(payload.assets).map<Token>(t => t as Token)))\n // Get all the valuations used\n const valuations = new Set<Token | Currency>(\n [...tokens].flatMap((asset) => {\n const assetInfo = payloads.map(p => p.assets?.[asset]).filter(exists)\n const valueBasis = new Set<Currency | Token>(assetInfo.flatMap(v => Object.keys(v.value) as unknown as Currency | Token).filter(exists))\n return [...valueBasis]\n }),\n )\n // For each of the tokens, calculate the average valuation for each of valuation bases\n const assets: Record<string, AssetInfo> = Object.fromEntries(\n [...tokens].map((token) => {\n const assetInfo = payloads.map(p => p.assets?.[token]).filter(exists)\n const value = Object.fromEntries(\n [...valuations].map((valuation) => {\n const assetValuations = assetInfo.map(info => info.value?.[valuation])\n const averageAssetValuation = averageStringifiedNumbers(...assetValuations)\n return [valuation, averageAssetValuation?.toString()]\n }),\n )\n return [token, { value }]\n }),\n )\n return assets\n}\n","import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\n\nconst schema = CryptoMarketAssetSchema\n\nconst valuationExists = (value: [string, Partial<Record<string, number>> | undefined]): value is [string, Partial<Record<string, number>>] => {\n return !!value[1]\n}\n\nconst otherValueExists = (value: [string, number | undefined]): value is [string, number] => {\n const possiblyNumber = value[1]\n return typeof possiblyNumber === 'number' && !Number.isNaN(possiblyNumber)\n}\n\nexport const divineCoinGeckoPrices = async (payload: CoingeckoCryptoMarketPayload | undefined): Promise<CryptoMarketAssetPayload> => {\n const assets: Record<string, AssetInfo>\n = payload && payload?.assets\n ? Object.fromEntries(\n Object.entries(payload.assets)\n .filter(valuationExists)\n .map(([asset, valuation]) => {\n const value = Object.fromEntries(\n Object.entries(valuation)\n .filter(otherValueExists)\n .map(([symbol, price]) => [symbol.toLowerCase(), price?.toString()]),\n )\n return [asset, { value }]\n }),\n )\n : {}\n const timestamp = Date.now()\n return await new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { assertEx } from '@xylabs/assert'\nimport { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema, Currency, Token, ValueBasis } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload, UniswapCryptoPair, UniswapCryptoToken } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nconst schema = CryptoMarketAssetSchema\n\nconst mapUniswapToken = (symbol: string): Token | Currency => {\n // TODO: Actually calculate the value of the token/stablecoin based on others\n // to weed out individual fluctuations in price\n if (symbol.toLowerCase() === 'wbtc') return 'btc'\n if (symbol.toLowerCase() === 'weth') return 'eth'\n if (symbol.toLowerCase() === 'usdt') return 'usd'\n return symbol.toLowerCase() as Token\n}\n\nconst pairsContainingToken = (uniswapPayload: UniswapCryptoMarketPayload, token: Token) => {\n return uniswapPayload?.pairs\n .map(p => p.tokens)\n .filter(p => p.some(x => x.symbol.toLowerCase() === token))\n .filter(exists)\n}\n\nconst tokensFromPairs = (pairs: UniswapCryptoPair[]) => {\n return pairs.flatMap(p => p.tokens).map(t => t.symbol.toLowerCase() as Token)\n}\n\nconst valuesFromTokenPairs = (tokensPairs: UniswapCryptoToken[][], token: Token): ValueBasis => {\n return Object.fromEntries(\n tokensPairs\n .map((pair) => {\n const current = pair.find(p => p.symbol.toLowerCase() === token)\n const other = pair.find(p => p.symbol.toLowerCase() !== token)\n return [other?.symbol.toLowerCase(), current?.value.toString()]\n })\n .map(x => [mapUniswapToken(assertEx(x[0], () => 'Undefined Token')), x[1]]),\n )\n}\n\nexport const divineUniswapPrices = async (uniswapPayload: UniswapCryptoMarketPayload | undefined): Promise<CryptoMarketAssetPayload> => {\n let assets: Partial<Record<Token, AssetInfo | undefined>> = {}\n if (uniswapPayload) {\n const tokens: Set<Token> = new Set(tokensFromPairs(uniswapPayload.pairs))\n assets = Object.fromEntries(\n [...tokens].map((token) => {\n const pairs = pairsContainingToken(uniswapPayload, token)\n const value: ValueBasis = valuesFromTokenPairs(pairs, token)\n const assetInfo: AssetInfo = { value }\n return [token, assetInfo]\n }),\n )\n }\n const timestamp = Date.now()\n return await new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","export type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\nexport const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\n\nexport type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\nexport const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\n","import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoMarketAssetDiviner } from './Diviner.ts'\n\nexport const CryptoMarketAssetPlugin = () =>\n createPayloadSetDivinerPlugin<CryptoMarketAssetDiviner>(\n { required: { [CryptoMarketAssetSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await CryptoMarketAssetDiviner.create(params)) as CryptoMarketAssetDiviner\n },\n },\n )\n"],"mappings":"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","names":["CryptoMarketAssetSchema","exists","CryptoMarketAssetSchema","PayloadBuilder","exists","CryptoMarketAssetSchema","PayloadBuilder","schema","schema","CryptoMarketAssetSchema","exists","PayloadBuilder","CryptoMarketAssetSchema","CryptoMarketAssetSchema","CryptoMarketAssetSchema"]}
|
package/package.json
CHANGED
|
@@ -10,52 +10,33 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/plugins/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xylabs/assert": "^
|
|
14
|
-
"@xylabs/exists": "^
|
|
15
|
-
"@xyo-network/coingecko-crypto-market-payload-plugin": "^
|
|
16
|
-
"@xyo-network/crypto-asset-payload-plugin": "^
|
|
17
|
-
"@xyo-network/diviner-abstract": "^
|
|
18
|
-
"@xyo-network/diviner-model": "^
|
|
19
|
-
"@xyo-network/module-model": "^
|
|
20
|
-
"@xyo-network/payload-builder": "^
|
|
21
|
-
"@xyo-network/payload-model": "^
|
|
22
|
-
"@xyo-network/payloadset-plugin": "^
|
|
23
|
-
"@xyo-network/uniswap-crypto-market-payload-plugin": "^
|
|
13
|
+
"@xylabs/assert": "^4.0.0",
|
|
14
|
+
"@xylabs/exists": "^4.0.0",
|
|
15
|
+
"@xyo-network/coingecko-crypto-market-payload-plugin": "^3.0.0",
|
|
16
|
+
"@xyo-network/crypto-asset-payload-plugin": "^3.0.0",
|
|
17
|
+
"@xyo-network/diviner-abstract": "^3.0.1",
|
|
18
|
+
"@xyo-network/diviner-model": "^3.0.1",
|
|
19
|
+
"@xyo-network/module-model": "^3.0.1",
|
|
20
|
+
"@xyo-network/payload-builder": "^3.0.1",
|
|
21
|
+
"@xyo-network/payload-model": "^3.0.1",
|
|
22
|
+
"@xyo-network/payloadset-plugin": "^3.0.1",
|
|
23
|
+
"@xyo-network/uniswap-crypto-market-payload-plugin": "^3.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@xylabs/ts-scripts-yarn3": "^
|
|
27
|
-
"@xylabs/tsconfig": "^
|
|
26
|
+
"@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
|
|
27
|
+
"@xylabs/tsconfig": "^4.0.0-rc.15",
|
|
28
28
|
"typescript": "^5.5.4"
|
|
29
29
|
},
|
|
30
30
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
31
|
-
"types": "dist/
|
|
31
|
+
"types": "dist/neutral/index.d.ts",
|
|
32
32
|
"exports": {
|
|
33
33
|
".": {
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
"types": "./dist/browser/index.d.cts",
|
|
37
|
-
"default": "./dist/browser/index.cjs"
|
|
38
|
-
},
|
|
39
|
-
"import": {
|
|
40
|
-
"types": "./dist/browser/index.d.mts",
|
|
41
|
-
"default": "./dist/browser/index.mjs"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
"node": {
|
|
45
|
-
"require": {
|
|
46
|
-
"types": "./dist/node/index.d.cts",
|
|
47
|
-
"default": "./dist/node/index.cjs"
|
|
48
|
-
},
|
|
49
|
-
"import": {
|
|
50
|
-
"types": "./dist/node/index.d.mts",
|
|
51
|
-
"default": "./dist/node/index.mjs"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
34
|
+
"types": "./dist/neutral/index.d.ts",
|
|
35
|
+
"default": "./dist/neutral/index.mjs"
|
|
54
36
|
},
|
|
55
37
|
"./package.json": "./package.json"
|
|
56
38
|
},
|
|
57
|
-
"
|
|
58
|
-
"module": "dist/node/index.mjs",
|
|
39
|
+
"module": "dist/neutral/index.mjs",
|
|
59
40
|
"homepage": "https://xyo.network",
|
|
60
41
|
"license": "LGPL-3.0-only",
|
|
61
42
|
"publishConfig": {
|
|
@@ -66,6 +47,6 @@
|
|
|
66
47
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
67
48
|
},
|
|
68
49
|
"sideEffects": false,
|
|
69
|
-
"version": "
|
|
50
|
+
"version": "3.0.0",
|
|
70
51
|
"type": "module"
|
|
71
52
|
}
|
package/src/index.ts
CHANGED
package/xy.config.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
|
|
2
2
|
const config: XyTsupConfig = {
|
|
3
3
|
compile: {
|
|
4
|
-
browser: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
node: {
|
|
4
|
+
browser: {},
|
|
5
|
+
node: {},
|
|
6
|
+
neutral: {
|
|
8
7
|
src: true,
|
|
9
8
|
},
|
|
10
9
|
},
|
|
11
10
|
}
|
|
12
11
|
|
|
13
|
-
// eslint-disable-next-line import/no-default-export
|
|
12
|
+
// eslint-disable-next-line import-x/no-default-export
|
|
14
13
|
export default config
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
-
import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model';
|
|
3
|
-
import { AnyConfigSchema, Module } from '@xyo-network/module-model';
|
|
4
|
-
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
5
|
-
import { CryptoMarketAssetDivinerConfigSchema } from './Schema.ts';
|
|
6
|
-
export type CryptoMarketAssetDivinerConfig = DivinerConfig<{
|
|
7
|
-
schema: CryptoMarketAssetDivinerConfigSchema;
|
|
8
|
-
}>;
|
|
9
|
-
export type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>;
|
|
10
|
-
export declare class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule, Module {
|
|
11
|
-
static readonly configSchemas: Schema[];
|
|
12
|
-
static readonly defaultConfigSchema: Schema;
|
|
13
|
-
static targetSchema: "network.xyo.crypto.asset";
|
|
14
|
-
protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAA;AAElE,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;IAChC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,6BAA0B;cAE7B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAMjF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
-
import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model';
|
|
3
|
-
import { AnyConfigSchema, Module } from '@xyo-network/module-model';
|
|
4
|
-
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
5
|
-
import { CryptoMarketAssetDivinerConfigSchema } from './Schema.ts';
|
|
6
|
-
export type CryptoMarketAssetDivinerConfig = DivinerConfig<{
|
|
7
|
-
schema: CryptoMarketAssetDivinerConfigSchema;
|
|
8
|
-
}>;
|
|
9
|
-
export type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>;
|
|
10
|
-
export declare class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule, Module {
|
|
11
|
-
static readonly configSchemas: Schema[];
|
|
12
|
-
static readonly defaultConfigSchema: Schema;
|
|
13
|
-
static targetSchema: "network.xyo.crypto.asset";
|
|
14
|
-
protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAA;AAElE,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;IAChC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,6BAA0B;cAE7B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAMjF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AbstractDiviner } from '@xyo-network/diviner-abstract';
|
|
2
|
-
import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model';
|
|
3
|
-
import { AnyConfigSchema, Module } from '@xyo-network/module-model';
|
|
4
|
-
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
5
|
-
import { CryptoMarketAssetDivinerConfigSchema } from './Schema.ts';
|
|
6
|
-
export type CryptoMarketAssetDivinerConfig = DivinerConfig<{
|
|
7
|
-
schema: CryptoMarketAssetDivinerConfigSchema;
|
|
8
|
-
}>;
|
|
9
|
-
export type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>;
|
|
10
|
-
export declare class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule, Module {
|
|
11
|
-
static readonly configSchemas: Schema[];
|
|
12
|
-
static readonly defaultConfigSchema: Schema;
|
|
13
|
-
static targetSchema: "network.xyo.crypto.asset";
|
|
14
|
-
protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,aAAa,CAAA;AAElE,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;IAChC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAC3F,OAAgB,YAAY,6BAA0B;cAE7B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAMjF"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CryptoMarketAssetDiviner } from './Diviner.ts';
|
|
2
|
-
export declare const CryptoMarketAssetPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetDivinerPlugin<CryptoMarketAssetDiviner<import("@xylabs/object").BaseParamsFields & {
|
|
3
|
-
account?: import("@xyo-network/account-model").AccountInstance | "random";
|
|
4
|
-
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
|
|
6
|
-
allowNameResolution?: boolean;
|
|
7
|
-
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
8
|
-
schema: "network.xyo.crypto.asset.diviner.config";
|
|
9
|
-
} & {
|
|
10
|
-
schema: import("./Schema.ts").CryptoMarketAssetDivinerConfigSchema;
|
|
11
|
-
}, "schema"> & {
|
|
12
|
-
schema: "network.xyo.crypto.asset.diviner.config";
|
|
13
|
-
}, "schema"> & {
|
|
14
|
-
schema: string;
|
|
15
|
-
};
|
|
16
|
-
ephemeralQueryAccountEnabled?: boolean;
|
|
17
|
-
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
18
|
-
}>>;
|
|
19
|
-
//# 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,wBAAwB,EAAE,MAAM,cAAc,CAAA;AAEvD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;GAQjC,CAAA"}
|