@xyo-network/gas-price-plugin 2.74.5 → 2.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/dist/browser/Diviner.cjs +257 -0
  2. package/dist/browser/Diviner.cjs.map +1 -0
  3. package/dist/browser/Diviner.d.mts.map +1 -0
  4. package/dist/browser/Diviner.d.ts.map +1 -0
  5. package/dist/browser/Diviner.js +236 -0
  6. package/dist/browser/Diviner.js.map +1 -0
  7. package/dist/browser/Plugin.cjs +272 -0
  8. package/dist/browser/Plugin.cjs.map +1 -0
  9. package/dist/browser/Plugin.d.mts.map +1 -0
  10. package/dist/browser/Plugin.d.ts.map +1 -0
  11. package/dist/browser/Plugin.js +251 -0
  12. package/dist/browser/Plugin.js.map +1 -0
  13. package/dist/browser/Schema.cjs +29 -0
  14. package/dist/browser/Schema.cjs.map +1 -0
  15. package/dist/browser/Schema.d.mts.map +1 -0
  16. package/dist/browser/Schema.d.ts.map +1 -0
  17. package/dist/browser/Schema.js +8 -0
  18. package/dist/browser/Schema.js.map +1 -0
  19. package/dist/{index.js → browser/index.cjs} +1 -8
  20. package/dist/browser/index.cjs.map +1 -0
  21. package/dist/browser/index.d.mts.map +1 -0
  22. package/dist/browser/index.d.ts.map +1 -0
  23. package/dist/{index.mjs → browser/index.js} +1 -1
  24. package/dist/browser/index.js.map +1 -0
  25. package/dist/browser/lib/average.cjs +50 -0
  26. package/dist/browser/lib/average.cjs.map +1 -0
  27. package/dist/browser/lib/average.d.mts.map +1 -0
  28. package/dist/browser/lib/average.d.ts.map +1 -0
  29. package/dist/browser/lib/average.js +29 -0
  30. package/dist/browser/lib/average.js.map +1 -0
  31. package/dist/browser/lib/divineGas.cjs +240 -0
  32. package/dist/browser/lib/divineGas.cjs.map +1 -0
  33. package/dist/browser/lib/divineGas.d.mts.map +1 -0
  34. package/dist/browser/lib/divineGas.d.ts.map +1 -0
  35. package/dist/browser/lib/divineGas.js +219 -0
  36. package/dist/browser/lib/divineGas.js.map +1 -0
  37. package/dist/browser/lib/identities/index.cjs +60 -0
  38. package/dist/browser/lib/identities/index.cjs.map +1 -0
  39. package/dist/browser/lib/identities/index.d.mts.map +1 -0
  40. package/dist/browser/lib/identities/index.d.ts.map +1 -0
  41. package/dist/browser/lib/identities/index.js +37 -0
  42. package/dist/browser/lib/identities/index.js.map +1 -0
  43. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.cjs +30 -0
  44. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.cjs.map +1 -0
  45. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +1 -0
  46. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +1 -0
  47. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.js +9 -0
  48. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.js.map +1 -0
  49. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.cjs +30 -0
  50. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.cjs.map +1 -0
  51. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +1 -0
  52. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +1 -0
  53. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.js +9 -0
  54. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.js.map +1 -0
  55. package/dist/browser/lib/identities/isEthereumGasEthersPayload.cjs +30 -0
  56. package/dist/browser/lib/identities/isEthereumGasEthersPayload.cjs.map +1 -0
  57. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.mts.map +1 -0
  58. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts.map +1 -0
  59. package/dist/browser/lib/identities/isEthereumGasEthersPayload.js +9 -0
  60. package/dist/browser/lib/identities/isEthereumGasEthersPayload.js.map +1 -0
  61. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.cjs +30 -0
  62. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.cjs.map +1 -0
  63. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +1 -0
  64. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +1 -0
  65. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.js +9 -0
  66. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.js.map +1 -0
  67. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.cjs +30 -0
  68. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.cjs.map +1 -0
  69. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +1 -0
  70. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +1 -0
  71. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.js +9 -0
  72. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.js.map +1 -0
  73. package/dist/browser/lib/index.cjs +242 -0
  74. package/dist/browser/lib/index.cjs.map +1 -0
  75. package/dist/browser/lib/index.d.mts.map +1 -0
  76. package/dist/browser/lib/index.d.ts.map +1 -0
  77. package/dist/browser/lib/index.js +219 -0
  78. package/dist/browser/lib/index.js.map +1 -0
  79. package/dist/browser/lib/transforms/index.cjs +172 -0
  80. package/dist/browser/lib/transforms/index.cjs.map +1 -0
  81. package/dist/browser/lib/transforms/index.d.mts.map +1 -0
  82. package/dist/browser/lib/transforms/index.d.ts.map +1 -0
  83. package/dist/browser/lib/transforms/index.js +149 -0
  84. package/dist/browser/lib/transforms/index.js.map +1 -0
  85. package/dist/browser/lib/transforms/transformGasFromBlocknative.cjs +70 -0
  86. package/dist/browser/lib/transforms/transformGasFromBlocknative.cjs.map +1 -0
  87. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.mts.map +1 -0
  88. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts.map +1 -0
  89. package/dist/browser/lib/transforms/transformGasFromBlocknative.js +49 -0
  90. package/dist/browser/lib/transforms/transformGasFromBlocknative.js.map +1 -0
  91. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.cjs +40 -0
  92. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.cjs.map +1 -0
  93. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.mts.map +1 -0
  94. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts.map +1 -0
  95. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.js +19 -0
  96. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.js.map +1 -0
  97. package/dist/browser/lib/transforms/transformGasFromEthers.cjs +46 -0
  98. package/dist/browser/lib/transforms/transformGasFromEthers.cjs.map +1 -0
  99. package/dist/browser/lib/transforms/transformGasFromEthers.d.mts.map +1 -0
  100. package/dist/browser/lib/transforms/transformGasFromEthers.d.ts.map +1 -0
  101. package/dist/browser/lib/transforms/transformGasFromEthers.js +25 -0
  102. package/dist/browser/lib/transforms/transformGasFromEthers.js.map +1 -0
  103. package/dist/browser/lib/transforms/transformGasFromEtherscan.cjs +49 -0
  104. package/dist/browser/lib/transforms/transformGasFromEtherscan.cjs.map +1 -0
  105. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.mts.map +1 -0
  106. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts.map +1 -0
  107. package/dist/browser/lib/transforms/transformGasFromEtherscan.js +28 -0
  108. package/dist/browser/lib/transforms/transformGasFromEtherscan.js.map +1 -0
  109. package/dist/browser/lib/transforms/transformGasFromEthgasstation.cjs +57 -0
  110. package/dist/browser/lib/transforms/transformGasFromEthgasstation.cjs.map +1 -0
  111. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.mts.map +1 -0
  112. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts.map +1 -0
  113. package/dist/browser/lib/transforms/transformGasFromEthgasstation.js +36 -0
  114. package/dist/browser/lib/transforms/transformGasFromEthgasstation.js.map +1 -0
  115. package/dist/browser/test/index.cjs +189 -0
  116. package/dist/browser/test/index.cjs.map +1 -0
  117. package/dist/browser/test/index.d.mts.map +1 -0
  118. package/dist/browser/test/index.d.ts.map +1 -0
  119. package/dist/browser/test/index.js +166 -0
  120. package/dist/browser/test/index.js.map +1 -0
  121. package/dist/browser/test/sampleBlocknativeGas.cjs +118 -0
  122. package/dist/browser/test/sampleBlocknativeGas.cjs.map +1 -0
  123. package/dist/browser/test/sampleBlocknativeGas.d.mts.map +1 -0
  124. package/dist/browser/test/sampleBlocknativeGas.d.ts.map +1 -0
  125. package/dist/browser/test/sampleBlocknativeGas.js +97 -0
  126. package/dist/browser/test/sampleBlocknativeGas.js.map +1 -0
  127. package/dist/browser/test/sampleEtherchainGasV2.cjs +40 -0
  128. package/dist/browser/test/sampleEtherchainGasV2.cjs.map +1 -0
  129. package/dist/browser/test/sampleEtherchainGasV2.d.mts.map +1 -0
  130. package/dist/browser/test/sampleEtherchainGasV2.d.ts.map +1 -0
  131. package/dist/browser/test/sampleEtherchainGasV2.js +19 -0
  132. package/dist/browser/test/sampleEtherchainGasV2.js.map +1 -0
  133. package/dist/browser/test/sampleEthersGas.cjs +35 -0
  134. package/dist/browser/test/sampleEthersGas.cjs.map +1 -0
  135. package/dist/browser/test/sampleEthersGas.d.mts.map +1 -0
  136. package/dist/browser/test/sampleEthersGas.d.ts.map +1 -0
  137. package/dist/browser/test/sampleEthersGas.js +14 -0
  138. package/dist/browser/test/sampleEthersGas.js.map +1 -0
  139. package/dist/browser/test/sampleEtherscanGas.cjs +41 -0
  140. package/dist/browser/test/sampleEtherscanGas.cjs.map +1 -0
  141. package/dist/browser/test/sampleEtherscanGas.d.mts.map +1 -0
  142. package/dist/browser/test/sampleEtherscanGas.d.ts.map +1 -0
  143. package/dist/browser/test/sampleEtherscanGas.js +20 -0
  144. package/dist/browser/test/sampleEtherscanGas.js.map +1 -0
  145. package/dist/browser/test/sampleEthgasstationGas.cjs +45 -0
  146. package/dist/browser/test/sampleEthgasstationGas.cjs.map +1 -0
  147. package/dist/browser/test/sampleEthgasstationGas.d.mts.map +1 -0
  148. package/dist/browser/test/sampleEthgasstationGas.d.ts.map +1 -0
  149. package/dist/browser/test/sampleEthgasstationGas.js +24 -0
  150. package/dist/browser/test/sampleEthgasstationGas.js.map +1 -0
  151. package/dist/node/Diviner.d.mts +16 -0
  152. package/dist/node/Diviner.d.mts.map +1 -0
  153. package/dist/node/Diviner.d.ts +16 -0
  154. package/dist/node/Diviner.d.ts.map +1 -0
  155. package/dist/node/Diviner.js +40 -0
  156. package/dist/node/Diviner.js.map +1 -0
  157. package/dist/node/Diviner.mjs +16 -0
  158. package/dist/node/Diviner.mjs.map +1 -0
  159. package/dist/node/Plugin.d.mts +50 -0
  160. package/dist/node/Plugin.d.mts.map +1 -0
  161. package/dist/node/Plugin.d.ts +50 -0
  162. package/dist/node/Plugin.d.ts.map +1 -0
  163. package/dist/node/Plugin.js +40 -0
  164. package/dist/node/Plugin.js.map +1 -0
  165. package/dist/node/Plugin.mjs +16 -0
  166. package/dist/node/Plugin.mjs.map +1 -0
  167. package/dist/node/Schema.d.mts +5 -0
  168. package/dist/node/Schema.d.mts.map +1 -0
  169. package/dist/node/Schema.d.ts +5 -0
  170. package/dist/node/Schema.d.ts.map +1 -0
  171. package/dist/node/Schema.js +32 -0
  172. package/dist/node/Schema.js.map +1 -0
  173. package/dist/node/Schema.mjs +7 -0
  174. package/dist/node/Schema.mjs.map +1 -0
  175. package/dist/node/index.d.mts +6 -0
  176. package/dist/node/index.d.mts.map +1 -0
  177. package/dist/node/index.d.ts +6 -0
  178. package/dist/node/index.d.ts.map +1 -0
  179. package/dist/node/index.js +36 -0
  180. package/dist/node/index.js.map +1 -0
  181. package/dist/node/index.mjs +9 -0
  182. package/dist/node/index.mjs.map +1 -0
  183. package/dist/node/lib/average.d.mts +8 -0
  184. package/dist/node/lib/average.d.mts.map +1 -0
  185. package/dist/node/lib/average.d.ts +8 -0
  186. package/dist/node/lib/average.d.ts.map +1 -0
  187. package/dist/node/lib/average.js +52 -0
  188. package/dist/node/lib/average.js.map +1 -0
  189. package/dist/node/lib/average.mjs +28 -0
  190. package/dist/node/lib/average.mjs.map +1 -0
  191. package/dist/node/lib/divineGas.d.mts +4 -0
  192. package/dist/node/lib/divineGas.d.mts.map +1 -0
  193. package/dist/node/lib/divineGas.d.ts +4 -0
  194. package/dist/node/lib/divineGas.d.ts.map +1 -0
  195. package/dist/node/lib/divineGas.js +45 -0
  196. package/dist/node/lib/divineGas.js.map +1 -0
  197. package/dist/node/lib/divineGas.mjs +33 -0
  198. package/dist/node/lib/divineGas.mjs.map +1 -0
  199. package/dist/node/lib/identities/index.d.mts +6 -0
  200. package/dist/node/lib/identities/index.d.mts.map +1 -0
  201. package/dist/node/lib/identities/index.d.ts +6 -0
  202. package/dist/node/lib/identities/index.d.ts.map +1 -0
  203. package/dist/node/lib/identities/index.js +31 -0
  204. package/dist/node/lib/identities/index.js.map +1 -0
  205. package/dist/node/lib/identities/index.mjs +6 -0
  206. package/dist/node/lib/identities/index.mjs.map +1 -0
  207. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts +6 -0
  208. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +1 -0
  209. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts +6 -0
  210. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +1 -0
  211. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.js +32 -0
  212. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.js.map +1 -0
  213. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.mjs +8 -0
  214. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.mjs.map +1 -0
  215. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +6 -0
  216. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +1 -0
  217. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +6 -0
  218. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +1 -0
  219. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.js +32 -0
  220. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.js.map +1 -0
  221. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.mjs +8 -0
  222. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.mjs.map +1 -0
  223. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts +6 -0
  224. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts.map +1 -0
  225. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts +6 -0
  226. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts.map +1 -0
  227. package/dist/node/lib/identities/isEthereumGasEthersPayload.js +32 -0
  228. package/dist/node/lib/identities/isEthereumGasEthersPayload.js.map +1 -0
  229. package/dist/node/lib/identities/isEthereumGasEthersPayload.mjs +8 -0
  230. package/dist/node/lib/identities/isEthereumGasEthersPayload.mjs.map +1 -0
  231. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts +6 -0
  232. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +1 -0
  233. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts +6 -0
  234. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +1 -0
  235. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.js +32 -0
  236. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.js.map +1 -0
  237. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.mjs +8 -0
  238. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.mjs.map +1 -0
  239. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts +6 -0
  240. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +1 -0
  241. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts +6 -0
  242. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +1 -0
  243. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.js +32 -0
  244. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.js.map +1 -0
  245. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.mjs +8 -0
  246. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.mjs.map +1 -0
  247. package/dist/node/lib/index.d.mts +2 -0
  248. package/dist/node/lib/index.d.mts.map +1 -0
  249. package/dist/node/lib/index.d.ts +2 -0
  250. package/dist/node/lib/index.d.ts.map +1 -0
  251. package/dist/node/lib/index.js +23 -0
  252. package/dist/node/lib/index.js.map +1 -0
  253. package/dist/node/lib/index.mjs +2 -0
  254. package/dist/node/lib/index.mjs.map +1 -0
  255. package/dist/node/lib/transforms/index.d.mts +6 -0
  256. package/dist/node/lib/transforms/index.d.mts.map +1 -0
  257. package/dist/node/lib/transforms/index.d.ts +6 -0
  258. package/dist/node/lib/transforms/index.d.ts.map +1 -0
  259. package/dist/node/lib/transforms/index.js +31 -0
  260. package/dist/node/lib/transforms/index.js.map +1 -0
  261. package/dist/node/lib/transforms/index.mjs +6 -0
  262. package/dist/node/lib/transforms/index.mjs.map +1 -0
  263. package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts +4 -0
  264. package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts.map +1 -0
  265. package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts +4 -0
  266. package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts.map +1 -0
  267. package/dist/node/lib/transforms/transformGasFromBlocknative.js +72 -0
  268. package/dist/node/lib/transforms/transformGasFromBlocknative.js.map +1 -0
  269. package/dist/node/lib/transforms/transformGasFromBlocknative.mjs +48 -0
  270. package/dist/node/lib/transforms/transformGasFromBlocknative.mjs.map +1 -0
  271. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts +4 -0
  272. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts.map +1 -0
  273. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts +4 -0
  274. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts.map +1 -0
  275. package/dist/node/lib/transforms/transformGasFromEtherchainV2.js +42 -0
  276. package/dist/node/lib/transforms/transformGasFromEtherchainV2.js.map +1 -0
  277. package/dist/node/lib/transforms/transformGasFromEtherchainV2.mjs +18 -0
  278. package/dist/node/lib/transforms/transformGasFromEtherchainV2.mjs.map +1 -0
  279. package/dist/node/lib/transforms/transformGasFromEthers.d.mts +4 -0
  280. package/dist/node/lib/transforms/transformGasFromEthers.d.mts.map +1 -0
  281. package/dist/node/lib/transforms/transformGasFromEthers.d.ts +4 -0
  282. package/dist/node/lib/transforms/transformGasFromEthers.d.ts.map +1 -0
  283. package/dist/node/lib/transforms/transformGasFromEthers.js +48 -0
  284. package/dist/node/lib/transforms/transformGasFromEthers.js.map +1 -0
  285. package/dist/node/lib/transforms/transformGasFromEthers.mjs +24 -0
  286. package/dist/node/lib/transforms/transformGasFromEthers.mjs.map +1 -0
  287. package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts +4 -0
  288. package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts.map +1 -0
  289. package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts +4 -0
  290. package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts.map +1 -0
  291. package/dist/node/lib/transforms/transformGasFromEtherscan.js +51 -0
  292. package/dist/node/lib/transforms/transformGasFromEtherscan.js.map +1 -0
  293. package/dist/node/lib/transforms/transformGasFromEtherscan.mjs +27 -0
  294. package/dist/node/lib/transforms/transformGasFromEtherscan.mjs.map +1 -0
  295. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts +4 -0
  296. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts.map +1 -0
  297. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts +4 -0
  298. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts.map +1 -0
  299. package/dist/node/lib/transforms/transformGasFromEthgasstation.js +59 -0
  300. package/dist/node/lib/transforms/transformGasFromEthgasstation.js.map +1 -0
  301. package/dist/node/lib/transforms/transformGasFromEthgasstation.mjs +35 -0
  302. package/dist/node/lib/transforms/transformGasFromEthgasstation.mjs.map +1 -0
  303. package/dist/node/test/index.d.mts +6 -0
  304. package/dist/node/test/index.d.mts.map +1 -0
  305. package/dist/node/test/index.d.ts +6 -0
  306. package/dist/node/test/index.d.ts.map +1 -0
  307. package/dist/node/test/index.js +31 -0
  308. package/dist/node/test/index.js.map +1 -0
  309. package/dist/node/test/index.mjs +6 -0
  310. package/dist/node/test/index.mjs.map +1 -0
  311. package/dist/node/test/sampleBlocknativeGas.d.mts +3 -0
  312. package/dist/node/test/sampleBlocknativeGas.d.mts.map +1 -0
  313. package/dist/node/test/sampleBlocknativeGas.d.ts +3 -0
  314. package/dist/node/test/sampleBlocknativeGas.d.ts.map +1 -0
  315. package/dist/node/test/sampleBlocknativeGas.js +120 -0
  316. package/dist/node/test/sampleBlocknativeGas.js.map +1 -0
  317. package/dist/node/test/sampleBlocknativeGas.mjs +96 -0
  318. package/dist/node/test/sampleBlocknativeGas.mjs.map +1 -0
  319. package/dist/node/test/sampleEtherchainGasV2.d.mts +3 -0
  320. package/dist/node/test/sampleEtherchainGasV2.d.mts.map +1 -0
  321. package/dist/node/test/sampleEtherchainGasV2.d.ts +3 -0
  322. package/dist/node/test/sampleEtherchainGasV2.d.ts.map +1 -0
  323. package/dist/node/test/sampleEtherchainGasV2.js +42 -0
  324. package/dist/node/test/sampleEtherchainGasV2.js.map +1 -0
  325. package/dist/node/test/sampleEtherchainGasV2.mjs +18 -0
  326. package/dist/node/test/sampleEtherchainGasV2.mjs.map +1 -0
  327. package/dist/node/test/sampleEthersGas.d.mts +3 -0
  328. package/dist/node/test/sampleEthersGas.d.mts.map +1 -0
  329. package/dist/node/test/sampleEthersGas.d.ts +3 -0
  330. package/dist/node/test/sampleEthersGas.d.ts.map +1 -0
  331. package/dist/node/test/sampleEthersGas.js +37 -0
  332. package/dist/node/test/sampleEthersGas.js.map +1 -0
  333. package/dist/node/test/sampleEthersGas.mjs +13 -0
  334. package/dist/node/test/sampleEthersGas.mjs.map +1 -0
  335. package/dist/node/test/sampleEtherscanGas.d.mts +3 -0
  336. package/dist/node/test/sampleEtherscanGas.d.mts.map +1 -0
  337. package/dist/node/test/sampleEtherscanGas.d.ts +3 -0
  338. package/dist/node/test/sampleEtherscanGas.d.ts.map +1 -0
  339. package/dist/node/test/sampleEtherscanGas.js +43 -0
  340. package/dist/node/test/sampleEtherscanGas.js.map +1 -0
  341. package/dist/node/test/sampleEtherscanGas.mjs +19 -0
  342. package/dist/node/test/sampleEtherscanGas.mjs.map +1 -0
  343. package/dist/node/test/sampleEthgasstationGas.d.mts +3 -0
  344. package/dist/node/test/sampleEthgasstationGas.d.mts.map +1 -0
  345. package/dist/node/test/sampleEthgasstationGas.d.ts +3 -0
  346. package/dist/node/test/sampleEthgasstationGas.d.ts.map +1 -0
  347. package/dist/node/test/sampleEthgasstationGas.js +47 -0
  348. package/dist/node/test/sampleEthgasstationGas.js.map +1 -0
  349. package/dist/node/test/sampleEthgasstationGas.mjs +23 -0
  350. package/dist/node/test/sampleEthgasstationGas.mjs.map +1 -0
  351. package/package.json +38 -35
  352. package/dist/Diviner.d.mts.map +0 -1
  353. package/dist/Diviner.d.ts.map +0 -1
  354. package/dist/Plugin.d.mts.map +0 -1
  355. package/dist/Plugin.d.ts.map +0 -1
  356. package/dist/Schema.d.mts.map +0 -1
  357. package/dist/Schema.d.ts.map +0 -1
  358. package/dist/docs.json +0 -21982
  359. package/dist/index.d.mts.map +0 -1
  360. package/dist/index.d.ts.map +0 -1
  361. package/dist/index.js.map +0 -1
  362. package/dist/index.mjs.map +0 -1
  363. package/dist/lib/average.d.mts.map +0 -1
  364. package/dist/lib/average.d.ts.map +0 -1
  365. package/dist/lib/divineGas.d.mts.map +0 -1
  366. package/dist/lib/divineGas.d.ts.map +0 -1
  367. package/dist/lib/identities/index.d.mts.map +0 -1
  368. package/dist/lib/identities/index.d.ts.map +0 -1
  369. package/dist/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
  370. package/dist/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
  371. package/dist/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
  372. package/dist/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
  373. package/dist/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
  374. package/dist/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
  375. package/dist/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
  376. package/dist/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
  377. package/dist/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
  378. package/dist/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
  379. package/dist/lib/index.d.mts.map +0 -1
  380. package/dist/lib/index.d.ts.map +0 -1
  381. package/dist/lib/transforms/index.d.mts.map +0 -1
  382. package/dist/lib/transforms/index.d.ts.map +0 -1
  383. package/dist/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
  384. package/dist/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
  385. package/dist/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
  386. package/dist/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
  387. package/dist/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
  388. package/dist/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
  389. package/dist/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
  390. package/dist/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
  391. package/dist/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
  392. package/dist/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
  393. package/dist/test/index.d.mts.map +0 -1
  394. package/dist/test/index.d.ts.map +0 -1
  395. package/dist/test/sampleBlocknativeGas.d.mts.map +0 -1
  396. package/dist/test/sampleBlocknativeGas.d.ts.map +0 -1
  397. package/dist/test/sampleEtherchainGasV2.d.mts.map +0 -1
  398. package/dist/test/sampleEtherchainGasV2.d.ts.map +0 -1
  399. package/dist/test/sampleEthersGas.d.mts.map +0 -1
  400. package/dist/test/sampleEthersGas.d.ts.map +0 -1
  401. package/dist/test/sampleEtherscanGas.d.mts.map +0 -1
  402. package/dist/test/sampleEtherscanGas.d.ts.map +0 -1
  403. package/dist/test/sampleEthgasstationGas.d.mts.map +0 -1
  404. package/dist/test/sampleEthgasstationGas.d.ts.map +0 -1
  405. /package/dist/{Diviner.d.mts → browser/Diviner.d.mts} +0 -0
  406. /package/dist/{Diviner.d.ts → browser/Diviner.d.ts} +0 -0
  407. /package/dist/{Plugin.d.mts → browser/Plugin.d.mts} +0 -0
  408. /package/dist/{Plugin.d.ts → browser/Plugin.d.ts} +0 -0
  409. /package/dist/{Schema.d.mts → browser/Schema.d.mts} +0 -0
  410. /package/dist/{Schema.d.ts → browser/Schema.d.ts} +0 -0
  411. /package/dist/{index.d.mts → browser/index.d.mts} +0 -0
  412. /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
  413. /package/dist/{lib → browser/lib}/average.d.mts +0 -0
  414. /package/dist/{lib → browser/lib}/average.d.ts +0 -0
  415. /package/dist/{lib → browser/lib}/divineGas.d.mts +0 -0
  416. /package/dist/{lib → browser/lib}/divineGas.d.ts +0 -0
  417. /package/dist/{lib → browser/lib}/identities/index.d.mts +0 -0
  418. /package/dist/{lib → browser/lib}/identities/index.d.ts +0 -0
  419. /package/dist/{lib → browser/lib}/identities/isEthereumGasBlocknativePayload.d.mts +0 -0
  420. /package/dist/{lib → browser/lib}/identities/isEthereumGasBlocknativePayload.d.ts +0 -0
  421. /package/dist/{lib → browser/lib}/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -0
  422. /package/dist/{lib → browser/lib}/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -0
  423. /package/dist/{lib → browser/lib}/identities/isEthereumGasEthersPayload.d.mts +0 -0
  424. /package/dist/{lib → browser/lib}/identities/isEthereumGasEthersPayload.d.ts +0 -0
  425. /package/dist/{lib → browser/lib}/identities/isEthereumGasEtherscanPayload.d.mts +0 -0
  426. /package/dist/{lib → browser/lib}/identities/isEthereumGasEtherscanPayload.d.ts +0 -0
  427. /package/dist/{lib → browser/lib}/identities/isEthereumGasEthgasstationPayload.d.mts +0 -0
  428. /package/dist/{lib → browser/lib}/identities/isEthereumGasEthgasstationPayload.d.ts +0 -0
  429. /package/dist/{lib → browser/lib}/index.d.mts +0 -0
  430. /package/dist/{lib → browser/lib}/index.d.ts +0 -0
  431. /package/dist/{lib → browser/lib}/transforms/index.d.mts +0 -0
  432. /package/dist/{lib → browser/lib}/transforms/index.d.ts +0 -0
  433. /package/dist/{lib → browser/lib}/transforms/transformGasFromBlocknative.d.mts +0 -0
  434. /package/dist/{lib → browser/lib}/transforms/transformGasFromBlocknative.d.ts +0 -0
  435. /package/dist/{lib → browser/lib}/transforms/transformGasFromEtherchainV2.d.mts +0 -0
  436. /package/dist/{lib → browser/lib}/transforms/transformGasFromEtherchainV2.d.ts +0 -0
  437. /package/dist/{lib → browser/lib}/transforms/transformGasFromEthers.d.mts +0 -0
  438. /package/dist/{lib → browser/lib}/transforms/transformGasFromEthers.d.ts +0 -0
  439. /package/dist/{lib → browser/lib}/transforms/transformGasFromEtherscan.d.mts +0 -0
  440. /package/dist/{lib → browser/lib}/transforms/transformGasFromEtherscan.d.ts +0 -0
  441. /package/dist/{lib → browser/lib}/transforms/transformGasFromEthgasstation.d.mts +0 -0
  442. /package/dist/{lib → browser/lib}/transforms/transformGasFromEthgasstation.d.ts +0 -0
  443. /package/dist/{test → browser/test}/index.d.mts +0 -0
  444. /package/dist/{test → browser/test}/index.d.ts +0 -0
  445. /package/dist/{test → browser/test}/sampleBlocknativeGas.d.mts +0 -0
  446. /package/dist/{test → browser/test}/sampleBlocknativeGas.d.ts +0 -0
  447. /package/dist/{test → browser/test}/sampleEtherchainGasV2.d.mts +0 -0
  448. /package/dist/{test → browser/test}/sampleEtherchainGasV2.d.ts +0 -0
  449. /package/dist/{test → browser/test}/sampleEthersGas.d.mts +0 -0
  450. /package/dist/{test → browser/test}/sampleEthersGas.d.ts +0 -0
  451. /package/dist/{test → browser/test}/sampleEtherscanGas.d.mts +0 -0
  452. /package/dist/{test → browser/test}/sampleEtherscanGas.d.ts +0 -0
  453. /package/dist/{test → browser/test}/sampleEthgasstationGas.d.mts +0 -0
  454. /package/dist/{test → browser/test}/sampleEthgasstationGas.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,mDAAmD,CAAA;AAC/F,eAAO,MAAM,6BAA6B,EAAE,6BAAmF,CAAA;AAE/H,MAAM,MAAM,8BAA8B,GAAG,oDAAoD,CAAA;AACjG,eAAO,MAAM,8BAA8B,EAAE,8BAAqF,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,mDAAmD,CAAA;AAC/F,eAAO,MAAM,6BAA6B,EAAE,6BAAmF,CAAA;AAE/H,MAAM,MAAM,8BAA8B,GAAG,oDAAoD,CAAA;AACjG,eAAO,MAAM,8BAA8B,EAAE,8BAAqF,CAAA"}
@@ -0,0 +1,8 @@
1
+ // src/Schema.ts
2
+ var EthereumGasDivinerQuerySchema = "network.xyo.blockchain.ethereum.gas.diviner.query";
3
+ var EthereumGasDivinerConfigSchema = "network.xyo.blockchain.ethereum.gas.diviner.config";
4
+ export {
5
+ EthereumGasDivinerConfigSchema,
6
+ EthereumGasDivinerQuerySchema
7
+ };
8
+ //# sourceMappingURL=Schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Schema.ts"],"sourcesContent":["export type EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query'\nexport const EthereumGasDivinerQuerySchema: EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query'\n\nexport type EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config'\nexport const EthereumGasDivinerConfigSchema: EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config'\n"],"mappings":";AACO,IAAM,gCAA+D;AAGrE,IAAM,iCAAiE;","names":[]}
@@ -279,11 +279,4 @@ var EthereumGasPlugin = () => (0, import_payloadset_plugin.createPayloadSetDivin
279
279
 
280
280
  // src/index.ts
281
281
  var src_default = EthereumGasPlugin;
282
- // Annotate the CommonJS export names for ESM import in node:
283
- 0 && (module.exports = {
284
- EthereumGasDiviner,
285
- EthereumGasDivinerConfigSchema,
286
- EthereumGasDivinerQuerySchema,
287
- EthereumGasPlugin
288
- });
289
- //# sourceMappingURL=index.js.map
282
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Plugin.ts","../../src/Diviner.ts","../../src/lib/divineGas.ts","../../src/lib/average.ts","../../src/lib/identities/isEthereumGasBlocknativePayload.ts","../../src/lib/identities/isEthereumGasEtherchainV2Payload.ts","../../src/lib/identities/isEthereumGasEtherscanPayload.ts","../../src/lib/identities/isEthereumGasEthersPayload.ts","../../src/lib/identities/isEthereumGasEthgasstationPayload.ts","../../src/lib/transforms/transformGasFromBlocknative.ts","../../src/lib/transforms/transformGasFromEtherchainV2.ts","../../src/lib/transforms/transformGasFromEthers.ts","../../src/lib/transforms/transformGasFromEtherscan.ts","../../src/lib/transforms/transformGasFromEthgasstation.ts","../../src/Schema.ts"],"sourcesContent":["import { EthereumGasPlugin } from './Plugin'\n\nexport * from './Diviner'\nexport * from './Schema'\n\nexport { EthereumGasPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default EthereumGasPlugin\n","import { EthereumGasSchema } from '@xyo-network/gas-price-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { EthereumGasDiviner } from './Diviner'\n\nexport const EthereumGasPlugin = () =>\n createPayloadSetDivinerPlugin<EthereumGasDiviner>(\n { required: { [EthereumGasSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await EthereumGasDiviner.create(params)) as EthereumGasDiviner\n },\n },\n )\n","import { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner'\nimport { EthereumGasSchema } from '@xyo-network/gas-price-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\n\nimport { divineGas } from './lib'\nimport { EthereumGasDivinerConfigSchema } from './Schema'\n\nexport type EthereumGasDivinerConfig = DivinerConfig<{ schema: EthereumGasDivinerConfigSchema }>\nexport type EthereumGasDivinerParams = DivinerParams<AnyConfigSchema<EthereumGasDivinerConfig>>\n\nexport class EthereumGasDiviner<TParams extends EthereumGasDivinerParams = EthereumGasDivinerParams>\n extends AbstractDiviner<TParams>\n implements DivinerModule\n{\n static override readonly configSchemas: string[] = [EthereumGasDivinerConfigSchema]\n static override targetSchema: string = EthereumGasSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<Payload[]> {\n const cost = divineGas(payloads ?? [])\n return [cost]\n }\n}\n","import { EthereumGasPayload, EthereumGasSchema, FeeData } from '@xyo-network/gas-price-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { average } from './average'\nimport {\n isEthereumGasBlocknativePayload,\n isEthereumGasEtherchainV2Payload,\n isEthereumGasEtherscanPayload,\n isEthereumGasEthersPayload,\n isEthereumGasEthgasstationPayload,\n} from './identities'\nimport {\n transformGasFromBlocknative,\n transformGasFromEtherchainV2,\n transformGasFromEthers,\n transformGasFromEtherscan,\n transformGasFromEthgasstation,\n} from './transforms'\n\nexport const divineGas = (payloads: Payload[]): EthereumGasPayload => {\n const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative)\n const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2)\n const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers)\n const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan)\n const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation)\n const transactionCosts: FeeData[] = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation]\n const avg = average(transactionCosts)\n const timestamp = Date.now()\n const payload = new PayloadBuilder<EthereumGasPayload>({ schema: EthereumGasSchema }).fields({ ...avg, timestamp }).build()\n return payload\n}\n","import { exists } from '@xylabs/exists'\nimport { FeeData } from '@xyo-network/gas-price-payload-plugin'\n\n/**\n * Averages an array of numbers\n * @param x Averages an array of numbers\n * @returns The average of the array of numbers or undefined if the\n * array is empty or undefined\n */\nconst listAverage = (x?: number[]) => (x?.length ? x.reduce((a, b) => a + b) / x.length : undefined)\n\n/**\n * Averages the property indicates by the supplied property\n * expression across the array of FeeData\n * @param data The array of data to average\n * @param propertyExpression The expression for the property to\n * average\n * @returns The average of the supplied property across the array\n */\nconst averageProperty = (data: FeeData[], propertyExpression: (x: FeeData) => number | undefined) => {\n return listAverage(data.map(propertyExpression).filter(exists))\n}\n\n/**\n * Averages the supplied FeeData\n * @param input An array of FeeData or undefined\n * @returns The average of the supplied FeeData\n */\nexport const average = (input?: (FeeData | undefined)[]): FeeData => {\n const data = input?.filter(exists) || []\n const averaged: FeeData = {\n baseFee: averageProperty(data, (x) => x.baseFee),\n feePerGas: {\n high: averageProperty(data, (x) => x.feePerGas.high),\n low: averageProperty(data, (x) => x.feePerGas.low),\n medium: averageProperty(data, (x) => x.feePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh),\n },\n priorityFeePerGas: {\n high: averageProperty(data, (x) => x.priorityFeePerGas.high),\n low: averageProperty(data, (x) => x.priorityFeePerGas.low),\n medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh),\n },\n }\n return averaged\n}\n","import { EthereumGasBlocknativePayload, EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasBlocknativePayload = (payload?: Payload | null): payload is EthereumGasBlocknativePayload => {\n return payload?.schema === EthereumGasBlocknativeSchema\n}\n","import { EthereumGasEtherchainV2Payload, EthereumGasEtherchainV2Schema } from '@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEtherchainV2Payload = (payload?: Payload | null): payload is EthereumGasEtherchainV2Payload => {\n return payload?.schema === EthereumGasEtherchainV2Schema\n}\n","import { EthereumGasEtherscanPayload, EthereumGasEtherscanSchema } from '@xyo-network/etherscan-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEtherscanPayload = (payload?: Payload | null): payload is EthereumGasEtherscanPayload => {\n return payload?.schema === EthereumGasEtherscanSchema\n}\n","import { EthereumGasEthersPayload, EthereumGasEthersSchema } from '@xyo-network/ethers-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEthersPayload = (payload?: Payload | null): payload is EthereumGasEthersPayload => {\n return payload?.schema === EthereumGasEthersSchema\n}\n","import { EthereumGasEthgasstationPayload, EthereumGasEthgasstationSchema } from '@xyo-network/ethgasstation-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEthgasstationPayload = (payload?: Payload | null): payload is EthereumGasEthgasstationPayload => {\n return payload?.schema === EthereumGasEthgasstationSchema\n}\n","/* eslint-disable sort-keys-fix/sort-keys-fix */\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasBlocknativePayload): number | undefined => {\n return payload?.blockPrices?.[0]?.baseFeePerGas\n}\n\nconst getFeePerGas = (payload: EthereumGasBlocknativePayload): Partial<FeePerGas> => {\n const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence)\n const trend = linear([\n [0, sorted?.[0].price],\n [1, sorted?.[1].price],\n [2, sorted?.[2].price],\n [3, sorted?.[3].price],\n [4, sorted?.[4].price],\n ])\n const feePerGas: FeePerGas = {\n low: trend.predict(0.5)[1],\n medium: trend.predict(1.5)[1],\n high: trend.predict(2.5)[1],\n veryHigh: trend.predict(3.5)[1],\n }\n return feePerGas\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasBlocknativePayload): Partial<PriorityFeePerGas> => {\n const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence)\n const trend = linear([\n [0, sorted?.[0].maxPriorityFeePerGas],\n [1, sorted?.[1].maxPriorityFeePerGas],\n [2, sorted?.[2].maxPriorityFeePerGas],\n [3, sorted?.[3].maxPriorityFeePerGas],\n [4, sorted?.[4].maxPriorityFeePerGas],\n ])\n const priorityFeePerGas: PriorityFeePerGas = {\n low: trend.predict(0.5)[1],\n medium: trend.predict(1.5)[1],\n high: trend.predict(2.5)[1],\n veryHigh: trend.predict(3.5)[1],\n }\n return priorityFeePerGas\n}\n\nexport const transformGasFromBlocknative = (payload: EthereumGasBlocknativePayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEtherchainV2Payload } from '@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins'\nimport { FeeData, FeePerGas } from '@xyo-network/gas-price-payload-plugin'\n\nconst getFeePerGas = (payload: EthereumGasEtherchainV2Payload): Partial<FeePerGas> => {\n const { slow, standard, fast, rapid } = payload.data\n const low = slow / 1_000_000_000\n const medium = standard / 1_000_000_000\n const high = fast / 1_000_000_000\n const veryHigh = rapid / 1_000_000_000\n return { high, low, medium, veryHigh }\n}\n\nexport const transformGasFromEtherchainV2 = (payload: EthereumGasEtherchainV2Payload): FeeData => {\n const baseFee = undefined\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = {}\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEthersPayload } from '@xyo-network/ethers-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\n\nconst getBaseFee = (payload: EthereumGasEthersPayload): number | undefined => {\n const { lastBaseFeePerGas } = payload\n return lastBaseFeePerGas ? lastBaseFeePerGas / 1_000_000_000 : undefined\n}\n\nconst getFeePerGas = (payload: EthereumGasEthersPayload): Partial<FeePerGas> => {\n const { maxFeePerGas } = payload\n const high = maxFeePerGas ? maxFeePerGas / 1_000_000_000 : undefined\n return { high }\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasEthersPayload): Partial<PriorityFeePerGas> => {\n const { maxPriorityFeePerGas } = payload\n const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1_000_000_000 : undefined\n return { high }\n}\n\nexport const transformGasFromEthers = (payload: EthereumGasEthersPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEtherscanPayload } from '@xyo-network/etherscan-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasEtherscanPayload): number | undefined => {\n const { suggestBaseFee } = payload.result\n return parseFloat(suggestBaseFee)\n}\n\nconst getFeePerGas = (payload: EthereumGasEtherscanPayload): Partial<FeePerGas> => {\n const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result\n const low = parseFloat(SafeGasPrice)\n const medium = parseFloat(ProposeGasPrice)\n const high = parseFloat(FastGasPrice)\n const veryHigh = linear([\n [0, low],\n [1, medium],\n [2, high],\n ]).predict(3)[1]\n return { high, low, medium, veryHigh }\n}\n\nexport const transformGasFromEtherscan = (payload: EthereumGasEtherscanPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = {}\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","/* eslint-disable sort-keys-fix/sort-keys-fix */\nimport { EthereumGasEthgasstationPayload } from '@xyo-network/ethgasstation-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasEthgasstationPayload): number | undefined => {\n const { baseFee } = payload\n return baseFee\n}\n\nconst getFeePerGas = (payload: EthereumGasEthgasstationPayload): Partial<FeePerGas> => {\n const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice\n const trend = linear([\n [1, medium],\n [2, high],\n [3, veryHigh],\n ])\n const low = trend.predict(0)[1]\n return { low, medium, high, veryHigh }\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasEthgasstationPayload): Partial<PriorityFeePerGas> => {\n const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee\n const trend = linear([\n [1, medium],\n [2, high],\n [3, veryHigh],\n ])\n const low = trend.predict(0)[1]\n return { low, medium, high, veryHigh }\n}\n\nexport const transformGasFromEthgasstation = (payload: EthereumGasEthgasstationPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","export type EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query'\nexport const EthereumGasDivinerQuerySchema: EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query'\n\nexport type EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config'\nexport const EthereumGasDivinerConfigSchema: EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config'\n"],"mappings":"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","names":["import_gas_price_payload_plugin","import_gas_price_payload_plugin","getFeePerGas","getBaseFee","getFeePerGas","getPriorityFeePerGas","import_regression","getBaseFee","getFeePerGas","import_regression","getBaseFee","getFeePerGas","getPriorityFeePerGas"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAG5B,eAAe,iBAAiB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAG5B,eAAe,iBAAiB,CAAA"}
@@ -256,4 +256,4 @@ export {
256
256
  EthereumGasPlugin,
257
257
  src_default as default
258
258
  };
259
- //# sourceMappingURL=index.mjs.map
259
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Diviner.ts","../../src/lib/divineGas.ts","../../src/lib/average.ts","../../src/lib/identities/isEthereumGasBlocknativePayload.ts","../../src/lib/identities/isEthereumGasEtherchainV2Payload.ts","../../src/lib/identities/isEthereumGasEtherscanPayload.ts","../../src/lib/identities/isEthereumGasEthersPayload.ts","../../src/lib/identities/isEthereumGasEthgasstationPayload.ts","../../src/lib/transforms/transformGasFromBlocknative.ts","../../src/lib/transforms/transformGasFromEtherchainV2.ts","../../src/lib/transforms/transformGasFromEthers.ts","../../src/lib/transforms/transformGasFromEtherscan.ts","../../src/lib/transforms/transformGasFromEthgasstation.ts","../../src/Schema.ts","../../src/index.ts"],"sourcesContent":["import { EthereumGasSchema } from '@xyo-network/gas-price-payload-plugin'\nimport { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetDivinerPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { EthereumGasDiviner } from './Diviner'\n\nexport const EthereumGasPlugin = () =>\n createPayloadSetDivinerPlugin<EthereumGasDiviner>(\n { required: { [EthereumGasSchema]: 1 }, schema: PayloadSetSchema },\n {\n diviner: async (params) => {\n return (await EthereumGasDiviner.create(params)) as EthereumGasDiviner\n },\n },\n )\n","import { AbstractDiviner } from '@xyo-network/abstract-diviner'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner'\nimport { EthereumGasSchema } from '@xyo-network/gas-price-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module'\nimport { Payload } from '@xyo-network/payload-model'\nimport { Promisable } from '@xyo-network/promise'\n\nimport { divineGas } from './lib'\nimport { EthereumGasDivinerConfigSchema } from './Schema'\n\nexport type EthereumGasDivinerConfig = DivinerConfig<{ schema: EthereumGasDivinerConfigSchema }>\nexport type EthereumGasDivinerParams = DivinerParams<AnyConfigSchema<EthereumGasDivinerConfig>>\n\nexport class EthereumGasDiviner<TParams extends EthereumGasDivinerParams = EthereumGasDivinerParams>\n extends AbstractDiviner<TParams>\n implements DivinerModule\n{\n static override readonly configSchemas: string[] = [EthereumGasDivinerConfigSchema]\n static override targetSchema: string = EthereumGasSchema\n\n protected override divineHandler(payloads?: Payload[]): Promisable<Payload[]> {\n const cost = divineGas(payloads ?? [])\n return [cost]\n }\n}\n","import { EthereumGasPayload, EthereumGasSchema, FeeData } from '@xyo-network/gas-price-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { average } from './average'\nimport {\n isEthereumGasBlocknativePayload,\n isEthereumGasEtherchainV2Payload,\n isEthereumGasEtherscanPayload,\n isEthereumGasEthersPayload,\n isEthereumGasEthgasstationPayload,\n} from './identities'\nimport {\n transformGasFromBlocknative,\n transformGasFromEtherchainV2,\n transformGasFromEthers,\n transformGasFromEtherscan,\n transformGasFromEthgasstation,\n} from './transforms'\n\nexport const divineGas = (payloads: Payload[]): EthereumGasPayload => {\n const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative)\n const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2)\n const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers)\n const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan)\n const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation)\n const transactionCosts: FeeData[] = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation]\n const avg = average(transactionCosts)\n const timestamp = Date.now()\n const payload = new PayloadBuilder<EthereumGasPayload>({ schema: EthereumGasSchema }).fields({ ...avg, timestamp }).build()\n return payload\n}\n","import { exists } from '@xylabs/exists'\nimport { FeeData } from '@xyo-network/gas-price-payload-plugin'\n\n/**\n * Averages an array of numbers\n * @param x Averages an array of numbers\n * @returns The average of the array of numbers or undefined if the\n * array is empty or undefined\n */\nconst listAverage = (x?: number[]) => (x?.length ? x.reduce((a, b) => a + b) / x.length : undefined)\n\n/**\n * Averages the property indicates by the supplied property\n * expression across the array of FeeData\n * @param data The array of data to average\n * @param propertyExpression The expression for the property to\n * average\n * @returns The average of the supplied property across the array\n */\nconst averageProperty = (data: FeeData[], propertyExpression: (x: FeeData) => number | undefined) => {\n return listAverage(data.map(propertyExpression).filter(exists))\n}\n\n/**\n * Averages the supplied FeeData\n * @param input An array of FeeData or undefined\n * @returns The average of the supplied FeeData\n */\nexport const average = (input?: (FeeData | undefined)[]): FeeData => {\n const data = input?.filter(exists) || []\n const averaged: FeeData = {\n baseFee: averageProperty(data, (x) => x.baseFee),\n feePerGas: {\n high: averageProperty(data, (x) => x.feePerGas.high),\n low: averageProperty(data, (x) => x.feePerGas.low),\n medium: averageProperty(data, (x) => x.feePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh),\n },\n priorityFeePerGas: {\n high: averageProperty(data, (x) => x.priorityFeePerGas.high),\n low: averageProperty(data, (x) => x.priorityFeePerGas.low),\n medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh),\n },\n }\n return averaged\n}\n","import { EthereumGasBlocknativePayload, EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasBlocknativePayload = (payload?: Payload | null): payload is EthereumGasBlocknativePayload => {\n return payload?.schema === EthereumGasBlocknativeSchema\n}\n","import { EthereumGasEtherchainV2Payload, EthereumGasEtherchainV2Schema } from '@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEtherchainV2Payload = (payload?: Payload | null): payload is EthereumGasEtherchainV2Payload => {\n return payload?.schema === EthereumGasEtherchainV2Schema\n}\n","import { EthereumGasEtherscanPayload, EthereumGasEtherscanSchema } from '@xyo-network/etherscan-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEtherscanPayload = (payload?: Payload | null): payload is EthereumGasEtherscanPayload => {\n return payload?.schema === EthereumGasEtherscanSchema\n}\n","import { EthereumGasEthersPayload, EthereumGasEthersSchema } from '@xyo-network/ethers-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEthersPayload = (payload?: Payload | null): payload is EthereumGasEthersPayload => {\n return payload?.schema === EthereumGasEthersSchema\n}\n","import { EthereumGasEthgasstationPayload, EthereumGasEthgasstationSchema } from '@xyo-network/ethgasstation-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEthgasstationPayload = (payload?: Payload | null): payload is EthereumGasEthgasstationPayload => {\n return payload?.schema === EthereumGasEthgasstationSchema\n}\n","/* eslint-disable sort-keys-fix/sort-keys-fix */\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasBlocknativePayload): number | undefined => {\n return payload?.blockPrices?.[0]?.baseFeePerGas\n}\n\nconst getFeePerGas = (payload: EthereumGasBlocknativePayload): Partial<FeePerGas> => {\n const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence)\n const trend = linear([\n [0, sorted?.[0].price],\n [1, sorted?.[1].price],\n [2, sorted?.[2].price],\n [3, sorted?.[3].price],\n [4, sorted?.[4].price],\n ])\n const feePerGas: FeePerGas = {\n low: trend.predict(0.5)[1],\n medium: trend.predict(1.5)[1],\n high: trend.predict(2.5)[1],\n veryHigh: trend.predict(3.5)[1],\n }\n return feePerGas\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasBlocknativePayload): Partial<PriorityFeePerGas> => {\n const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence)\n const trend = linear([\n [0, sorted?.[0].maxPriorityFeePerGas],\n [1, sorted?.[1].maxPriorityFeePerGas],\n [2, sorted?.[2].maxPriorityFeePerGas],\n [3, sorted?.[3].maxPriorityFeePerGas],\n [4, sorted?.[4].maxPriorityFeePerGas],\n ])\n const priorityFeePerGas: PriorityFeePerGas = {\n low: trend.predict(0.5)[1],\n medium: trend.predict(1.5)[1],\n high: trend.predict(2.5)[1],\n veryHigh: trend.predict(3.5)[1],\n }\n return priorityFeePerGas\n}\n\nexport const transformGasFromBlocknative = (payload: EthereumGasBlocknativePayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEtherchainV2Payload } from '@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins'\nimport { FeeData, FeePerGas } from '@xyo-network/gas-price-payload-plugin'\n\nconst getFeePerGas = (payload: EthereumGasEtherchainV2Payload): Partial<FeePerGas> => {\n const { slow, standard, fast, rapid } = payload.data\n const low = slow / 1_000_000_000\n const medium = standard / 1_000_000_000\n const high = fast / 1_000_000_000\n const veryHigh = rapid / 1_000_000_000\n return { high, low, medium, veryHigh }\n}\n\nexport const transformGasFromEtherchainV2 = (payload: EthereumGasEtherchainV2Payload): FeeData => {\n const baseFee = undefined\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = {}\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEthersPayload } from '@xyo-network/ethers-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\n\nconst getBaseFee = (payload: EthereumGasEthersPayload): number | undefined => {\n const { lastBaseFeePerGas } = payload\n return lastBaseFeePerGas ? lastBaseFeePerGas / 1_000_000_000 : undefined\n}\n\nconst getFeePerGas = (payload: EthereumGasEthersPayload): Partial<FeePerGas> => {\n const { maxFeePerGas } = payload\n const high = maxFeePerGas ? maxFeePerGas / 1_000_000_000 : undefined\n return { high }\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasEthersPayload): Partial<PriorityFeePerGas> => {\n const { maxPriorityFeePerGas } = payload\n const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1_000_000_000 : undefined\n return { high }\n}\n\nexport const transformGasFromEthers = (payload: EthereumGasEthersPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEtherscanPayload } from '@xyo-network/etherscan-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasEtherscanPayload): number | undefined => {\n const { suggestBaseFee } = payload.result\n return parseFloat(suggestBaseFee)\n}\n\nconst getFeePerGas = (payload: EthereumGasEtherscanPayload): Partial<FeePerGas> => {\n const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result\n const low = parseFloat(SafeGasPrice)\n const medium = parseFloat(ProposeGasPrice)\n const high = parseFloat(FastGasPrice)\n const veryHigh = linear([\n [0, low],\n [1, medium],\n [2, high],\n ]).predict(3)[1]\n return { high, low, medium, veryHigh }\n}\n\nexport const transformGasFromEtherscan = (payload: EthereumGasEtherscanPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = {}\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","/* eslint-disable sort-keys-fix/sort-keys-fix */\nimport { EthereumGasEthgasstationPayload } from '@xyo-network/ethgasstation-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasEthgasstationPayload): number | undefined => {\n const { baseFee } = payload\n return baseFee\n}\n\nconst getFeePerGas = (payload: EthereumGasEthgasstationPayload): Partial<FeePerGas> => {\n const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice\n const trend = linear([\n [1, medium],\n [2, high],\n [3, veryHigh],\n ])\n const low = trend.predict(0)[1]\n return { low, medium, high, veryHigh }\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasEthgasstationPayload): Partial<PriorityFeePerGas> => {\n const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee\n const trend = linear([\n [1, medium],\n [2, high],\n [3, veryHigh],\n ])\n const low = trend.predict(0)[1]\n return { low, medium, high, veryHigh }\n}\n\nexport const transformGasFromEthgasstation = (payload: EthereumGasEthgasstationPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","export type EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query'\nexport const EthereumGasDivinerQuerySchema: EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query'\n\nexport type EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config'\nexport const EthereumGasDivinerConfigSchema: EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config'\n","import { EthereumGasPlugin } from './Plugin'\n\nexport * from './Diviner'\nexport * from './Schema'\n\nexport { EthereumGasPlugin }\n\n// eslint-disable-next-line import/no-default-export\nexport default EthereumGasPlugin\n"],"mappings":"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","names":["EthereumGasSchema","EthereumGasSchema","getFeePerGas","getBaseFee","getFeePerGas","getPriorityFeePerGas","linear","getBaseFee","getFeePerGas","linear","getBaseFee","getFeePerGas","getPriorityFeePerGas","EthereumGasSchema","EthereumGasSchema"]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/average.ts
21
+ var average_exports = {};
22
+ __export(average_exports, {
23
+ average: () => average
24
+ });
25
+ module.exports = __toCommonJS(average_exports);
26
+ var import_exists = require("@xylabs/exists");
27
+ var listAverage = (x) => x?.length ? x.reduce((a, b) => a + b) / x.length : void 0;
28
+ var averageProperty = (data, propertyExpression) => {
29
+ return listAverage(data.map(propertyExpression).filter(import_exists.exists));
30
+ };
31
+ var average = (input) => {
32
+ const data = input?.filter(import_exists.exists) || [];
33
+ const averaged = {
34
+ baseFee: averageProperty(data, (x) => x.baseFee),
35
+ feePerGas: {
36
+ high: averageProperty(data, (x) => x.feePerGas.high),
37
+ low: averageProperty(data, (x) => x.feePerGas.low),
38
+ medium: averageProperty(data, (x) => x.feePerGas.medium),
39
+ veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh)
40
+ },
41
+ priorityFeePerGas: {
42
+ high: averageProperty(data, (x) => x.priorityFeePerGas.high),
43
+ low: averageProperty(data, (x) => x.priorityFeePerGas.low),
44
+ medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),
45
+ veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh)
46
+ }
47
+ };
48
+ return averaged;
49
+ };
50
+ //# sourceMappingURL=average.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/average.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { FeeData } from '@xyo-network/gas-price-payload-plugin'\n\n/**\n * Averages an array of numbers\n * @param x Averages an array of numbers\n * @returns The average of the array of numbers or undefined if the\n * array is empty or undefined\n */\nconst listAverage = (x?: number[]) => (x?.length ? x.reduce((a, b) => a + b) / x.length : undefined)\n\n/**\n * Averages the property indicates by the supplied property\n * expression across the array of FeeData\n * @param data The array of data to average\n * @param propertyExpression The expression for the property to\n * average\n * @returns The average of the supplied property across the array\n */\nconst averageProperty = (data: FeeData[], propertyExpression: (x: FeeData) => number | undefined) => {\n return listAverage(data.map(propertyExpression).filter(exists))\n}\n\n/**\n * Averages the supplied FeeData\n * @param input An array of FeeData or undefined\n * @returns The average of the supplied FeeData\n */\nexport const average = (input?: (FeeData | undefined)[]): FeeData => {\n const data = input?.filter(exists) || []\n const averaged: FeeData = {\n baseFee: averageProperty(data, (x) => x.baseFee),\n feePerGas: {\n high: averageProperty(data, (x) => x.feePerGas.high),\n low: averageProperty(data, (x) => x.feePerGas.low),\n medium: averageProperty(data, (x) => x.feePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh),\n },\n priorityFeePerGas: {\n high: averageProperty(data, (x) => x.priorityFeePerGas.high),\n low: averageProperty(data, (x) => x.priorityFeePerGas.low),\n medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh),\n },\n }\n return averaged\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB;AASvB,IAAM,cAAc,CAAC,MAAkB,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS;AAU1F,IAAM,kBAAkB,CAAC,MAAiB,uBAA2D;AACnG,SAAO,YAAY,KAAK,IAAI,kBAAkB,EAAE,OAAO,oBAAM,CAAC;AAChE;AAOO,IAAM,UAAU,CAAC,UAA6C;AACnE,QAAM,OAAO,OAAO,OAAO,oBAAM,KAAK,CAAC;AACvC,QAAM,WAAoB;AAAA,IACxB,SAAS,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO;AAAA,IAC/C,WAAW;AAAA,MACT,MAAM,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI;AAAA,MACnD,KAAK,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG;AAAA,MACjD,QAAQ,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,MAAM;AAAA,MACvD,UAAU,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,QAAQ;AAAA,IAC7D;AAAA,IACA,mBAAmB;AAAA,MACjB,MAAM,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,IAAI;AAAA,MAC3D,KAAK,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG;AAAA,MACzD,QAAQ,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,MAAM;AAAA,MAC/D,UAAU,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,QAAQ;AAAA,IACrE;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"average.d.ts","sourceRoot":"","sources":["../../../src/lib/average.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAsB/D;;;;GAIG;AACH,eAAO,MAAM,OAAO,WAAY,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,KAAG,OAkBzD,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"average.d.ts","sourceRoot":"","sources":["../../../src/lib/average.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAsB/D;;;;GAIG;AACH,eAAO,MAAM,OAAO,WAAY,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,KAAG,OAkBzD,CAAA"}
@@ -0,0 +1,29 @@
1
+ // src/lib/average.ts
2
+ import { exists } from "@xylabs/exists";
3
+ var listAverage = (x) => x?.length ? x.reduce((a, b) => a + b) / x.length : void 0;
4
+ var averageProperty = (data, propertyExpression) => {
5
+ return listAverage(data.map(propertyExpression).filter(exists));
6
+ };
7
+ var average = (input) => {
8
+ const data = input?.filter(exists) || [];
9
+ const averaged = {
10
+ baseFee: averageProperty(data, (x) => x.baseFee),
11
+ feePerGas: {
12
+ high: averageProperty(data, (x) => x.feePerGas.high),
13
+ low: averageProperty(data, (x) => x.feePerGas.low),
14
+ medium: averageProperty(data, (x) => x.feePerGas.medium),
15
+ veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh)
16
+ },
17
+ priorityFeePerGas: {
18
+ high: averageProperty(data, (x) => x.priorityFeePerGas.high),
19
+ low: averageProperty(data, (x) => x.priorityFeePerGas.low),
20
+ medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),
21
+ veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh)
22
+ }
23
+ };
24
+ return averaged;
25
+ };
26
+ export {
27
+ average
28
+ };
29
+ //# sourceMappingURL=average.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/average.ts"],"sourcesContent":["import { exists } from '@xylabs/exists'\nimport { FeeData } from '@xyo-network/gas-price-payload-plugin'\n\n/**\n * Averages an array of numbers\n * @param x Averages an array of numbers\n * @returns The average of the array of numbers or undefined if the\n * array is empty or undefined\n */\nconst listAverage = (x?: number[]) => (x?.length ? x.reduce((a, b) => a + b) / x.length : undefined)\n\n/**\n * Averages the property indicates by the supplied property\n * expression across the array of FeeData\n * @param data The array of data to average\n * @param propertyExpression The expression for the property to\n * average\n * @returns The average of the supplied property across the array\n */\nconst averageProperty = (data: FeeData[], propertyExpression: (x: FeeData) => number | undefined) => {\n return listAverage(data.map(propertyExpression).filter(exists))\n}\n\n/**\n * Averages the supplied FeeData\n * @param input An array of FeeData or undefined\n * @returns The average of the supplied FeeData\n */\nexport const average = (input?: (FeeData | undefined)[]): FeeData => {\n const data = input?.filter(exists) || []\n const averaged: FeeData = {\n baseFee: averageProperty(data, (x) => x.baseFee),\n feePerGas: {\n high: averageProperty(data, (x) => x.feePerGas.high),\n low: averageProperty(data, (x) => x.feePerGas.low),\n medium: averageProperty(data, (x) => x.feePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh),\n },\n priorityFeePerGas: {\n high: averageProperty(data, (x) => x.priorityFeePerGas.high),\n low: averageProperty(data, (x) => x.priorityFeePerGas.low),\n medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh),\n },\n }\n return averaged\n}\n"],"mappings":";AAAA,SAAS,cAAc;AASvB,IAAM,cAAc,CAAC,MAAkB,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS;AAU1F,IAAM,kBAAkB,CAAC,MAAiB,uBAA2D;AACnG,SAAO,YAAY,KAAK,IAAI,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAChE;AAOO,IAAM,UAAU,CAAC,UAA6C;AACnE,QAAM,OAAO,OAAO,OAAO,MAAM,KAAK,CAAC;AACvC,QAAM,WAAoB;AAAA,IACxB,SAAS,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO;AAAA,IAC/C,WAAW;AAAA,MACT,MAAM,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,IAAI;AAAA,MACnD,KAAK,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG;AAAA,MACjD,QAAQ,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,MAAM;AAAA,MACvD,UAAU,gBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,QAAQ;AAAA,IAC7D;AAAA,IACA,mBAAmB;AAAA,MACjB,MAAM,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,IAAI;AAAA,MAC3D,KAAK,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG;AAAA,MACzD,QAAQ,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,MAAM;AAAA,MAC/D,UAAU,gBAAgB,MAAM,CAAC,MAAM,EAAE,kBAAkB,QAAQ;AAAA,IACrE;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/divineGas.ts
21
+ var divineGas_exports = {};
22
+ __export(divineGas_exports, {
23
+ divineGas: () => divineGas
24
+ });
25
+ module.exports = __toCommonJS(divineGas_exports);
26
+ var import_gas_price_payload_plugin = require("@xyo-network/gas-price-payload-plugin");
27
+ var import_payload_builder = require("@xyo-network/payload-builder");
28
+
29
+ // src/lib/average.ts
30
+ var import_exists = require("@xylabs/exists");
31
+ var listAverage = (x) => x?.length ? x.reduce((a, b) => a + b) / x.length : void 0;
32
+ var averageProperty = (data, propertyExpression) => {
33
+ return listAverage(data.map(propertyExpression).filter(import_exists.exists));
34
+ };
35
+ var average = (input) => {
36
+ const data = input?.filter(import_exists.exists) || [];
37
+ const averaged = {
38
+ baseFee: averageProperty(data, (x) => x.baseFee),
39
+ feePerGas: {
40
+ high: averageProperty(data, (x) => x.feePerGas.high),
41
+ low: averageProperty(data, (x) => x.feePerGas.low),
42
+ medium: averageProperty(data, (x) => x.feePerGas.medium),
43
+ veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh)
44
+ },
45
+ priorityFeePerGas: {
46
+ high: averageProperty(data, (x) => x.priorityFeePerGas.high),
47
+ low: averageProperty(data, (x) => x.priorityFeePerGas.low),
48
+ medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),
49
+ veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh)
50
+ }
51
+ };
52
+ return averaged;
53
+ };
54
+
55
+ // src/lib/identities/isEthereumGasBlocknativePayload.ts
56
+ var import_blocknative_ethereum_gas_payload_plugin = require("@xyo-network/blocknative-ethereum-gas-payload-plugin");
57
+ var isEthereumGasBlocknativePayload = (payload) => {
58
+ return payload?.schema === import_blocknative_ethereum_gas_payload_plugin.EthereumGasBlocknativeSchema;
59
+ };
60
+
61
+ // src/lib/identities/isEthereumGasEtherchainV2Payload.ts
62
+ var import_etherchain_gas_ethereum_blockchain_payload_plugins = require("@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins");
63
+ var isEthereumGasEtherchainV2Payload = (payload) => {
64
+ return payload?.schema === import_etherchain_gas_ethereum_blockchain_payload_plugins.EthereumGasEtherchainV2Schema;
65
+ };
66
+
67
+ // src/lib/identities/isEthereumGasEtherscanPayload.ts
68
+ var import_etherscan_ethereum_gas_payload_plugin = require("@xyo-network/etherscan-ethereum-gas-payload-plugin");
69
+ var isEthereumGasEtherscanPayload = (payload) => {
70
+ return payload?.schema === import_etherscan_ethereum_gas_payload_plugin.EthereumGasEtherscanSchema;
71
+ };
72
+
73
+ // src/lib/identities/isEthereumGasEthersPayload.ts
74
+ var import_ethers_ethereum_gas_payload_plugin = require("@xyo-network/ethers-ethereum-gas-payload-plugin");
75
+ var isEthereumGasEthersPayload = (payload) => {
76
+ return payload?.schema === import_ethers_ethereum_gas_payload_plugin.EthereumGasEthersSchema;
77
+ };
78
+
79
+ // src/lib/identities/isEthereumGasEthgasstationPayload.ts
80
+ var import_ethgasstation_ethereum_gas_payload_plugin = require("@xyo-network/ethgasstation-ethereum-gas-payload-plugin");
81
+ var isEthereumGasEthgasstationPayload = (payload) => {
82
+ return payload?.schema === import_ethgasstation_ethereum_gas_payload_plugin.EthereumGasEthgasstationSchema;
83
+ };
84
+
85
+ // src/lib/transforms/transformGasFromBlocknative.ts
86
+ var import_regression = require("regression");
87
+ var getBaseFee = (payload) => {
88
+ return payload?.blockPrices?.[0]?.baseFeePerGas;
89
+ };
90
+ var getFeePerGas = (payload) => {
91
+ const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence);
92
+ const trend = (0, import_regression.linear)([
93
+ [0, sorted?.[0].price],
94
+ [1, sorted?.[1].price],
95
+ [2, sorted?.[2].price],
96
+ [3, sorted?.[3].price],
97
+ [4, sorted?.[4].price]
98
+ ]);
99
+ const feePerGas = {
100
+ low: trend.predict(0.5)[1],
101
+ medium: trend.predict(1.5)[1],
102
+ high: trend.predict(2.5)[1],
103
+ veryHigh: trend.predict(3.5)[1]
104
+ };
105
+ return feePerGas;
106
+ };
107
+ var getPriorityFeePerGas = (payload) => {
108
+ const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence);
109
+ const trend = (0, import_regression.linear)([
110
+ [0, sorted?.[0].maxPriorityFeePerGas],
111
+ [1, sorted?.[1].maxPriorityFeePerGas],
112
+ [2, sorted?.[2].maxPriorityFeePerGas],
113
+ [3, sorted?.[3].maxPriorityFeePerGas],
114
+ [4, sorted?.[4].maxPriorityFeePerGas]
115
+ ]);
116
+ const priorityFeePerGas = {
117
+ low: trend.predict(0.5)[1],
118
+ medium: trend.predict(1.5)[1],
119
+ high: trend.predict(2.5)[1],
120
+ veryHigh: trend.predict(3.5)[1]
121
+ };
122
+ return priorityFeePerGas;
123
+ };
124
+ var transformGasFromBlocknative = (payload) => {
125
+ const baseFee = getBaseFee(payload);
126
+ const feePerGas = getFeePerGas(payload);
127
+ const priorityFeePerGas = getPriorityFeePerGas(payload);
128
+ return { baseFee, feePerGas, priorityFeePerGas };
129
+ };
130
+
131
+ // src/lib/transforms/transformGasFromEtherchainV2.ts
132
+ var getFeePerGas2 = (payload) => {
133
+ const { slow, standard, fast, rapid } = payload.data;
134
+ const low = slow / 1e9;
135
+ const medium = standard / 1e9;
136
+ const high = fast / 1e9;
137
+ const veryHigh = rapid / 1e9;
138
+ return { high, low, medium, veryHigh };
139
+ };
140
+ var transformGasFromEtherchainV2 = (payload) => {
141
+ const baseFee = void 0;
142
+ const feePerGas = getFeePerGas2(payload);
143
+ const priorityFeePerGas = {};
144
+ return { baseFee, feePerGas, priorityFeePerGas };
145
+ };
146
+
147
+ // src/lib/transforms/transformGasFromEthers.ts
148
+ var getBaseFee2 = (payload) => {
149
+ const { lastBaseFeePerGas } = payload;
150
+ return lastBaseFeePerGas ? lastBaseFeePerGas / 1e9 : void 0;
151
+ };
152
+ var getFeePerGas3 = (payload) => {
153
+ const { maxFeePerGas } = payload;
154
+ const high = maxFeePerGas ? maxFeePerGas / 1e9 : void 0;
155
+ return { high };
156
+ };
157
+ var getPriorityFeePerGas2 = (payload) => {
158
+ const { maxPriorityFeePerGas } = payload;
159
+ const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1e9 : void 0;
160
+ return { high };
161
+ };
162
+ var transformGasFromEthers = (payload) => {
163
+ const baseFee = getBaseFee2(payload);
164
+ const feePerGas = getFeePerGas3(payload);
165
+ const priorityFeePerGas = getPriorityFeePerGas2(payload);
166
+ return { baseFee, feePerGas, priorityFeePerGas };
167
+ };
168
+
169
+ // src/lib/transforms/transformGasFromEtherscan.ts
170
+ var import_regression2 = require("regression");
171
+ var getBaseFee3 = (payload) => {
172
+ const { suggestBaseFee } = payload.result;
173
+ return parseFloat(suggestBaseFee);
174
+ };
175
+ var getFeePerGas4 = (payload) => {
176
+ const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result;
177
+ const low = parseFloat(SafeGasPrice);
178
+ const medium = parseFloat(ProposeGasPrice);
179
+ const high = parseFloat(FastGasPrice);
180
+ const veryHigh = (0, import_regression2.linear)([
181
+ [0, low],
182
+ [1, medium],
183
+ [2, high]
184
+ ]).predict(3)[1];
185
+ return { high, low, medium, veryHigh };
186
+ };
187
+ var transformGasFromEtherscan = (payload) => {
188
+ const baseFee = getBaseFee3(payload);
189
+ const feePerGas = getFeePerGas4(payload);
190
+ const priorityFeePerGas = {};
191
+ return { baseFee, feePerGas, priorityFeePerGas };
192
+ };
193
+
194
+ // src/lib/transforms/transformGasFromEthgasstation.ts
195
+ var import_regression3 = require("regression");
196
+ var getBaseFee4 = (payload) => {
197
+ const { baseFee } = payload;
198
+ return baseFee;
199
+ };
200
+ var getFeePerGas5 = (payload) => {
201
+ const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice;
202
+ const trend = (0, import_regression3.linear)([
203
+ [1, medium],
204
+ [2, high],
205
+ [3, veryHigh]
206
+ ]);
207
+ const low = trend.predict(0)[1];
208
+ return { low, medium, high, veryHigh };
209
+ };
210
+ var getPriorityFeePerGas3 = (payload) => {
211
+ const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee;
212
+ const trend = (0, import_regression3.linear)([
213
+ [1, medium],
214
+ [2, high],
215
+ [3, veryHigh]
216
+ ]);
217
+ const low = trend.predict(0)[1];
218
+ return { low, medium, high, veryHigh };
219
+ };
220
+ var transformGasFromEthgasstation = (payload) => {
221
+ const baseFee = getBaseFee4(payload);
222
+ const feePerGas = getFeePerGas5(payload);
223
+ const priorityFeePerGas = getPriorityFeePerGas3(payload);
224
+ return { baseFee, feePerGas, priorityFeePerGas };
225
+ };
226
+
227
+ // src/lib/divineGas.ts
228
+ var divineGas = (payloads) => {
229
+ const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative);
230
+ const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2);
231
+ const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers);
232
+ const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan);
233
+ const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation);
234
+ const transactionCosts = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation];
235
+ const avg = average(transactionCosts);
236
+ const timestamp = Date.now();
237
+ const payload = new import_payload_builder.PayloadBuilder({ schema: import_gas_price_payload_plugin.EthereumGasSchema }).fields({ ...avg, timestamp }).build();
238
+ return payload;
239
+ };
240
+ //# sourceMappingURL=divineGas.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/divineGas.ts","../../../src/lib/average.ts","../../../src/lib/identities/isEthereumGasBlocknativePayload.ts","../../../src/lib/identities/isEthereumGasEtherchainV2Payload.ts","../../../src/lib/identities/isEthereumGasEtherscanPayload.ts","../../../src/lib/identities/isEthereumGasEthersPayload.ts","../../../src/lib/identities/isEthereumGasEthgasstationPayload.ts","../../../src/lib/transforms/transformGasFromBlocknative.ts","../../../src/lib/transforms/transformGasFromEtherchainV2.ts","../../../src/lib/transforms/transformGasFromEthers.ts","../../../src/lib/transforms/transformGasFromEtherscan.ts","../../../src/lib/transforms/transformGasFromEthgasstation.ts"],"sourcesContent":["import { EthereumGasPayload, EthereumGasSchema, FeeData } from '@xyo-network/gas-price-payload-plugin'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload } from '@xyo-network/payload-model'\n\nimport { average } from './average'\nimport {\n isEthereumGasBlocknativePayload,\n isEthereumGasEtherchainV2Payload,\n isEthereumGasEtherscanPayload,\n isEthereumGasEthersPayload,\n isEthereumGasEthgasstationPayload,\n} from './identities'\nimport {\n transformGasFromBlocknative,\n transformGasFromEtherchainV2,\n transformGasFromEthers,\n transformGasFromEtherscan,\n transformGasFromEthgasstation,\n} from './transforms'\n\nexport const divineGas = (payloads: Payload[]): EthereumGasPayload => {\n const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative)\n const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2)\n const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers)\n const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan)\n const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation)\n const transactionCosts: FeeData[] = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation]\n const avg = average(transactionCosts)\n const timestamp = Date.now()\n const payload = new PayloadBuilder<EthereumGasPayload>({ schema: EthereumGasSchema }).fields({ ...avg, timestamp }).build()\n return payload\n}\n","import { exists } from '@xylabs/exists'\nimport { FeeData } from '@xyo-network/gas-price-payload-plugin'\n\n/**\n * Averages an array of numbers\n * @param x Averages an array of numbers\n * @returns The average of the array of numbers or undefined if the\n * array is empty or undefined\n */\nconst listAverage = (x?: number[]) => (x?.length ? x.reduce((a, b) => a + b) / x.length : undefined)\n\n/**\n * Averages the property indicates by the supplied property\n * expression across the array of FeeData\n * @param data The array of data to average\n * @param propertyExpression The expression for the property to\n * average\n * @returns The average of the supplied property across the array\n */\nconst averageProperty = (data: FeeData[], propertyExpression: (x: FeeData) => number | undefined) => {\n return listAverage(data.map(propertyExpression).filter(exists))\n}\n\n/**\n * Averages the supplied FeeData\n * @param input An array of FeeData or undefined\n * @returns The average of the supplied FeeData\n */\nexport const average = (input?: (FeeData | undefined)[]): FeeData => {\n const data = input?.filter(exists) || []\n const averaged: FeeData = {\n baseFee: averageProperty(data, (x) => x.baseFee),\n feePerGas: {\n high: averageProperty(data, (x) => x.feePerGas.high),\n low: averageProperty(data, (x) => x.feePerGas.low),\n medium: averageProperty(data, (x) => x.feePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh),\n },\n priorityFeePerGas: {\n high: averageProperty(data, (x) => x.priorityFeePerGas.high),\n low: averageProperty(data, (x) => x.priorityFeePerGas.low),\n medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),\n veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh),\n },\n }\n return averaged\n}\n","import { EthereumGasBlocknativePayload, EthereumGasBlocknativeSchema } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasBlocknativePayload = (payload?: Payload | null): payload is EthereumGasBlocknativePayload => {\n return payload?.schema === EthereumGasBlocknativeSchema\n}\n","import { EthereumGasEtherchainV2Payload, EthereumGasEtherchainV2Schema } from '@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEtherchainV2Payload = (payload?: Payload | null): payload is EthereumGasEtherchainV2Payload => {\n return payload?.schema === EthereumGasEtherchainV2Schema\n}\n","import { EthereumGasEtherscanPayload, EthereumGasEtherscanSchema } from '@xyo-network/etherscan-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEtherscanPayload = (payload?: Payload | null): payload is EthereumGasEtherscanPayload => {\n return payload?.schema === EthereumGasEtherscanSchema\n}\n","import { EthereumGasEthersPayload, EthereumGasEthersSchema } from '@xyo-network/ethers-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEthersPayload = (payload?: Payload | null): payload is EthereumGasEthersPayload => {\n return payload?.schema === EthereumGasEthersSchema\n}\n","import { EthereumGasEthgasstationPayload, EthereumGasEthgasstationSchema } from '@xyo-network/ethgasstation-ethereum-gas-payload-plugin'\nimport { Payload } from '@xyo-network/payload-model'\n\nexport const isEthereumGasEthgasstationPayload = (payload?: Payload | null): payload is EthereumGasEthgasstationPayload => {\n return payload?.schema === EthereumGasEthgasstationSchema\n}\n","/* eslint-disable sort-keys-fix/sort-keys-fix */\nimport { EthereumGasBlocknativePayload } from '@xyo-network/blocknative-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasBlocknativePayload): number | undefined => {\n return payload?.blockPrices?.[0]?.baseFeePerGas\n}\n\nconst getFeePerGas = (payload: EthereumGasBlocknativePayload): Partial<FeePerGas> => {\n const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence)\n const trend = linear([\n [0, sorted?.[0].price],\n [1, sorted?.[1].price],\n [2, sorted?.[2].price],\n [3, sorted?.[3].price],\n [4, sorted?.[4].price],\n ])\n const feePerGas: FeePerGas = {\n low: trend.predict(0.5)[1],\n medium: trend.predict(1.5)[1],\n high: trend.predict(2.5)[1],\n veryHigh: trend.predict(3.5)[1],\n }\n return feePerGas\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasBlocknativePayload): Partial<PriorityFeePerGas> => {\n const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence)\n const trend = linear([\n [0, sorted?.[0].maxPriorityFeePerGas],\n [1, sorted?.[1].maxPriorityFeePerGas],\n [2, sorted?.[2].maxPriorityFeePerGas],\n [3, sorted?.[3].maxPriorityFeePerGas],\n [4, sorted?.[4].maxPriorityFeePerGas],\n ])\n const priorityFeePerGas: PriorityFeePerGas = {\n low: trend.predict(0.5)[1],\n medium: trend.predict(1.5)[1],\n high: trend.predict(2.5)[1],\n veryHigh: trend.predict(3.5)[1],\n }\n return priorityFeePerGas\n}\n\nexport const transformGasFromBlocknative = (payload: EthereumGasBlocknativePayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEtherchainV2Payload } from '@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins'\nimport { FeeData, FeePerGas } from '@xyo-network/gas-price-payload-plugin'\n\nconst getFeePerGas = (payload: EthereumGasEtherchainV2Payload): Partial<FeePerGas> => {\n const { slow, standard, fast, rapid } = payload.data\n const low = slow / 1_000_000_000\n const medium = standard / 1_000_000_000\n const high = fast / 1_000_000_000\n const veryHigh = rapid / 1_000_000_000\n return { high, low, medium, veryHigh }\n}\n\nexport const transformGasFromEtherchainV2 = (payload: EthereumGasEtherchainV2Payload): FeeData => {\n const baseFee = undefined\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = {}\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEthersPayload } from '@xyo-network/ethers-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\n\nconst getBaseFee = (payload: EthereumGasEthersPayload): number | undefined => {\n const { lastBaseFeePerGas } = payload\n return lastBaseFeePerGas ? lastBaseFeePerGas / 1_000_000_000 : undefined\n}\n\nconst getFeePerGas = (payload: EthereumGasEthersPayload): Partial<FeePerGas> => {\n const { maxFeePerGas } = payload\n const high = maxFeePerGas ? maxFeePerGas / 1_000_000_000 : undefined\n return { high }\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasEthersPayload): Partial<PriorityFeePerGas> => {\n const { maxPriorityFeePerGas } = payload\n const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1_000_000_000 : undefined\n return { high }\n}\n\nexport const transformGasFromEthers = (payload: EthereumGasEthersPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","import { EthereumGasEtherscanPayload } from '@xyo-network/etherscan-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasEtherscanPayload): number | undefined => {\n const { suggestBaseFee } = payload.result\n return parseFloat(suggestBaseFee)\n}\n\nconst getFeePerGas = (payload: EthereumGasEtherscanPayload): Partial<FeePerGas> => {\n const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result\n const low = parseFloat(SafeGasPrice)\n const medium = parseFloat(ProposeGasPrice)\n const high = parseFloat(FastGasPrice)\n const veryHigh = linear([\n [0, low],\n [1, medium],\n [2, high],\n ]).predict(3)[1]\n return { high, low, medium, veryHigh }\n}\n\nexport const transformGasFromEtherscan = (payload: EthereumGasEtherscanPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = {}\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n","/* eslint-disable sort-keys-fix/sort-keys-fix */\nimport { EthereumGasEthgasstationPayload } from '@xyo-network/ethgasstation-ethereum-gas-payload-plugin'\nimport { FeeData, FeePerGas, PriorityFeePerGas } from '@xyo-network/gas-price-payload-plugin'\nimport { linear } from 'regression'\n\nconst getBaseFee = (payload: EthereumGasEthgasstationPayload): number | undefined => {\n const { baseFee } = payload\n return baseFee\n}\n\nconst getFeePerGas = (payload: EthereumGasEthgasstationPayload): Partial<FeePerGas> => {\n const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice\n const trend = linear([\n [1, medium],\n [2, high],\n [3, veryHigh],\n ])\n const low = trend.predict(0)[1]\n return { low, medium, high, veryHigh }\n}\n\nconst getPriorityFeePerGas = (payload: EthereumGasEthgasstationPayload): Partial<PriorityFeePerGas> => {\n const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee\n const trend = linear([\n [1, medium],\n [2, high],\n [3, veryHigh],\n ])\n const low = trend.predict(0)[1]\n return { low, medium, high, veryHigh }\n}\n\nexport const transformGasFromEthgasstation = (payload: EthereumGasEthgasstationPayload): FeeData => {\n const baseFee = getBaseFee(payload)\n const feePerGas = getFeePerGas(payload)\n const priorityFeePerGas = getPriorityFeePerGas(payload)\n return { baseFee, feePerGas, priorityFeePerGas }\n}\n"],"mappings":"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","names":["getFeePerGas","getBaseFee","getFeePerGas","getPriorityFeePerGas","import_regression","getBaseFee","getFeePerGas","import_regression","getBaseFee","getFeePerGas","getPriorityFeePerGas"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divineGas.d.ts","sourceRoot":"","sources":["../../../src/lib/divineGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,uCAAuC,CAAA;AAEtG,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAkBpD,eAAO,MAAM,SAAS,aAAc,OAAO,EAAE,KAAG,kBAW/C,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divineGas.d.ts","sourceRoot":"","sources":["../../../src/lib/divineGas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,uCAAuC,CAAA;AAEtG,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAkBpD,eAAO,MAAM,SAAS,aAAc,OAAO,EAAE,KAAG,kBAW/C,CAAA"}