@xyo-network/crypto-asset-plugin 2.74.5 → 2.75.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/browser/Diviner.cjs +174 -0
  2. package/dist/browser/Diviner.cjs.map +1 -0
  3. package/dist/browser/Diviner.d.cts.map +1 -0
  4. package/dist/browser/Diviner.d.mts.map +1 -0
  5. package/dist/browser/Diviner.d.ts +16 -0
  6. package/dist/browser/Diviner.d.ts.map +1 -0
  7. package/dist/browser/Diviner.js +20 -0
  8. package/dist/browser/Diviner.js.map +1 -0
  9. package/dist/browser/Plugin.cjs +189 -0
  10. package/dist/browser/Plugin.cjs.map +1 -0
  11. package/dist/browser/Plugin.d.cts.map +1 -0
  12. package/dist/browser/Plugin.d.mts.map +1 -0
  13. package/dist/browser/Plugin.d.ts +50 -0
  14. package/dist/browser/Plugin.d.ts.map +1 -0
  15. package/dist/browser/Plugin.js +16 -0
  16. package/dist/browser/Plugin.js.map +1 -0
  17. package/dist/browser/Schema.cjs +29 -0
  18. package/dist/browser/Schema.cjs.map +1 -0
  19. package/dist/browser/Schema.d.cts.map +1 -0
  20. package/dist/browser/Schema.d.mts.map +1 -0
  21. package/dist/browser/Schema.d.ts +5 -0
  22. package/dist/browser/Schema.d.ts.map +1 -0
  23. package/dist/browser/Schema.js +7 -0
  24. package/dist/browser/Schema.js.map +1 -0
  25. package/dist/{index.js → browser/index.cjs} +1 -8
  26. package/dist/browser/index.cjs.map +1 -0
  27. package/dist/browser/index.d.cts.map +1 -0
  28. package/dist/browser/index.d.mts.map +1 -0
  29. package/dist/browser/index.d.ts +6 -0
  30. package/dist/browser/index.d.ts.map +1 -0
  31. package/dist/browser/index.js +9 -0
  32. package/dist/browser/index.js.map +1 -0
  33. package/dist/browser/lib/average.cjs +67 -0
  34. package/dist/browser/lib/average.cjs.map +1 -0
  35. package/dist/browser/lib/average.d.cts.map +1 -0
  36. package/dist/browser/lib/average.d.mts.map +1 -0
  37. package/dist/browser/lib/average.d.ts +3 -0
  38. package/dist/browser/lib/average.d.ts.map +1 -0
  39. package/dist/browser/lib/average.js +45 -0
  40. package/dist/browser/lib/average.js.map +1 -0
  41. package/dist/browser/lib/divineCoinGeckoPrices.cjs +48 -0
  42. package/dist/browser/lib/divineCoinGeckoPrices.cjs.map +1 -0
  43. package/dist/browser/lib/divineCoinGeckoPrices.d.cts.map +1 -0
  44. package/dist/browser/lib/divineCoinGeckoPrices.d.mts.map +1 -0
  45. package/dist/browser/lib/divineCoinGeckoPrices.d.ts +4 -0
  46. package/dist/browser/lib/divineCoinGeckoPrices.d.ts.map +1 -0
  47. package/dist/browser/lib/divineCoinGeckoPrices.js +26 -0
  48. package/dist/browser/lib/divineCoinGeckoPrices.js.map +1 -0
  49. package/dist/browser/lib/divinePrices.cjs +153 -0
  50. package/dist/browser/lib/divinePrices.cjs.map +1 -0
  51. package/dist/browser/lib/divinePrices.d.cts.map +1 -0
  52. package/dist/browser/lib/divinePrices.d.mts.map +1 -0
  53. package/dist/browser/lib/divinePrices.d.ts +5 -0
  54. package/dist/browser/lib/divinePrices.d.ts.map +1 -0
  55. package/dist/browser/lib/divinePrices.js +19 -0
  56. package/dist/browser/lib/divinePrices.js.map +1 -0
  57. package/dist/browser/lib/divineUniswapPrices.cjs +70 -0
  58. package/dist/browser/lib/divineUniswapPrices.cjs.map +1 -0
  59. package/dist/browser/lib/divineUniswapPrices.d.cts.map +1 -0
  60. package/dist/browser/lib/divineUniswapPrices.d.mts.map +1 -0
  61. package/dist/browser/lib/divineUniswapPrices.d.ts +4 -0
  62. package/dist/browser/lib/divineUniswapPrices.d.ts.map +1 -0
  63. package/dist/browser/lib/divineUniswapPrices.js +48 -0
  64. package/dist/browser/lib/divineUniswapPrices.js.map +1 -0
  65. package/dist/browser/lib/index.cjs +155 -0
  66. package/dist/browser/lib/index.cjs.map +1 -0
  67. package/dist/browser/lib/index.d.cts.map +1 -0
  68. package/dist/browser/lib/index.d.mts.map +1 -0
  69. package/dist/browser/lib/index.d.ts +2 -0
  70. package/dist/browser/lib/index.d.ts.map +1 -0
  71. package/dist/browser/lib/index.js +2 -0
  72. package/dist/browser/lib/index.js.map +1 -0
  73. package/dist/browser/test/index.cjs +293 -0
  74. package/dist/browser/test/index.cjs.map +1 -0
  75. package/dist/browser/test/index.d.cts.map +1 -0
  76. package/dist/browser/test/index.d.mts.map +1 -0
  77. package/dist/browser/test/index.d.ts +3 -0
  78. package/dist/browser/test/index.d.ts.map +1 -0
  79. package/dist/browser/test/index.js +3 -0
  80. package/dist/browser/test/index.js.map +1 -0
  81. package/dist/browser/test/sampleCoinGecko.cjs +99 -0
  82. package/dist/browser/test/sampleCoinGecko.cjs.map +1 -0
  83. package/dist/browser/test/sampleCoinGecko.d.cts.map +1 -0
  84. package/dist/browser/test/sampleCoinGecko.d.mts.map +1 -0
  85. package/dist/browser/test/sampleCoinGecko.d.ts +3 -0
  86. package/dist/browser/test/sampleCoinGecko.d.ts.map +1 -0
  87. package/dist/browser/test/sampleCoinGecko.js +77 -0
  88. package/dist/browser/test/sampleCoinGecko.js.map +1 -0
  89. package/dist/browser/test/sampleUniswap.cjs +215 -0
  90. package/dist/browser/test/sampleUniswap.cjs.map +1 -0
  91. package/dist/browser/test/sampleUniswap.d.cts.map +1 -0
  92. package/dist/browser/test/sampleUniswap.d.mts.map +1 -0
  93. package/dist/browser/test/sampleUniswap.d.ts +3 -0
  94. package/dist/browser/test/sampleUniswap.d.ts.map +1 -0
  95. package/dist/browser/test/sampleUniswap.js +193 -0
  96. package/dist/browser/test/sampleUniswap.js.map +1 -0
  97. package/dist/docs.json +534 -534
  98. package/dist/node/Diviner.d.cts +16 -0
  99. package/dist/node/Diviner.d.cts.map +1 -0
  100. package/dist/node/Diviner.d.mts +16 -0
  101. package/dist/node/Diviner.d.mts.map +1 -0
  102. package/dist/node/Diviner.d.ts +16 -0
  103. package/dist/node/Diviner.d.ts.map +1 -0
  104. package/dist/node/Diviner.js +188 -0
  105. package/dist/node/Diviner.js.map +1 -0
  106. package/dist/node/Diviner.mjs +163 -0
  107. package/dist/node/Diviner.mjs.map +1 -0
  108. package/dist/node/Plugin.d.cts +50 -0
  109. package/dist/node/Plugin.d.cts.map +1 -0
  110. package/dist/node/Plugin.d.mts +50 -0
  111. package/dist/node/Plugin.d.mts.map +1 -0
  112. package/dist/node/Plugin.d.ts +50 -0
  113. package/dist/node/Plugin.d.ts.map +1 -0
  114. package/dist/node/Plugin.js +203 -0
  115. package/dist/node/Plugin.js.map +1 -0
  116. package/dist/node/Plugin.mjs +178 -0
  117. package/dist/node/Plugin.mjs.map +1 -0
  118. package/dist/node/Schema.d.cts +5 -0
  119. package/dist/node/Schema.d.cts.map +1 -0
  120. package/dist/node/Schema.d.mts +5 -0
  121. package/dist/node/Schema.d.mts.map +1 -0
  122. package/dist/node/Schema.d.ts +5 -0
  123. package/dist/node/Schema.d.ts.map +1 -0
  124. package/dist/node/Schema.js +34 -0
  125. package/dist/node/Schema.js.map +1 -0
  126. package/dist/node/Schema.mjs +8 -0
  127. package/dist/node/Schema.mjs.map +1 -0
  128. package/dist/node/index.d.cts +6 -0
  129. package/dist/node/index.d.cts.map +1 -0
  130. package/dist/node/index.d.mts +6 -0
  131. package/dist/node/index.d.mts.map +1 -0
  132. package/dist/node/index.d.ts +6 -0
  133. package/dist/node/index.d.ts.map +1 -0
  134. package/dist/node/index.js +216 -0
  135. package/dist/node/index.js.map +1 -0
  136. package/dist/{index.mjs → node/index.mjs} +21 -11
  137. package/dist/node/index.mjs.map +1 -0
  138. package/dist/node/lib/average.d.cts +3 -0
  139. package/dist/node/lib/average.d.cts.map +1 -0
  140. package/dist/node/lib/average.d.mts +3 -0
  141. package/dist/node/lib/average.d.mts.map +1 -0
  142. package/dist/node/lib/average.d.ts +3 -0
  143. package/dist/node/lib/average.d.ts.map +1 -0
  144. package/dist/node/lib/average.js +80 -0
  145. package/dist/node/lib/average.js.map +1 -0
  146. package/dist/node/lib/average.mjs +55 -0
  147. package/dist/node/lib/average.mjs.map +1 -0
  148. package/dist/node/lib/divineCoinGeckoPrices.d.cts +4 -0
  149. package/dist/node/lib/divineCoinGeckoPrices.d.cts.map +1 -0
  150. package/dist/node/lib/divineCoinGeckoPrices.d.mts +4 -0
  151. package/dist/node/lib/divineCoinGeckoPrices.d.mts.map +1 -0
  152. package/dist/node/lib/divineCoinGeckoPrices.d.ts +4 -0
  153. package/dist/node/lib/divineCoinGeckoPrices.d.ts.map +1 -0
  154. package/dist/node/lib/divineCoinGeckoPrices.js +52 -0
  155. package/dist/node/lib/divineCoinGeckoPrices.js.map +1 -0
  156. package/dist/node/lib/divineCoinGeckoPrices.mjs +27 -0
  157. package/dist/node/lib/divineCoinGeckoPrices.mjs.map +1 -0
  158. package/dist/node/lib/divinePrices.d.cts +5 -0
  159. package/dist/node/lib/divinePrices.d.cts.map +1 -0
  160. package/dist/node/lib/divinePrices.d.mts +5 -0
  161. package/dist/node/lib/divinePrices.d.mts.map +1 -0
  162. package/dist/node/lib/divinePrices.d.ts +5 -0
  163. package/dist/node/lib/divinePrices.d.ts.map +1 -0
  164. package/dist/node/lib/divinePrices.js +167 -0
  165. package/dist/node/lib/divinePrices.js.map +1 -0
  166. package/dist/node/lib/divinePrices.mjs +142 -0
  167. package/dist/node/lib/divinePrices.mjs.map +1 -0
  168. package/dist/node/lib/divineUniswapPrices.d.cts +4 -0
  169. package/dist/node/lib/divineUniswapPrices.d.cts.map +1 -0
  170. package/dist/node/lib/divineUniswapPrices.d.mts +4 -0
  171. package/dist/node/lib/divineUniswapPrices.d.mts.map +1 -0
  172. package/dist/node/lib/divineUniswapPrices.d.ts +4 -0
  173. package/dist/node/lib/divineUniswapPrices.d.ts.map +1 -0
  174. package/dist/node/lib/divineUniswapPrices.js +75 -0
  175. package/dist/node/lib/divineUniswapPrices.js.map +1 -0
  176. package/dist/node/lib/divineUniswapPrices.mjs +50 -0
  177. package/dist/node/lib/divineUniswapPrices.mjs.map +1 -0
  178. package/dist/node/lib/index.d.cts +2 -0
  179. package/dist/node/lib/index.d.cts.map +1 -0
  180. package/dist/node/lib/index.d.mts +2 -0
  181. package/dist/node/lib/index.d.mts.map +1 -0
  182. package/dist/node/lib/index.d.ts +2 -0
  183. package/dist/node/lib/index.d.ts.map +1 -0
  184. package/dist/node/lib/index.js +169 -0
  185. package/dist/node/lib/index.js.map +1 -0
  186. package/dist/node/lib/index.mjs +142 -0
  187. package/dist/node/lib/index.mjs.map +1 -0
  188. package/dist/node/test/index.d.cts +3 -0
  189. package/dist/node/test/index.d.cts.map +1 -0
  190. package/dist/node/test/index.d.mts +3 -0
  191. package/dist/node/test/index.d.mts.map +1 -0
  192. package/dist/node/test/index.d.ts +3 -0
  193. package/dist/node/test/index.d.ts.map +1 -0
  194. package/dist/node/test/index.js +298 -0
  195. package/dist/node/test/index.js.map +1 -0
  196. package/dist/node/test/index.mjs +270 -0
  197. package/dist/node/test/index.mjs.map +1 -0
  198. package/dist/node/test/sampleCoinGecko.d.cts +3 -0
  199. package/dist/node/test/sampleCoinGecko.d.cts.map +1 -0
  200. package/dist/node/test/sampleCoinGecko.d.mts +3 -0
  201. package/dist/node/test/sampleCoinGecko.d.mts.map +1 -0
  202. package/dist/node/test/sampleCoinGecko.d.ts +3 -0
  203. package/dist/node/test/sampleCoinGecko.d.ts.map +1 -0
  204. package/dist/node/test/sampleCoinGecko.js +103 -0
  205. package/dist/node/test/sampleCoinGecko.js.map +1 -0
  206. package/dist/node/test/sampleCoinGecko.mjs +78 -0
  207. package/dist/node/test/sampleCoinGecko.mjs.map +1 -0
  208. package/dist/node/test/sampleUniswap.d.cts +3 -0
  209. package/dist/node/test/sampleUniswap.d.cts.map +1 -0
  210. package/dist/node/test/sampleUniswap.d.mts +3 -0
  211. package/dist/node/test/sampleUniswap.d.mts.map +1 -0
  212. package/dist/node/test/sampleUniswap.d.ts +3 -0
  213. package/dist/node/test/sampleUniswap.d.ts.map +1 -0
  214. package/dist/node/test/sampleUniswap.js +219 -0
  215. package/dist/node/test/sampleUniswap.js.map +1 -0
  216. package/dist/node/test/sampleUniswap.mjs +194 -0
  217. package/dist/node/test/sampleUniswap.mjs.map +1 -0
  218. package/package.json +35 -32
  219. package/dist/Diviner.d.mts.map +0 -1
  220. package/dist/Diviner.d.ts.map +0 -1
  221. package/dist/Plugin.d.mts.map +0 -1
  222. package/dist/Plugin.d.ts.map +0 -1
  223. package/dist/Schema.d.mts.map +0 -1
  224. package/dist/Schema.d.ts.map +0 -1
  225. package/dist/index.d.mts.map +0 -1
  226. package/dist/index.d.ts.map +0 -1
  227. package/dist/index.js.map +0 -1
  228. package/dist/index.mjs.map +0 -1
  229. package/dist/lib/average.d.mts.map +0 -1
  230. package/dist/lib/average.d.ts.map +0 -1
  231. package/dist/lib/divineCoinGeckoPrices.d.mts.map +0 -1
  232. package/dist/lib/divineCoinGeckoPrices.d.ts.map +0 -1
  233. package/dist/lib/divinePrices.d.mts.map +0 -1
  234. package/dist/lib/divinePrices.d.ts.map +0 -1
  235. package/dist/lib/divineUniswapPrices.d.mts.map +0 -1
  236. package/dist/lib/divineUniswapPrices.d.ts.map +0 -1
  237. package/dist/lib/index.d.mts.map +0 -1
  238. package/dist/lib/index.d.ts.map +0 -1
  239. package/dist/test/index.d.mts.map +0 -1
  240. package/dist/test/index.d.ts.map +0 -1
  241. package/dist/test/sampleCoinGecko.d.mts.map +0 -1
  242. package/dist/test/sampleCoinGecko.d.ts.map +0 -1
  243. package/dist/test/sampleUniswap.d.mts.map +0 -1
  244. package/dist/test/sampleUniswap.d.ts.map +0 -1
  245. /package/dist/{Diviner.d.mts → browser/Diviner.d.cts} +0 -0
  246. /package/dist/{Diviner.d.ts → browser/Diviner.d.mts} +0 -0
  247. /package/dist/{Plugin.d.mts → browser/Plugin.d.cts} +0 -0
  248. /package/dist/{Plugin.d.ts → browser/Plugin.d.mts} +0 -0
  249. /package/dist/{Schema.d.mts → browser/Schema.d.cts} +0 -0
  250. /package/dist/{Schema.d.ts → browser/Schema.d.mts} +0 -0
  251. /package/dist/{index.d.mts → browser/index.d.cts} +0 -0
  252. /package/dist/{index.d.ts → browser/index.d.mts} +0 -0
  253. /package/dist/{lib/average.d.mts → browser/lib/average.d.cts} +0 -0
  254. /package/dist/{lib/average.d.ts → browser/lib/average.d.mts} +0 -0
  255. /package/dist/{lib/divineCoinGeckoPrices.d.mts → browser/lib/divineCoinGeckoPrices.d.cts} +0 -0
  256. /package/dist/{lib/divineCoinGeckoPrices.d.ts → browser/lib/divineCoinGeckoPrices.d.mts} +0 -0
  257. /package/dist/{lib/divinePrices.d.mts → browser/lib/divinePrices.d.cts} +0 -0
  258. /package/dist/{lib/divinePrices.d.ts → browser/lib/divinePrices.d.mts} +0 -0
  259. /package/dist/{lib/divineUniswapPrices.d.mts → browser/lib/divineUniswapPrices.d.cts} +0 -0
  260. /package/dist/{lib/divineUniswapPrices.d.ts → browser/lib/divineUniswapPrices.d.mts} +0 -0
  261. /package/dist/{lib/index.d.mts → browser/lib/index.d.cts} +0 -0
  262. /package/dist/{lib/index.d.ts → browser/lib/index.d.mts} +0 -0
  263. /package/dist/{test/index.d.mts → browser/test/index.d.cts} +0 -0
  264. /package/dist/{test/index.d.ts → browser/test/index.d.mts} +0 -0
  265. /package/dist/{test/sampleCoinGecko.d.mts → browser/test/sampleCoinGecko.d.cts} +0 -0
  266. /package/dist/{test/sampleCoinGecko.d.ts → browser/test/sampleCoinGecko.d.mts} +0 -0
  267. /package/dist/{test/sampleUniswap.d.mts → browser/test/sampleUniswap.d.cts} +0 -0
  268. /package/dist/{test/sampleUniswap.d.ts → browser/test/sampleUniswap.d.mts} +0 -0
package/package.json CHANGED
@@ -10,17 +10,17 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/exists": "^2.11.7",
14
- "@xyo-network/abstract-diviner": "~2.74.5",
15
- "@xyo-network/coingecko-crypto-market-payload-plugin": "~2.74.5",
16
- "@xyo-network/crypto-asset-payload-plugin": "~2.74.5",
17
- "@xyo-network/diviner": "~2.74.5",
18
- "@xyo-network/module": "~2.74.5",
19
- "@xyo-network/payload-builder": "~2.74.5",
20
- "@xyo-network/payload-model": "~2.74.5",
21
- "@xyo-network/payloadset-plugin": "~2.74.5",
22
- "@xyo-network/promise": "~2.74.5",
23
- "@xyo-network/uniswap-crypto-market-payload-plugin": "~2.74.5"
13
+ "@xylabs/exists": "^2.12.10",
14
+ "@xyo-network/abstract-diviner": "~2.75.2",
15
+ "@xyo-network/coingecko-crypto-market-payload-plugin": "~2.75.2",
16
+ "@xyo-network/crypto-asset-payload-plugin": "~2.75.2",
17
+ "@xyo-network/diviner": "~2.75.2",
18
+ "@xyo-network/module": "~2.75.2",
19
+ "@xyo-network/payload-builder": "~2.75.2",
20
+ "@xyo-network/payload-model": "~2.75.2",
21
+ "@xyo-network/payloadset-plugin": "~2.75.2",
22
+ "@xyo-network/promise": "~2.75.2",
23
+ "@xyo-network/uniswap-crypto-market-payload-plugin": "~2.75.2"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@ethersproject/address": "^5.7.0",
@@ -31,8 +31,8 @@
31
31
  "@uniswap/sdk": "^3.0.3",
32
32
  "@uniswap/sdk-core": "^4.0.7",
33
33
  "@uniswap/v3-sdk": "^3.10.0",
34
- "@xylabs/ts-scripts-yarn3": "^3.0.28",
35
- "@xylabs/tsconfig": "^3.0.28",
34
+ "@xylabs/ts-scripts-yarn3": "^3.0.77",
35
+ "@xylabs/tsconfig": "^3.0.77",
36
36
  "typescript": "^5.2.2"
37
37
  },
38
38
  "peerDependencies": {
@@ -47,34 +47,37 @@
47
47
  },
48
48
  "description": "Primary SDK for using XYO Protocol 2.0",
49
49
  "docs": "dist/docs.json",
50
- "types": "dist/index.d.ts",
50
+ "types": "dist/node/index.d.ts",
51
51
  "exports": {
52
52
  ".": {
53
- "require": {
54
- "types": "./dist/index.d.ts",
55
- "default": "./dist/index.js"
53
+ "browser": {
54
+ "require": {
55
+ "types": "./dist/browser/index.d.cts",
56
+ "default": "./dist/browser/index.cjs"
57
+ },
58
+ "import": {
59
+ "types": "./dist/browser/index.d.mts",
60
+ "default": "./dist/browser/index.js"
61
+ }
56
62
  },
57
- "import": {
58
- "types": "./dist/index.d.mts",
59
- "default": "./dist/index.mjs"
63
+ "node": {
64
+ "require": {
65
+ "types": "./dist/node/index.d.ts",
66
+ "default": "./dist/node/index.js"
67
+ },
68
+ "import": {
69
+ "types": "./dist/node/index.d.mts",
70
+ "default": "./dist/node/index.mjs"
71
+ }
60
72
  }
61
73
  },
62
- "./dist/docs.json": {
63
- "default": "./dist/docs.json"
64
- },
65
- "./cjs": {
66
- "default": "./dist/index.js"
67
- },
68
74
  "./docs": {
69
75
  "default": "./dist/docs.json"
70
76
  },
71
- "./esm": {
72
- "default": "./dist/index.mjs"
73
- },
74
77
  "./package.json": "./package.json"
75
78
  },
76
- "main": "dist/index.js",
77
- "module": "dist/index.mjs",
79
+ "main": "dist/node/index.js",
80
+ "module": "dist/node/index.mjs",
78
81
  "homepage": "https://xyo.network",
79
82
  "license": "LGPL-3.0",
80
83
  "publishConfig": {
@@ -85,5 +88,5 @@
85
88
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
86
89
  },
87
90
  "sideEffects": false,
88
- "version": "2.74.5"
91
+ "version": "2.75.2"
89
92
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAA;AAE/D,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,oCAAoC,CAAA;CAAE,CAAC,CAAA;AAC5G,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,OAAO,SAAS,8BAA8B,GAAG,8BAA8B,CACnH,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,aAAa,EAAE,MAAM;IAEhC,OAAgB,aAAa,8CAAyC;IACtE,OAAgB,YAAY,6BAA0B;cAEnC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAM9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAG/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAA;AAE/D,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,oCAAoC,CAAA;CAAE,CAAC,CAAA;AAC5G,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,OAAO,SAAS,8BAA8B,GAAG,8BAA8B,CACnH,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,aAAa,EAAE,MAAM;IAEhC,OAAgB,aAAa,8CAAyC;IACtE,OAAgB,YAAY,6BAA0B;cAEnC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAM9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mCAAmC,GAAG,wCAAwC,CAAA;AAC1F,eAAO,MAAM,mCAAmC,EAAE,mCAA8E,CAAA;AAEhI,MAAM,MAAM,oCAAoC,GAAG,yCAAyC,CAAA;AAC5F,eAAO,MAAM,oCAAoC,EAAE,oCAAgF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mCAAmC,GAAG,wCAAwC,CAAA;AAC1F,eAAO,MAAM,mCAAmC,EAAE,mCAA8E,CAAA;AAEhI,MAAM,MAAM,oCAAoC,GAAG,yCAAyC,CAAA;AAC5F,eAAO,MAAM,oCAAoC,EAAE,oCAAgF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAGlC,eAAe,uBAAuB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAGlC,eAAe,uBAAuB,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts","../src/Plugin.ts","../src/Diviner.ts","../src/lib/divinePrices.ts","../src/lib/average.ts","../src/lib/divineCoinGeckoPrices.ts","../src/lib/divineUniswapPrices.ts","../src/Schema.ts"],"sourcesContent":["import { CryptoMarketAssetPlugin } from './Plugin'\n\nexport * from './Diviner'\nexport * from './Schema'\n\nexport { CryptoMarketAssetPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default CryptoMarketAssetPlugin\n","import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoMarketAssetDiviner } from './Diviner'\n\nexport const CryptoMarketAssetPlugin = () =>\n createPayloadSetDivinerPlugin<CryptoMarketAssetDiviner>(\n { required: { [CryptoMarketAssetSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await CryptoMarketAssetDiviner.create(params)) as CryptoMarketAssetDiviner\n },\n },\n )\n","import { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner'\nimport { AnyConfigSchema, Module } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\nimport { UniswapCryptoMarketPayload, UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { divinePrices } from './lib'\nimport { CryptoMarketAssetDivinerConfigSchema } from './Schema'\n\nexport type CryptoMarketAssetDivinerConfig = DivinerConfig<{ schema: CryptoMarketAssetDivinerConfigSchema }>\nexport type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>\n\nexport class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams>\n extends AbstractDiviner<TParams>\n implements DivinerModule, Module\n{\n static override configSchemas = [CryptoMarketAssetDivinerConfigSchema]\n static override targetSchema = CryptoMarketAssetSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<Payload[]> {\n const coinGeckoPayload = payloads?.find((payload) => payload?.schema === CoingeckoCryptoMarketSchema) as CoingeckoCryptoMarketPayload\n const uniswapPayload = payloads?.find((payload) => payload?.schema === UniswapCryptoMarketSchema) as UniswapCryptoMarketPayload\n const result: CryptoMarketAssetPayload = divinePrices(coinGeckoPayload, uniswapPayload)\n return [result]\n }\n}\n","import { exists } from '@xylabs/exists'\nimport { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { average } from './average'\nimport { divineCoinGeckoPrices } from './divineCoinGeckoPrices'\nimport { divineUniswapPrices } from './divineUniswapPrices'\n\nconst schema = CryptoMarketAssetSchema\n\nexport const divinePrices = (\n coinGeckoPayload: CoingeckoCryptoMarketPayload | undefined,\n uniswapPayload: UniswapCryptoMarketPayload | undefined,\n): CryptoMarketAssetPayload => {\n const coinGeckoPrices = divineCoinGeckoPrices(coinGeckoPayload)\n const uniswapPrices = divineUniswapPrices(uniswapPayload)\n const prices = [uniswapPayload, coinGeckoPayload].some(exists)\n const assets = prices ? average(coinGeckoPrices, uniswapPrices) : {}\n const timestamp = Date.now()\n return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, Currency, Token } from '@xyo-network/crypto-asset-payload-plugin'\n\nconst isNumber = (val: number | undefined): val is number => {\n return val !== undefined\n}\n\nconst parseStringifiedNumber = (value: string | undefined): number | undefined => {\n if (!value) return undefined\n const parsed = parseFloat(value)\n return isNaN(parsed) ? undefined : parsed\n}\n\nconst averageStringifiedNumbers = (...prices: (string | undefined)[]): number | undefined => {\n const numbers = prices.map(parseStringifiedNumber).filter(isNumber)\n return numbers.length ? numbers.reduce((sum, n) => sum + n, 0) / numbers.length : undefined\n}\n\nexport const average = (...input: (CryptoMarketAssetPayload | undefined)[]): Record<string, AssetInfo> => {\n // Get all the assets represented\n const payloads = input.filter(exists)\n const tokens = new Set<Token>(payloads.map((payload) => Object.keys(payload.assets).map<Token>((t) => t as Token)).flatMap((t) => t))\n // Get all the valuations used\n const valuations = new Set<Token | Currency>(\n [...tokens]\n .map((asset) => {\n const assetInfo = payloads.map((p) => p.assets?.[asset]).filter(exists)\n const valueBasis = new Set<Currency | Token>(\n assetInfo\n .map((v) => Object.keys(v.value) as unknown as Currency | Token)\n .flatMap((v) => v)\n .filter(exists),\n )\n return [...valueBasis]\n })\n .flatMap((v) => v),\n )\n // For each of the tokens, calculate the average valuation for each of valuation bases\n const assets: Record<string, AssetInfo> = Object.fromEntries(\n [...tokens].map((token) => {\n const assetInfo = payloads.map((p) => p.assets?.[token]).filter(exists)\n const value = Object.fromEntries(\n [...valuations].map((valuation) => {\n const assetValuations = assetInfo.map((info) => info.value?.[valuation])\n const averageAssetValuation = averageStringifiedNumbers(...assetValuations)\n return [valuation, averageAssetValuation?.toString()]\n }),\n )\n return [token, { value }]\n }),\n )\n return assets\n}\n","import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\n\nconst schema = CryptoMarketAssetSchema\n\nconst valuationExists = (value: [string, Partial<Record<string, number>> | undefined]): value is [string, Partial<Record<string, number>>] => {\n return !!value[1]\n}\n\nconst otherValueExists = (value: [string, number | undefined]): value is [string, number] => {\n const possiblyNumber = value[1]\n return typeof possiblyNumber === 'number' && !isNaN(possiblyNumber)\n}\n\nexport const divineCoinGeckoPrices = (payload: CoingeckoCryptoMarketPayload | undefined): CryptoMarketAssetPayload => {\n const assets: Record<string, AssetInfo> =\n payload && payload?.assets\n ? Object.fromEntries(\n Object.entries(payload.assets)\n .filter(valuationExists)\n .map(([asset, valuation]) => {\n const value = Object.fromEntries(\n Object.entries(valuation)\n .filter(otherValueExists)\n .map(([symbol, price]) => [symbol.toLowerCase(), price?.toString()]),\n )\n return [asset, { value }]\n }),\n )\n : {}\n const timestamp = Date.now()\n return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema, Currency, Token, ValueBasis } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload, UniswapCryptoPair, UniswapCryptoToken } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nconst schema = CryptoMarketAssetSchema\n\nconst mapUniswapToken = (symbol: string): Token | Currency => {\n // TODO: Actually calculate the value of the token/stablecoin based on others\n // to weed out individual fluctuations in price\n if (symbol.toLowerCase() === 'wbtc') return 'btc'\n if (symbol.toLowerCase() === 'weth') return 'eth'\n if (symbol.toLowerCase() === 'usdt') return 'usd'\n return symbol.toLowerCase() as Token\n}\n\nconst pairsContainingToken = (uniswapPayload: UniswapCryptoMarketPayload, token: Token) => {\n return uniswapPayload?.pairs\n .map((p) => p.tokens)\n .filter((p) => p.some((x) => x.symbol.toLowerCase() === token))\n .filter(exists)\n}\n\nconst tokensFromPairs = (pairs: UniswapCryptoPair[]) => {\n return pairs\n .map((p) => p.tokens)\n .flat()\n .map((t) => t.symbol.toLowerCase() as Token)\n}\n\nconst valuesFromTokenPairs = (tokensPairs: UniswapCryptoToken[][], token: Token): ValueBasis => {\n return Object.fromEntries(\n tokensPairs\n .map((pair) => {\n const current = pair.filter((p) => p.symbol.toLowerCase() === token)?.[0]\n const other = pair.filter((p) => p.symbol.toLowerCase() !== token)?.[0]\n return [other.symbol.toLowerCase(), current.value.toString()]\n })\n .map((x) => [mapUniswapToken(x[0]), x[1]]),\n )\n}\n\nexport const divineUniswapPrices = (uniswapPayload: UniswapCryptoMarketPayload | undefined): CryptoMarketAssetPayload => {\n let assets: Partial<Record<Token, AssetInfo | undefined>> = {}\n if (uniswapPayload) {\n const tokens: Set<Token> = new Set(tokensFromPairs(uniswapPayload.pairs))\n assets = Object.fromEntries(\n [...tokens].map((token) => {\n const pairs = pairsContainingToken(uniswapPayload, token)\n const value: ValueBasis = valuesFromTokenPairs(pairs, token)\n const assetInfo: AssetInfo = { value }\n return [token, assetInfo]\n }),\n )\n }\n const timestamp = Date.now()\n return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","export type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\nexport const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\n\nexport type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\nexport const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\n"],"mappings":"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","names":["import_crypto_asset_payload_plugin","import_crypto_asset_payload_plugin","import_exists","import_crypto_asset_payload_plugin","import_payload_builder","import_exists","import_crypto_asset_payload_plugin","import_payload_builder","schema","schema"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/Plugin.ts","../src/Diviner.ts","../src/lib/divinePrices.ts","../src/lib/average.ts","../src/lib/divineCoinGeckoPrices.ts","../src/lib/divineUniswapPrices.ts","../src/Schema.ts","../src/index.ts"],"sourcesContent":["import { CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { CryptoMarketAssetDiviner } from './Diviner'\n\nexport const CryptoMarketAssetPlugin = () =>\n createPayloadSetDivinerPlugin<CryptoMarketAssetDiviner>(\n { required: { [CryptoMarketAssetSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await CryptoMarketAssetDiviner.create(params)) as CryptoMarketAssetDiviner\n },\n },\n )\n","import { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport { CoingeckoCryptoMarketPayload, CoingeckoCryptoMarketSchema } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner'\nimport { AnyConfigSchema, Module } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\nimport { UniswapCryptoMarketPayload, UniswapCryptoMarketSchema } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { divinePrices } from './lib'\nimport { CryptoMarketAssetDivinerConfigSchema } from './Schema'\n\nexport type CryptoMarketAssetDivinerConfig = DivinerConfig<{ schema: CryptoMarketAssetDivinerConfigSchema }>\nexport type CryptoMarketAssetDivinerParams = DivinerParams<AnyConfigSchema<CryptoMarketAssetDivinerConfig>>\n\nexport class CryptoMarketAssetDiviner<TParams extends CryptoMarketAssetDivinerParams = CryptoMarketAssetDivinerParams>\n extends AbstractDiviner<TParams>\n implements DivinerModule, Module\n{\n static override configSchemas = [CryptoMarketAssetDivinerConfigSchema]\n static override targetSchema = CryptoMarketAssetSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<Payload[]> {\n const coinGeckoPayload = payloads?.find((payload) => payload?.schema === CoingeckoCryptoMarketSchema) as CoingeckoCryptoMarketPayload\n const uniswapPayload = payloads?.find((payload) => payload?.schema === UniswapCryptoMarketSchema) as UniswapCryptoMarketPayload\n const result: CryptoMarketAssetPayload = divinePrices(coinGeckoPayload, uniswapPayload)\n return [result]\n }\n}\n","import { exists } from '@xylabs/exists'\nimport { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nimport { average } from './average'\nimport { divineCoinGeckoPrices } from './divineCoinGeckoPrices'\nimport { divineUniswapPrices } from './divineUniswapPrices'\n\nconst schema = CryptoMarketAssetSchema\n\nexport const divinePrices = (\n coinGeckoPayload: CoingeckoCryptoMarketPayload | undefined,\n uniswapPayload: UniswapCryptoMarketPayload | undefined,\n): CryptoMarketAssetPayload => {\n const coinGeckoPrices = divineCoinGeckoPrices(coinGeckoPayload)\n const uniswapPrices = divineUniswapPrices(uniswapPayload)\n const prices = [uniswapPayload, coinGeckoPayload].some(exists)\n const assets = prices ? average(coinGeckoPrices, uniswapPrices) : {}\n const timestamp = Date.now()\n return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, Currency, Token } from '@xyo-network/crypto-asset-payload-plugin'\n\nconst isNumber = (val: number | undefined): val is number => {\n return val !== undefined\n}\n\nconst parseStringifiedNumber = (value: string | undefined): number | undefined => {\n if (!value) return undefined\n const parsed = parseFloat(value)\n return isNaN(parsed) ? undefined : parsed\n}\n\nconst averageStringifiedNumbers = (...prices: (string | undefined)[]): number | undefined => {\n const numbers = prices.map(parseStringifiedNumber).filter(isNumber)\n return numbers.length ? numbers.reduce((sum, n) => sum + n, 0) / numbers.length : undefined\n}\n\nexport const average = (...input: (CryptoMarketAssetPayload | undefined)[]): Record<string, AssetInfo> => {\n // Get all the assets represented\n const payloads = input.filter(exists)\n const tokens = new Set<Token>(payloads.map((payload) => Object.keys(payload.assets).map<Token>((t) => t as Token)).flatMap((t) => t))\n // Get all the valuations used\n const valuations = new Set<Token | Currency>(\n [...tokens]\n .map((asset) => {\n const assetInfo = payloads.map((p) => p.assets?.[asset]).filter(exists)\n const valueBasis = new Set<Currency | Token>(\n assetInfo\n .map((v) => Object.keys(v.value) as unknown as Currency | Token)\n .flatMap((v) => v)\n .filter(exists),\n )\n return [...valueBasis]\n })\n .flatMap((v) => v),\n )\n // For each of the tokens, calculate the average valuation for each of valuation bases\n const assets: Record<string, AssetInfo> = Object.fromEntries(\n [...tokens].map((token) => {\n const assetInfo = payloads.map((p) => p.assets?.[token]).filter(exists)\n const value = Object.fromEntries(\n [...valuations].map((valuation) => {\n const assetValuations = assetInfo.map((info) => info.value?.[valuation])\n const averageAssetValuation = averageStringifiedNumbers(...assetValuations)\n return [valuation, averageAssetValuation?.toString()]\n }),\n )\n return [token, { value }]\n }),\n )\n return assets\n}\n","import { CoingeckoCryptoMarketPayload } from '@xyo-network/coingecko-crypto-market-payload-plugin'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\n\nconst schema = CryptoMarketAssetSchema\n\nconst valuationExists = (value: [string, Partial<Record<string, number>> | undefined]): value is [string, Partial<Record<string, number>>] => {\n return !!value[1]\n}\n\nconst otherValueExists = (value: [string, number | undefined]): value is [string, number] => {\n const possiblyNumber = value[1]\n return typeof possiblyNumber === 'number' && !isNaN(possiblyNumber)\n}\n\nexport const divineCoinGeckoPrices = (payload: CoingeckoCryptoMarketPayload | undefined): CryptoMarketAssetPayload => {\n const assets: Record<string, AssetInfo> =\n payload && payload?.assets\n ? Object.fromEntries(\n Object.entries(payload.assets)\n .filter(valuationExists)\n .map(([asset, valuation]) => {\n const value = Object.fromEntries(\n Object.entries(valuation)\n .filter(otherValueExists)\n .map(([symbol, price]) => [symbol.toLowerCase(), price?.toString()]),\n )\n return [asset, { value }]\n }),\n )\n : {}\n const timestamp = Date.now()\n return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","import { exists } from '@xylabs/exists'\nimport { AssetInfo, CryptoMarketAssetPayload, CryptoMarketAssetSchema, Currency, Token, ValueBasis } from '@xyo-network/crypto-asset-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { UniswapCryptoMarketPayload, UniswapCryptoPair, UniswapCryptoToken } from '@xyo-network/uniswap-crypto-market-payload-plugin'\n\nconst schema = CryptoMarketAssetSchema\n\nconst mapUniswapToken = (symbol: string): Token | Currency => {\n // TODO: Actually calculate the value of the token/stablecoin based on others\n // to weed out individual fluctuations in price\n if (symbol.toLowerCase() === 'wbtc') return 'btc'\n if (symbol.toLowerCase() === 'weth') return 'eth'\n if (symbol.toLowerCase() === 'usdt') return 'usd'\n return symbol.toLowerCase() as Token\n}\n\nconst pairsContainingToken = (uniswapPayload: UniswapCryptoMarketPayload, token: Token) => {\n return uniswapPayload?.pairs\n .map((p) => p.tokens)\n .filter((p) => p.some((x) => x.symbol.toLowerCase() === token))\n .filter(exists)\n}\n\nconst tokensFromPairs = (pairs: UniswapCryptoPair[]) => {\n return pairs\n .map((p) => p.tokens)\n .flat()\n .map((t) => t.symbol.toLowerCase() as Token)\n}\n\nconst valuesFromTokenPairs = (tokensPairs: UniswapCryptoToken[][], token: Token): ValueBasis => {\n return Object.fromEntries(\n tokensPairs\n .map((pair) => {\n const current = pair.filter((p) => p.symbol.toLowerCase() === token)?.[0]\n const other = pair.filter((p) => p.symbol.toLowerCase() !== token)?.[0]\n return [other.symbol.toLowerCase(), current.value.toString()]\n })\n .map((x) => [mapUniswapToken(x[0]), x[1]]),\n )\n}\n\nexport const divineUniswapPrices = (uniswapPayload: UniswapCryptoMarketPayload | undefined): CryptoMarketAssetPayload => {\n let assets: Partial<Record<Token, AssetInfo | undefined>> = {}\n if (uniswapPayload) {\n const tokens: Set<Token> = new Set(tokensFromPairs(uniswapPayload.pairs))\n assets = Object.fromEntries(\n [...tokens].map((token) => {\n const pairs = pairsContainingToken(uniswapPayload, token)\n const value: ValueBasis = valuesFromTokenPairs(pairs, token)\n const assetInfo: AssetInfo = { value }\n return [token, assetInfo]\n }),\n )\n }\n const timestamp = Date.now()\n return new PayloadBuilder<CryptoMarketAssetPayload>({ schema }).fields({ assets, timestamp }).build()\n}\n","export type CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\nexport const CryptoMarketAssetDivinerQuerySchema: CryptoMarketAssetDivinerQuerySchema = 'network.xyo.crypto.asset.diviner.query'\n\nexport type CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\nexport const CryptoMarketAssetDivinerConfigSchema: CryptoMarketAssetDivinerConfigSchema = 'network.xyo.crypto.asset.diviner.config'\n","import { CryptoMarketAssetPlugin } from './Plugin'\n\nexport * from './Diviner'\nexport * from './Schema'\n\nexport { CryptoMarketAssetPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default CryptoMarketAssetPlugin\n"],"mappings":"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","names":["CryptoMarketAssetSchema","CryptoMarketAssetSchema","exists","CryptoMarketAssetSchema","PayloadBuilder","exists","CryptoMarketAssetSchema","PayloadBuilder","schema","schema","CryptoMarketAssetSchema","exists","PayloadBuilder","CryptoMarketAssetSchema","CryptoMarketAssetSchema"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"average.d.ts","sourceRoot":"","sources":["../../src/lib/average.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAmB,MAAM,0CAA0C,CAAA;AAiB/G,eAAO,MAAM,OAAO,aAAc,CAAC,wBAAwB,GAAG,SAAS,CAAC,EAAE,KAAG,OAAO,MAAM,EAAE,SAAS,CAkCpG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"average.d.ts","sourceRoot":"","sources":["../../src/lib/average.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAmB,MAAM,0CAA0C,CAAA;AAiB/G,eAAO,MAAM,OAAO,aAAc,CAAC,wBAAwB,GAAG,SAAS,CAAC,EAAE,KAAG,OAAO,MAAM,EAAE,SAAS,CAkCpG,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"divineCoinGeckoPrices.d.ts","sourceRoot":"","sources":["../../src/lib/divineCoinGeckoPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAA;AAClG,OAAO,EAAa,wBAAwB,EAA2B,MAAM,0CAA0C,CAAA;AAcvH,eAAO,MAAM,qBAAqB,YAAa,4BAA4B,GAAG,SAAS,KAAG,wBAkBzF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"divineCoinGeckoPrices.d.ts","sourceRoot":"","sources":["../../src/lib/divineCoinGeckoPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAA;AAClG,OAAO,EAAa,wBAAwB,EAA2B,MAAM,0CAA0C,CAAA;AAcvH,eAAO,MAAM,qBAAqB,YAAa,4BAA4B,GAAG,SAAS,KAAG,wBAkBzF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"divinePrices.d.ts","sourceRoot":"","sources":["../../src/lib/divinePrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAA2B,MAAM,0CAA0C,CAAA;AAE5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAA;AAQ9F,eAAO,MAAM,YAAY,qBACL,4BAA4B,GAAG,SAAS,kBAC1C,0BAA0B,GAAG,SAAS,KACrD,wBAOF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"divinePrices.d.ts","sourceRoot":"","sources":["../../src/lib/divinePrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qDAAqD,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAA2B,MAAM,0CAA0C,CAAA;AAE5G,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAA;AAQ9F,eAAO,MAAM,YAAY,qBACL,4BAA4B,GAAG,SAAS,kBAC1C,0BAA0B,GAAG,SAAS,KACrD,wBAOF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"divineUniswapPrices.d.ts","sourceRoot":"","sources":["../../src/lib/divineUniswapPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,wBAAwB,EAAwD,MAAM,0CAA0C,CAAA;AAEpJ,OAAO,EAAE,0BAA0B,EAAyC,MAAM,mDAAmD,CAAA;AAuCrI,eAAO,MAAM,mBAAmB,mBAAoB,0BAA0B,GAAG,SAAS,KAAG,wBAe5F,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"divineUniswapPrices.d.ts","sourceRoot":"","sources":["../../src/lib/divineUniswapPrices.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,wBAAwB,EAAwD,MAAM,0CAA0C,CAAA;AAEpJ,OAAO,EAAE,0BAA0B,EAAyC,MAAM,mDAAmD,CAAA;AAuCrI,eAAO,MAAM,mBAAmB,mBAAoB,0BAA0B,GAAG,SAAS,KAAG,wBAe5F,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampleCoinGecko.d.ts","sourceRoot":"","sources":["../../src/test/sampleCoinGecko.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAA+B,MAAM,qDAAqD,CAAA;AAE/H,eAAO,MAAM,sBAAsB,EAAE,4BAuEpC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampleCoinGecko.d.ts","sourceRoot":"","sources":["../../src/test/sampleCoinGecko.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAA+B,MAAM,qDAAqD,CAAA;AAE/H,eAAO,MAAM,sBAAsB,EAAE,4BAuEpC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampleUniswap.d.ts","sourceRoot":"","sources":["../../src/test/sampleUniswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,mDAAmD,CAAA;AAEzH,eAAO,MAAM,oBAAoB,EAAE,0BA2LlC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampleUniswap.d.ts","sourceRoot":"","sources":["../../src/test/sampleUniswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6B,MAAM,mDAAmD,CAAA;AAEzH,eAAO,MAAM,oBAAoB,EAAE,0BA2LlC,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes