@xyo-network/coingecko-crypto-market-plugin 2.99.5 → 2.99.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Plugin.d.cts +3 -3
- package/dist/browser/Plugin.d.mts +3 -3
- package/dist/browser/Plugin.d.ts +3 -3
- package/dist/browser/index.cjs +27 -77
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.mjs +27 -79
- package/dist/browser/index.mjs.map +1 -1
- package/dist/neutral/Plugin.d.cts +3 -3
- package/dist/neutral/Plugin.d.mts +3 -3
- package/dist/neutral/Plugin.d.ts +3 -3
- package/dist/neutral/index.cjs +27 -77
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.mjs +27 -79
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/node/Plugin.d.cts +3 -3
- package/dist/node/Plugin.d.mts +3 -3
- package/dist/node/Plugin.d.ts +3 -3
- package/dist/node/index.cjs +29 -83
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +29 -85
- package/dist/node/index.mjs.map +1 -1
- package/package.json +11 -11
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CoingeckoCryptoMarketWitness } from './Witness.ts';
|
|
2
|
-
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import("
|
|
3
|
-
account?: import("
|
|
2
|
+
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import(".store/@xylabs-object-npm-3.6.12-443b813787/package").BaseParamsFields & {
|
|
3
|
+
account?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("
|
|
5
|
+
additionalSigners?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance[];
|
|
6
6
|
allowNameResolution?: boolean;
|
|
7
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
8
|
schema: "network.xyo.crypto.market.coingecko.witness.config";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CoingeckoCryptoMarketWitness } from './Witness.ts';
|
|
2
|
-
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import("
|
|
3
|
-
account?: import("
|
|
2
|
+
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import(".store/@xylabs-object-npm-3.6.12-443b813787/package").BaseParamsFields & {
|
|
3
|
+
account?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("
|
|
5
|
+
additionalSigners?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance[];
|
|
6
6
|
allowNameResolution?: boolean;
|
|
7
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
8
|
schema: "network.xyo.crypto.market.coingecko.witness.config";
|
package/dist/browser/Plugin.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CoingeckoCryptoMarketWitness } from './Witness.ts';
|
|
2
|
-
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import("
|
|
3
|
-
account?: import("
|
|
2
|
+
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import(".store/@xylabs-object-npm-3.6.12-443b813787/package").BaseParamsFields & {
|
|
3
|
+
account?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("
|
|
5
|
+
additionalSigners?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance[];
|
|
6
6
|
allowNameResolution?: boolean;
|
|
7
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
8
|
schema: "network.xyo.crypto.market.coingecko.witness.config";
|
package/dist/browser/index.cjs
CHANGED
|
@@ -3,7 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
6
|
var __export = (target, all) => {
|
|
8
7
|
for (var name in all)
|
|
9
8
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -51,64 +50,25 @@ var coingeckoCoinToAssetMap = {
|
|
|
51
50
|
|
|
52
51
|
// src/lib/defaults.ts
|
|
53
52
|
var defaultCoins = [
|
|
54
|
-
{
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "dogecoin"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: "ethereum"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
name: "polkadot"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
name: "solana"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "tether"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
name: "usd-coin"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: "wrapped-bitcoin"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "xrp"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
name: "xyo-network"
|
|
92
|
-
}
|
|
93
|
-
];
|
|
94
|
-
var defaultCurrencies = [
|
|
95
|
-
{
|
|
96
|
-
symbol: "usd"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
symbol: "eur"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
symbol: "btc"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
symbol: "eth"
|
|
106
|
-
}
|
|
53
|
+
{ name: "bitcoin" },
|
|
54
|
+
{ name: "binance-usd" },
|
|
55
|
+
{ name: "bnb" },
|
|
56
|
+
{ name: "cardano" },
|
|
57
|
+
{ name: "dogecoin" },
|
|
58
|
+
{ name: "ethereum" },
|
|
59
|
+
{ name: "polkadot" },
|
|
60
|
+
{ name: "solana" },
|
|
61
|
+
{ name: "tether" },
|
|
62
|
+
{ name: "usd-coin" },
|
|
63
|
+
{ name: "wrapped-bitcoin" },
|
|
64
|
+
{ name: "xrp" },
|
|
65
|
+
{ name: "xyo-network" }
|
|
107
66
|
];
|
|
67
|
+
var defaultCurrencies = [{ symbol: "usd" }, { symbol: "eur" }, { symbol: "btc" }, { symbol: "eth" }];
|
|
108
68
|
|
|
109
69
|
// src/lib/pricesFromCoingecko.ts
|
|
110
70
|
var import_axios = require("@xylabs/axios");
|
|
111
|
-
var pricesFromCoingecko =
|
|
71
|
+
var pricesFromCoingecko = async (coins, currencies) => {
|
|
112
72
|
const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(",")}&vs_currencies=${currencies.map(({ symbol }) => symbol).join(",")}`;
|
|
113
73
|
const coinGeckoSimplePrices = (await import_axios.axios.get(url)).data;
|
|
114
74
|
const assets = {};
|
|
@@ -116,7 +76,7 @@ var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
|
|
|
116
76
|
assets[coingeckoCoinToAssetMap[key]] = value;
|
|
117
77
|
}
|
|
118
78
|
return assets;
|
|
119
|
-
}
|
|
79
|
+
};
|
|
120
80
|
|
|
121
81
|
// src/Plugin.ts
|
|
122
82
|
var import_coingecko_crypto_market_payload_plugin2 = require("@xyo-network/coingecko-crypto-market-payload-plugin");
|
|
@@ -132,13 +92,7 @@ var CoingeckoCryptoMarketWitnessConfigSchema = "network.xyo.crypto.market.coinge
|
|
|
132
92
|
|
|
133
93
|
// src/Witness.ts
|
|
134
94
|
var CoingeckoCryptoMarketWitness = class extends import_abstract_witness.AbstractWitness {
|
|
135
|
-
static
|
|
136
|
-
__name(this, "CoingeckoCryptoMarketWitness");
|
|
137
|
-
}
|
|
138
|
-
static configSchemas = [
|
|
139
|
-
...super.configSchemas,
|
|
140
|
-
CoingeckoCryptoMarketWitnessConfigSchema
|
|
141
|
-
];
|
|
95
|
+
static configSchemas = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema];
|
|
142
96
|
static defaultConfigSchema = CoingeckoCryptoMarketWitnessConfigSchema;
|
|
143
97
|
async observeHandler() {
|
|
144
98
|
const assets = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? []);
|
|
@@ -147,22 +101,18 @@ var CoingeckoCryptoMarketWitness = class extends import_abstract_witness.Abstrac
|
|
|
147
101
|
schema: import_coingecko_crypto_market_payload_plugin.CoingeckoCryptoMarketSchema,
|
|
148
102
|
timestamp: Date.now()
|
|
149
103
|
};
|
|
150
|
-
return [
|
|
151
|
-
payload
|
|
152
|
-
];
|
|
104
|
+
return [payload];
|
|
153
105
|
}
|
|
154
106
|
};
|
|
155
107
|
|
|
156
108
|
// src/Plugin.ts
|
|
157
|
-
var CoingeckoCryptoMarketPlugin =
|
|
158
|
-
required: {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}, "witness")
|
|
167
|
-
}), "CoingeckoCryptoMarketPlugin");
|
|
109
|
+
var CoingeckoCryptoMarketPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
110
|
+
{ required: { [import_coingecko_crypto_market_payload_plugin2.CoingeckoCryptoMarketSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
111
|
+
{
|
|
112
|
+
witness: async (params) => {
|
|
113
|
+
const result = await CoingeckoCryptoMarketWitness.create(params);
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
);
|
|
168
118
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/lib/coinGeckoCoinToAssetMap.ts","../../src/lib/defaults.ts","../../src/lib/pricesFromCoingecko.ts","../../src/Plugin.ts","../../src/Witness.ts","../../src/Schema.ts"],"sourcesContent":["export * from './Config.ts'\nexport * from './lib/index.ts'\n// eslint-disable-next-line import/no-default-export\nexport { CoingeckoCryptoMarketPlugin, CoingeckoCryptoMarketPlugin as default } from './Plugin.ts'\nexport * from './Schema.ts'\nexport * from './Witness.ts'\n","import { AssetSymbol } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const coingeckoCoinToAssetMap: Record<string, AssetSymbol> = {\n 'binance-usd': 'busd',\n 'bitcoin': 'btc',\n 'bnb': 'bnb',\n 'cardano': 'ada',\n 'dogecoin': 'doge',\n 'ethereum': 'eth',\n 'polkadot': 'dot',\n 'solana': 'sol',\n 'tether': 'usdt',\n 'usd-coin': 'usdc',\n 'wrapped-bitcoin': 'wbtc',\n 'xrp': 'xrp',\n 'xyo-network': 'xyo',\n}\n","import { CryptoAsset } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const defaultCoins: CryptoAsset[] = [\n { name: 'bitcoin' },\n { name: 'binance-usd' },\n { name: 'bnb' },\n { name: 'cardano' },\n { name: 'dogecoin' },\n { name: 'ethereum' },\n { name: 'polkadot' },\n { name: 'solana' },\n { name: 'tether' },\n { name: 'usd-coin' },\n { name: 'wrapped-bitcoin' },\n { name: 'xrp' },\n { name: 'xyo-network' },\n]\n\nexport const defaultCurrencies: CryptoAsset[] = [{ symbol: 'usd' }, { symbol: 'eur' }, { symbol: 'btc' }, { symbol: 'eth' }]\n","import { axios } from '@xylabs/axios'\nimport { AssetSymbol, CryptoAsset, CryptoAssetPrices } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nimport { coingeckoCoinToAssetMap } from './coinGeckoCoinToAssetMap.ts'\n\ntype CoinGeckoSimplePrice = Partial<Record<AssetSymbol, number>>\ntype CoinGeckoSimplePrices = Record<string, CoinGeckoSimplePrice>\n\nexport const pricesFromCoingecko = async (coins: CryptoAsset[], currencies: CryptoAsset[]) => {\n const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(',')}&vs_currencies=${currencies\n .map(({ symbol }) => symbol)\n .join(',')}`\n const coinGeckoSimplePrices = (await axios.get<CoinGeckoSimplePrices>(url)).data\n const assets: CryptoAssetPrices = {}\n for (const [key, value] of Object.entries(coinGeckoSimplePrices)) {\n assets[coingeckoCoinToAssetMap[key]] = value\n }\n return assets\n}\n","import { CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CoingeckoCryptoMarketWitness } from './Witness.ts'\n\nexport const CoingeckoCryptoMarketPlugin = () =>\n createPayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness>(\n { required: { [CoingeckoCryptoMarketSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CoingeckoCryptoMarketWitness.create(params)\n return result\n },\n },\n )\n","import { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\n\nimport { CoingeckoCryptoMarketWitnessConfig } from './Config.ts'\nimport { pricesFromCoingecko } from './lib/index.ts'\nimport { CoingeckoCryptoMarketWitnessConfigSchema } from './Schema.ts'\n\nexport type CoingeckoCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<CoingeckoCryptoMarketWitnessConfig>>\n\nexport class CoingeckoCryptoMarketWitness<\n TParams extends CoingeckoCryptoMarketWitnessParams = CoingeckoCryptoMarketWitnessParams,\n> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CoingeckoCryptoMarketWitnessConfigSchema\n\n protected override async observeHandler(): Promise<Payload[]> {\n const assets: CoingeckoCryptoMarketPayload['assets'] = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? [])\n const payload: CoingeckoCryptoMarketPayload = {\n assets,\n schema: CoingeckoCryptoMarketSchema,\n timestamp: Date.now(),\n }\n\n return [payload]\n }\n}\n","export type CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\nexport const CoingeckoCryptoMarketWitnessConfigSchema: CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/lib/coinGeckoCoinToAssetMap.ts","../../src/lib/defaults.ts","../../src/lib/pricesFromCoingecko.ts","../../src/Plugin.ts","../../src/Witness.ts","../../src/Schema.ts"],"sourcesContent":["export * from './Config.ts'\nexport * from './lib/index.ts'\n// eslint-disable-next-line import/no-default-export\nexport { CoingeckoCryptoMarketPlugin, CoingeckoCryptoMarketPlugin as default } from './Plugin.ts'\nexport * from './Schema.ts'\nexport * from './Witness.ts'\n","import { AssetSymbol } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const coingeckoCoinToAssetMap: Record<string, AssetSymbol> = {\n 'binance-usd': 'busd',\n 'bitcoin': 'btc',\n 'bnb': 'bnb',\n 'cardano': 'ada',\n 'dogecoin': 'doge',\n 'ethereum': 'eth',\n 'polkadot': 'dot',\n 'solana': 'sol',\n 'tether': 'usdt',\n 'usd-coin': 'usdc',\n 'wrapped-bitcoin': 'wbtc',\n 'xrp': 'xrp',\n 'xyo-network': 'xyo',\n}\n","import { CryptoAsset } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const defaultCoins: CryptoAsset[] = [\n { name: 'bitcoin' },\n { name: 'binance-usd' },\n { name: 'bnb' },\n { name: 'cardano' },\n { name: 'dogecoin' },\n { name: 'ethereum' },\n { name: 'polkadot' },\n { name: 'solana' },\n { name: 'tether' },\n { name: 'usd-coin' },\n { name: 'wrapped-bitcoin' },\n { name: 'xrp' },\n { name: 'xyo-network' },\n]\n\nexport const defaultCurrencies: CryptoAsset[] = [{ symbol: 'usd' }, { symbol: 'eur' }, { symbol: 'btc' }, { symbol: 'eth' }]\n","import { axios } from '@xylabs/axios'\nimport { AssetSymbol, CryptoAsset, CryptoAssetPrices } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nimport { coingeckoCoinToAssetMap } from './coinGeckoCoinToAssetMap.ts'\n\ntype CoinGeckoSimplePrice = Partial<Record<AssetSymbol, number>>\ntype CoinGeckoSimplePrices = Record<string, CoinGeckoSimplePrice>\n\nexport const pricesFromCoingecko = async (coins: CryptoAsset[], currencies: CryptoAsset[]) => {\n const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(',')}&vs_currencies=${currencies\n .map(({ symbol }) => symbol)\n .join(',')}`\n const coinGeckoSimplePrices = (await axios.get<CoinGeckoSimplePrices>(url)).data\n const assets: CryptoAssetPrices = {}\n for (const [key, value] of Object.entries(coinGeckoSimplePrices)) {\n assets[coingeckoCoinToAssetMap[key]] = value\n }\n return assets\n}\n","import { CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CoingeckoCryptoMarketWitness } from './Witness.ts'\n\nexport const CoingeckoCryptoMarketPlugin = () =>\n createPayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness>(\n { required: { [CoingeckoCryptoMarketSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CoingeckoCryptoMarketWitness.create(params)\n return result\n },\n },\n )\n","import { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\n\nimport { CoingeckoCryptoMarketWitnessConfig } from './Config.ts'\nimport { pricesFromCoingecko } from './lib/index.ts'\nimport { CoingeckoCryptoMarketWitnessConfigSchema } from './Schema.ts'\n\nexport type CoingeckoCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<CoingeckoCryptoMarketWitnessConfig>>\n\nexport class CoingeckoCryptoMarketWitness<\n TParams extends CoingeckoCryptoMarketWitnessParams = CoingeckoCryptoMarketWitnessParams,\n> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CoingeckoCryptoMarketWitnessConfigSchema\n\n protected override async observeHandler(): Promise<Payload[]> {\n const assets: CoingeckoCryptoMarketPayload['assets'] = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? [])\n const payload: CoingeckoCryptoMarketPayload = {\n assets,\n schema: CoingeckoCryptoMarketSchema,\n timestamp: Date.now(),\n }\n\n return [payload]\n }\n}\n","export type CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\nexport const CoingeckoCryptoMarketWitnessConfigSchema: CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,0BAAuD;AAAA,EAClE,eAAe;AAAA,EACf,WAAW;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,eAAe;AACjB;;;ACdO,IAAM,eAA8B;AAAA,EACzC,EAAE,MAAM,UAAU;AAAA,EAClB,EAAE,MAAM,cAAc;AAAA,EACtB,EAAE,MAAM,MAAM;AAAA,EACd,EAAE,MAAM,UAAU;AAAA,EAClB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,SAAS;AAAA,EACjB,EAAE,MAAM,SAAS;AAAA,EACjB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,kBAAkB;AAAA,EAC1B,EAAE,MAAM,MAAM;AAAA,EACd,EAAE,MAAM,cAAc;AACxB;AAEO,IAAM,oBAAmC,CAAC,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,CAAC;;;AClB3H,mBAAsB;AAQf,IAAM,sBAAsB,OAAO,OAAsB,eAA8B;AAC5F,QAAM,MAAM,qDAAqD,MAAM,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,GAAG,CAAC,kBAAkB,WACvH,IAAI,CAAC,EAAE,OAAO,MAAM,MAAM,EAC1B,KAAK,GAAG,CAAC;AACZ,QAAM,yBAAyB,MAAM,mBAAM,IAA2B,GAAG,GAAG;AAC5E,QAAM,SAA4B,CAAC;AACnC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,qBAAqB,GAAG;AAChE,WAAO,wBAAwB,GAAG,CAAC,IAAI;AAAA,EACzC;AACA,SAAO;AACT;;;AClBA,IAAAA,iDAA4C;AAC5C,2BAAiC;AACjC,+BAA8C;;;ACF9C,8BAAgC;AAChC,oDAA0E;;;ACAnE,IAAM,2CAAqF;;;ADW3F,IAAM,+BAAN,cAEG,wCAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,wCAAwC;AAAA,EACpH,OAAyB,sBAA8B;AAAA,EAEvD,MAAyB,iBAAqC;AAC5D,UAAM,SAAiD,MAAM,oBAAoB,KAAK,QAAQ,SAAS,CAAC,GAAG,KAAK,QAAQ,cAAc,CAAC,CAAC;AACxI,UAAM,UAAwC;AAAA,MAC5C;AAAA,MACA,QAAQ;AAAA,MACR,WAAW,KAAK,IAAI;AAAA,IACtB;AAEA,WAAO,CAAC,OAAO;AAAA,EACjB;AACF;;;ADtBO,IAAM,8BAA8B,UACzC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,0EAA2B,GAAG,EAAE,GAAG,QAAQ,sCAAiB;AAAA,EAC3E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,6BAA6B,OAAO,MAAM;AAC/D,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["import_coingecko_crypto_market_payload_plugin"]}
|
package/dist/browser/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/lib/coinGeckoCoinToAssetMap.ts
|
|
5
2
|
var coingeckoCoinToAssetMap = {
|
|
6
3
|
"binance-usd": "busd",
|
|
@@ -20,64 +17,25 @@ var coingeckoCoinToAssetMap = {
|
|
|
20
17
|
|
|
21
18
|
// src/lib/defaults.ts
|
|
22
19
|
var defaultCoins = [
|
|
23
|
-
{
|
|
24
|
-
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "dogecoin"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
name: "ethereum"
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: "polkadot"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "solana"
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "tether"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: "usd-coin"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
name: "wrapped-bitcoin"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: "xrp"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: "xyo-network"
|
|
61
|
-
}
|
|
62
|
-
];
|
|
63
|
-
var defaultCurrencies = [
|
|
64
|
-
{
|
|
65
|
-
symbol: "usd"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
symbol: "eur"
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
symbol: "btc"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
symbol: "eth"
|
|
75
|
-
}
|
|
20
|
+
{ name: "bitcoin" },
|
|
21
|
+
{ name: "binance-usd" },
|
|
22
|
+
{ name: "bnb" },
|
|
23
|
+
{ name: "cardano" },
|
|
24
|
+
{ name: "dogecoin" },
|
|
25
|
+
{ name: "ethereum" },
|
|
26
|
+
{ name: "polkadot" },
|
|
27
|
+
{ name: "solana" },
|
|
28
|
+
{ name: "tether" },
|
|
29
|
+
{ name: "usd-coin" },
|
|
30
|
+
{ name: "wrapped-bitcoin" },
|
|
31
|
+
{ name: "xrp" },
|
|
32
|
+
{ name: "xyo-network" }
|
|
76
33
|
];
|
|
34
|
+
var defaultCurrencies = [{ symbol: "usd" }, { symbol: "eur" }, { symbol: "btc" }, { symbol: "eth" }];
|
|
77
35
|
|
|
78
36
|
// src/lib/pricesFromCoingecko.ts
|
|
79
37
|
import { axios } from "@xylabs/axios";
|
|
80
|
-
var pricesFromCoingecko =
|
|
38
|
+
var pricesFromCoingecko = async (coins, currencies) => {
|
|
81
39
|
const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(",")}&vs_currencies=${currencies.map(({ symbol }) => symbol).join(",")}`;
|
|
82
40
|
const coinGeckoSimplePrices = (await axios.get(url)).data;
|
|
83
41
|
const assets = {};
|
|
@@ -85,7 +43,7 @@ var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
|
|
|
85
43
|
assets[coingeckoCoinToAssetMap[key]] = value;
|
|
86
44
|
}
|
|
87
45
|
return assets;
|
|
88
|
-
}
|
|
46
|
+
};
|
|
89
47
|
|
|
90
48
|
// src/Plugin.ts
|
|
91
49
|
import { CoingeckoCryptoMarketSchema as CoingeckoCryptoMarketSchema2 } from "@xyo-network/coingecko-crypto-market-payload-plugin";
|
|
@@ -101,13 +59,7 @@ var CoingeckoCryptoMarketWitnessConfigSchema = "network.xyo.crypto.market.coinge
|
|
|
101
59
|
|
|
102
60
|
// src/Witness.ts
|
|
103
61
|
var CoingeckoCryptoMarketWitness = class extends AbstractWitness {
|
|
104
|
-
static
|
|
105
|
-
__name(this, "CoingeckoCryptoMarketWitness");
|
|
106
|
-
}
|
|
107
|
-
static configSchemas = [
|
|
108
|
-
...super.configSchemas,
|
|
109
|
-
CoingeckoCryptoMarketWitnessConfigSchema
|
|
110
|
-
];
|
|
62
|
+
static configSchemas = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema];
|
|
111
63
|
static defaultConfigSchema = CoingeckoCryptoMarketWitnessConfigSchema;
|
|
112
64
|
async observeHandler() {
|
|
113
65
|
const assets = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? []);
|
|
@@ -116,24 +68,20 @@ var CoingeckoCryptoMarketWitness = class extends AbstractWitness {
|
|
|
116
68
|
schema: CoingeckoCryptoMarketSchema,
|
|
117
69
|
timestamp: Date.now()
|
|
118
70
|
};
|
|
119
|
-
return [
|
|
120
|
-
payload
|
|
121
|
-
];
|
|
71
|
+
return [payload];
|
|
122
72
|
}
|
|
123
73
|
};
|
|
124
74
|
|
|
125
75
|
// src/Plugin.ts
|
|
126
|
-
var CoingeckoCryptoMarketPlugin =
|
|
127
|
-
required: {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}, "witness")
|
|
136
|
-
}), "CoingeckoCryptoMarketPlugin");
|
|
76
|
+
var CoingeckoCryptoMarketPlugin = () => createPayloadSetWitnessPlugin(
|
|
77
|
+
{ required: { [CoingeckoCryptoMarketSchema2]: 1 }, schema: PayloadSetSchema },
|
|
78
|
+
{
|
|
79
|
+
witness: async (params) => {
|
|
80
|
+
const result = await CoingeckoCryptoMarketWitness.create(params);
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
);
|
|
137
85
|
export {
|
|
138
86
|
CoingeckoCryptoMarketPlugin,
|
|
139
87
|
CoingeckoCryptoMarketWitness,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/lib/coinGeckoCoinToAssetMap.ts","../../src/lib/defaults.ts","../../src/lib/pricesFromCoingecko.ts","../../src/Plugin.ts","../../src/Witness.ts","../../src/Schema.ts"],"sourcesContent":["import { AssetSymbol } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const coingeckoCoinToAssetMap: Record<string, AssetSymbol> = {\n 'binance-usd': 'busd',\n 'bitcoin': 'btc',\n 'bnb': 'bnb',\n 'cardano': 'ada',\n 'dogecoin': 'doge',\n 'ethereum': 'eth',\n 'polkadot': 'dot',\n 'solana': 'sol',\n 'tether': 'usdt',\n 'usd-coin': 'usdc',\n 'wrapped-bitcoin': 'wbtc',\n 'xrp': 'xrp',\n 'xyo-network': 'xyo',\n}\n","import { CryptoAsset } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const defaultCoins: CryptoAsset[] = [\n { name: 'bitcoin' },\n { name: 'binance-usd' },\n { name: 'bnb' },\n { name: 'cardano' },\n { name: 'dogecoin' },\n { name: 'ethereum' },\n { name: 'polkadot' },\n { name: 'solana' },\n { name: 'tether' },\n { name: 'usd-coin' },\n { name: 'wrapped-bitcoin' },\n { name: 'xrp' },\n { name: 'xyo-network' },\n]\n\nexport const defaultCurrencies: CryptoAsset[] = [{ symbol: 'usd' }, { symbol: 'eur' }, { symbol: 'btc' }, { symbol: 'eth' }]\n","import { axios } from '@xylabs/axios'\nimport { AssetSymbol, CryptoAsset, CryptoAssetPrices } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nimport { coingeckoCoinToAssetMap } from './coinGeckoCoinToAssetMap.ts'\n\ntype CoinGeckoSimplePrice = Partial<Record<AssetSymbol, number>>\ntype CoinGeckoSimplePrices = Record<string, CoinGeckoSimplePrice>\n\nexport const pricesFromCoingecko = async (coins: CryptoAsset[], currencies: CryptoAsset[]) => {\n const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(',')}&vs_currencies=${currencies\n .map(({ symbol }) => symbol)\n .join(',')}`\n const coinGeckoSimplePrices = (await axios.get<CoinGeckoSimplePrices>(url)).data\n const assets: CryptoAssetPrices = {}\n for (const [key, value] of Object.entries(coinGeckoSimplePrices)) {\n assets[coingeckoCoinToAssetMap[key]] = value\n }\n return assets\n}\n","import { CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CoingeckoCryptoMarketWitness } from './Witness.ts'\n\nexport const CoingeckoCryptoMarketPlugin = () =>\n createPayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness>(\n { required: { [CoingeckoCryptoMarketSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CoingeckoCryptoMarketWitness.create(params)\n return result\n },\n },\n )\n","import { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\n\nimport { CoingeckoCryptoMarketWitnessConfig } from './Config.ts'\nimport { pricesFromCoingecko } from './lib/index.ts'\nimport { CoingeckoCryptoMarketWitnessConfigSchema } from './Schema.ts'\n\nexport type CoingeckoCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<CoingeckoCryptoMarketWitnessConfig>>\n\nexport class CoingeckoCryptoMarketWitness<\n TParams extends CoingeckoCryptoMarketWitnessParams = CoingeckoCryptoMarketWitnessParams,\n> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CoingeckoCryptoMarketWitnessConfigSchema\n\n protected override async observeHandler(): Promise<Payload[]> {\n const assets: CoingeckoCryptoMarketPayload['assets'] = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? [])\n const payload: CoingeckoCryptoMarketPayload = {\n assets,\n schema: CoingeckoCryptoMarketSchema,\n timestamp: Date.now(),\n }\n\n return [payload]\n }\n}\n","export type CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\nexport const CoingeckoCryptoMarketWitnessConfigSchema: CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/lib/coinGeckoCoinToAssetMap.ts","../../src/lib/defaults.ts","../../src/lib/pricesFromCoingecko.ts","../../src/Plugin.ts","../../src/Witness.ts","../../src/Schema.ts"],"sourcesContent":["import { AssetSymbol } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const coingeckoCoinToAssetMap: Record<string, AssetSymbol> = {\n 'binance-usd': 'busd',\n 'bitcoin': 'btc',\n 'bnb': 'bnb',\n 'cardano': 'ada',\n 'dogecoin': 'doge',\n 'ethereum': 'eth',\n 'polkadot': 'dot',\n 'solana': 'sol',\n 'tether': 'usdt',\n 'usd-coin': 'usdc',\n 'wrapped-bitcoin': 'wbtc',\n 'xrp': 'xrp',\n 'xyo-network': 'xyo',\n}\n","import { CryptoAsset } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nexport const defaultCoins: CryptoAsset[] = [\n { name: 'bitcoin' },\n { name: 'binance-usd' },\n { name: 'bnb' },\n { name: 'cardano' },\n { name: 'dogecoin' },\n { name: 'ethereum' },\n { name: 'polkadot' },\n { name: 'solana' },\n { name: 'tether' },\n { name: 'usd-coin' },\n { name: 'wrapped-bitcoin' },\n { name: 'xrp' },\n { name: 'xyo-network' },\n]\n\nexport const defaultCurrencies: CryptoAsset[] = [{ symbol: 'usd' }, { symbol: 'eur' }, { symbol: 'btc' }, { symbol: 'eth' }]\n","import { axios } from '@xylabs/axios'\nimport { AssetSymbol, CryptoAsset, CryptoAssetPrices } from '@xyo-network/coingecko-crypto-market-payload-plugin'\n\nimport { coingeckoCoinToAssetMap } from './coinGeckoCoinToAssetMap.ts'\n\ntype CoinGeckoSimplePrice = Partial<Record<AssetSymbol, number>>\ntype CoinGeckoSimplePrices = Record<string, CoinGeckoSimplePrice>\n\nexport const pricesFromCoingecko = async (coins: CryptoAsset[], currencies: CryptoAsset[]) => {\n const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(',')}&vs_currencies=${currencies\n .map(({ symbol }) => symbol)\n .join(',')}`\n const coinGeckoSimplePrices = (await axios.get<CoinGeckoSimplePrices>(url)).data\n const assets: CryptoAssetPrices = {}\n for (const [key, value] of Object.entries(coinGeckoSimplePrices)) {\n assets[coingeckoCoinToAssetMap[key]] = value\n }\n return assets\n}\n","import { CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CoingeckoCryptoMarketWitness } from './Witness.ts'\n\nexport const CoingeckoCryptoMarketPlugin = () =>\n createPayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness>(\n { required: { [CoingeckoCryptoMarketSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await CoingeckoCryptoMarketWitness.create(params)\n return result\n },\n },\n )\n","import { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessParams } from '@xyo-network/witness-model'\n\nimport { CoingeckoCryptoMarketWitnessConfig } from './Config.ts'\nimport { pricesFromCoingecko } from './lib/index.ts'\nimport { CoingeckoCryptoMarketWitnessConfigSchema } from './Schema.ts'\n\nexport type CoingeckoCryptoMarketWitnessParams = WitnessParams<AnyConfigSchema<CoingeckoCryptoMarketWitnessConfig>>\n\nexport class CoingeckoCryptoMarketWitness<\n TParams extends CoingeckoCryptoMarketWitnessParams = CoingeckoCryptoMarketWitnessParams,\n> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = CoingeckoCryptoMarketWitnessConfigSchema\n\n protected override async observeHandler(): Promise<Payload[]> {\n const assets: CoingeckoCryptoMarketPayload['assets'] = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? [])\n const payload: CoingeckoCryptoMarketPayload = {\n assets,\n schema: CoingeckoCryptoMarketSchema,\n timestamp: Date.now(),\n }\n\n return [payload]\n }\n}\n","export type CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\nexport const CoingeckoCryptoMarketWitnessConfigSchema: CoingeckoCryptoMarketWitnessConfigSchema = 'network.xyo.crypto.market.coingecko.witness.config'\n"],"mappings":";AAEO,IAAM,0BAAuD;AAAA,EAClE,eAAe;AAAA,EACf,WAAW;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,eAAe;AACjB;;;ACdO,IAAM,eAA8B;AAAA,EACzC,EAAE,MAAM,UAAU;AAAA,EAClB,EAAE,MAAM,cAAc;AAAA,EACtB,EAAE,MAAM,MAAM;AAAA,EACd,EAAE,MAAM,UAAU;AAAA,EAClB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,SAAS;AAAA,EACjB,EAAE,MAAM,SAAS;AAAA,EACjB,EAAE,MAAM,WAAW;AAAA,EACnB,EAAE,MAAM,kBAAkB;AAAA,EAC1B,EAAE,MAAM,MAAM;AAAA,EACd,EAAE,MAAM,cAAc;AACxB;AAEO,IAAM,oBAAmC,CAAC,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,CAAC;;;AClB3H,SAAS,aAAa;AAQf,IAAM,sBAAsB,OAAO,OAAsB,eAA8B;AAC5F,QAAM,MAAM,qDAAqD,MAAM,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,GAAG,CAAC,kBAAkB,WACvH,IAAI,CAAC,EAAE,OAAO,MAAM,MAAM,EAC1B,KAAK,GAAG,CAAC;AACZ,QAAM,yBAAyB,MAAM,MAAM,IAA2B,GAAG,GAAG;AAC5E,QAAM,SAA4B,CAAC;AACnC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,qBAAqB,GAAG;AAChE,WAAO,wBAAwB,GAAG,CAAC,IAAI;AAAA,EACzC;AACA,SAAO;AACT;;;AClBA,SAAS,+BAAAA,oCAAmC;AAC5C,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACF9C,SAAS,uBAAuB;AAChC,SAAuC,mCAAmC;;;ACAnE,IAAM,2CAAqF;;;ADW3F,IAAM,+BAAN,cAEG,gBAAyB;AAAA,EACjC,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,wCAAwC;AAAA,EACpH,OAAyB,sBAA8B;AAAA,EAEvD,MAAyB,iBAAqC;AAC5D,UAAM,SAAiD,MAAM,oBAAoB,KAAK,QAAQ,SAAS,CAAC,GAAG,KAAK,QAAQ,cAAc,CAAC,CAAC;AACxI,UAAM,UAAwC;AAAA,MAC5C;AAAA,MACA,QAAQ;AAAA,MACR,WAAW,KAAK,IAAI;AAAA,IACtB;AAEA,WAAO,CAAC,OAAO;AAAA,EACjB;AACF;;;ADtBO,IAAM,8BAA8B,MACzC;AAAA,EACE,EAAE,UAAU,EAAE,CAACC,4BAA2B,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC3E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,6BAA6B,OAAO,MAAM;AAC/D,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["CoingeckoCryptoMarketSchema","CoingeckoCryptoMarketSchema"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CoingeckoCryptoMarketWitness } from './Witness.ts';
|
|
2
|
-
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import("
|
|
3
|
-
account?: import("
|
|
2
|
+
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import(".store/@xylabs-object-npm-3.6.12-443b813787/package").BaseParamsFields & {
|
|
3
|
+
account?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("
|
|
5
|
+
additionalSigners?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance[];
|
|
6
6
|
allowNameResolution?: boolean;
|
|
7
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
8
|
schema: "network.xyo.crypto.market.coingecko.witness.config";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CoingeckoCryptoMarketWitness } from './Witness.ts';
|
|
2
|
-
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import("
|
|
3
|
-
account?: import("
|
|
2
|
+
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import(".store/@xylabs-object-npm-3.6.12-443b813787/package").BaseParamsFields & {
|
|
3
|
+
account?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("
|
|
5
|
+
additionalSigners?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance[];
|
|
6
6
|
allowNameResolution?: boolean;
|
|
7
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
8
|
schema: "network.xyo.crypto.market.coingecko.witness.config";
|
package/dist/neutral/Plugin.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CoingeckoCryptoMarketWitness } from './Witness.ts';
|
|
2
|
-
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import("
|
|
3
|
-
account?: import("
|
|
2
|
+
export declare const CoingeckoCryptoMarketPlugin: () => import("@xyo-network/payloadset-plugin").PayloadSetWitnessPlugin<CoingeckoCryptoMarketWitness<import(".store/@xylabs-object-npm-3.6.12-443b813787/package").BaseParamsFields & {
|
|
3
|
+
account?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance | "random";
|
|
4
4
|
addToResolvers?: boolean;
|
|
5
|
-
additionalSigners?: import("
|
|
5
|
+
additionalSigners?: import(".store/@xyo-network-account-model-virtual-c593258ccf/package").AccountInstance[];
|
|
6
6
|
allowNameResolution?: boolean;
|
|
7
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
8
|
schema: "network.xyo.crypto.market.coingecko.witness.config";
|
package/dist/neutral/index.cjs
CHANGED
|
@@ -3,7 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
6
|
var __export = (target, all) => {
|
|
8
7
|
for (var name in all)
|
|
9
8
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -51,64 +50,25 @@ var coingeckoCoinToAssetMap = {
|
|
|
51
50
|
|
|
52
51
|
// src/lib/defaults.ts
|
|
53
52
|
var defaultCoins = [
|
|
54
|
-
{
|
|
55
|
-
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
name: "dogecoin"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: "ethereum"
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
name: "polkadot"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
name: "solana"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
name: "tether"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
name: "usd-coin"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: "wrapped-bitcoin"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "xrp"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
name: "xyo-network"
|
|
92
|
-
}
|
|
93
|
-
];
|
|
94
|
-
var defaultCurrencies = [
|
|
95
|
-
{
|
|
96
|
-
symbol: "usd"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
symbol: "eur"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
symbol: "btc"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
symbol: "eth"
|
|
106
|
-
}
|
|
53
|
+
{ name: "bitcoin" },
|
|
54
|
+
{ name: "binance-usd" },
|
|
55
|
+
{ name: "bnb" },
|
|
56
|
+
{ name: "cardano" },
|
|
57
|
+
{ name: "dogecoin" },
|
|
58
|
+
{ name: "ethereum" },
|
|
59
|
+
{ name: "polkadot" },
|
|
60
|
+
{ name: "solana" },
|
|
61
|
+
{ name: "tether" },
|
|
62
|
+
{ name: "usd-coin" },
|
|
63
|
+
{ name: "wrapped-bitcoin" },
|
|
64
|
+
{ name: "xrp" },
|
|
65
|
+
{ name: "xyo-network" }
|
|
107
66
|
];
|
|
67
|
+
var defaultCurrencies = [{ symbol: "usd" }, { symbol: "eur" }, { symbol: "btc" }, { symbol: "eth" }];
|
|
108
68
|
|
|
109
69
|
// src/lib/pricesFromCoingecko.ts
|
|
110
70
|
var import_axios = require("@xylabs/axios");
|
|
111
|
-
var pricesFromCoingecko =
|
|
71
|
+
var pricesFromCoingecko = async (coins, currencies) => {
|
|
112
72
|
const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(",")}&vs_currencies=${currencies.map(({ symbol }) => symbol).join(",")}`;
|
|
113
73
|
const coinGeckoSimplePrices = (await import_axios.axios.get(url)).data;
|
|
114
74
|
const assets = {};
|
|
@@ -116,7 +76,7 @@ var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
|
|
|
116
76
|
assets[coingeckoCoinToAssetMap[key]] = value;
|
|
117
77
|
}
|
|
118
78
|
return assets;
|
|
119
|
-
}
|
|
79
|
+
};
|
|
120
80
|
|
|
121
81
|
// src/Plugin.ts
|
|
122
82
|
var import_coingecko_crypto_market_payload_plugin2 = require("@xyo-network/coingecko-crypto-market-payload-plugin");
|
|
@@ -132,13 +92,7 @@ var CoingeckoCryptoMarketWitnessConfigSchema = "network.xyo.crypto.market.coinge
|
|
|
132
92
|
|
|
133
93
|
// src/Witness.ts
|
|
134
94
|
var CoingeckoCryptoMarketWitness = class extends import_abstract_witness.AbstractWitness {
|
|
135
|
-
static
|
|
136
|
-
__name(this, "CoingeckoCryptoMarketWitness");
|
|
137
|
-
}
|
|
138
|
-
static configSchemas = [
|
|
139
|
-
...super.configSchemas,
|
|
140
|
-
CoingeckoCryptoMarketWitnessConfigSchema
|
|
141
|
-
];
|
|
95
|
+
static configSchemas = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema];
|
|
142
96
|
static defaultConfigSchema = CoingeckoCryptoMarketWitnessConfigSchema;
|
|
143
97
|
async observeHandler() {
|
|
144
98
|
const assets = await pricesFromCoingecko(this.config?.coins ?? [], this.config?.currencies ?? []);
|
|
@@ -147,22 +101,18 @@ var CoingeckoCryptoMarketWitness = class extends import_abstract_witness.Abstrac
|
|
|
147
101
|
schema: import_coingecko_crypto_market_payload_plugin.CoingeckoCryptoMarketSchema,
|
|
148
102
|
timestamp: Date.now()
|
|
149
103
|
};
|
|
150
|
-
return [
|
|
151
|
-
payload
|
|
152
|
-
];
|
|
104
|
+
return [payload];
|
|
153
105
|
}
|
|
154
106
|
};
|
|
155
107
|
|
|
156
108
|
// src/Plugin.ts
|
|
157
|
-
var CoingeckoCryptoMarketPlugin =
|
|
158
|
-
required: {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}, "witness")
|
|
167
|
-
}), "CoingeckoCryptoMarketPlugin");
|
|
109
|
+
var CoingeckoCryptoMarketPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
110
|
+
{ required: { [import_coingecko_crypto_market_payload_plugin2.CoingeckoCryptoMarketSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
|
|
111
|
+
{
|
|
112
|
+
witness: async (params) => {
|
|
113
|
+
const result = await CoingeckoCryptoMarketWitness.create(params);
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
);
|
|
168
118
|
//# sourceMappingURL=index.cjs.map
|