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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) 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.cts.map +1 -0
  4. package/dist/browser/Diviner.d.mts.map +1 -0
  5. package/dist/browser/Diviner.d.ts +16 -0
  6. package/dist/browser/Diviner.d.ts.map +1 -0
  7. package/dist/browser/Diviner.js +16 -0
  8. package/dist/browser/Diviner.js.map +1 -0
  9. package/dist/browser/Plugin.cjs +272 -0
  10. package/dist/browser/Plugin.cjs.map +1 -0
  11. package/dist/browser/Plugin.d.cts.map +1 -0
  12. package/dist/browser/Plugin.d.mts.map +1 -0
  13. package/dist/browser/Plugin.d.ts +50 -0
  14. package/dist/browser/Plugin.d.ts.map +1 -0
  15. package/dist/browser/Plugin.js +16 -0
  16. package/dist/browser/Plugin.js.map +1 -0
  17. package/dist/browser/Schema.cjs +29 -0
  18. package/dist/browser/Schema.cjs.map +1 -0
  19. package/dist/browser/Schema.d.cts.map +1 -0
  20. package/dist/browser/Schema.d.mts.map +1 -0
  21. package/dist/browser/Schema.d.ts +5 -0
  22. package/dist/browser/Schema.d.ts.map +1 -0
  23. package/dist/browser/Schema.js +7 -0
  24. package/dist/browser/Schema.js.map +1 -0
  25. package/dist/{index.js → browser/index.cjs} +1 -8
  26. package/dist/browser/index.cjs.map +1 -0
  27. package/dist/browser/index.d.cts.map +1 -0
  28. package/dist/browser/index.d.mts.map +1 -0
  29. package/dist/browser/index.d.ts +6 -0
  30. package/dist/browser/index.d.ts.map +1 -0
  31. package/dist/browser/index.js +9 -0
  32. package/dist/browser/index.js.map +1 -0
  33. package/dist/browser/lib/average.cjs +50 -0
  34. package/dist/browser/lib/average.cjs.map +1 -0
  35. package/dist/browser/lib/average.d.cts.map +1 -0
  36. package/dist/browser/lib/average.d.mts.map +1 -0
  37. package/dist/browser/lib/average.d.ts +8 -0
  38. package/dist/browser/lib/average.d.ts.map +1 -0
  39. package/dist/browser/lib/average.js +28 -0
  40. package/dist/browser/lib/average.js.map +1 -0
  41. package/dist/browser/lib/divineGas.cjs +240 -0
  42. package/dist/browser/lib/divineGas.cjs.map +1 -0
  43. package/dist/browser/lib/divineGas.d.cts.map +1 -0
  44. package/dist/browser/lib/divineGas.d.mts.map +1 -0
  45. package/dist/browser/lib/divineGas.d.ts +4 -0
  46. package/dist/browser/lib/divineGas.d.ts.map +1 -0
  47. package/dist/browser/lib/divineGas.js +33 -0
  48. package/dist/browser/lib/divineGas.js.map +1 -0
  49. package/dist/browser/lib/identities/index.cjs +60 -0
  50. package/dist/browser/lib/identities/index.cjs.map +1 -0
  51. package/dist/browser/lib/identities/index.d.cts.map +1 -0
  52. package/dist/browser/lib/identities/index.d.mts.map +1 -0
  53. package/dist/browser/lib/identities/index.d.ts +6 -0
  54. package/dist/browser/lib/identities/index.d.ts.map +1 -0
  55. package/dist/browser/lib/identities/index.js +6 -0
  56. package/dist/browser/lib/identities/index.js.map +1 -0
  57. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.cjs +30 -0
  58. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.cjs.map +1 -0
  59. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +1 -0
  60. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +1 -0
  61. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts +6 -0
  62. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +1 -0
  63. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.js +8 -0
  64. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.js.map +1 -0
  65. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.cjs +30 -0
  66. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.cjs.map +1 -0
  67. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +1 -0
  68. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +1 -0
  69. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +6 -0
  70. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +1 -0
  71. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.js +8 -0
  72. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.js.map +1 -0
  73. package/dist/browser/lib/identities/isEthereumGasEthersPayload.cjs +30 -0
  74. package/dist/browser/lib/identities/isEthereumGasEthersPayload.cjs.map +1 -0
  75. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.cts.map +1 -0
  76. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.mts.map +1 -0
  77. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts +6 -0
  78. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts.map +1 -0
  79. package/dist/browser/lib/identities/isEthereumGasEthersPayload.js +8 -0
  80. package/dist/browser/lib/identities/isEthereumGasEthersPayload.js.map +1 -0
  81. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.cjs +30 -0
  82. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.cjs.map +1 -0
  83. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +1 -0
  84. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +1 -0
  85. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts +6 -0
  86. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +1 -0
  87. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.js +8 -0
  88. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.js.map +1 -0
  89. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.cjs +30 -0
  90. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.cjs.map +1 -0
  91. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +1 -0
  92. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +1 -0
  93. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts +6 -0
  94. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +1 -0
  95. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.js +8 -0
  96. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.js.map +1 -0
  97. package/dist/browser/lib/index.cjs +242 -0
  98. package/dist/browser/lib/index.cjs.map +1 -0
  99. package/dist/browser/lib/index.d.cts.map +1 -0
  100. package/dist/browser/lib/index.d.mts.map +1 -0
  101. package/dist/browser/lib/index.d.ts +2 -0
  102. package/dist/browser/lib/index.d.ts.map +1 -0
  103. package/dist/browser/lib/index.js +2 -0
  104. package/dist/browser/lib/index.js.map +1 -0
  105. package/dist/browser/lib/transforms/index.cjs +172 -0
  106. package/dist/browser/lib/transforms/index.cjs.map +1 -0
  107. package/dist/browser/lib/transforms/index.d.cts.map +1 -0
  108. package/dist/browser/lib/transforms/index.d.mts.map +1 -0
  109. package/dist/browser/lib/transforms/index.d.ts +6 -0
  110. package/dist/browser/lib/transforms/index.d.ts.map +1 -0
  111. package/dist/browser/lib/transforms/index.js +6 -0
  112. package/dist/browser/lib/transforms/index.js.map +1 -0
  113. package/dist/browser/lib/transforms/transformGasFromBlocknative.cjs +70 -0
  114. package/dist/browser/lib/transforms/transformGasFromBlocknative.cjs.map +1 -0
  115. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.cts.map +1 -0
  116. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.mts.map +1 -0
  117. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts +4 -0
  118. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts.map +1 -0
  119. package/dist/browser/lib/transforms/transformGasFromBlocknative.js +48 -0
  120. package/dist/browser/lib/transforms/transformGasFromBlocknative.js.map +1 -0
  121. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.cjs +40 -0
  122. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.cjs.map +1 -0
  123. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.cts.map +1 -0
  124. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.mts.map +1 -0
  125. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts +4 -0
  126. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts.map +1 -0
  127. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.js +18 -0
  128. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.js.map +1 -0
  129. package/dist/browser/lib/transforms/transformGasFromEthers.cjs +46 -0
  130. package/dist/browser/lib/transforms/transformGasFromEthers.cjs.map +1 -0
  131. package/dist/browser/lib/transforms/transformGasFromEthers.d.cts.map +1 -0
  132. package/dist/browser/lib/transforms/transformGasFromEthers.d.mts.map +1 -0
  133. package/dist/browser/lib/transforms/transformGasFromEthers.d.ts +4 -0
  134. package/dist/browser/lib/transforms/transformGasFromEthers.d.ts.map +1 -0
  135. package/dist/browser/lib/transforms/transformGasFromEthers.js +24 -0
  136. package/dist/browser/lib/transforms/transformGasFromEthers.js.map +1 -0
  137. package/dist/browser/lib/transforms/transformGasFromEtherscan.cjs +49 -0
  138. package/dist/browser/lib/transforms/transformGasFromEtherscan.cjs.map +1 -0
  139. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.cts.map +1 -0
  140. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.mts.map +1 -0
  141. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts +4 -0
  142. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts.map +1 -0
  143. package/dist/browser/lib/transforms/transformGasFromEtherscan.js +27 -0
  144. package/dist/browser/lib/transforms/transformGasFromEtherscan.js.map +1 -0
  145. package/dist/browser/lib/transforms/transformGasFromEthgasstation.cjs +57 -0
  146. package/dist/browser/lib/transforms/transformGasFromEthgasstation.cjs.map +1 -0
  147. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.cts.map +1 -0
  148. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.mts.map +1 -0
  149. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts +4 -0
  150. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts.map +1 -0
  151. package/dist/browser/lib/transforms/transformGasFromEthgasstation.js +35 -0
  152. package/dist/browser/lib/transforms/transformGasFromEthgasstation.js.map +1 -0
  153. package/dist/browser/test/index.cjs +189 -0
  154. package/dist/browser/test/index.cjs.map +1 -0
  155. package/dist/browser/test/index.d.cts.map +1 -0
  156. package/dist/browser/test/index.d.mts.map +1 -0
  157. package/dist/browser/test/index.d.ts +6 -0
  158. package/dist/browser/test/index.d.ts.map +1 -0
  159. package/dist/browser/test/index.js +6 -0
  160. package/dist/browser/test/index.js.map +1 -0
  161. package/dist/browser/test/sampleBlocknativeGas.cjs +118 -0
  162. package/dist/browser/test/sampleBlocknativeGas.cjs.map +1 -0
  163. package/dist/browser/test/sampleBlocknativeGas.d.cts.map +1 -0
  164. package/dist/browser/test/sampleBlocknativeGas.d.mts.map +1 -0
  165. package/dist/browser/test/sampleBlocknativeGas.d.ts +3 -0
  166. package/dist/browser/test/sampleBlocknativeGas.d.ts.map +1 -0
  167. package/dist/browser/test/sampleBlocknativeGas.js +96 -0
  168. package/dist/browser/test/sampleBlocknativeGas.js.map +1 -0
  169. package/dist/browser/test/sampleEtherchainGasV2.cjs +40 -0
  170. package/dist/browser/test/sampleEtherchainGasV2.cjs.map +1 -0
  171. package/dist/browser/test/sampleEtherchainGasV2.d.cts.map +1 -0
  172. package/dist/browser/test/sampleEtherchainGasV2.d.mts.map +1 -0
  173. package/dist/browser/test/sampleEtherchainGasV2.d.ts +3 -0
  174. package/dist/browser/test/sampleEtherchainGasV2.d.ts.map +1 -0
  175. package/dist/browser/test/sampleEtherchainGasV2.js +18 -0
  176. package/dist/browser/test/sampleEtherchainGasV2.js.map +1 -0
  177. package/dist/browser/test/sampleEthersGas.cjs +35 -0
  178. package/dist/browser/test/sampleEthersGas.cjs.map +1 -0
  179. package/dist/browser/test/sampleEthersGas.d.cts.map +1 -0
  180. package/dist/browser/test/sampleEthersGas.d.mts.map +1 -0
  181. package/dist/browser/test/sampleEthersGas.d.ts +3 -0
  182. package/dist/browser/test/sampleEthersGas.d.ts.map +1 -0
  183. package/dist/browser/test/sampleEthersGas.js +13 -0
  184. package/dist/browser/test/sampleEthersGas.js.map +1 -0
  185. package/dist/browser/test/sampleEtherscanGas.cjs +41 -0
  186. package/dist/browser/test/sampleEtherscanGas.cjs.map +1 -0
  187. package/dist/browser/test/sampleEtherscanGas.d.cts.map +1 -0
  188. package/dist/browser/test/sampleEtherscanGas.d.mts.map +1 -0
  189. package/dist/browser/test/sampleEtherscanGas.d.ts +3 -0
  190. package/dist/browser/test/sampleEtherscanGas.d.ts.map +1 -0
  191. package/dist/browser/test/sampleEtherscanGas.js +19 -0
  192. package/dist/browser/test/sampleEtherscanGas.js.map +1 -0
  193. package/dist/browser/test/sampleEthgasstationGas.cjs +45 -0
  194. package/dist/browser/test/sampleEthgasstationGas.cjs.map +1 -0
  195. package/dist/browser/test/sampleEthgasstationGas.d.cts.map +1 -0
  196. package/dist/browser/test/sampleEthgasstationGas.d.mts.map +1 -0
  197. package/dist/browser/test/sampleEthgasstationGas.d.ts +3 -0
  198. package/dist/browser/test/sampleEthgasstationGas.d.ts.map +1 -0
  199. package/dist/browser/test/sampleEthgasstationGas.js +23 -0
  200. package/dist/browser/test/sampleEthgasstationGas.js.map +1 -0
  201. package/dist/docs.json +534 -534
  202. package/dist/node/Diviner.d.cts +16 -0
  203. package/dist/node/Diviner.d.cts.map +1 -0
  204. package/dist/node/Diviner.d.mts +16 -0
  205. package/dist/node/Diviner.d.mts.map +1 -0
  206. package/dist/node/Diviner.d.ts +16 -0
  207. package/dist/node/Diviner.d.ts.map +1 -0
  208. package/dist/node/Diviner.js +264 -0
  209. package/dist/node/Diviner.js.map +1 -0
  210. package/dist/node/Diviner.mjs +239 -0
  211. package/dist/node/Diviner.mjs.map +1 -0
  212. package/dist/node/Plugin.d.cts +50 -0
  213. package/dist/node/Plugin.d.cts.map +1 -0
  214. package/dist/node/Plugin.d.mts +50 -0
  215. package/dist/node/Plugin.d.mts.map +1 -0
  216. package/dist/node/Plugin.d.ts +50 -0
  217. package/dist/node/Plugin.d.ts.map +1 -0
  218. package/dist/node/Plugin.js +279 -0
  219. package/dist/node/Plugin.js.map +1 -0
  220. package/dist/node/Plugin.mjs +254 -0
  221. package/dist/node/Plugin.mjs.map +1 -0
  222. package/dist/node/Schema.d.cts +5 -0
  223. package/dist/node/Schema.d.cts.map +1 -0
  224. package/dist/node/Schema.d.mts +5 -0
  225. package/dist/node/Schema.d.mts.map +1 -0
  226. package/dist/node/Schema.d.ts +5 -0
  227. package/dist/node/Schema.d.ts.map +1 -0
  228. package/dist/node/Schema.js +34 -0
  229. package/dist/node/Schema.js.map +1 -0
  230. package/dist/node/Schema.mjs +8 -0
  231. package/dist/node/Schema.mjs.map +1 -0
  232. package/dist/node/index.d.cts +6 -0
  233. package/dist/node/index.d.cts.map +1 -0
  234. package/dist/node/index.d.mts +6 -0
  235. package/dist/node/index.d.mts.map +1 -0
  236. package/dist/node/index.d.ts +6 -0
  237. package/dist/node/index.d.ts.map +1 -0
  238. package/dist/node/index.js +292 -0
  239. package/dist/node/index.js.map +1 -0
  240. package/dist/{index.mjs → node/index.mjs} +23 -20
  241. package/dist/node/index.mjs.map +1 -0
  242. package/dist/node/lib/average.d.cts +8 -0
  243. package/dist/node/lib/average.d.cts.map +1 -0
  244. package/dist/node/lib/average.d.mts +8 -0
  245. package/dist/node/lib/average.d.mts.map +1 -0
  246. package/dist/node/lib/average.d.ts +8 -0
  247. package/dist/node/lib/average.d.ts.map +1 -0
  248. package/dist/node/lib/average.js +54 -0
  249. package/dist/node/lib/average.js.map +1 -0
  250. package/dist/node/lib/average.mjs +29 -0
  251. package/dist/node/lib/average.mjs.map +1 -0
  252. package/dist/node/lib/divineGas.d.cts +4 -0
  253. package/dist/node/lib/divineGas.d.cts.map +1 -0
  254. package/dist/node/lib/divineGas.d.mts +4 -0
  255. package/dist/node/lib/divineGas.d.mts.map +1 -0
  256. package/dist/node/lib/divineGas.d.ts +4 -0
  257. package/dist/node/lib/divineGas.d.ts.map +1 -0
  258. package/dist/node/lib/divineGas.js +247 -0
  259. package/dist/node/lib/divineGas.js.map +1 -0
  260. package/dist/node/lib/divineGas.mjs +222 -0
  261. package/dist/node/lib/divineGas.mjs.map +1 -0
  262. package/dist/node/lib/identities/index.d.cts +6 -0
  263. package/dist/node/lib/identities/index.d.cts.map +1 -0
  264. package/dist/node/lib/identities/index.d.mts +6 -0
  265. package/dist/node/lib/identities/index.d.mts.map +1 -0
  266. package/dist/node/lib/identities/index.d.ts +6 -0
  267. package/dist/node/lib/identities/index.d.ts.map +1 -0
  268. package/dist/node/lib/identities/index.js +68 -0
  269. package/dist/node/lib/identities/index.js.map +1 -0
  270. package/dist/node/lib/identities/index.mjs +37 -0
  271. package/dist/node/lib/identities/index.mjs.map +1 -0
  272. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.cts +6 -0
  273. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +1 -0
  274. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts +6 -0
  275. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +1 -0
  276. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts +6 -0
  277. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +1 -0
  278. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.js +34 -0
  279. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.js.map +1 -0
  280. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.mjs +9 -0
  281. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.mjs.map +1 -0
  282. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +6 -0
  283. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +1 -0
  284. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +6 -0
  285. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +1 -0
  286. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +6 -0
  287. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +1 -0
  288. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.js +34 -0
  289. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.js.map +1 -0
  290. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.mjs +9 -0
  291. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.mjs.map +1 -0
  292. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.cts +6 -0
  293. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.cts.map +1 -0
  294. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts +6 -0
  295. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts.map +1 -0
  296. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts +6 -0
  297. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts.map +1 -0
  298. package/dist/node/lib/identities/isEthereumGasEthersPayload.js +34 -0
  299. package/dist/node/lib/identities/isEthereumGasEthersPayload.js.map +1 -0
  300. package/dist/node/lib/identities/isEthereumGasEthersPayload.mjs +9 -0
  301. package/dist/node/lib/identities/isEthereumGasEthersPayload.mjs.map +1 -0
  302. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.cts +6 -0
  303. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +1 -0
  304. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts +6 -0
  305. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +1 -0
  306. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts +6 -0
  307. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +1 -0
  308. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.js +34 -0
  309. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.js.map +1 -0
  310. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.mjs +9 -0
  311. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.mjs.map +1 -0
  312. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.cts +6 -0
  313. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +1 -0
  314. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts +6 -0
  315. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +1 -0
  316. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts +6 -0
  317. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +1 -0
  318. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.js +34 -0
  319. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.js.map +1 -0
  320. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.mjs +9 -0
  321. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.mjs.map +1 -0
  322. package/dist/node/lib/index.d.cts +2 -0
  323. package/dist/node/lib/index.d.cts.map +1 -0
  324. package/dist/node/lib/index.d.mts +2 -0
  325. package/dist/node/lib/index.d.mts.map +1 -0
  326. package/dist/node/lib/index.d.ts +2 -0
  327. package/dist/node/lib/index.d.ts.map +1 -0
  328. package/dist/node/lib/index.js +249 -0
  329. package/dist/node/lib/index.js.map +1 -0
  330. package/dist/node/lib/index.mjs +222 -0
  331. package/dist/node/lib/index.mjs.map +1 -0
  332. package/dist/node/lib/transforms/index.d.cts +6 -0
  333. package/dist/node/lib/transforms/index.d.cts.map +1 -0
  334. package/dist/node/lib/transforms/index.d.mts +6 -0
  335. package/dist/node/lib/transforms/index.d.mts.map +1 -0
  336. package/dist/node/lib/transforms/index.d.ts +6 -0
  337. package/dist/node/lib/transforms/index.d.ts.map +1 -0
  338. package/dist/node/lib/transforms/index.js +183 -0
  339. package/dist/node/lib/transforms/index.js.map +1 -0
  340. package/dist/node/lib/transforms/index.mjs +152 -0
  341. package/dist/node/lib/transforms/index.mjs.map +1 -0
  342. package/dist/node/lib/transforms/transformGasFromBlocknative.d.cts +4 -0
  343. package/dist/node/lib/transforms/transformGasFromBlocknative.d.cts.map +1 -0
  344. package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts +4 -0
  345. package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts.map +1 -0
  346. package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts +4 -0
  347. package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts.map +1 -0
  348. package/dist/node/lib/transforms/transformGasFromBlocknative.js +77 -0
  349. package/dist/node/lib/transforms/transformGasFromBlocknative.js.map +1 -0
  350. package/dist/node/lib/transforms/transformGasFromBlocknative.mjs +52 -0
  351. package/dist/node/lib/transforms/transformGasFromBlocknative.mjs.map +1 -0
  352. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.cts +4 -0
  353. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.cts.map +1 -0
  354. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts +4 -0
  355. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts.map +1 -0
  356. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts +4 -0
  357. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts.map +1 -0
  358. package/dist/node/lib/transforms/transformGasFromEtherchainV2.js +44 -0
  359. package/dist/node/lib/transforms/transformGasFromEtherchainV2.js.map +1 -0
  360. package/dist/node/lib/transforms/transformGasFromEtherchainV2.mjs +19 -0
  361. package/dist/node/lib/transforms/transformGasFromEtherchainV2.mjs.map +1 -0
  362. package/dist/node/lib/transforms/transformGasFromEthers.d.cts +4 -0
  363. package/dist/node/lib/transforms/transformGasFromEthers.d.cts.map +1 -0
  364. package/dist/node/lib/transforms/transformGasFromEthers.d.mts +4 -0
  365. package/dist/node/lib/transforms/transformGasFromEthers.d.mts.map +1 -0
  366. package/dist/node/lib/transforms/transformGasFromEthers.d.ts +4 -0
  367. package/dist/node/lib/transforms/transformGasFromEthers.d.ts.map +1 -0
  368. package/dist/node/lib/transforms/transformGasFromEthers.js +50 -0
  369. package/dist/node/lib/transforms/transformGasFromEthers.js.map +1 -0
  370. package/dist/node/lib/transforms/transformGasFromEthers.mjs +25 -0
  371. package/dist/node/lib/transforms/transformGasFromEthers.mjs.map +1 -0
  372. package/dist/node/lib/transforms/transformGasFromEtherscan.d.cts +4 -0
  373. package/dist/node/lib/transforms/transformGasFromEtherscan.d.cts.map +1 -0
  374. package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts +4 -0
  375. package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts.map +1 -0
  376. package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts +4 -0
  377. package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts.map +1 -0
  378. package/dist/node/lib/transforms/transformGasFromEtherscan.js +53 -0
  379. package/dist/node/lib/transforms/transformGasFromEtherscan.js.map +1 -0
  380. package/dist/node/lib/transforms/transformGasFromEtherscan.mjs +28 -0
  381. package/dist/node/lib/transforms/transformGasFromEtherscan.mjs.map +1 -0
  382. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.cts +4 -0
  383. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.cts.map +1 -0
  384. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts +4 -0
  385. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts.map +1 -0
  386. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts +4 -0
  387. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts.map +1 -0
  388. package/dist/node/lib/transforms/transformGasFromEthgasstation.js +61 -0
  389. package/dist/node/lib/transforms/transformGasFromEthgasstation.js.map +1 -0
  390. package/dist/node/lib/transforms/transformGasFromEthgasstation.mjs +36 -0
  391. package/dist/node/lib/transforms/transformGasFromEthgasstation.mjs.map +1 -0
  392. package/dist/node/test/index.d.cts +6 -0
  393. package/dist/node/test/index.d.cts.map +1 -0
  394. package/dist/node/test/index.d.mts +6 -0
  395. package/dist/node/test/index.d.mts.map +1 -0
  396. package/dist/node/test/index.d.ts +6 -0
  397. package/dist/node/test/index.d.ts.map +1 -0
  398. package/dist/node/test/index.js +197 -0
  399. package/dist/node/test/index.js.map +1 -0
  400. package/dist/node/test/index.mjs +166 -0
  401. package/dist/node/test/index.mjs.map +1 -0
  402. package/dist/node/test/sampleBlocknativeGas.d.cts +3 -0
  403. package/dist/node/test/sampleBlocknativeGas.d.cts.map +1 -0
  404. package/dist/node/test/sampleBlocknativeGas.d.mts +3 -0
  405. package/dist/node/test/sampleBlocknativeGas.d.mts.map +1 -0
  406. package/dist/node/test/sampleBlocknativeGas.d.ts +3 -0
  407. package/dist/node/test/sampleBlocknativeGas.d.ts.map +1 -0
  408. package/dist/node/test/sampleBlocknativeGas.js +122 -0
  409. package/dist/node/test/sampleBlocknativeGas.js.map +1 -0
  410. package/dist/node/test/sampleBlocknativeGas.mjs +97 -0
  411. package/dist/node/test/sampleBlocknativeGas.mjs.map +1 -0
  412. package/dist/node/test/sampleEtherchainGasV2.d.cts +3 -0
  413. package/dist/node/test/sampleEtherchainGasV2.d.cts.map +1 -0
  414. package/dist/node/test/sampleEtherchainGasV2.d.mts +3 -0
  415. package/dist/node/test/sampleEtherchainGasV2.d.mts.map +1 -0
  416. package/dist/node/test/sampleEtherchainGasV2.d.ts +3 -0
  417. package/dist/node/test/sampleEtherchainGasV2.d.ts.map +1 -0
  418. package/dist/node/test/sampleEtherchainGasV2.js +44 -0
  419. package/dist/node/test/sampleEtherchainGasV2.js.map +1 -0
  420. package/dist/node/test/sampleEtherchainGasV2.mjs +19 -0
  421. package/dist/node/test/sampleEtherchainGasV2.mjs.map +1 -0
  422. package/dist/node/test/sampleEthersGas.d.cts +3 -0
  423. package/dist/node/test/sampleEthersGas.d.cts.map +1 -0
  424. package/dist/node/test/sampleEthersGas.d.mts +3 -0
  425. package/dist/node/test/sampleEthersGas.d.mts.map +1 -0
  426. package/dist/node/test/sampleEthersGas.d.ts +3 -0
  427. package/dist/node/test/sampleEthersGas.d.ts.map +1 -0
  428. package/dist/node/test/sampleEthersGas.js +39 -0
  429. package/dist/node/test/sampleEthersGas.js.map +1 -0
  430. package/dist/node/test/sampleEthersGas.mjs +14 -0
  431. package/dist/node/test/sampleEthersGas.mjs.map +1 -0
  432. package/dist/node/test/sampleEtherscanGas.d.cts +3 -0
  433. package/dist/node/test/sampleEtherscanGas.d.cts.map +1 -0
  434. package/dist/node/test/sampleEtherscanGas.d.mts +3 -0
  435. package/dist/node/test/sampleEtherscanGas.d.mts.map +1 -0
  436. package/dist/node/test/sampleEtherscanGas.d.ts +3 -0
  437. package/dist/node/test/sampleEtherscanGas.d.ts.map +1 -0
  438. package/dist/node/test/sampleEtherscanGas.js +45 -0
  439. package/dist/node/test/sampleEtherscanGas.js.map +1 -0
  440. package/dist/node/test/sampleEtherscanGas.mjs +20 -0
  441. package/dist/node/test/sampleEtherscanGas.mjs.map +1 -0
  442. package/dist/node/test/sampleEthgasstationGas.d.cts +3 -0
  443. package/dist/node/test/sampleEthgasstationGas.d.cts.map +1 -0
  444. package/dist/node/test/sampleEthgasstationGas.d.mts +3 -0
  445. package/dist/node/test/sampleEthgasstationGas.d.mts.map +1 -0
  446. package/dist/node/test/sampleEthgasstationGas.d.ts +3 -0
  447. package/dist/node/test/sampleEthgasstationGas.d.ts.map +1 -0
  448. package/dist/node/test/sampleEthgasstationGas.js +49 -0
  449. package/dist/node/test/sampleEthgasstationGas.js.map +1 -0
  450. package/dist/node/test/sampleEthgasstationGas.mjs +24 -0
  451. package/dist/node/test/sampleEthgasstationGas.mjs.map +1 -0
  452. package/package.json +39 -36
  453. package/dist/Diviner.d.mts.map +0 -1
  454. package/dist/Diviner.d.ts.map +0 -1
  455. package/dist/Plugin.d.mts.map +0 -1
  456. package/dist/Plugin.d.ts.map +0 -1
  457. package/dist/Schema.d.mts.map +0 -1
  458. package/dist/Schema.d.ts.map +0 -1
  459. package/dist/index.d.mts.map +0 -1
  460. package/dist/index.d.ts.map +0 -1
  461. package/dist/index.js.map +0 -1
  462. package/dist/index.mjs.map +0 -1
  463. package/dist/lib/average.d.mts.map +0 -1
  464. package/dist/lib/average.d.ts.map +0 -1
  465. package/dist/lib/divineGas.d.mts.map +0 -1
  466. package/dist/lib/divineGas.d.ts.map +0 -1
  467. package/dist/lib/identities/index.d.mts.map +0 -1
  468. package/dist/lib/identities/index.d.ts.map +0 -1
  469. package/dist/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
  470. package/dist/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
  471. package/dist/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
  472. package/dist/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
  473. package/dist/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
  474. package/dist/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
  475. package/dist/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
  476. package/dist/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
  477. package/dist/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
  478. package/dist/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
  479. package/dist/lib/index.d.mts.map +0 -1
  480. package/dist/lib/index.d.ts.map +0 -1
  481. package/dist/lib/transforms/index.d.mts.map +0 -1
  482. package/dist/lib/transforms/index.d.ts.map +0 -1
  483. package/dist/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
  484. package/dist/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
  485. package/dist/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
  486. package/dist/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
  487. package/dist/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
  488. package/dist/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
  489. package/dist/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
  490. package/dist/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
  491. package/dist/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
  492. package/dist/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
  493. package/dist/test/index.d.mts.map +0 -1
  494. package/dist/test/index.d.ts.map +0 -1
  495. package/dist/test/sampleBlocknativeGas.d.mts.map +0 -1
  496. package/dist/test/sampleBlocknativeGas.d.ts.map +0 -1
  497. package/dist/test/sampleEtherchainGasV2.d.mts.map +0 -1
  498. package/dist/test/sampleEtherchainGasV2.d.ts.map +0 -1
  499. package/dist/test/sampleEthersGas.d.mts.map +0 -1
  500. package/dist/test/sampleEthersGas.d.ts.map +0 -1
  501. package/dist/test/sampleEtherscanGas.d.mts.map +0 -1
  502. package/dist/test/sampleEtherscanGas.d.ts.map +0 -1
  503. package/dist/test/sampleEthgasstationGas.d.mts.map +0 -1
  504. package/dist/test/sampleEthgasstationGas.d.ts.map +0 -1
  505. /package/dist/{Diviner.d.mts → browser/Diviner.d.cts} +0 -0
  506. /package/dist/{Diviner.d.ts → browser/Diviner.d.mts} +0 -0
  507. /package/dist/{Plugin.d.mts → browser/Plugin.d.cts} +0 -0
  508. /package/dist/{Plugin.d.ts → browser/Plugin.d.mts} +0 -0
  509. /package/dist/{Schema.d.mts → browser/Schema.d.cts} +0 -0
  510. /package/dist/{Schema.d.ts → browser/Schema.d.mts} +0 -0
  511. /package/dist/{index.d.mts → browser/index.d.cts} +0 -0
  512. /package/dist/{index.d.ts → browser/index.d.mts} +0 -0
  513. /package/dist/{lib/average.d.mts → browser/lib/average.d.cts} +0 -0
  514. /package/dist/{lib/average.d.ts → browser/lib/average.d.mts} +0 -0
  515. /package/dist/{lib/divineGas.d.mts → browser/lib/divineGas.d.cts} +0 -0
  516. /package/dist/{lib/divineGas.d.ts → browser/lib/divineGas.d.mts} +0 -0
  517. /package/dist/{lib/identities/index.d.mts → browser/lib/identities/index.d.cts} +0 -0
  518. /package/dist/{lib/identities/index.d.ts → browser/lib/identities/index.d.mts} +0 -0
  519. /package/dist/{lib/identities/isEthereumGasBlocknativePayload.d.mts → browser/lib/identities/isEthereumGasBlocknativePayload.d.cts} +0 -0
  520. /package/dist/{lib/identities/isEthereumGasBlocknativePayload.d.ts → browser/lib/identities/isEthereumGasBlocknativePayload.d.mts} +0 -0
  521. /package/dist/{lib/identities/isEthereumGasEtherchainV2Payload.d.mts → browser/lib/identities/isEthereumGasEtherchainV2Payload.d.cts} +0 -0
  522. /package/dist/{lib/identities/isEthereumGasEtherchainV2Payload.d.ts → browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts} +0 -0
  523. /package/dist/{lib/identities/isEthereumGasEthersPayload.d.mts → browser/lib/identities/isEthereumGasEthersPayload.d.cts} +0 -0
  524. /package/dist/{lib/identities/isEthereumGasEthersPayload.d.ts → browser/lib/identities/isEthereumGasEthersPayload.d.mts} +0 -0
  525. /package/dist/{lib/identities/isEthereumGasEtherscanPayload.d.mts → browser/lib/identities/isEthereumGasEtherscanPayload.d.cts} +0 -0
  526. /package/dist/{lib/identities/isEthereumGasEtherscanPayload.d.ts → browser/lib/identities/isEthereumGasEtherscanPayload.d.mts} +0 -0
  527. /package/dist/{lib/identities/isEthereumGasEthgasstationPayload.d.mts → browser/lib/identities/isEthereumGasEthgasstationPayload.d.cts} +0 -0
  528. /package/dist/{lib/identities/isEthereumGasEthgasstationPayload.d.ts → browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts} +0 -0
  529. /package/dist/{lib/index.d.mts → browser/lib/index.d.cts} +0 -0
  530. /package/dist/{lib/index.d.ts → browser/lib/index.d.mts} +0 -0
  531. /package/dist/{lib/transforms/index.d.mts → browser/lib/transforms/index.d.cts} +0 -0
  532. /package/dist/{lib/transforms/index.d.ts → browser/lib/transforms/index.d.mts} +0 -0
  533. /package/dist/{lib/transforms/transformGasFromBlocknative.d.mts → browser/lib/transforms/transformGasFromBlocknative.d.cts} +0 -0
  534. /package/dist/{lib/transforms/transformGasFromBlocknative.d.ts → browser/lib/transforms/transformGasFromBlocknative.d.mts} +0 -0
  535. /package/dist/{lib/transforms/transformGasFromEtherchainV2.d.mts → browser/lib/transforms/transformGasFromEtherchainV2.d.cts} +0 -0
  536. /package/dist/{lib/transforms/transformGasFromEtherchainV2.d.ts → browser/lib/transforms/transformGasFromEtherchainV2.d.mts} +0 -0
  537. /package/dist/{lib/transforms/transformGasFromEthers.d.mts → browser/lib/transforms/transformGasFromEthers.d.cts} +0 -0
  538. /package/dist/{lib/transforms/transformGasFromEthers.d.ts → browser/lib/transforms/transformGasFromEthers.d.mts} +0 -0
  539. /package/dist/{lib/transforms/transformGasFromEtherscan.d.mts → browser/lib/transforms/transformGasFromEtherscan.d.cts} +0 -0
  540. /package/dist/{lib/transforms/transformGasFromEtherscan.d.ts → browser/lib/transforms/transformGasFromEtherscan.d.mts} +0 -0
  541. /package/dist/{lib/transforms/transformGasFromEthgasstation.d.mts → browser/lib/transforms/transformGasFromEthgasstation.d.cts} +0 -0
  542. /package/dist/{lib/transforms/transformGasFromEthgasstation.d.ts → browser/lib/transforms/transformGasFromEthgasstation.d.mts} +0 -0
  543. /package/dist/{test/index.d.mts → browser/test/index.d.cts} +0 -0
  544. /package/dist/{test/index.d.ts → browser/test/index.d.mts} +0 -0
  545. /package/dist/{test/sampleBlocknativeGas.d.mts → browser/test/sampleBlocknativeGas.d.cts} +0 -0
  546. /package/dist/{test/sampleBlocknativeGas.d.ts → browser/test/sampleBlocknativeGas.d.mts} +0 -0
  547. /package/dist/{test/sampleEtherchainGasV2.d.mts → browser/test/sampleEtherchainGasV2.d.cts} +0 -0
  548. /package/dist/{test/sampleEtherchainGasV2.d.ts → browser/test/sampleEtherchainGasV2.d.mts} +0 -0
  549. /package/dist/{test/sampleEthersGas.d.mts → browser/test/sampleEthersGas.d.cts} +0 -0
  550. /package/dist/{test/sampleEthersGas.d.ts → browser/test/sampleEthersGas.d.mts} +0 -0
  551. /package/dist/{test/sampleEtherscanGas.d.mts → browser/test/sampleEtherscanGas.d.cts} +0 -0
  552. /package/dist/{test/sampleEtherscanGas.d.ts → browser/test/sampleEtherscanGas.d.mts} +0 -0
  553. /package/dist/{test/sampleEthgasstationGas.d.mts → browser/test/sampleEthgasstationGas.d.cts} +0 -0
  554. /package/dist/{test/sampleEthgasstationGas.d.ts → browser/test/sampleEthgasstationGas.d.mts} +0 -0
@@ -0,0 +1,16 @@
1
+ import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
+ import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner';
3
+ import { AnyConfigSchema } from '@xyo-network/module';
4
+ import { Payload } from '@xyo-network/payload-model';
5
+ import { Promisable } from '@xyo-network/promise';
6
+ import { EthereumGasDivinerConfigSchema } from './Schema';
7
+ export type EthereumGasDivinerConfig = DivinerConfig<{
8
+ schema: EthereumGasDivinerConfigSchema;
9
+ }>;
10
+ export type EthereumGasDivinerParams = DivinerParams<AnyConfigSchema<EthereumGasDivinerConfig>>;
11
+ export declare class EthereumGasDiviner<TParams extends EthereumGasDivinerParams = EthereumGasDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule {
12
+ static readonly configSchemas: string[];
13
+ static targetSchema: string;
14
+ protected divineHandler(payloads?: Payload[]): Promisable<Payload[]>;
15
+ }
16
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,CAAC,CAAA;AAChG,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAE/F,qBAAa,kBAAkB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CACjG,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,aAAa;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmC;IACnF,OAAgB,YAAY,EAAE,MAAM,CAAoB;cAErC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAI9E"}
@@ -0,0 +1,16 @@
1
+ import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
+ import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner';
3
+ import { AnyConfigSchema } from '@xyo-network/module';
4
+ import { Payload } from '@xyo-network/payload-model';
5
+ import { Promisable } from '@xyo-network/promise';
6
+ import { EthereumGasDivinerConfigSchema } from './Schema';
7
+ export type EthereumGasDivinerConfig = DivinerConfig<{
8
+ schema: EthereumGasDivinerConfigSchema;
9
+ }>;
10
+ export type EthereumGasDivinerParams = DivinerParams<AnyConfigSchema<EthereumGasDivinerConfig>>;
11
+ export declare class EthereumGasDiviner<TParams extends EthereumGasDivinerParams = EthereumGasDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule {
12
+ static readonly configSchemas: string[];
13
+ static targetSchema: string;
14
+ protected divineHandler(payloads?: Payload[]): Promisable<Payload[]>;
15
+ }
16
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,CAAC,CAAA;AAChG,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAE/F,qBAAa,kBAAkB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CACjG,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,aAAa;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmC;IACnF,OAAgB,YAAY,EAAE,MAAM,CAAoB;cAErC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAI9E"}
@@ -0,0 +1,16 @@
1
+ import { AbstractDiviner } from '@xyo-network/abstract-diviner';
2
+ import { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner';
3
+ import { AnyConfigSchema } from '@xyo-network/module';
4
+ import { Payload } from '@xyo-network/payload-model';
5
+ import { Promisable } from '@xyo-network/promise';
6
+ import { EthereumGasDivinerConfigSchema } from './Schema';
7
+ export type EthereumGasDivinerConfig = DivinerConfig<{
8
+ schema: EthereumGasDivinerConfigSchema;
9
+ }>;
10
+ export type EthereumGasDivinerParams = DivinerParams<AnyConfigSchema<EthereumGasDivinerConfig>>;
11
+ export declare class EthereumGasDiviner<TParams extends EthereumGasDivinerParams = EthereumGasDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule {
12
+ static readonly configSchemas: string[];
13
+ static targetSchema: string;
14
+ protected divineHandler(payloads?: Payload[]): Promisable<Payload[]>;
15
+ }
16
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC;IAAE,MAAM,EAAE,8BAA8B,CAAA;CAAE,CAAC,CAAA;AAChG,MAAM,MAAM,wBAAwB,GAAG,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAA;AAE/F,qBAAa,kBAAkB,CAAC,OAAO,SAAS,wBAAwB,GAAG,wBAAwB,CACjG,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,aAAa;IAExB,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAmC;IACnF,OAAgB,YAAY,EAAE,MAAM,CAAoB;cAErC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAI9E"}
@@ -0,0 +1,264 @@
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/Diviner.ts
21
+ var Diviner_exports = {};
22
+ __export(Diviner_exports, {
23
+ EthereumGasDiviner: () => EthereumGasDiviner
24
+ });
25
+ module.exports = __toCommonJS(Diviner_exports);
26
+ var import_abstract_diviner = require("@xyo-network/abstract-diviner");
27
+ var import_gas_price_payload_plugin2 = require("@xyo-network/gas-price-payload-plugin");
28
+
29
+ // src/lib/divineGas.ts
30
+ var import_gas_price_payload_plugin = require("@xyo-network/gas-price-payload-plugin");
31
+ var import_payload_builder = require("@xyo-network/payload-builder");
32
+
33
+ // src/lib/average.ts
34
+ var import_exists = require("@xylabs/exists");
35
+ var listAverage = (x) => (x == null ? void 0 : x.length) ? x.reduce((a, b) => a + b) / x.length : void 0;
36
+ var averageProperty = (data, propertyExpression) => {
37
+ return listAverage(data.map(propertyExpression).filter(import_exists.exists));
38
+ };
39
+ var average = (input) => {
40
+ const data = (input == null ? void 0 : input.filter(import_exists.exists)) || [];
41
+ const averaged = {
42
+ baseFee: averageProperty(data, (x) => x.baseFee),
43
+ feePerGas: {
44
+ high: averageProperty(data, (x) => x.feePerGas.high),
45
+ low: averageProperty(data, (x) => x.feePerGas.low),
46
+ medium: averageProperty(data, (x) => x.feePerGas.medium),
47
+ veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh)
48
+ },
49
+ priorityFeePerGas: {
50
+ high: averageProperty(data, (x) => x.priorityFeePerGas.high),
51
+ low: averageProperty(data, (x) => x.priorityFeePerGas.low),
52
+ medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),
53
+ veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh)
54
+ }
55
+ };
56
+ return averaged;
57
+ };
58
+
59
+ // src/lib/identities/isEthereumGasBlocknativePayload.ts
60
+ var import_blocknative_ethereum_gas_payload_plugin = require("@xyo-network/blocknative-ethereum-gas-payload-plugin");
61
+ var isEthereumGasBlocknativePayload = (payload) => {
62
+ return (payload == null ? void 0 : payload.schema) === import_blocknative_ethereum_gas_payload_plugin.EthereumGasBlocknativeSchema;
63
+ };
64
+
65
+ // src/lib/identities/isEthereumGasEtherchainV2Payload.ts
66
+ var import_etherchain_gas_ethereum_blockchain_payload_plugins = require("@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins");
67
+ var isEthereumGasEtherchainV2Payload = (payload) => {
68
+ return (payload == null ? void 0 : payload.schema) === import_etherchain_gas_ethereum_blockchain_payload_plugins.EthereumGasEtherchainV2Schema;
69
+ };
70
+
71
+ // src/lib/identities/isEthereumGasEtherscanPayload.ts
72
+ var import_etherscan_ethereum_gas_payload_plugin = require("@xyo-network/etherscan-ethereum-gas-payload-plugin");
73
+ var isEthereumGasEtherscanPayload = (payload) => {
74
+ return (payload == null ? void 0 : payload.schema) === import_etherscan_ethereum_gas_payload_plugin.EthereumGasEtherscanSchema;
75
+ };
76
+
77
+ // src/lib/identities/isEthereumGasEthersPayload.ts
78
+ var import_ethers_ethereum_gas_payload_plugin = require("@xyo-network/ethers-ethereum-gas-payload-plugin");
79
+ var isEthereumGasEthersPayload = (payload) => {
80
+ return (payload == null ? void 0 : payload.schema) === import_ethers_ethereum_gas_payload_plugin.EthereumGasEthersSchema;
81
+ };
82
+
83
+ // src/lib/identities/isEthereumGasEthgasstationPayload.ts
84
+ var import_ethgasstation_ethereum_gas_payload_plugin = require("@xyo-network/ethgasstation-ethereum-gas-payload-plugin");
85
+ var isEthereumGasEthgasstationPayload = (payload) => {
86
+ return (payload == null ? void 0 : payload.schema) === import_ethgasstation_ethereum_gas_payload_plugin.EthereumGasEthgasstationSchema;
87
+ };
88
+
89
+ // src/lib/transforms/transformGasFromBlocknative.ts
90
+ var import_regression = require("regression");
91
+ var getBaseFee = (payload) => {
92
+ var _a, _b;
93
+ return (_b = (_a = payload == null ? void 0 : payload.blockPrices) == null ? void 0 : _a[0]) == null ? void 0 : _b.baseFeePerGas;
94
+ };
95
+ var getFeePerGas = (payload) => {
96
+ var _a, _b;
97
+ const sorted = (_b = (_a = payload.blockPrices) == null ? void 0 : _a[0].estimatedPrices) == null ? void 0 : _b.sort((a, b) => a.confidence - b.confidence);
98
+ const trend = (0, import_regression.linear)([
99
+ [0, sorted == null ? void 0 : sorted[0].price],
100
+ [1, sorted == null ? void 0 : sorted[1].price],
101
+ [2, sorted == null ? void 0 : sorted[2].price],
102
+ [3, sorted == null ? void 0 : sorted[3].price],
103
+ [4, sorted == null ? void 0 : sorted[4].price]
104
+ ]);
105
+ const feePerGas = {
106
+ low: trend.predict(0.5)[1],
107
+ medium: trend.predict(1.5)[1],
108
+ high: trend.predict(2.5)[1],
109
+ veryHigh: trend.predict(3.5)[1]
110
+ };
111
+ return feePerGas;
112
+ };
113
+ var getPriorityFeePerGas = (payload) => {
114
+ var _a, _b;
115
+ const sorted = (_b = (_a = payload.blockPrices) == null ? void 0 : _a[0].estimatedPrices) == null ? void 0 : _b.sort((a, b) => a.confidence - b.confidence);
116
+ const trend = (0, import_regression.linear)([
117
+ [0, sorted == null ? void 0 : sorted[0].maxPriorityFeePerGas],
118
+ [1, sorted == null ? void 0 : sorted[1].maxPriorityFeePerGas],
119
+ [2, sorted == null ? void 0 : sorted[2].maxPriorityFeePerGas],
120
+ [3, sorted == null ? void 0 : sorted[3].maxPriorityFeePerGas],
121
+ [4, sorted == null ? void 0 : sorted[4].maxPriorityFeePerGas]
122
+ ]);
123
+ const priorityFeePerGas = {
124
+ low: trend.predict(0.5)[1],
125
+ medium: trend.predict(1.5)[1],
126
+ high: trend.predict(2.5)[1],
127
+ veryHigh: trend.predict(3.5)[1]
128
+ };
129
+ return priorityFeePerGas;
130
+ };
131
+ var transformGasFromBlocknative = (payload) => {
132
+ const baseFee = getBaseFee(payload);
133
+ const feePerGas = getFeePerGas(payload);
134
+ const priorityFeePerGas = getPriorityFeePerGas(payload);
135
+ return { baseFee, feePerGas, priorityFeePerGas };
136
+ };
137
+
138
+ // src/lib/transforms/transformGasFromEtherchainV2.ts
139
+ var getFeePerGas2 = (payload) => {
140
+ const { slow, standard, fast, rapid } = payload.data;
141
+ const low = slow / 1e9;
142
+ const medium = standard / 1e9;
143
+ const high = fast / 1e9;
144
+ const veryHigh = rapid / 1e9;
145
+ return { high, low, medium, veryHigh };
146
+ };
147
+ var transformGasFromEtherchainV2 = (payload) => {
148
+ const baseFee = void 0;
149
+ const feePerGas = getFeePerGas2(payload);
150
+ const priorityFeePerGas = {};
151
+ return { baseFee, feePerGas, priorityFeePerGas };
152
+ };
153
+
154
+ // src/lib/transforms/transformGasFromEthers.ts
155
+ var getBaseFee2 = (payload) => {
156
+ const { lastBaseFeePerGas } = payload;
157
+ return lastBaseFeePerGas ? lastBaseFeePerGas / 1e9 : void 0;
158
+ };
159
+ var getFeePerGas3 = (payload) => {
160
+ const { maxFeePerGas } = payload;
161
+ const high = maxFeePerGas ? maxFeePerGas / 1e9 : void 0;
162
+ return { high };
163
+ };
164
+ var getPriorityFeePerGas2 = (payload) => {
165
+ const { maxPriorityFeePerGas } = payload;
166
+ const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1e9 : void 0;
167
+ return { high };
168
+ };
169
+ var transformGasFromEthers = (payload) => {
170
+ const baseFee = getBaseFee2(payload);
171
+ const feePerGas = getFeePerGas3(payload);
172
+ const priorityFeePerGas = getPriorityFeePerGas2(payload);
173
+ return { baseFee, feePerGas, priorityFeePerGas };
174
+ };
175
+
176
+ // src/lib/transforms/transformGasFromEtherscan.ts
177
+ var import_regression2 = require("regression");
178
+ var getBaseFee3 = (payload) => {
179
+ const { suggestBaseFee } = payload.result;
180
+ return parseFloat(suggestBaseFee);
181
+ };
182
+ var getFeePerGas4 = (payload) => {
183
+ const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result;
184
+ const low = parseFloat(SafeGasPrice);
185
+ const medium = parseFloat(ProposeGasPrice);
186
+ const high = parseFloat(FastGasPrice);
187
+ const veryHigh = (0, import_regression2.linear)([
188
+ [0, low],
189
+ [1, medium],
190
+ [2, high]
191
+ ]).predict(3)[1];
192
+ return { high, low, medium, veryHigh };
193
+ };
194
+ var transformGasFromEtherscan = (payload) => {
195
+ const baseFee = getBaseFee3(payload);
196
+ const feePerGas = getFeePerGas4(payload);
197
+ const priorityFeePerGas = {};
198
+ return { baseFee, feePerGas, priorityFeePerGas };
199
+ };
200
+
201
+ // src/lib/transforms/transformGasFromEthgasstation.ts
202
+ var import_regression3 = require("regression");
203
+ var getBaseFee4 = (payload) => {
204
+ const { baseFee } = payload;
205
+ return baseFee;
206
+ };
207
+ var getFeePerGas5 = (payload) => {
208
+ const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice;
209
+ const trend = (0, import_regression3.linear)([
210
+ [1, medium],
211
+ [2, high],
212
+ [3, veryHigh]
213
+ ]);
214
+ const low = trend.predict(0)[1];
215
+ return { low, medium, high, veryHigh };
216
+ };
217
+ var getPriorityFeePerGas3 = (payload) => {
218
+ const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee;
219
+ const trend = (0, import_regression3.linear)([
220
+ [1, medium],
221
+ [2, high],
222
+ [3, veryHigh]
223
+ ]);
224
+ const low = trend.predict(0)[1];
225
+ return { low, medium, high, veryHigh };
226
+ };
227
+ var transformGasFromEthgasstation = (payload) => {
228
+ const baseFee = getBaseFee4(payload);
229
+ const feePerGas = getFeePerGas5(payload);
230
+ const priorityFeePerGas = getPriorityFeePerGas3(payload);
231
+ return { baseFee, feePerGas, priorityFeePerGas };
232
+ };
233
+
234
+ // src/lib/divineGas.ts
235
+ var divineGas = (payloads) => {
236
+ const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative);
237
+ const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2);
238
+ const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers);
239
+ const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan);
240
+ const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation);
241
+ const transactionCosts = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation];
242
+ const avg = average(transactionCosts);
243
+ const timestamp = Date.now();
244
+ const payload = new import_payload_builder.PayloadBuilder({ schema: import_gas_price_payload_plugin.EthereumGasSchema }).fields({ ...avg, timestamp }).build();
245
+ return payload;
246
+ };
247
+
248
+ // src/Schema.ts
249
+ var EthereumGasDivinerConfigSchema = "network.xyo.blockchain.ethereum.gas.diviner.config";
250
+
251
+ // src/Diviner.ts
252
+ var EthereumGasDiviner = class extends import_abstract_diviner.AbstractDiviner {
253
+ static configSchemas = [EthereumGasDivinerConfigSchema];
254
+ static targetSchema = import_gas_price_payload_plugin2.EthereumGasSchema;
255
+ divineHandler(payloads) {
256
+ const cost = divineGas(payloads ?? []);
257
+ return [cost];
258
+ }
259
+ };
260
+ // Annotate the CommonJS export names for ESM import in node:
261
+ 0 && (module.exports = {
262
+ EthereumGasDiviner
263
+ });
264
+ //# sourceMappingURL=Diviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../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 { 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","getFeePerGas","getBaseFee","getFeePerGas","getPriorityFeePerGas","import_regression","getBaseFee","getFeePerGas","import_regression","getBaseFee","getFeePerGas","getPriorityFeePerGas"]}
@@ -0,0 +1,239 @@
1
+ // src/Diviner.ts
2
+ import { AbstractDiviner } from "@xyo-network/abstract-diviner";
3
+ import { EthereumGasSchema as EthereumGasSchema2 } from "@xyo-network/gas-price-payload-plugin";
4
+
5
+ // src/lib/divineGas.ts
6
+ import { EthereumGasSchema } from "@xyo-network/gas-price-payload-plugin";
7
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
8
+
9
+ // src/lib/average.ts
10
+ import { exists } from "@xylabs/exists";
11
+ var listAverage = (x) => (x == null ? void 0 : x.length) ? x.reduce((a, b) => a + b) / x.length : void 0;
12
+ var averageProperty = (data, propertyExpression) => {
13
+ return listAverage(data.map(propertyExpression).filter(exists));
14
+ };
15
+ var average = (input) => {
16
+ const data = (input == null ? void 0 : input.filter(exists)) || [];
17
+ const averaged = {
18
+ baseFee: averageProperty(data, (x) => x.baseFee),
19
+ feePerGas: {
20
+ high: averageProperty(data, (x) => x.feePerGas.high),
21
+ low: averageProperty(data, (x) => x.feePerGas.low),
22
+ medium: averageProperty(data, (x) => x.feePerGas.medium),
23
+ veryHigh: averageProperty(data, (x) => x.feePerGas.veryHigh)
24
+ },
25
+ priorityFeePerGas: {
26
+ high: averageProperty(data, (x) => x.priorityFeePerGas.high),
27
+ low: averageProperty(data, (x) => x.priorityFeePerGas.low),
28
+ medium: averageProperty(data, (x) => x.priorityFeePerGas.medium),
29
+ veryHigh: averageProperty(data, (x) => x.priorityFeePerGas.veryHigh)
30
+ }
31
+ };
32
+ return averaged;
33
+ };
34
+
35
+ // src/lib/identities/isEthereumGasBlocknativePayload.ts
36
+ import { EthereumGasBlocknativeSchema } from "@xyo-network/blocknative-ethereum-gas-payload-plugin";
37
+ var isEthereumGasBlocknativePayload = (payload) => {
38
+ return (payload == null ? void 0 : payload.schema) === EthereumGasBlocknativeSchema;
39
+ };
40
+
41
+ // src/lib/identities/isEthereumGasEtherchainV2Payload.ts
42
+ import { EthereumGasEtherchainV2Schema } from "@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins";
43
+ var isEthereumGasEtherchainV2Payload = (payload) => {
44
+ return (payload == null ? void 0 : payload.schema) === EthereumGasEtherchainV2Schema;
45
+ };
46
+
47
+ // src/lib/identities/isEthereumGasEtherscanPayload.ts
48
+ import { EthereumGasEtherscanSchema } from "@xyo-network/etherscan-ethereum-gas-payload-plugin";
49
+ var isEthereumGasEtherscanPayload = (payload) => {
50
+ return (payload == null ? void 0 : payload.schema) === EthereumGasEtherscanSchema;
51
+ };
52
+
53
+ // src/lib/identities/isEthereumGasEthersPayload.ts
54
+ import { EthereumGasEthersSchema } from "@xyo-network/ethers-ethereum-gas-payload-plugin";
55
+ var isEthereumGasEthersPayload = (payload) => {
56
+ return (payload == null ? void 0 : payload.schema) === EthereumGasEthersSchema;
57
+ };
58
+
59
+ // src/lib/identities/isEthereumGasEthgasstationPayload.ts
60
+ import { EthereumGasEthgasstationSchema } from "@xyo-network/ethgasstation-ethereum-gas-payload-plugin";
61
+ var isEthereumGasEthgasstationPayload = (payload) => {
62
+ return (payload == null ? void 0 : payload.schema) === EthereumGasEthgasstationSchema;
63
+ };
64
+
65
+ // src/lib/transforms/transformGasFromBlocknative.ts
66
+ import { linear } from "regression";
67
+ var getBaseFee = (payload) => {
68
+ var _a, _b;
69
+ return (_b = (_a = payload == null ? void 0 : payload.blockPrices) == null ? void 0 : _a[0]) == null ? void 0 : _b.baseFeePerGas;
70
+ };
71
+ var getFeePerGas = (payload) => {
72
+ var _a, _b;
73
+ const sorted = (_b = (_a = payload.blockPrices) == null ? void 0 : _a[0].estimatedPrices) == null ? void 0 : _b.sort((a, b) => a.confidence - b.confidence);
74
+ const trend = linear([
75
+ [0, sorted == null ? void 0 : sorted[0].price],
76
+ [1, sorted == null ? void 0 : sorted[1].price],
77
+ [2, sorted == null ? void 0 : sorted[2].price],
78
+ [3, sorted == null ? void 0 : sorted[3].price],
79
+ [4, sorted == null ? void 0 : sorted[4].price]
80
+ ]);
81
+ const feePerGas = {
82
+ low: trend.predict(0.5)[1],
83
+ medium: trend.predict(1.5)[1],
84
+ high: trend.predict(2.5)[1],
85
+ veryHigh: trend.predict(3.5)[1]
86
+ };
87
+ return feePerGas;
88
+ };
89
+ var getPriorityFeePerGas = (payload) => {
90
+ var _a, _b;
91
+ const sorted = (_b = (_a = payload.blockPrices) == null ? void 0 : _a[0].estimatedPrices) == null ? void 0 : _b.sort((a, b) => a.confidence - b.confidence);
92
+ const trend = linear([
93
+ [0, sorted == null ? void 0 : sorted[0].maxPriorityFeePerGas],
94
+ [1, sorted == null ? void 0 : sorted[1].maxPriorityFeePerGas],
95
+ [2, sorted == null ? void 0 : sorted[2].maxPriorityFeePerGas],
96
+ [3, sorted == null ? void 0 : sorted[3].maxPriorityFeePerGas],
97
+ [4, sorted == null ? void 0 : sorted[4].maxPriorityFeePerGas]
98
+ ]);
99
+ const priorityFeePerGas = {
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 priorityFeePerGas;
106
+ };
107
+ var transformGasFromBlocknative = (payload) => {
108
+ const baseFee = getBaseFee(payload);
109
+ const feePerGas = getFeePerGas(payload);
110
+ const priorityFeePerGas = getPriorityFeePerGas(payload);
111
+ return { baseFee, feePerGas, priorityFeePerGas };
112
+ };
113
+
114
+ // src/lib/transforms/transformGasFromEtherchainV2.ts
115
+ var getFeePerGas2 = (payload) => {
116
+ const { slow, standard, fast, rapid } = payload.data;
117
+ const low = slow / 1e9;
118
+ const medium = standard / 1e9;
119
+ const high = fast / 1e9;
120
+ const veryHigh = rapid / 1e9;
121
+ return { high, low, medium, veryHigh };
122
+ };
123
+ var transformGasFromEtherchainV2 = (payload) => {
124
+ const baseFee = void 0;
125
+ const feePerGas = getFeePerGas2(payload);
126
+ const priorityFeePerGas = {};
127
+ return { baseFee, feePerGas, priorityFeePerGas };
128
+ };
129
+
130
+ // src/lib/transforms/transformGasFromEthers.ts
131
+ var getBaseFee2 = (payload) => {
132
+ const { lastBaseFeePerGas } = payload;
133
+ return lastBaseFeePerGas ? lastBaseFeePerGas / 1e9 : void 0;
134
+ };
135
+ var getFeePerGas3 = (payload) => {
136
+ const { maxFeePerGas } = payload;
137
+ const high = maxFeePerGas ? maxFeePerGas / 1e9 : void 0;
138
+ return { high };
139
+ };
140
+ var getPriorityFeePerGas2 = (payload) => {
141
+ const { maxPriorityFeePerGas } = payload;
142
+ const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1e9 : void 0;
143
+ return { high };
144
+ };
145
+ var transformGasFromEthers = (payload) => {
146
+ const baseFee = getBaseFee2(payload);
147
+ const feePerGas = getFeePerGas3(payload);
148
+ const priorityFeePerGas = getPriorityFeePerGas2(payload);
149
+ return { baseFee, feePerGas, priorityFeePerGas };
150
+ };
151
+
152
+ // src/lib/transforms/transformGasFromEtherscan.ts
153
+ import { linear as linear2 } from "regression";
154
+ var getBaseFee3 = (payload) => {
155
+ const { suggestBaseFee } = payload.result;
156
+ return parseFloat(suggestBaseFee);
157
+ };
158
+ var getFeePerGas4 = (payload) => {
159
+ const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result;
160
+ const low = parseFloat(SafeGasPrice);
161
+ const medium = parseFloat(ProposeGasPrice);
162
+ const high = parseFloat(FastGasPrice);
163
+ const veryHigh = linear2([
164
+ [0, low],
165
+ [1, medium],
166
+ [2, high]
167
+ ]).predict(3)[1];
168
+ return { high, low, medium, veryHigh };
169
+ };
170
+ var transformGasFromEtherscan = (payload) => {
171
+ const baseFee = getBaseFee3(payload);
172
+ const feePerGas = getFeePerGas4(payload);
173
+ const priorityFeePerGas = {};
174
+ return { baseFee, feePerGas, priorityFeePerGas };
175
+ };
176
+
177
+ // src/lib/transforms/transformGasFromEthgasstation.ts
178
+ import { linear as linear3 } from "regression";
179
+ var getBaseFee4 = (payload) => {
180
+ const { baseFee } = payload;
181
+ return baseFee;
182
+ };
183
+ var getFeePerGas5 = (payload) => {
184
+ const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice;
185
+ const trend = linear3([
186
+ [1, medium],
187
+ [2, high],
188
+ [3, veryHigh]
189
+ ]);
190
+ const low = trend.predict(0)[1];
191
+ return { low, medium, high, veryHigh };
192
+ };
193
+ var getPriorityFeePerGas3 = (payload) => {
194
+ const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee;
195
+ const trend = linear3([
196
+ [1, medium],
197
+ [2, high],
198
+ [3, veryHigh]
199
+ ]);
200
+ const low = trend.predict(0)[1];
201
+ return { low, medium, high, veryHigh };
202
+ };
203
+ var transformGasFromEthgasstation = (payload) => {
204
+ const baseFee = getBaseFee4(payload);
205
+ const feePerGas = getFeePerGas5(payload);
206
+ const priorityFeePerGas = getPriorityFeePerGas3(payload);
207
+ return { baseFee, feePerGas, priorityFeePerGas };
208
+ };
209
+
210
+ // src/lib/divineGas.ts
211
+ var divineGas = (payloads) => {
212
+ const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative);
213
+ const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2);
214
+ const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers);
215
+ const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan);
216
+ const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation);
217
+ const transactionCosts = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation];
218
+ const avg = average(transactionCosts);
219
+ const timestamp = Date.now();
220
+ const payload = new PayloadBuilder({ schema: EthereumGasSchema }).fields({ ...avg, timestamp }).build();
221
+ return payload;
222
+ };
223
+
224
+ // src/Schema.ts
225
+ var EthereumGasDivinerConfigSchema = "network.xyo.blockchain.ethereum.gas.diviner.config";
226
+
227
+ // src/Diviner.ts
228
+ var EthereumGasDiviner = class extends AbstractDiviner {
229
+ static configSchemas = [EthereumGasDivinerConfigSchema];
230
+ static targetSchema = EthereumGasSchema2;
231
+ divineHandler(payloads) {
232
+ const cost = divineGas(payloads ?? []);
233
+ return [cost];
234
+ }
235
+ };
236
+ export {
237
+ EthereumGasDiviner
238
+ };
239
+ //# sourceMappingURL=Diviner.mjs.map