@xyo-network/crypto-asset-plugin 2.47.8 → 2.47.10

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.
@@ -12,5 +12,5 @@ export declare const XyoCryptoMarketAssetPlugin: () => PayloadSetDivinerPlugin<X
12
12
  targetSchema?: "network.xyo.crypto.asset.diviner.config" | undefined;
13
13
  } & {
14
14
  schema: string;
15
- }, import("@xyo-network/core").EmptyObject>>;
15
+ }, import("@xyo-network/core").AnyObject>>;
16
16
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAA0B,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAEhG,OAAO,EAAE,2BAA2B,EAAqC,MAAM,WAAW,CAAA;AAE1F,eAAO,MAAM,0BAA0B;;;;;;;;;;;4CAQpC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAA0B,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAEhG,OAAO,EAAE,2BAA2B,EAAqC,MAAM,WAAW,CAAA;AAE1F,eAAO,MAAM,0BAA0B;;;;;;;;;;;0CAQpC,CAAA"}
package/package.json CHANGED
@@ -11,15 +11,15 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/exists": "^2.7.1",
14
- "@xyo-network/coingecko-crypto-market-payload-plugin": "^2.47.8",
15
- "@xyo-network/crypto-asset-payload-plugin": "^2.47.8",
16
- "@xyo-network/diviner": "^2.47.8",
17
- "@xyo-network/module": "^2.47.8",
18
- "@xyo-network/payload-builder": "^2.47.8",
19
- "@xyo-network/payload-model": "^2.47.8",
20
- "@xyo-network/payloadset-plugin": "^2.47.8",
21
- "@xyo-network/promise": "^2.47.8",
22
- "@xyo-network/uniswap-crypto-market-payload-plugin": "^2.47.8"
14
+ "@xyo-network/coingecko-crypto-market-payload-plugin": "^2.47.10",
15
+ "@xyo-network/crypto-asset-payload-plugin": "^2.47.10",
16
+ "@xyo-network/diviner": "^2.47.10",
17
+ "@xyo-network/module": "^2.47.10",
18
+ "@xyo-network/payload-builder": "^2.47.10",
19
+ "@xyo-network/payload-model": "^2.47.10",
20
+ "@xyo-network/payloadset-plugin": "^2.47.10",
21
+ "@xyo-network/promise": "^2.47.10",
22
+ "@xyo-network/uniswap-crypto-market-payload-plugin": "^2.47.10"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@ethersproject/address": "^5.7.0",
@@ -30,8 +30,8 @@
30
30
  "@uniswap/sdk": "^3.0.3",
31
31
  "@uniswap/sdk-core": "^3.1.1",
32
32
  "@uniswap/v3-sdk": "^3.9.0",
33
- "@xylabs/ts-scripts-yarn3": "^2.14.16",
34
- "@xylabs/tsconfig": "^2.14.16",
33
+ "@xylabs/ts-scripts-yarn3": "^2.15.0",
34
+ "@xylabs/tsconfig": "^2.15.0",
35
35
  "typescript": "^4.9.5"
36
36
  },
37
37
  "peerDependencies": {
@@ -77,5 +77,5 @@
77
77
  },
78
78
  "sideEffects": false,
79
79
  "types": "dist/types/index.d.ts",
80
- "version": "2.47.8"
80
+ "version": "2.47.10"
81
81
  }
@@ -1,30 +0,0 @@
1
- import { AssetInfo, XyoCryptoMarketAssetPayload, XyoCryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'
2
- import { XyoPayloadBuilder } from '@xyo-network/payload-builder'
3
-
4
- import { average } from '../average'
5
-
6
- const schema = XyoCryptoMarketAssetSchema
7
-
8
- const getPayloadWithPrice = (price: number): XyoCryptoMarketAssetPayload => {
9
- const assets: Record<string, AssetInfo> = { xyo: { value: { usd: price.toString() } } }
10
- const timestamp = Date.now()
11
- return new XyoPayloadBuilder<XyoCryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()
12
- }
13
-
14
- describe('average', () => {
15
- it('averages numbers', () => {
16
- const payloads = [getPayloadWithPrice(1), getPayloadWithPrice(2), getPayloadWithPrice(3)]
17
- expect(average(...payloads)?.xyo?.value?.usd).toBe('2')
18
- })
19
- it('handles single value', () => {
20
- const payloads = [getPayloadWithPrice(1)]
21
- expect(average(...payloads)?.xyo?.value?.usd).toBe('1')
22
- })
23
- it('handles no values', () => {
24
- expect(average()?.xyo?.value?.usd).toBeUndefined()
25
- })
26
- it('handles undefined values', () => {
27
- const payloads = [getPayloadWithPrice(1), undefined, getPayloadWithPrice(3)]
28
- expect(average(...payloads)?.xyo?.value?.usd).toBe('2')
29
- })
30
- })
@@ -1,29 +0,0 @@
1
- import { assertEx } from '@xylabs/assert'
2
-
3
- import { sampleCoinGeckoPayload } from '../../test'
4
- import { divineCoinGeckoPrices } from '../divineCoinGeckoPrices'
5
-
6
- describe('divineCoinGeckoPrices', () => {
7
- it('divines prices from CoinGecko', () => {
8
- const result = divineCoinGeckoPrices(sampleCoinGeckoPayload)
9
- expect(result.assets).toBeObject()
10
- const assets = assertEx(result.assets)
11
- Object.entries(assets).map(([token, assetInfo]) => {
12
- expect(token).toBeString()
13
- expect(assetInfo).toBeObject()
14
- const value = assertEx(assetInfo?.value)
15
- expect(value).toBeObject()
16
- Object.entries(value).map(([symbol, price]) => {
17
- expect(symbol).toBeString()
18
- expect(price).toBeString()
19
- const parsed = parseFloat(price)
20
- expect(parsed).toBeNumber()
21
- expect(isNaN(parsed)).toBeFalse()
22
- })
23
- })
24
- expect(result?.assets?.xyo?.value?.btc).toBe('6.28282e-7')
25
- expect(result?.assets?.xyo?.value?.eth).toBe('0.00000885')
26
- expect(result?.assets?.xyo?.value?.eur).toBe('0.01417995')
27
- expect(result?.assets?.xyo?.value?.usd).toBe('0.01439307')
28
- })
29
- })
@@ -1,14 +0,0 @@
1
- import { sampleCoinGeckoPayload, sampleUniswapPayload } from '../../test'
2
- import { divinePrices } from '../divinePrices'
3
-
4
- describe('divinePrices', () => {
5
- it('divines prices', () => {
6
- const result = divinePrices(sampleCoinGeckoPayload, sampleUniswapPayload)
7
- expect(result).toBeObject()
8
- expect(result.timestamp).toBeNumber()
9
- expect(result.assets.xyo?.value.btc).toBe('6.415295e-7')
10
- expect(result.assets.xyo?.value.eth).toBe('0.000008908865')
11
- expect(result.assets.xyo?.value.eur).toBe('0.01417995')
12
- expect(result.assets.xyo?.value.usd).toBe('0.014635635000000001')
13
- })
14
- })
@@ -1,13 +0,0 @@
1
- import { sampleUniswapPayload } from '../../test'
2
- import { divineUniswapPrices } from '../divineUniswapPrices'
3
-
4
- describe('divineUniswapPrices', () => {
5
- it('divines prices from Uniswap', () => {
6
- const result = divineUniswapPrices(sampleUniswapPayload)
7
- expect(result).toBeObject()
8
- expect(result?.assets?.xyo?.value?.btc).toBe('6.54777e-7')
9
- expect(result?.assets?.xyo?.value?.eth).toBe('0.00000896773')
10
- expect(result?.assets?.xyo?.value?.eur).toBe(undefined)
11
- expect(result?.assets?.xyo?.value?.usd).toBe('0.0148782')
12
- })
13
- })
@@ -1,28 +0,0 @@
1
- import { XyoCryptoMarketAssetPayload, XyoCryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'
2
- import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
3
-
4
- import { XyoCryptoMarketAssetDiviner } from '../Diviner'
5
- import { sampleCoinGeckoPayload, sampleUniswapPayload } from '../test'
6
-
7
- const coinGeckoPayload = sampleCoinGeckoPayload
8
- const uniswapPayload = sampleUniswapPayload
9
-
10
- describe('Diviner', () => {
11
- test('returns observation', async () => {
12
- const module = await XyoCryptoMarketAssetDiviner.create()
13
- const wrapper = new DivinerWrapper(module)
14
-
15
- const payloads = await wrapper.divine([coinGeckoPayload, uniswapPayload])
16
- expect(payloads).toBeArray()
17
- expect(payloads.length).toBe(1)
18
- payloads.map((payload) => {
19
- if (payload?.schema === XyoCryptoMarketAssetSchema) {
20
- const assetPayload = payload as XyoCryptoMarketAssetPayload
21
- expect(assetPayload).toBeObject()
22
- expect(assetPayload?.assets).toBeObject()
23
- expect(assetPayload?.schema).toBe(XyoCryptoMarketAssetSchema)
24
- expect(assetPayload?.timestamp).toBeNumber()
25
- }
26
- })
27
- })
28
- })
@@ -1,11 +0,0 @@
1
- import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'
2
-
3
- import { XyoCryptoMarketAssetPlugin } from '../Plugin'
4
-
5
- describe('XyoCryptoMarketCoinGeckoPlugin', () => {
6
- test('Add to Resolver', () => {
7
- const plugin = XyoCryptoMarketAssetPlugin()
8
- const resolver = new PayloadSetPluginResolver().register(plugin)
9
- expect(resolver.resolve(plugin.set)).toBeDefined()
10
- })
11
- })