@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.
@@ -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":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;ACEO,IAAMA,0BAAuD;EAClE,eAAe;EACf,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,OAAO;EACP,eAAe;AACjB;;;ACdO,IAAMC,eAA8B;EACzC;IAAEC,MAAM;EAAU;EAClB;IAAEA,MAAM;EAAc;EACtB;IAAEA,MAAM;EAAM;EACd;IAAEA,MAAM;EAAU;EAClB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAS;EACjB;IAAEA,MAAM;EAAS;EACjB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAkB;EAC1B;IAAEA,MAAM;EAAM;EACd;IAAEA,MAAM;EAAc;;AAGjB,IAAMC,oBAAmC;EAAC;IAAEC,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;;;;AClB1H,mBAAsB;AAQf,IAAMC,sBAAsB,8BAAOC,OAAsBC,eAAAA;AAC9D,QAAMC,MAAM,qDAAqDF,MAAMG,IAAI,CAAC,EAAEC,KAAI,MAAOA,IAAAA,EAAMC,KAAK,GAAA,CAAA,kBAAsBJ,WACvHE,IAAI,CAAC,EAAEG,OAAM,MAAOA,MAAAA,EACpBD,KAAK,GAAA,CAAA;AACR,QAAME,yBAAyB,MAAMC,mBAAMC,IAA2BP,GAAAA,GAAMQ;AAC5E,QAAMC,SAA4B,CAAC;AACnC,aAAW,CAACC,KAAKC,KAAAA,KAAUC,OAAOC,QAAQR,qBAAAA,GAAwB;AAChEI,WAAOK,wBAAwBJ,GAAAA,CAAI,IAAIC;EACzC;AACA,SAAOF;AACT,GAVmC;;;ACRnC,IAAAM,iDAA4C;AAC5C,2BAAiC;AACjC,+BAA8C;;;ACF9C,8BAAgC;AAChC,oDAA0E;;;ACAnE,IAAMC,2CAAqF;;;ADW3F,IAAMC,+BAAN,cAEGC,wCAAAA;EAdV,OAcUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAEvD,MAAyBE,iBAAqC;AAC5D,UAAMC,SAAiD,MAAMC,oBAAoB,KAAKC,QAAQC,SAAS,CAAA,GAAI,KAAKD,QAAQE,cAAc,CAAA,CAAE;AACxI,UAAMC,UAAwC;MAC5CL;MACAM,QAAQC;MACRC,WAAWC,KAAKC,IAAG;IACrB;AAEA,WAAO;MAACL;;EACV;AACF;;;ADtBO,IAAMM,8BAA8B,iCACzCC,wDACE;EAAEC,UAAU;IAAE,CAACC,0EAAAA,GAA8B;EAAE;EAAGC,QAAQC;AAAiB,GAC3E;EACEC,SAAS,8BAAOC,WAAAA;AACd,UAAMC,SAAS,MAAMC,6BAA6BC,OAAOH,MAAAA;AACzD,WAAOC;EACT,GAHS;AAIX,CAAA,GARuC;","names":["coingeckoCoinToAssetMap","defaultCoins","name","defaultCurrencies","symbol","pricesFromCoingecko","coins","currencies","url","map","name","join","symbol","coinGeckoSimplePrices","axios","get","data","assets","key","value","Object","entries","coingeckoCoinToAssetMap","import_coingecko_crypto_market_payload_plugin","CoingeckoCryptoMarketWitnessConfigSchema","CoingeckoCryptoMarketWitness","AbstractWitness","configSchemas","CoingeckoCryptoMarketWitnessConfigSchema","defaultConfigSchema","observeHandler","assets","pricesFromCoingecko","config","coins","currencies","payload","schema","CoingeckoCryptoMarketSchema","timestamp","Date","now","CoingeckoCryptoMarketPlugin","createPayloadSetWitnessPlugin","required","CoingeckoCryptoMarketSchema","schema","PayloadSetSchema","witness","params","result","CoingeckoCryptoMarketWitness","create"]}
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"]}
@@ -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
- name: "bitcoin"
25
- },
26
- {
27
- name: "binance-usd"
28
- },
29
- {
30
- name: "bnb"
31
- },
32
- {
33
- name: "cardano"
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 = /* @__PURE__ */ __name(async (coins, currencies) => {
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
- }, "pricesFromCoingecko");
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 = /* @__PURE__ */ __name(() => createPayloadSetWitnessPlugin({
127
- required: {
128
- [CoingeckoCryptoMarketSchema2]: 1
129
- },
130
- schema: PayloadSetSchema
131
- }, {
132
- witness: /* @__PURE__ */ __name(async (params) => {
133
- const result = await CoingeckoCryptoMarketWitness.create(params);
134
- return result;
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":";;;;AAEO,IAAMA,0BAAuD;EAClE,eAAe;EACf,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,OAAO;EACP,eAAe;AACjB;;;ACdO,IAAMC,eAA8B;EACzC;IAAEC,MAAM;EAAU;EAClB;IAAEA,MAAM;EAAc;EACtB;IAAEA,MAAM;EAAM;EACd;IAAEA,MAAM;EAAU;EAClB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAS;EACjB;IAAEA,MAAM;EAAS;EACjB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAkB;EAC1B;IAAEA,MAAM;EAAM;EACd;IAAEA,MAAM;EAAc;;AAGjB,IAAMC,oBAAmC;EAAC;IAAEC,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;;;;AClB1H,SAASC,aAAa;AAQf,IAAMC,sBAAsB,8BAAOC,OAAsBC,eAAAA;AAC9D,QAAMC,MAAM,qDAAqDF,MAAMG,IAAI,CAAC,EAAEC,KAAI,MAAOA,IAAAA,EAAMC,KAAK,GAAA,CAAA,kBAAsBJ,WACvHE,IAAI,CAAC,EAAEG,OAAM,MAAOA,MAAAA,EACpBD,KAAK,GAAA,CAAA;AACR,QAAME,yBAAyB,MAAMC,MAAMC,IAA2BP,GAAAA,GAAMQ;AAC5E,QAAMC,SAA4B,CAAC;AACnC,aAAW,CAACC,KAAKC,KAAAA,KAAUC,OAAOC,QAAQR,qBAAAA,GAAwB;AAChEI,WAAOK,wBAAwBJ,GAAAA,CAAI,IAAIC;EACzC;AACA,SAAOF;AACT,GAVmC;;;ACRnC,SAASM,+BAAAA,oCAAmC;AAC5C,SAASC,wBAAwB;AACjC,SAASC,qCAAqC;;;ACF9C,SAASC,uBAAuB;AAChC,SAAuCC,mCAAmC;;;ACAnE,IAAMC,2CAAqF;;;ADW3F,IAAMC,+BAAN,cAEGC,gBAAAA;EAdV,OAcUA;;;EACR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EAEvD,MAAyBE,iBAAqC;AAC5D,UAAMC,SAAiD,MAAMC,oBAAoB,KAAKC,QAAQC,SAAS,CAAA,GAAI,KAAKD,QAAQE,cAAc,CAAA,CAAE;AACxI,UAAMC,UAAwC;MAC5CL;MACAM,QAAQC;MACRC,WAAWC,KAAKC,IAAG;IACrB;AAEA,WAAO;MAACL;;EACV;AACF;;;ADtBO,IAAMM,8BAA8B,6BACzCC,8BACE;EAAEC,UAAU;IAAE,CAACC,4BAAAA,GAA8B;EAAE;EAAGC,QAAQC;AAAiB,GAC3E;EACEC,SAAS,8BAAOC,WAAAA;AACd,UAAMC,SAAS,MAAMC,6BAA6BC,OAAOH,MAAAA;AACzD,WAAOC;EACT,GAHS;AAIX,CAAA,GARuC;","names":["coingeckoCoinToAssetMap","defaultCoins","name","defaultCurrencies","symbol","axios","pricesFromCoingecko","coins","currencies","url","map","name","join","symbol","coinGeckoSimplePrices","axios","get","data","assets","key","value","Object","entries","coingeckoCoinToAssetMap","CoingeckoCryptoMarketSchema","PayloadSetSchema","createPayloadSetWitnessPlugin","AbstractWitness","CoingeckoCryptoMarketSchema","CoingeckoCryptoMarketWitnessConfigSchema","CoingeckoCryptoMarketWitness","AbstractWitness","configSchemas","CoingeckoCryptoMarketWitnessConfigSchema","defaultConfigSchema","observeHandler","assets","pricesFromCoingecko","config","coins","currencies","payload","schema","CoingeckoCryptoMarketSchema","timestamp","Date","now","CoingeckoCryptoMarketPlugin","createPayloadSetWitnessPlugin","required","CoingeckoCryptoMarketSchema","schema","PayloadSetSchema","witness","params","result","CoingeckoCryptoMarketWitness","create"]}
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("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random";
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("@xyo-network/account-model").AccountInstance[];
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("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random";
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("@xyo-network/account-model").AccountInstance[];
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("@xylabs/object").BaseParamsFields & {
3
- account?: import("@xyo-network/account-model").AccountInstance | "random";
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("@xyo-network/account-model").AccountInstance[];
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";
@@ -2,11 +2,7 @@
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __reflectGet = Reflect.get;
8
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
10
6
  var __export = (target, all) => {
11
7
  for (var name in all)
12
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -20,8 +16,6 @@ var __copyProps = (to, from, except, desc) => {
20
16
  return to;
21
17
  };
22
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
- var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
25
19
 
26
20
  // src/index.ts
27
21
  var src_exports = {};
@@ -56,64 +50,25 @@ var coingeckoCoinToAssetMap = {
56
50
 
57
51
  // src/lib/defaults.ts
58
52
  var defaultCoins = [
59
- {
60
- name: "bitcoin"
61
- },
62
- {
63
- name: "binance-usd"
64
- },
65
- {
66
- name: "bnb"
67
- },
68
- {
69
- name: "cardano"
70
- },
71
- {
72
- name: "dogecoin"
73
- },
74
- {
75
- name: "ethereum"
76
- },
77
- {
78
- name: "polkadot"
79
- },
80
- {
81
- name: "solana"
82
- },
83
- {
84
- name: "tether"
85
- },
86
- {
87
- name: "usd-coin"
88
- },
89
- {
90
- name: "wrapped-bitcoin"
91
- },
92
- {
93
- name: "xrp"
94
- },
95
- {
96
- name: "xyo-network"
97
- }
98
- ];
99
- var defaultCurrencies = [
100
- {
101
- symbol: "usd"
102
- },
103
- {
104
- symbol: "eur"
105
- },
106
- {
107
- symbol: "btc"
108
- },
109
- {
110
- symbol: "eth"
111
- }
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" }
112
66
  ];
67
+ var defaultCurrencies = [{ symbol: "usd" }, { symbol: "eur" }, { symbol: "btc" }, { symbol: "eth" }];
113
68
 
114
69
  // src/lib/pricesFromCoingecko.ts
115
70
  var import_axios = require("@xylabs/axios");
116
- var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
71
+ var pricesFromCoingecko = async (coins, currencies) => {
117
72
  const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(",")}&vs_currencies=${currencies.map(({ symbol }) => symbol).join(",")}`;
118
73
  const coinGeckoSimplePrices = (await import_axios.axios.get(url)).data;
119
74
  const assets = {};
@@ -121,7 +76,7 @@ var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
121
76
  assets[coingeckoCoinToAssetMap[key]] = value;
122
77
  }
123
78
  return assets;
124
- }, "pricesFromCoingecko");
79
+ };
125
80
 
126
81
  // src/Plugin.ts
127
82
  var import_coingecko_crypto_market_payload_plugin2 = require("@xyo-network/coingecko-crypto-market-payload-plugin");
@@ -136,7 +91,9 @@ var import_coingecko_crypto_market_payload_plugin = require("@xyo-network/coinge
136
91
  var CoingeckoCryptoMarketWitnessConfigSchema = "network.xyo.crypto.market.coingecko.witness.config";
137
92
 
138
93
  // src/Witness.ts
139
- var _CoingeckoCryptoMarketWitness = class _CoingeckoCryptoMarketWitness extends import_abstract_witness.AbstractWitness {
94
+ var CoingeckoCryptoMarketWitness = class extends import_abstract_witness.AbstractWitness {
95
+ static configSchemas = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema];
96
+ static defaultConfigSchema = CoingeckoCryptoMarketWitnessConfigSchema;
140
97
  async observeHandler() {
141
98
  var _a, _b;
142
99
  const assets = await pricesFromCoingecko(((_a = this.config) == null ? void 0 : _a.coins) ?? [], ((_b = this.config) == null ? void 0 : _b.currencies) ?? []);
@@ -145,31 +102,20 @@ var _CoingeckoCryptoMarketWitness = class _CoingeckoCryptoMarketWitness extends
145
102
  schema: import_coingecko_crypto_market_payload_plugin.CoingeckoCryptoMarketSchema,
146
103
  timestamp: Date.now()
147
104
  };
148
- return [
149
- payload
150
- ];
105
+ return [payload];
151
106
  }
152
107
  };
153
- __name(_CoingeckoCryptoMarketWitness, "CoingeckoCryptoMarketWitness");
154
- __publicField(_CoingeckoCryptoMarketWitness, "configSchemas", [
155
- ...__superGet(_CoingeckoCryptoMarketWitness, _CoingeckoCryptoMarketWitness, "configSchemas"),
156
- CoingeckoCryptoMarketWitnessConfigSchema
157
- ]);
158
- __publicField(_CoingeckoCryptoMarketWitness, "defaultConfigSchema", CoingeckoCryptoMarketWitnessConfigSchema);
159
- var CoingeckoCryptoMarketWitness = _CoingeckoCryptoMarketWitness;
160
108
 
161
109
  // src/Plugin.ts
162
- var CoingeckoCryptoMarketPlugin = /* @__PURE__ */ __name(() => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)({
163
- required: {
164
- [import_coingecko_crypto_market_payload_plugin2.CoingeckoCryptoMarketSchema]: 1
165
- },
166
- schema: import_payload_model.PayloadSetSchema
167
- }, {
168
- witness: /* @__PURE__ */ __name(async (params) => {
169
- const result = await CoingeckoCryptoMarketWitness.create(params);
170
- return result;
171
- }, "witness")
172
- }), "CoingeckoCryptoMarketPlugin");
110
+ var CoingeckoCryptoMarketPlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
111
+ { required: { [import_coingecko_crypto_market_payload_plugin2.CoingeckoCryptoMarketSchema]: 1 }, schema: import_payload_model.PayloadSetSchema },
112
+ {
113
+ witness: async (params) => {
114
+ const result = await CoingeckoCryptoMarketWitness.create(params);
115
+ return result;
116
+ }
117
+ }
118
+ );
173
119
  // Annotate the CommonJS export names for ESM import in node:
174
120
  0 && (module.exports = {
175
121
  CoingeckoCryptoMarketPlugin,
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;ACEO,IAAMA,0BAAuD;EAClE,eAAe;EACf,WAAW;EACX,OAAO;EACP,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,UAAU;EACV,UAAU;EACV,YAAY;EACZ,mBAAmB;EACnB,OAAO;EACP,eAAe;AACjB;;;ACdO,IAAMC,eAA8B;EACzC;IAAEC,MAAM;EAAU;EAClB;IAAEA,MAAM;EAAc;EACtB;IAAEA,MAAM;EAAM;EACd;IAAEA,MAAM;EAAU;EAClB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAS;EACjB;IAAEA,MAAM;EAAS;EACjB;IAAEA,MAAM;EAAW;EACnB;IAAEA,MAAM;EAAkB;EAC1B;IAAEA,MAAM;EAAM;EACd;IAAEA,MAAM;EAAc;;AAGjB,IAAMC,oBAAmC;EAAC;IAAEC,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;EAAG;IAAEA,QAAQ;EAAM;;;;AClB1H,mBAAsB;AAQf,IAAMC,sBAAsB,8BAAOC,OAAsBC,eAAAA;AAC9D,QAAMC,MAAM,qDAAqDF,MAAMG,IAAI,CAAC,EAAEC,KAAI,MAAOA,IAAAA,EAAMC,KAAK,GAAA,CAAA,kBAAsBJ,WACvHE,IAAI,CAAC,EAAEG,OAAM,MAAOA,MAAAA,EACpBD,KAAK,GAAA,CAAA;AACR,QAAME,yBAAyB,MAAMC,mBAAMC,IAA2BP,GAAAA,GAAMQ;AAC5E,QAAMC,SAA4B,CAAC;AACnC,aAAW,CAACC,KAAKC,KAAAA,KAAUC,OAAOC,QAAQR,qBAAAA,GAAwB;AAChEI,WAAOK,wBAAwBJ,GAAAA,CAAI,IAAIC;EACzC;AACA,SAAOF;AACT,GAVmC;;;ACRnC,IAAAM,iDAA4C;AAC5C,2BAAiC;AACjC,+BAA8C;;;ACF9C,8BAAgC;AAChC,oDAA0E;;;ACAnE,IAAMC,2CAAqF;;;ADW3F,IAAMC,gCAAN,MAAMA,sCAEHC,wCAAAA;EAIR,MAAyBC,iBAAqC;AAlBhE;AAmBI,UAAMC,SAAiD,MAAMC,sBAAoB,UAAKC,WAAL,mBAAaC,UAAS,CAAA,KAAI,UAAKD,WAAL,mBAAaE,eAAc,CAAA,CAAE;AACxI,UAAMC,UAAwC;MAC5CL;MACAM,QAAQC;MACRC,WAAWC,KAAKC,IAAG;IACrB;AAEA,WAAO;MAACL;;EACV;AACF;AAdUP;AACR,cAHWD,+BAGcc,iBAA0B;KAAI,yEAAMA;EAAeC;;AAC5E,cAJWf,+BAIcgB,uBAA8BD;AAJlD,IAAMf,+BAAN;;;ADNA,IAAMiB,8BAA8B,iCACzCC,wDACE;EAAEC,UAAU;IAAE,CAACC,0EAAAA,GAA8B;EAAE;EAAGC,QAAQC;AAAiB,GAC3E;EACEC,SAAS,8BAAOC,WAAAA;AACd,UAAMC,SAAS,MAAMC,6BAA6BC,OAAOH,MAAAA;AACzD,WAAOC;EACT,GAHS;AAIX,CAAA,GARuC;","names":["coingeckoCoinToAssetMap","defaultCoins","name","defaultCurrencies","symbol","pricesFromCoingecko","coins","currencies","url","map","name","join","symbol","coinGeckoSimplePrices","axios","get","data","assets","key","value","Object","entries","coingeckoCoinToAssetMap","import_coingecko_crypto_market_payload_plugin","CoingeckoCryptoMarketWitnessConfigSchema","CoingeckoCryptoMarketWitness","AbstractWitness","observeHandler","assets","pricesFromCoingecko","config","coins","currencies","payload","schema","CoingeckoCryptoMarketSchema","timestamp","Date","now","configSchemas","CoingeckoCryptoMarketWitnessConfigSchema","defaultConfigSchema","CoingeckoCryptoMarketPlugin","createPayloadSetWitnessPlugin","required","CoingeckoCryptoMarketSchema","schema","PayloadSetSchema","witness","params","result","CoingeckoCryptoMarketWitness","create"]}
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;AAlBhE;AAmBI,UAAM,SAAiD,MAAM,sBAAoB,UAAK,WAAL,mBAAa,UAAS,CAAC,KAAG,UAAK,WAAL,mBAAa,eAAc,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"]}
@@ -1,11 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __getProtoOf = Object.getPrototypeOf;
3
- var __reflectGet = Reflect.get;
4
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
- var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
8
-
9
1
  // src/lib/coinGeckoCoinToAssetMap.ts
10
2
  var coingeckoCoinToAssetMap = {
11
3
  "binance-usd": "busd",
@@ -25,64 +17,25 @@ var coingeckoCoinToAssetMap = {
25
17
 
26
18
  // src/lib/defaults.ts
27
19
  var defaultCoins = [
28
- {
29
- name: "bitcoin"
30
- },
31
- {
32
- name: "binance-usd"
33
- },
34
- {
35
- name: "bnb"
36
- },
37
- {
38
- name: "cardano"
39
- },
40
- {
41
- name: "dogecoin"
42
- },
43
- {
44
- name: "ethereum"
45
- },
46
- {
47
- name: "polkadot"
48
- },
49
- {
50
- name: "solana"
51
- },
52
- {
53
- name: "tether"
54
- },
55
- {
56
- name: "usd-coin"
57
- },
58
- {
59
- name: "wrapped-bitcoin"
60
- },
61
- {
62
- name: "xrp"
63
- },
64
- {
65
- name: "xyo-network"
66
- }
67
- ];
68
- var defaultCurrencies = [
69
- {
70
- symbol: "usd"
71
- },
72
- {
73
- symbol: "eur"
74
- },
75
- {
76
- symbol: "btc"
77
- },
78
- {
79
- symbol: "eth"
80
- }
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" }
81
33
  ];
34
+ var defaultCurrencies = [{ symbol: "usd" }, { symbol: "eur" }, { symbol: "btc" }, { symbol: "eth" }];
82
35
 
83
36
  // src/lib/pricesFromCoingecko.ts
84
37
  import { axios } from "@xylabs/axios";
85
- var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
38
+ var pricesFromCoingecko = async (coins, currencies) => {
86
39
  const url = `https://api.coingecko.com/api/v3/simple/price?ids=${coins.map(({ name }) => name).join(",")}&vs_currencies=${currencies.map(({ symbol }) => symbol).join(",")}`;
87
40
  const coinGeckoSimplePrices = (await axios.get(url)).data;
88
41
  const assets = {};
@@ -90,7 +43,7 @@ var pricesFromCoingecko = /* @__PURE__ */ __name(async (coins, currencies) => {
90
43
  assets[coingeckoCoinToAssetMap[key]] = value;
91
44
  }
92
45
  return assets;
93
- }, "pricesFromCoingecko");
46
+ };
94
47
 
95
48
  // src/Plugin.ts
96
49
  import { CoingeckoCryptoMarketSchema as CoingeckoCryptoMarketSchema2 } from "@xyo-network/coingecko-crypto-market-payload-plugin";
@@ -105,7 +58,9 @@ import { CoingeckoCryptoMarketSchema } from "@xyo-network/coingecko-crypto-marke
105
58
  var CoingeckoCryptoMarketWitnessConfigSchema = "network.xyo.crypto.market.coingecko.witness.config";
106
59
 
107
60
  // src/Witness.ts
108
- var _CoingeckoCryptoMarketWitness = class _CoingeckoCryptoMarketWitness extends AbstractWitness {
61
+ var CoingeckoCryptoMarketWitness = class extends AbstractWitness {
62
+ static configSchemas = [...super.configSchemas, CoingeckoCryptoMarketWitnessConfigSchema];
63
+ static defaultConfigSchema = CoingeckoCryptoMarketWitnessConfigSchema;
109
64
  async observeHandler() {
110
65
  var _a, _b;
111
66
  const assets = await pricesFromCoingecko(((_a = this.config) == null ? void 0 : _a.coins) ?? [], ((_b = this.config) == null ? void 0 : _b.currencies) ?? []);
@@ -114,31 +69,20 @@ var _CoingeckoCryptoMarketWitness = class _CoingeckoCryptoMarketWitness extends
114
69
  schema: CoingeckoCryptoMarketSchema,
115
70
  timestamp: Date.now()
116
71
  };
117
- return [
118
- payload
119
- ];
72
+ return [payload];
120
73
  }
121
74
  };
122
- __name(_CoingeckoCryptoMarketWitness, "CoingeckoCryptoMarketWitness");
123
- __publicField(_CoingeckoCryptoMarketWitness, "configSchemas", [
124
- ...__superGet(_CoingeckoCryptoMarketWitness, _CoingeckoCryptoMarketWitness, "configSchemas"),
125
- CoingeckoCryptoMarketWitnessConfigSchema
126
- ]);
127
- __publicField(_CoingeckoCryptoMarketWitness, "defaultConfigSchema", CoingeckoCryptoMarketWitnessConfigSchema);
128
- var CoingeckoCryptoMarketWitness = _CoingeckoCryptoMarketWitness;
129
75
 
130
76
  // src/Plugin.ts
131
- var CoingeckoCryptoMarketPlugin = /* @__PURE__ */ __name(() => createPayloadSetWitnessPlugin({
132
- required: {
133
- [CoingeckoCryptoMarketSchema2]: 1
134
- },
135
- schema: PayloadSetSchema
136
- }, {
137
- witness: /* @__PURE__ */ __name(async (params) => {
138
- const result = await CoingeckoCryptoMarketWitness.create(params);
139
- return result;
140
- }, "witness")
141
- }), "CoingeckoCryptoMarketPlugin");
77
+ var CoingeckoCryptoMarketPlugin = () => createPayloadSetWitnessPlugin(
78
+ { required: { [CoingeckoCryptoMarketSchema2]: 1 }, schema: PayloadSetSchema },
79
+ {
80
+ witness: async (params) => {
81
+ const result = await CoingeckoCryptoMarketWitness.create(params);
82
+ return result;
83
+ }
84
+ }
85
+ );
142
86
  export {
143
87
  CoingeckoCryptoMarketPlugin,
144
88
  CoingeckoCryptoMarketWitness,