@xyo-network/gas-price-plugin 2.99.5 → 3.0.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 (465) hide show
  1. package/dist/neutral/index.d.ts +45 -4
  2. package/dist/neutral/index.mjs +93 -218
  3. package/dist/neutral/index.mjs.map +1 -1
  4. package/package.json +25 -44
  5. package/src/index.ts +1 -1
  6. package/xy.config.ts +4 -5
  7. package/dist/browser/Diviner.d.cts +0 -16
  8. package/dist/browser/Diviner.d.cts.map +0 -1
  9. package/dist/browser/Diviner.d.mts +0 -16
  10. package/dist/browser/Diviner.d.mts.map +0 -1
  11. package/dist/browser/Diviner.d.ts +0 -16
  12. package/dist/browser/Diviner.d.ts.map +0 -1
  13. package/dist/browser/Plugin.d.cts +0 -19
  14. package/dist/browser/Plugin.d.cts.map +0 -1
  15. package/dist/browser/Plugin.d.mts +0 -19
  16. package/dist/browser/Plugin.d.mts.map +0 -1
  17. package/dist/browser/Plugin.d.ts +0 -19
  18. package/dist/browser/Plugin.d.ts.map +0 -1
  19. package/dist/browser/Schema.d.cts +0 -5
  20. package/dist/browser/Schema.d.cts.map +0 -1
  21. package/dist/browser/Schema.d.mts +0 -5
  22. package/dist/browser/Schema.d.mts.map +0 -1
  23. package/dist/browser/Schema.d.ts +0 -5
  24. package/dist/browser/Schema.d.ts.map +0 -1
  25. package/dist/browser/index.cjs +0 -401
  26. package/dist/browser/index.cjs.map +0 -1
  27. package/dist/browser/index.d.cts +0 -4
  28. package/dist/browser/index.d.cts.map +0 -1
  29. package/dist/browser/index.d.mts +0 -4
  30. package/dist/browser/index.d.mts.map +0 -1
  31. package/dist/browser/index.d.ts +0 -4
  32. package/dist/browser/index.d.ts.map +0 -1
  33. package/dist/browser/index.mjs +0 -380
  34. package/dist/browser/index.mjs.map +0 -1
  35. package/dist/browser/lib/average.d.cts +0 -3
  36. package/dist/browser/lib/average.d.cts.map +0 -1
  37. package/dist/browser/lib/average.d.mts +0 -3
  38. package/dist/browser/lib/average.d.mts.map +0 -1
  39. package/dist/browser/lib/average.d.ts +0 -3
  40. package/dist/browser/lib/average.d.ts.map +0 -1
  41. package/dist/browser/lib/divineGas.d.cts +0 -4
  42. package/dist/browser/lib/divineGas.d.cts.map +0 -1
  43. package/dist/browser/lib/divineGas.d.mts +0 -4
  44. package/dist/browser/lib/divineGas.d.mts.map +0 -1
  45. package/dist/browser/lib/divineGas.d.ts +0 -4
  46. package/dist/browser/lib/divineGas.d.ts.map +0 -1
  47. package/dist/browser/lib/identities/index.d.cts +0 -6
  48. package/dist/browser/lib/identities/index.d.cts.map +0 -1
  49. package/dist/browser/lib/identities/index.d.mts +0 -6
  50. package/dist/browser/lib/identities/index.d.mts.map +0 -1
  51. package/dist/browser/lib/identities/index.d.ts +0 -6
  52. package/dist/browser/lib/identities/index.d.ts.map +0 -1
  53. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.cts +0 -4
  54. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +0 -1
  55. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.mts +0 -4
  56. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
  57. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts +0 -4
  58. package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
  59. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +0 -4
  60. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +0 -1
  61. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -4
  62. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
  63. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -4
  64. package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
  65. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.cts +0 -4
  66. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.cts.map +0 -1
  67. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.mts +0 -4
  68. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
  69. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts +0 -4
  70. package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
  71. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.cts +0 -4
  72. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +0 -1
  73. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.mts +0 -4
  74. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
  75. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts +0 -4
  76. package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
  77. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.cts +0 -4
  78. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +0 -1
  79. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts +0 -4
  80. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
  81. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts +0 -4
  82. package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
  83. package/dist/browser/lib/index.d.cts +0 -2
  84. package/dist/browser/lib/index.d.cts.map +0 -1
  85. package/dist/browser/lib/index.d.mts +0 -2
  86. package/dist/browser/lib/index.d.mts.map +0 -1
  87. package/dist/browser/lib/index.d.ts +0 -2
  88. package/dist/browser/lib/index.d.ts.map +0 -1
  89. package/dist/browser/lib/transforms/index.d.cts +0 -6
  90. package/dist/browser/lib/transforms/index.d.cts.map +0 -1
  91. package/dist/browser/lib/transforms/index.d.mts +0 -6
  92. package/dist/browser/lib/transforms/index.d.mts.map +0 -1
  93. package/dist/browser/lib/transforms/index.d.ts +0 -6
  94. package/dist/browser/lib/transforms/index.d.ts.map +0 -1
  95. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.cts +0 -4
  96. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.cts.map +0 -1
  97. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.mts +0 -4
  98. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
  99. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts +0 -4
  100. package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
  101. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.cts +0 -4
  102. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.cts.map +0 -1
  103. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.mts +0 -4
  104. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
  105. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts +0 -4
  106. package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
  107. package/dist/browser/lib/transforms/transformGasFromEthers.d.cts +0 -4
  108. package/dist/browser/lib/transforms/transformGasFromEthers.d.cts.map +0 -1
  109. package/dist/browser/lib/transforms/transformGasFromEthers.d.mts +0 -4
  110. package/dist/browser/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
  111. package/dist/browser/lib/transforms/transformGasFromEthers.d.ts +0 -4
  112. package/dist/browser/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
  113. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.cts +0 -4
  114. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.cts.map +0 -1
  115. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.mts +0 -4
  116. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
  117. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts +0 -4
  118. package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
  119. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.cts +0 -4
  120. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.cts.map +0 -1
  121. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.mts +0 -4
  122. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
  123. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts +0 -4
  124. package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
  125. package/dist/browser/test/index.d.cts +0 -6
  126. package/dist/browser/test/index.d.cts.map +0 -1
  127. package/dist/browser/test/index.d.mts +0 -6
  128. package/dist/browser/test/index.d.mts.map +0 -1
  129. package/dist/browser/test/index.d.ts +0 -6
  130. package/dist/browser/test/index.d.ts.map +0 -1
  131. package/dist/browser/test/sampleBlocknativeGas.d.cts +0 -3
  132. package/dist/browser/test/sampleBlocknativeGas.d.cts.map +0 -1
  133. package/dist/browser/test/sampleBlocknativeGas.d.mts +0 -3
  134. package/dist/browser/test/sampleBlocknativeGas.d.mts.map +0 -1
  135. package/dist/browser/test/sampleBlocknativeGas.d.ts +0 -3
  136. package/dist/browser/test/sampleBlocknativeGas.d.ts.map +0 -1
  137. package/dist/browser/test/sampleEtherchainGasV2.d.cts +0 -3
  138. package/dist/browser/test/sampleEtherchainGasV2.d.cts.map +0 -1
  139. package/dist/browser/test/sampleEtherchainGasV2.d.mts +0 -3
  140. package/dist/browser/test/sampleEtherchainGasV2.d.mts.map +0 -1
  141. package/dist/browser/test/sampleEtherchainGasV2.d.ts +0 -3
  142. package/dist/browser/test/sampleEtherchainGasV2.d.ts.map +0 -1
  143. package/dist/browser/test/sampleEthersGas.d.cts +0 -3
  144. package/dist/browser/test/sampleEthersGas.d.cts.map +0 -1
  145. package/dist/browser/test/sampleEthersGas.d.mts +0 -3
  146. package/dist/browser/test/sampleEthersGas.d.mts.map +0 -1
  147. package/dist/browser/test/sampleEthersGas.d.ts +0 -3
  148. package/dist/browser/test/sampleEthersGas.d.ts.map +0 -1
  149. package/dist/browser/test/sampleEtherscanGas.d.cts +0 -3
  150. package/dist/browser/test/sampleEtherscanGas.d.cts.map +0 -1
  151. package/dist/browser/test/sampleEtherscanGas.d.mts +0 -3
  152. package/dist/browser/test/sampleEtherscanGas.d.mts.map +0 -1
  153. package/dist/browser/test/sampleEtherscanGas.d.ts +0 -3
  154. package/dist/browser/test/sampleEtherscanGas.d.ts.map +0 -1
  155. package/dist/browser/test/sampleEthgasstationGas.d.cts +0 -3
  156. package/dist/browser/test/sampleEthgasstationGas.d.cts.map +0 -1
  157. package/dist/browser/test/sampleEthgasstationGas.d.mts +0 -3
  158. package/dist/browser/test/sampleEthgasstationGas.d.mts.map +0 -1
  159. package/dist/browser/test/sampleEthgasstationGas.d.ts +0 -3
  160. package/dist/browser/test/sampleEthgasstationGas.d.ts.map +0 -1
  161. package/dist/neutral/Diviner.d.cts +0 -16
  162. package/dist/neutral/Diviner.d.cts.map +0 -1
  163. package/dist/neutral/Diviner.d.mts +0 -16
  164. package/dist/neutral/Diviner.d.mts.map +0 -1
  165. package/dist/neutral/Diviner.d.ts +0 -16
  166. package/dist/neutral/Diviner.d.ts.map +0 -1
  167. package/dist/neutral/Plugin.d.cts +0 -19
  168. package/dist/neutral/Plugin.d.cts.map +0 -1
  169. package/dist/neutral/Plugin.d.mts +0 -19
  170. package/dist/neutral/Plugin.d.mts.map +0 -1
  171. package/dist/neutral/Plugin.d.ts +0 -19
  172. package/dist/neutral/Plugin.d.ts.map +0 -1
  173. package/dist/neutral/Schema.d.cts +0 -5
  174. package/dist/neutral/Schema.d.cts.map +0 -1
  175. package/dist/neutral/Schema.d.mts +0 -5
  176. package/dist/neutral/Schema.d.mts.map +0 -1
  177. package/dist/neutral/Schema.d.ts +0 -5
  178. package/dist/neutral/Schema.d.ts.map +0 -1
  179. package/dist/neutral/index.cjs +0 -401
  180. package/dist/neutral/index.cjs.map +0 -1
  181. package/dist/neutral/index.d.cts +0 -4
  182. package/dist/neutral/index.d.cts.map +0 -1
  183. package/dist/neutral/index.d.mts +0 -4
  184. package/dist/neutral/index.d.mts.map +0 -1
  185. package/dist/neutral/index.d.ts.map +0 -1
  186. package/dist/neutral/lib/average.d.cts +0 -3
  187. package/dist/neutral/lib/average.d.cts.map +0 -1
  188. package/dist/neutral/lib/average.d.mts +0 -3
  189. package/dist/neutral/lib/average.d.mts.map +0 -1
  190. package/dist/neutral/lib/average.d.ts +0 -3
  191. package/dist/neutral/lib/average.d.ts.map +0 -1
  192. package/dist/neutral/lib/divineGas.d.cts +0 -4
  193. package/dist/neutral/lib/divineGas.d.cts.map +0 -1
  194. package/dist/neutral/lib/divineGas.d.mts +0 -4
  195. package/dist/neutral/lib/divineGas.d.mts.map +0 -1
  196. package/dist/neutral/lib/divineGas.d.ts +0 -4
  197. package/dist/neutral/lib/divineGas.d.ts.map +0 -1
  198. package/dist/neutral/lib/identities/index.d.cts +0 -6
  199. package/dist/neutral/lib/identities/index.d.cts.map +0 -1
  200. package/dist/neutral/lib/identities/index.d.mts +0 -6
  201. package/dist/neutral/lib/identities/index.d.mts.map +0 -1
  202. package/dist/neutral/lib/identities/index.d.ts +0 -6
  203. package/dist/neutral/lib/identities/index.d.ts.map +0 -1
  204. package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.cts +0 -4
  205. package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +0 -1
  206. package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.mts +0 -4
  207. package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
  208. package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.ts +0 -4
  209. package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
  210. package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +0 -4
  211. package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +0 -1
  212. package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -4
  213. package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
  214. package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -4
  215. package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
  216. package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.cts +0 -4
  217. package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.cts.map +0 -1
  218. package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.mts +0 -4
  219. package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
  220. package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.ts +0 -4
  221. package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
  222. package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.cts +0 -4
  223. package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +0 -1
  224. package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.mts +0 -4
  225. package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
  226. package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.ts +0 -4
  227. package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
  228. package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.cts +0 -4
  229. package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +0 -1
  230. package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.mts +0 -4
  231. package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
  232. package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.ts +0 -4
  233. package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
  234. package/dist/neutral/lib/index.d.cts +0 -2
  235. package/dist/neutral/lib/index.d.cts.map +0 -1
  236. package/dist/neutral/lib/index.d.mts +0 -2
  237. package/dist/neutral/lib/index.d.mts.map +0 -1
  238. package/dist/neutral/lib/index.d.ts +0 -2
  239. package/dist/neutral/lib/index.d.ts.map +0 -1
  240. package/dist/neutral/lib/transforms/index.d.cts +0 -6
  241. package/dist/neutral/lib/transforms/index.d.cts.map +0 -1
  242. package/dist/neutral/lib/transforms/index.d.mts +0 -6
  243. package/dist/neutral/lib/transforms/index.d.mts.map +0 -1
  244. package/dist/neutral/lib/transforms/index.d.ts +0 -6
  245. package/dist/neutral/lib/transforms/index.d.ts.map +0 -1
  246. package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.cts +0 -4
  247. package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.cts.map +0 -1
  248. package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.mts +0 -4
  249. package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
  250. package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.ts +0 -4
  251. package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
  252. package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.cts +0 -4
  253. package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.cts.map +0 -1
  254. package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.mts +0 -4
  255. package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
  256. package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.ts +0 -4
  257. package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
  258. package/dist/neutral/lib/transforms/transformGasFromEthers.d.cts +0 -4
  259. package/dist/neutral/lib/transforms/transformGasFromEthers.d.cts.map +0 -1
  260. package/dist/neutral/lib/transforms/transformGasFromEthers.d.mts +0 -4
  261. package/dist/neutral/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
  262. package/dist/neutral/lib/transforms/transformGasFromEthers.d.ts +0 -4
  263. package/dist/neutral/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
  264. package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.cts +0 -4
  265. package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.cts.map +0 -1
  266. package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.mts +0 -4
  267. package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
  268. package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.ts +0 -4
  269. package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
  270. package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.cts +0 -4
  271. package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.cts.map +0 -1
  272. package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.mts +0 -4
  273. package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
  274. package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.ts +0 -4
  275. package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
  276. package/dist/neutral/test/index.d.cts +0 -6
  277. package/dist/neutral/test/index.d.cts.map +0 -1
  278. package/dist/neutral/test/index.d.mts +0 -6
  279. package/dist/neutral/test/index.d.mts.map +0 -1
  280. package/dist/neutral/test/index.d.ts +0 -6
  281. package/dist/neutral/test/index.d.ts.map +0 -1
  282. package/dist/neutral/test/sampleBlocknativeGas.d.cts +0 -3
  283. package/dist/neutral/test/sampleBlocknativeGas.d.cts.map +0 -1
  284. package/dist/neutral/test/sampleBlocknativeGas.d.mts +0 -3
  285. package/dist/neutral/test/sampleBlocknativeGas.d.mts.map +0 -1
  286. package/dist/neutral/test/sampleBlocknativeGas.d.ts +0 -3
  287. package/dist/neutral/test/sampleBlocknativeGas.d.ts.map +0 -1
  288. package/dist/neutral/test/sampleEtherchainGasV2.d.cts +0 -3
  289. package/dist/neutral/test/sampleEtherchainGasV2.d.cts.map +0 -1
  290. package/dist/neutral/test/sampleEtherchainGasV2.d.mts +0 -3
  291. package/dist/neutral/test/sampleEtherchainGasV2.d.mts.map +0 -1
  292. package/dist/neutral/test/sampleEtherchainGasV2.d.ts +0 -3
  293. package/dist/neutral/test/sampleEtherchainGasV2.d.ts.map +0 -1
  294. package/dist/neutral/test/sampleEthersGas.d.cts +0 -3
  295. package/dist/neutral/test/sampleEthersGas.d.cts.map +0 -1
  296. package/dist/neutral/test/sampleEthersGas.d.mts +0 -3
  297. package/dist/neutral/test/sampleEthersGas.d.mts.map +0 -1
  298. package/dist/neutral/test/sampleEthersGas.d.ts +0 -3
  299. package/dist/neutral/test/sampleEthersGas.d.ts.map +0 -1
  300. package/dist/neutral/test/sampleEtherscanGas.d.cts +0 -3
  301. package/dist/neutral/test/sampleEtherscanGas.d.cts.map +0 -1
  302. package/dist/neutral/test/sampleEtherscanGas.d.mts +0 -3
  303. package/dist/neutral/test/sampleEtherscanGas.d.mts.map +0 -1
  304. package/dist/neutral/test/sampleEtherscanGas.d.ts +0 -3
  305. package/dist/neutral/test/sampleEtherscanGas.d.ts.map +0 -1
  306. package/dist/neutral/test/sampleEthgasstationGas.d.cts +0 -3
  307. package/dist/neutral/test/sampleEthgasstationGas.d.cts.map +0 -1
  308. package/dist/neutral/test/sampleEthgasstationGas.d.mts +0 -3
  309. package/dist/neutral/test/sampleEthgasstationGas.d.mts.map +0 -1
  310. package/dist/neutral/test/sampleEthgasstationGas.d.ts +0 -3
  311. package/dist/neutral/test/sampleEthgasstationGas.d.ts.map +0 -1
  312. package/dist/node/Diviner.d.cts +0 -16
  313. package/dist/node/Diviner.d.cts.map +0 -1
  314. package/dist/node/Diviner.d.mts +0 -16
  315. package/dist/node/Diviner.d.mts.map +0 -1
  316. package/dist/node/Diviner.d.ts +0 -16
  317. package/dist/node/Diviner.d.ts.map +0 -1
  318. package/dist/node/Plugin.d.cts +0 -19
  319. package/dist/node/Plugin.d.cts.map +0 -1
  320. package/dist/node/Plugin.d.mts +0 -19
  321. package/dist/node/Plugin.d.mts.map +0 -1
  322. package/dist/node/Plugin.d.ts +0 -19
  323. package/dist/node/Plugin.d.ts.map +0 -1
  324. package/dist/node/Schema.d.cts +0 -5
  325. package/dist/node/Schema.d.cts.map +0 -1
  326. package/dist/node/Schema.d.mts +0 -5
  327. package/dist/node/Schema.d.mts.map +0 -1
  328. package/dist/node/Schema.d.ts +0 -5
  329. package/dist/node/Schema.d.ts.map +0 -1
  330. package/dist/node/index.cjs +0 -415
  331. package/dist/node/index.cjs.map +0 -1
  332. package/dist/node/index.d.cts +0 -4
  333. package/dist/node/index.d.cts.map +0 -1
  334. package/dist/node/index.d.mts +0 -4
  335. package/dist/node/index.d.mts.map +0 -1
  336. package/dist/node/index.d.ts +0 -4
  337. package/dist/node/index.d.ts.map +0 -1
  338. package/dist/node/index.mjs +0 -387
  339. package/dist/node/index.mjs.map +0 -1
  340. package/dist/node/lib/average.d.cts +0 -3
  341. package/dist/node/lib/average.d.cts.map +0 -1
  342. package/dist/node/lib/average.d.mts +0 -3
  343. package/dist/node/lib/average.d.mts.map +0 -1
  344. package/dist/node/lib/average.d.ts +0 -3
  345. package/dist/node/lib/average.d.ts.map +0 -1
  346. package/dist/node/lib/divineGas.d.cts +0 -4
  347. package/dist/node/lib/divineGas.d.cts.map +0 -1
  348. package/dist/node/lib/divineGas.d.mts +0 -4
  349. package/dist/node/lib/divineGas.d.mts.map +0 -1
  350. package/dist/node/lib/divineGas.d.ts +0 -4
  351. package/dist/node/lib/divineGas.d.ts.map +0 -1
  352. package/dist/node/lib/identities/index.d.cts +0 -6
  353. package/dist/node/lib/identities/index.d.cts.map +0 -1
  354. package/dist/node/lib/identities/index.d.mts +0 -6
  355. package/dist/node/lib/identities/index.d.mts.map +0 -1
  356. package/dist/node/lib/identities/index.d.ts +0 -6
  357. package/dist/node/lib/identities/index.d.ts.map +0 -1
  358. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.cts +0 -4
  359. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +0 -1
  360. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts +0 -4
  361. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
  362. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts +0 -4
  363. package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
  364. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +0 -4
  365. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +0 -1
  366. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -4
  367. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
  368. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -4
  369. package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
  370. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.cts +0 -4
  371. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.cts.map +0 -1
  372. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts +0 -4
  373. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
  374. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts +0 -4
  375. package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
  376. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.cts +0 -4
  377. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +0 -1
  378. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts +0 -4
  379. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
  380. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts +0 -4
  381. package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
  382. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.cts +0 -4
  383. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +0 -1
  384. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts +0 -4
  385. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
  386. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts +0 -4
  387. package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
  388. package/dist/node/lib/index.d.cts +0 -2
  389. package/dist/node/lib/index.d.cts.map +0 -1
  390. package/dist/node/lib/index.d.mts +0 -2
  391. package/dist/node/lib/index.d.mts.map +0 -1
  392. package/dist/node/lib/index.d.ts +0 -2
  393. package/dist/node/lib/index.d.ts.map +0 -1
  394. package/dist/node/lib/transforms/index.d.cts +0 -6
  395. package/dist/node/lib/transforms/index.d.cts.map +0 -1
  396. package/dist/node/lib/transforms/index.d.mts +0 -6
  397. package/dist/node/lib/transforms/index.d.mts.map +0 -1
  398. package/dist/node/lib/transforms/index.d.ts +0 -6
  399. package/dist/node/lib/transforms/index.d.ts.map +0 -1
  400. package/dist/node/lib/transforms/transformGasFromBlocknative.d.cts +0 -4
  401. package/dist/node/lib/transforms/transformGasFromBlocknative.d.cts.map +0 -1
  402. package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts +0 -4
  403. package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
  404. package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts +0 -4
  405. package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
  406. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.cts +0 -4
  407. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.cts.map +0 -1
  408. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts +0 -4
  409. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
  410. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts +0 -4
  411. package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
  412. package/dist/node/lib/transforms/transformGasFromEthers.d.cts +0 -4
  413. package/dist/node/lib/transforms/transformGasFromEthers.d.cts.map +0 -1
  414. package/dist/node/lib/transforms/transformGasFromEthers.d.mts +0 -4
  415. package/dist/node/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
  416. package/dist/node/lib/transforms/transformGasFromEthers.d.ts +0 -4
  417. package/dist/node/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
  418. package/dist/node/lib/transforms/transformGasFromEtherscan.d.cts +0 -4
  419. package/dist/node/lib/transforms/transformGasFromEtherscan.d.cts.map +0 -1
  420. package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts +0 -4
  421. package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
  422. package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts +0 -4
  423. package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
  424. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.cts +0 -4
  425. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.cts.map +0 -1
  426. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts +0 -4
  427. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
  428. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts +0 -4
  429. package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
  430. package/dist/node/test/index.d.cts +0 -6
  431. package/dist/node/test/index.d.cts.map +0 -1
  432. package/dist/node/test/index.d.mts +0 -6
  433. package/dist/node/test/index.d.mts.map +0 -1
  434. package/dist/node/test/index.d.ts +0 -6
  435. package/dist/node/test/index.d.ts.map +0 -1
  436. package/dist/node/test/sampleBlocknativeGas.d.cts +0 -3
  437. package/dist/node/test/sampleBlocknativeGas.d.cts.map +0 -1
  438. package/dist/node/test/sampleBlocknativeGas.d.mts +0 -3
  439. package/dist/node/test/sampleBlocknativeGas.d.mts.map +0 -1
  440. package/dist/node/test/sampleBlocknativeGas.d.ts +0 -3
  441. package/dist/node/test/sampleBlocknativeGas.d.ts.map +0 -1
  442. package/dist/node/test/sampleEtherchainGasV2.d.cts +0 -3
  443. package/dist/node/test/sampleEtherchainGasV2.d.cts.map +0 -1
  444. package/dist/node/test/sampleEtherchainGasV2.d.mts +0 -3
  445. package/dist/node/test/sampleEtherchainGasV2.d.mts.map +0 -1
  446. package/dist/node/test/sampleEtherchainGasV2.d.ts +0 -3
  447. package/dist/node/test/sampleEtherchainGasV2.d.ts.map +0 -1
  448. package/dist/node/test/sampleEthersGas.d.cts +0 -3
  449. package/dist/node/test/sampleEthersGas.d.cts.map +0 -1
  450. package/dist/node/test/sampleEthersGas.d.mts +0 -3
  451. package/dist/node/test/sampleEthersGas.d.mts.map +0 -1
  452. package/dist/node/test/sampleEthersGas.d.ts +0 -3
  453. package/dist/node/test/sampleEthersGas.d.ts.map +0 -1
  454. package/dist/node/test/sampleEtherscanGas.d.cts +0 -3
  455. package/dist/node/test/sampleEtherscanGas.d.cts.map +0 -1
  456. package/dist/node/test/sampleEtherscanGas.d.mts +0 -3
  457. package/dist/node/test/sampleEtherscanGas.d.mts.map +0 -1
  458. package/dist/node/test/sampleEtherscanGas.d.ts +0 -3
  459. package/dist/node/test/sampleEtherscanGas.d.ts.map +0 -1
  460. package/dist/node/test/sampleEthgasstationGas.d.cts +0 -3
  461. package/dist/node/test/sampleEthgasstationGas.d.cts.map +0 -1
  462. package/dist/node/test/sampleEthgasstationGas.d.mts +0 -3
  463. package/dist/node/test/sampleEthgasstationGas.d.mts.map +0 -1
  464. package/dist/node/test/sampleEthgasstationGas.d.ts +0 -3
  465. package/dist/node/test/sampleEthgasstationGas.d.ts.map +0 -1
@@ -1,4 +1,45 @@
1
- export * from './Diviner.ts';
2
- export { EthereumGasPlugin as default, EthereumGasPlugin } from './Plugin.ts';
3
- export * from './Schema.ts';
4
- //# sourceMappingURL=index.d.ts.map
1
+ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
+ import { DivinerConfig, DivinerParams, DivinerModule } from '@xyo-network/diviner-model';
3
+ import * as _xyo_network_module_model from '@xyo-network/module-model';
4
+ import { AnyConfigSchema } from '@xyo-network/module-model';
5
+ import * as _xyo_network_payload_model from '@xyo-network/payload-model';
6
+ import { Schema, Payload } from '@xyo-network/payload-model';
7
+ import * as _xyo_network_payloadset_plugin from '@xyo-network/payloadset-plugin';
8
+ import * as _store__xyo_network_account_model_virtual_3afa553815_package from '.store/@xyo-network-account-model-virtual-3afa553815/package';
9
+ import * as _store__xylabs_object_npm_4_0_0_ffd6151301_package from '.store/@xylabs-object-npm-4.0.0-ffd6151301/package';
10
+
11
+ type EthereumGasDivinerQuerySchema = 'network.xyo.blockchain.ethereum.gas.diviner.query';
12
+ declare const EthereumGasDivinerQuerySchema: EthereumGasDivinerQuerySchema;
13
+ type EthereumGasDivinerConfigSchema = 'network.xyo.blockchain.ethereum.gas.diviner.config';
14
+ declare const EthereumGasDivinerConfigSchema: EthereumGasDivinerConfigSchema;
15
+
16
+ type EthereumGasDivinerConfig = DivinerConfig<{
17
+ schema: EthereumGasDivinerConfigSchema;
18
+ }>;
19
+ type EthereumGasDivinerParams = DivinerParams<AnyConfigSchema<EthereumGasDivinerConfig>>;
20
+ declare class EthereumGasDiviner<TParams extends EthereumGasDivinerParams = EthereumGasDivinerParams> extends AbstractDiviner<TParams> implements DivinerModule {
21
+ static readonly configSchemas: Schema[];
22
+ static readonly defaultConfigSchema: Schema;
23
+ static targetSchema: string;
24
+ protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
25
+ }
26
+
27
+ declare const EthereumGasPlugin: () => _xyo_network_payloadset_plugin.PayloadSetDivinerPlugin<EthereumGasDiviner<_store__xylabs_object_npm_4_0_0_ffd6151301_package.BaseParamsFields & {
28
+ account?: _store__xyo_network_account_model_virtual_3afa553815_package.AccountInstance | "random";
29
+ addToResolvers?: boolean;
30
+ additionalSigners?: _store__xyo_network_account_model_virtual_3afa553815_package.AccountInstance[];
31
+ allowNameResolution?: boolean;
32
+ config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & {
33
+ schema: "network.xyo.blockchain.ethereum.gas.diviner.config";
34
+ } & {
35
+ schema: EthereumGasDivinerConfigSchema;
36
+ }, "schema"> & {
37
+ schema: "network.xyo.blockchain.ethereum.gas.diviner.config";
38
+ }, "schema"> & {
39
+ schema: string;
40
+ };
41
+ ephemeralQueryAccountEnabled?: boolean;
42
+ moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
43
+ }>>;
44
+
45
+ export { EthereumGasDiviner, type EthereumGasDivinerConfig, EthereumGasDivinerConfigSchema, type EthereumGasDivinerParams, EthereumGasDivinerQuerySchema, EthereumGasPlugin, EthereumGasPlugin as default };
@@ -1,6 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
-
4
1
  // src/Diviner.ts
5
2
  import { AbstractDiviner } from "@xyo-network/diviner-abstract";
6
3
  import { EthereumGasSchema as EthereumGasSchema2 } from "@xyo-network/gas-price-payload-plugin";
@@ -11,11 +8,11 @@ import { PayloadBuilder } from "@xyo-network/payload-builder";
11
8
 
12
9
  // src/lib/average.ts
13
10
  import { exists } from "@xylabs/exists";
14
- var listAverage = /* @__PURE__ */ __name((x) => x?.length ? x.reduce((a, b) => a + b) / x.length : void 0, "listAverage");
15
- var averageProperty = /* @__PURE__ */ __name((data, propertyExpression) => {
11
+ var listAverage = (x) => x?.length ? x.reduce((a, b) => a + b) / x.length : void 0;
12
+ var averageProperty = (data, propertyExpression) => {
16
13
  return listAverage(data.map(propertyExpression).filter(exists));
17
- }, "averageProperty");
18
- var average = /* @__PURE__ */ __name((input) => {
14
+ };
15
+ var average = (input) => {
19
16
  const data = input?.filter(exists) || [];
20
17
  const averaged = {
21
18
  baseFee: averageProperty(data, (x) => x.baseFee),
@@ -33,66 +30,51 @@ var average = /* @__PURE__ */ __name((input) => {
33
30
  }
34
31
  };
35
32
  return averaged;
36
- }, "average");
33
+ };
37
34
 
38
35
  // src/lib/identities/isEthereumGasBlocknativePayload.ts
39
36
  import { EthereumGasBlocknativeSchema } from "@xyo-network/blocknative-ethereum-gas-payload-plugin";
40
- var isEthereumGasBlocknativePayload = /* @__PURE__ */ __name((payload) => {
37
+ var isEthereumGasBlocknativePayload = (payload) => {
41
38
  return payload?.schema === EthereumGasBlocknativeSchema;
42
- }, "isEthereumGasBlocknativePayload");
39
+ };
43
40
 
44
41
  // src/lib/identities/isEthereumGasEtherchainV2Payload.ts
45
42
  import { EthereumGasEtherchainV2Schema } from "@xyo-network/etherchain-gas-ethereum-blockchain-payload-plugins";
46
- var isEthereumGasEtherchainV2Payload = /* @__PURE__ */ __name((payload) => {
43
+ var isEthereumGasEtherchainV2Payload = (payload) => {
47
44
  return payload?.schema === EthereumGasEtherchainV2Schema;
48
- }, "isEthereumGasEtherchainV2Payload");
45
+ };
49
46
 
50
47
  // src/lib/identities/isEthereumGasEtherscanPayload.ts
51
48
  import { EthereumGasEtherscanSchema } from "@xyo-network/etherscan-ethereum-gas-payload-plugin";
52
- var isEthereumGasEtherscanPayload = /* @__PURE__ */ __name((payload) => {
49
+ var isEthereumGasEtherscanPayload = (payload) => {
53
50
  return payload?.schema === EthereumGasEtherscanSchema;
54
- }, "isEthereumGasEtherscanPayload");
51
+ };
55
52
 
56
53
  // src/lib/identities/isEthereumGasEthersPayload.ts
57
54
  import { EthereumGasEthersSchema } from "@xyo-network/ethers-ethereum-gas-payload-plugin";
58
- var isEthereumGasEthersPayload = /* @__PURE__ */ __name((payload) => {
55
+ var isEthereumGasEthersPayload = (payload) => {
59
56
  return payload?.schema === EthereumGasEthersSchema;
60
- }, "isEthereumGasEthersPayload");
57
+ };
61
58
 
62
59
  // src/lib/identities/isEthereumGasEthgasstationPayload.ts
63
60
  import { EthereumGasEthgasstationSchema } from "@xyo-network/ethgasstation-ethereum-gas-payload-plugin";
64
- var isEthereumGasEthgasstationPayload = /* @__PURE__ */ __name((payload) => {
61
+ var isEthereumGasEthgasstationPayload = (payload) => {
65
62
  return payload?.schema === EthereumGasEthgasstationSchema;
66
- }, "isEthereumGasEthgasstationPayload");
63
+ };
67
64
 
68
65
  // src/lib/transforms/transformGasFromBlocknative.ts
69
66
  import { linear } from "regression";
70
- var getBaseFee = /* @__PURE__ */ __name((payload) => {
67
+ var getBaseFee = (payload) => {
71
68
  return payload?.blockPrices?.[0]?.baseFeePerGas;
72
- }, "getBaseFee");
73
- var getFeePerGas = /* @__PURE__ */ __name((payload) => {
69
+ };
70
+ var getFeePerGas = (payload) => {
74
71
  const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence);
75
72
  const trend = linear([
76
- [
77
- 0,
78
- sorted?.[0].price
79
- ],
80
- [
81
- 1,
82
- sorted?.[1].price
83
- ],
84
- [
85
- 2,
86
- sorted?.[2].price
87
- ],
88
- [
89
- 3,
90
- sorted?.[3].price
91
- ],
92
- [
93
- 4,
94
- sorted?.[4].price
95
- ]
73
+ [0, sorted?.[0].price],
74
+ [1, sorted?.[1].price],
75
+ [2, sorted?.[2].price],
76
+ [3, sorted?.[3].price],
77
+ [4, sorted?.[4].price]
96
78
  ]);
97
79
  const feePerGas = {
98
80
  low: trend.predict(0.5)[1],
@@ -101,30 +83,15 @@ var getFeePerGas = /* @__PURE__ */ __name((payload) => {
101
83
  veryHigh: trend.predict(3.5)[1]
102
84
  };
103
85
  return feePerGas;
104
- }, "getFeePerGas");
105
- var getPriorityFeePerGas = /* @__PURE__ */ __name((payload) => {
86
+ };
87
+ var getPriorityFeePerGas = (payload) => {
106
88
  const sorted = payload.blockPrices?.[0].estimatedPrices?.sort((a, b) => a.confidence - b.confidence);
107
89
  const trend = linear([
108
- [
109
- 0,
110
- sorted?.[0].maxPriorityFeePerGas
111
- ],
112
- [
113
- 1,
114
- sorted?.[1].maxPriorityFeePerGas
115
- ],
116
- [
117
- 2,
118
- sorted?.[2].maxPriorityFeePerGas
119
- ],
120
- [
121
- 3,
122
- sorted?.[3].maxPriorityFeePerGas
123
- ],
124
- [
125
- 4,
126
- sorted?.[4].maxPriorityFeePerGas
127
- ]
90
+ [0, sorted?.[0].maxPriorityFeePerGas],
91
+ [1, sorted?.[1].maxPriorityFeePerGas],
92
+ [2, sorted?.[2].maxPriorityFeePerGas],
93
+ [3, sorted?.[3].maxPriorityFeePerGas],
94
+ [4, sorted?.[4].maxPriorityFeePerGas]
128
95
  ]);
129
96
  const priorityFeePerGas = {
130
97
  low: trend.predict(0.5)[1],
@@ -133,205 +100,123 @@ var getPriorityFeePerGas = /* @__PURE__ */ __name((payload) => {
133
100
  veryHigh: trend.predict(3.5)[1]
134
101
  };
135
102
  return priorityFeePerGas;
136
- }, "getPriorityFeePerGas");
137
- var transformGasFromBlocknative = /* @__PURE__ */ __name((payload) => {
103
+ };
104
+ var transformGasFromBlocknative = (payload) => {
138
105
  const baseFee = getBaseFee(payload);
139
106
  const feePerGas = getFeePerGas(payload);
140
107
  const priorityFeePerGas = getPriorityFeePerGas(payload);
141
- return {
142
- baseFee,
143
- feePerGas,
144
- priorityFeePerGas
145
- };
146
- }, "transformGasFromBlocknative");
108
+ return { baseFee, feePerGas, priorityFeePerGas };
109
+ };
147
110
 
148
111
  // src/lib/transforms/transformGasFromEtherchainV2.ts
149
- var getFeePerGas2 = /* @__PURE__ */ __name((payload) => {
112
+ var getFeePerGas2 = (payload) => {
150
113
  const { slow, standard, fast, rapid } = payload.data;
151
114
  const low = slow / 1e9;
152
115
  const medium = standard / 1e9;
153
116
  const high = fast / 1e9;
154
117
  const veryHigh = rapid / 1e9;
155
- return {
156
- high,
157
- low,
158
- medium,
159
- veryHigh
160
- };
161
- }, "getFeePerGas");
162
- var transformGasFromEtherchainV2 = /* @__PURE__ */ __name((payload) => {
118
+ return { high, low, medium, veryHigh };
119
+ };
120
+ var transformGasFromEtherchainV2 = (payload) => {
163
121
  const baseFee = void 0;
164
122
  const feePerGas = getFeePerGas2(payload);
165
123
  const priorityFeePerGas = {};
166
- return {
167
- baseFee,
168
- feePerGas,
169
- priorityFeePerGas
170
- };
171
- }, "transformGasFromEtherchainV2");
124
+ return { baseFee, feePerGas, priorityFeePerGas };
125
+ };
172
126
 
173
127
  // src/lib/transforms/transformGasFromEthers.ts
174
- var getBaseFee2 = /* @__PURE__ */ __name((payload) => {
128
+ var getBaseFee2 = (payload) => {
175
129
  const { gasPrice } = payload;
176
130
  return gasPrice ? gasPrice / 1e9 : void 0;
177
- }, "getBaseFee");
178
- var getFeePerGas3 = /* @__PURE__ */ __name((payload) => {
131
+ };
132
+ var getFeePerGas3 = (payload) => {
179
133
  const { maxFeePerGas } = payload;
180
134
  const high = maxFeePerGas ? maxFeePerGas / 1e9 : void 0;
181
- return {
182
- high
183
- };
184
- }, "getFeePerGas");
185
- var getPriorityFeePerGas2 = /* @__PURE__ */ __name((payload) => {
135
+ return { high };
136
+ };
137
+ var getPriorityFeePerGas2 = (payload) => {
186
138
  const { maxPriorityFeePerGas } = payload;
187
139
  const high = maxPriorityFeePerGas ? maxPriorityFeePerGas / 1e9 : void 0;
188
- return {
189
- high
190
- };
191
- }, "getPriorityFeePerGas");
192
- var transformGasFromEthers = /* @__PURE__ */ __name((payload) => {
140
+ return { high };
141
+ };
142
+ var transformGasFromEthers = (payload) => {
193
143
  const baseFee = getBaseFee2(payload);
194
144
  const feePerGas = getFeePerGas3(payload);
195
145
  const priorityFeePerGas = getPriorityFeePerGas2(payload);
196
- return {
197
- baseFee,
198
- feePerGas,
199
- priorityFeePerGas
200
- };
201
- }, "transformGasFromEthers");
146
+ return { baseFee, feePerGas, priorityFeePerGas };
147
+ };
202
148
 
203
149
  // src/lib/transforms/transformGasFromEtherscan.ts
204
150
  import { linear as linear2 } from "regression";
205
- var getBaseFee3 = /* @__PURE__ */ __name((payload) => {
151
+ var getBaseFee3 = (payload) => {
206
152
  const { suggestBaseFee } = payload.result;
207
153
  return Number.parseFloat(suggestBaseFee);
208
- }, "getBaseFee");
209
- var getFeePerGas4 = /* @__PURE__ */ __name((payload) => {
154
+ };
155
+ var getFeePerGas4 = (payload) => {
210
156
  const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result;
211
157
  const low = Number.parseFloat(SafeGasPrice);
212
158
  const medium = Number.parseFloat(ProposeGasPrice);
213
159
  const high = Number.parseFloat(FastGasPrice);
214
160
  const veryHigh = linear2([
215
- [
216
- 0,
217
- low
218
- ],
219
- [
220
- 1,
221
- medium
222
- ],
223
- [
224
- 2,
225
- high
226
- ]
161
+ [0, low],
162
+ [1, medium],
163
+ [2, high]
227
164
  ]).predict(3)[1];
228
- return {
229
- high,
230
- low,
231
- medium,
232
- veryHigh
233
- };
234
- }, "getFeePerGas");
235
- var transformGasFromEtherscan = /* @__PURE__ */ __name((payload) => {
165
+ return { high, low, medium, veryHigh };
166
+ };
167
+ var transformGasFromEtherscan = (payload) => {
236
168
  const baseFee = getBaseFee3(payload);
237
169
  const feePerGas = getFeePerGas4(payload);
238
170
  const priorityFeePerGas = {};
239
- return {
240
- baseFee,
241
- feePerGas,
242
- priorityFeePerGas
243
- };
244
- }, "transformGasFromEtherscan");
171
+ return { baseFee, feePerGas, priorityFeePerGas };
172
+ };
245
173
 
246
174
  // src/lib/transforms/transformGasFromEthgasstation.ts
247
175
  import { linear as linear3 } from "regression";
248
- var getBaseFee4 = /* @__PURE__ */ __name((payload) => {
176
+ var getBaseFee4 = (payload) => {
249
177
  const { baseFee } = payload;
250
178
  return baseFee;
251
- }, "getBaseFee");
252
- var getFeePerGas5 = /* @__PURE__ */ __name((payload) => {
179
+ };
180
+ var getFeePerGas5 = (payload) => {
253
181
  const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice;
254
182
  const trend = linear3([
255
- [
256
- 1,
257
- medium
258
- ],
259
- [
260
- 2,
261
- high
262
- ],
263
- [
264
- 3,
265
- veryHigh
266
- ]
183
+ [1, medium],
184
+ [2, high],
185
+ [3, veryHigh]
267
186
  ]);
268
187
  const low = trend.predict(0)[1];
269
- return {
270
- low,
271
- medium,
272
- high,
273
- veryHigh
274
- };
275
- }, "getFeePerGas");
276
- var getPriorityFeePerGas3 = /* @__PURE__ */ __name((payload) => {
188
+ return { low, medium, high, veryHigh };
189
+ };
190
+ var getPriorityFeePerGas3 = (payload) => {
277
191
  const { standard: medium, fast: high, instant: veryHigh } = payload.priorityFee;
278
192
  const trend = linear3([
279
- [
280
- 1,
281
- medium
282
- ],
283
- [
284
- 2,
285
- high
286
- ],
287
- [
288
- 3,
289
- veryHigh
290
- ]
193
+ [1, medium],
194
+ [2, high],
195
+ [3, veryHigh]
291
196
  ]);
292
197
  const low = trend.predict(0)[1];
293
- return {
294
- low,
295
- medium,
296
- high,
297
- veryHigh
298
- };
299
- }, "getPriorityFeePerGas");
300
- var transformGasFromEthgasstation = /* @__PURE__ */ __name((payload) => {
198
+ return { low, medium, high, veryHigh };
199
+ };
200
+ var transformGasFromEthgasstation = (payload) => {
301
201
  const baseFee = getBaseFee4(payload);
302
202
  const feePerGas = getFeePerGas5(payload);
303
203
  const priorityFeePerGas = getPriorityFeePerGas3(payload);
304
- return {
305
- baseFee,
306
- feePerGas,
307
- priorityFeePerGas
308
- };
309
- }, "transformGasFromEthgasstation");
204
+ return { baseFee, feePerGas, priorityFeePerGas };
205
+ };
310
206
 
311
207
  // src/lib/divineGas.ts
312
- var divineGas = /* @__PURE__ */ __name(async (payloads) => {
208
+ var divineGas = async (payloads) => {
313
209
  const blocknative = payloads.filter(isEthereumGasBlocknativePayload).map(transformGasFromBlocknative);
314
210
  const etherchainV2 = payloads.filter(isEthereumGasEtherchainV2Payload).map(transformGasFromEtherchainV2);
315
211
  const ethers = payloads.filter(isEthereumGasEthersPayload).map(transformGasFromEthers);
316
212
  const etherscan = payloads.filter(isEthereumGasEtherscanPayload).map(transformGasFromEtherscan);
317
213
  const ethgasstation = payloads.filter(isEthereumGasEthgasstationPayload).map(transformGasFromEthgasstation);
318
- const transactionCosts = [
319
- ...blocknative,
320
- ...etherchainV2,
321
- ...ethers,
322
- ...etherscan,
323
- ...ethgasstation
324
- ];
214
+ const transactionCosts = [...blocknative, ...etherchainV2, ...ethers, ...etherscan, ...ethgasstation];
325
215
  const avg = average(transactionCosts);
326
216
  const timestamp = Date.now();
327
- const payload = await new PayloadBuilder({
328
- schema: EthereumGasSchema
329
- }).fields({
330
- ...avg,
331
- timestamp
332
- }).build();
217
+ const payload = await new PayloadBuilder({ schema: EthereumGasSchema }).fields({ ...avg, timestamp }).build();
333
218
  return payload;
334
- }, "divineGas");
219
+ };
335
220
 
336
221
  // src/Schema.ts
337
222
  var EthereumGasDivinerQuerySchema = "network.xyo.blockchain.ethereum.gas.diviner.query";
@@ -339,20 +224,12 @@ var EthereumGasDivinerConfigSchema = "network.xyo.blockchain.ethereum.gas.divine
339
224
 
340
225
  // src/Diviner.ts
341
226
  var EthereumGasDiviner = class extends AbstractDiviner {
342
- static {
343
- __name(this, "EthereumGasDiviner");
344
- }
345
- static configSchemas = [
346
- ...super.configSchemas,
347
- EthereumGasDivinerConfigSchema
348
- ];
227
+ static configSchemas = [...super.configSchemas, EthereumGasDivinerConfigSchema];
349
228
  static defaultConfigSchema = EthereumGasDivinerConfigSchema;
350
229
  static targetSchema = EthereumGasSchema2;
351
230
  async divineHandler(payloads) {
352
231
  const cost = await divineGas(payloads ?? []);
353
- return [
354
- cost
355
- ];
232
+ return [cost];
356
233
  }
357
234
  };
358
235
 
@@ -360,16 +237,14 @@ var EthereumGasDiviner = class extends AbstractDiviner {
360
237
  import { EthereumGasSchema as EthereumGasSchema3 } from "@xyo-network/gas-price-payload-plugin";
361
238
  import { PayloadSetSchema } from "@xyo-network/payload-model";
362
239
  import { createPayloadSetDivinerPlugin } from "@xyo-network/payloadset-plugin";
363
- var EthereumGasPlugin = /* @__PURE__ */ __name(() => createPayloadSetDivinerPlugin({
364
- required: {
365
- [EthereumGasSchema3]: 1
366
- },
367
- schema: PayloadSetSchema
368
- }, {
369
- diviner: /* @__PURE__ */ __name(async (params) => {
370
- return await EthereumGasDiviner.create(params);
371
- }, "diviner")
372
- }), "EthereumGasPlugin");
240
+ var EthereumGasPlugin = () => createPayloadSetDivinerPlugin(
241
+ { required: { [EthereumGasSchema3]: 1 }, schema: PayloadSetSchema },
242
+ {
243
+ diviner: async (params) => {
244
+ return await EthereumGasDiviner.create(params);
245
+ }
246
+ }
247
+ );
373
248
  export {
374
249
  EthereumGasDiviner,
375
250
  EthereumGasDivinerConfigSchema,
@@ -1 +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","../../src/Plugin.ts"],"sourcesContent":["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { EthereumGasSchema } from '@xyo-network/gas-price-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { divineGas } from './lib/index.ts'\nimport { EthereumGasDivinerConfigSchema } from './Schema.ts'\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 static override readonly configSchemas: Schema[] = [...super.configSchemas, EthereumGasDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EthereumGasDivinerConfigSchema\n static override targetSchema: string = EthereumGasSchema\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const cost = await 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.ts'\nimport {\n isEthereumGasBlocknativePayload,\n isEthereumGasEtherchainV2Payload,\n isEthereumGasEtherscanPayload,\n isEthereumGasEthersPayload,\n isEthereumGasEthgasstationPayload,\n} from './identities/index.ts'\nimport {\n transformGasFromBlocknative,\n transformGasFromEtherchainV2,\n transformGasFromEthers,\n transformGasFromEtherscan,\n transformGasFromEthgasstation,\n} from './transforms/index.ts'\n\nexport const divineGas = async (payloads: Payload[]): Promise<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 = await 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","import { 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 { gasPrice } = payload\n return gasPrice ? gasPrice / 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 Number.parseFloat(suggestBaseFee)\n}\n\nconst getFeePerGas = (payload: EthereumGasEtherscanPayload): Partial<FeePerGas> => {\n const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result\n const low = Number.parseFloat(SafeGasPrice)\n const medium = Number.parseFloat(ProposeGasPrice)\n const high = Number.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","import { 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 { 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.ts'\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"],"mappings":"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","names":["AbstractDiviner","EthereumGasSchema","EthereumGasSchema","PayloadBuilder","exists","listAverage","x","length","reduce","a","b","undefined","averageProperty","data","propertyExpression","map","filter","exists","average","input","averaged","baseFee","feePerGas","high","low","medium","veryHigh","priorityFeePerGas","EthereumGasBlocknativeSchema","isEthereumGasBlocknativePayload","payload","schema","EthereumGasBlocknativeSchema","EthereumGasEtherchainV2Schema","isEthereumGasEtherchainV2Payload","payload","schema","EthereumGasEtherchainV2Schema","EthereumGasEtherscanSchema","isEthereumGasEtherscanPayload","payload","schema","EthereumGasEtherscanSchema","EthereumGasEthersSchema","isEthereumGasEthersPayload","payload","schema","EthereumGasEthersSchema","EthereumGasEthgasstationSchema","isEthereumGasEthgasstationPayload","payload","schema","EthereumGasEthgasstationSchema","linear","getBaseFee","payload","blockPrices","baseFeePerGas","getFeePerGas","sorted","estimatedPrices","sort","a","b","confidence","trend","linear","price","feePerGas","low","predict","medium","high","veryHigh","getPriorityFeePerGas","maxPriorityFeePerGas","priorityFeePerGas","transformGasFromBlocknative","baseFee","getFeePerGas","payload","slow","standard","fast","rapid","data","low","medium","high","veryHigh","transformGasFromEtherchainV2","baseFee","undefined","feePerGas","priorityFeePerGas","getBaseFee","payload","gasPrice","undefined","getFeePerGas","maxFeePerGas","high","getPriorityFeePerGas","maxPriorityFeePerGas","transformGasFromEthers","baseFee","feePerGas","priorityFeePerGas","linear","getBaseFee","payload","suggestBaseFee","result","Number","parseFloat","getFeePerGas","FastGasPrice","ProposeGasPrice","SafeGasPrice","low","medium","high","veryHigh","linear","predict","transformGasFromEtherscan","baseFee","feePerGas","priorityFeePerGas","linear","getBaseFee","payload","baseFee","getFeePerGas","standard","medium","fast","high","instant","veryHigh","gasPrice","trend","linear","low","predict","getPriorityFeePerGas","priorityFee","transformGasFromEthgasstation","feePerGas","priorityFeePerGas","divineGas","payloads","blocknative","filter","isEthereumGasBlocknativePayload","map","transformGasFromBlocknative","etherchainV2","isEthereumGasEtherchainV2Payload","transformGasFromEtherchainV2","ethers","isEthereumGasEthersPayload","transformGasFromEthers","etherscan","isEthereumGasEtherscanPayload","transformGasFromEtherscan","ethgasstation","isEthereumGasEthgasstationPayload","transformGasFromEthgasstation","transactionCosts","avg","average","timestamp","Date","now","payload","PayloadBuilder","schema","EthereumGasSchema","fields","build","EthereumGasDivinerQuerySchema","EthereumGasDivinerConfigSchema","EthereumGasDiviner","AbstractDiviner","configSchemas","EthereumGasDivinerConfigSchema","defaultConfigSchema","targetSchema","EthereumGasSchema","divineHandler","payloads","cost","divineGas","EthereumGasSchema","PayloadSetSchema","createPayloadSetDivinerPlugin","EthereumGasPlugin","createPayloadSetDivinerPlugin","required","EthereumGasSchema","schema","PayloadSetSchema","diviner","params","EthereumGasDiviner","create"]}
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","../../src/Plugin.ts"],"sourcesContent":["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport { DivinerConfig, DivinerModule, DivinerParams } from '@xyo-network/diviner-model'\nimport { EthereumGasSchema } from '@xyo-network/gas-price-payload-plugin'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nimport { divineGas } from './lib/index.ts'\nimport { EthereumGasDivinerConfigSchema } from './Schema.ts'\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 static override readonly configSchemas: Schema[] = [...super.configSchemas, EthereumGasDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = EthereumGasDivinerConfigSchema\n static override targetSchema: string = EthereumGasSchema\n\n protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {\n const cost = await 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.ts'\nimport {\n isEthereumGasBlocknativePayload,\n isEthereumGasEtherchainV2Payload,\n isEthereumGasEtherscanPayload,\n isEthereumGasEthersPayload,\n isEthereumGasEthgasstationPayload,\n} from './identities/index.ts'\nimport {\n transformGasFromBlocknative,\n transformGasFromEtherchainV2,\n transformGasFromEthers,\n transformGasFromEtherscan,\n transformGasFromEthgasstation,\n} from './transforms/index.ts'\n\nexport const divineGas = async (payloads: Payload[]): Promise<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 = await 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","import { 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 { gasPrice } = payload\n return gasPrice ? gasPrice / 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 Number.parseFloat(suggestBaseFee)\n}\n\nconst getFeePerGas = (payload: EthereumGasEtherscanPayload): Partial<FeePerGas> => {\n const { FastGasPrice, ProposeGasPrice, SafeGasPrice } = payload.result\n const low = Number.parseFloat(SafeGasPrice)\n const medium = Number.parseFloat(ProposeGasPrice)\n const high = Number.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","import { 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 { 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.ts'\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"],"mappings":";AAAA,SAAS,uBAAuB;AAEhC,SAAS,qBAAAA,0BAAyB;;;ACFlC,SAA6B,yBAAkC;AAC/D,SAAS,sBAAsB;;;ACD/B,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,OAAK,EAAE,OAAO;AAAA,IAC7C,WAAW;AAAA,MACT,MAAM,gBAAgB,MAAM,OAAK,EAAE,UAAU,IAAI;AAAA,MACjD,KAAK,gBAAgB,MAAM,OAAK,EAAE,UAAU,GAAG;AAAA,MAC/C,QAAQ,gBAAgB,MAAM,OAAK,EAAE,UAAU,MAAM;AAAA,MACrD,UAAU,gBAAgB,MAAM,OAAK,EAAE,UAAU,QAAQ;AAAA,IAC3D;AAAA,IACA,mBAAmB;AAAA,MACjB,MAAM,gBAAgB,MAAM,OAAK,EAAE,kBAAkB,IAAI;AAAA,MACzD,KAAK,gBAAgB,MAAM,OAAK,EAAE,kBAAkB,GAAG;AAAA,MACvD,QAAQ,gBAAgB,MAAM,OAAK,EAAE,kBAAkB,MAAM;AAAA,MAC7D,UAAU,gBAAgB,MAAM,OAAK,EAAE,kBAAkB,QAAQ;AAAA,IACnE;AAAA,EACF;AACA,SAAO;AACT;;;AC9CA,SAAwC,oCAAoC;AAGrE,IAAM,kCAAkC,CAAC,YAAuE;AACrH,SAAO,SAAS,WAAW;AAC7B;;;ACLA,SAAyC,qCAAqC;AAGvE,IAAM,mCAAmC,CAAC,YAAwE;AACvH,SAAO,SAAS,WAAW;AAC7B;;;ACLA,SAAsC,kCAAkC;AAGjE,IAAM,gCAAgC,CAAC,YAAqE;AACjH,SAAO,SAAS,WAAW;AAC7B;;;ACLA,SAAmC,+BAA+B;AAG3D,IAAM,6BAA6B,CAAC,YAAkE;AAC3G,SAAO,SAAS,WAAW;AAC7B;;;ACLA,SAA0C,sCAAsC;AAGzE,IAAM,oCAAoC,CAAC,YAAyE;AACzH,SAAO,SAAS,WAAW;AAC7B;;;ACHA,SAAS,cAAc;AAEvB,IAAM,aAAa,CAAC,YAA+D;AACjF,SAAO,SAAS,cAAc,CAAC,GAAG;AACpC;AAEA,IAAM,eAAe,CAAC,YAA+D;AACnF,QAAM,SAAS,QAAQ,cAAc,CAAC,EAAE,iBAAiB,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AACnG,QAAM,QAAQ,OAAO;AAAA,IACnB,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK;AAAA,IACrB,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK;AAAA,IACrB,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK;AAAA,IACrB,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK;AAAA,IACrB,CAAC,GAAG,SAAS,CAAC,EAAE,KAAK;AAAA,EACvB,CAAC;AACD,QAAM,YAAuB;AAAA,IAC3B,KAAK,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,IACzB,QAAQ,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC5B,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC1B,UAAU,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,EAChC;AACA,SAAO;AACT;AAEA,IAAM,uBAAuB,CAAC,YAAuE;AACnG,QAAM,SAAS,QAAQ,cAAc,CAAC,EAAE,iBAAiB,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AACnG,QAAM,QAAQ,OAAO;AAAA,IACnB,CAAC,GAAG,SAAS,CAAC,EAAE,oBAAoB;AAAA,IACpC,CAAC,GAAG,SAAS,CAAC,EAAE,oBAAoB;AAAA,IACpC,CAAC,GAAG,SAAS,CAAC,EAAE,oBAAoB;AAAA,IACpC,CAAC,GAAG,SAAS,CAAC,EAAE,oBAAoB;AAAA,IACpC,CAAC,GAAG,SAAS,CAAC,EAAE,oBAAoB;AAAA,EACtC,CAAC;AACD,QAAM,oBAAuC;AAAA,IAC3C,KAAK,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,IACzB,QAAQ,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC5B,MAAM,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,IAC1B,UAAU,MAAM,QAAQ,GAAG,EAAE,CAAC;AAAA,EAChC;AACA,SAAO;AACT;AAEO,IAAM,8BAA8B,CAAC,YAAoD;AAC9F,QAAM,UAAU,WAAW,OAAO;AAClC,QAAM,YAAY,aAAa,OAAO;AACtC,QAAM,oBAAoB,qBAAqB,OAAO;AACtD,SAAO,EAAE,SAAS,WAAW,kBAAkB;AACjD;;;AC9CA,IAAMC,gBAAe,CAAC,YAAgE;AACpF,QAAM,EAAE,MAAM,UAAU,MAAM,MAAM,IAAI,QAAQ;AAChD,QAAM,MAAM,OAAO;AACnB,QAAM,SAAS,WAAW;AAC1B,QAAM,OAAO,OAAO;AACpB,QAAM,WAAW,QAAQ;AACzB,SAAO,EAAE,MAAM,KAAK,QAAQ,SAAS;AACvC;AAEO,IAAM,+BAA+B,CAAC,YAAqD;AAChG,QAAM,UAAU;AAChB,QAAM,YAAYA,cAAa,OAAO;AACtC,QAAM,oBAAoB,CAAC;AAC3B,SAAO,EAAE,SAAS,WAAW,kBAAkB;AACjD;;;ACdA,IAAMC,cAAa,CAAC,YAA0D;AAC5E,QAAM,EAAE,SAAS,IAAI;AACrB,SAAO,WAAW,WAAW,MAAgB;AAC/C;AAEA,IAAMC,gBAAe,CAAC,YAA0D;AAC9E,QAAM,EAAE,aAAa,IAAI;AACzB,QAAM,OAAO,eAAe,eAAe,MAAgB;AAC3D,SAAO,EAAE,KAAK;AAChB;AAEA,IAAMC,wBAAuB,CAAC,YAAkE;AAC9F,QAAM,EAAE,qBAAqB,IAAI;AACjC,QAAM,OAAO,uBAAuB,uBAAuB,MAAgB;AAC3E,SAAO,EAAE,KAAK;AAChB;AAEO,IAAM,yBAAyB,CAAC,YAA+C;AACpF,QAAM,UAAUF,YAAW,OAAO;AAClC,QAAM,YAAYC,cAAa,OAAO;AACtC,QAAM,oBAAoBC,sBAAqB,OAAO;AACtD,SAAO,EAAE,SAAS,WAAW,kBAAkB;AACjD;;;ACvBA,SAAS,UAAAC,eAAc;AAEvB,IAAMC,cAAa,CAAC,YAA6D;AAC/E,QAAM,EAAE,eAAe,IAAI,QAAQ;AACnC,SAAO,OAAO,WAAW,cAAc;AACzC;AAEA,IAAMC,gBAAe,CAAC,YAA6D;AACjF,QAAM,EAAE,cAAc,iBAAiB,aAAa,IAAI,QAAQ;AAChE,QAAM,MAAM,OAAO,WAAW,YAAY;AAC1C,QAAM,SAAS,OAAO,WAAW,eAAe;AAChD,QAAM,OAAO,OAAO,WAAW,YAAY;AAC3C,QAAM,WAAWF,QAAO;AAAA,IACtB,CAAC,GAAG,GAAG;AAAA,IACP,CAAC,GAAG,MAAM;AAAA,IACV,CAAC,GAAG,IAAI;AAAA,EACV,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;AACf,SAAO,EAAE,MAAM,KAAK,QAAQ,SAAS;AACvC;AAEO,IAAM,4BAA4B,CAAC,YAAkD;AAC1F,QAAM,UAAUC,YAAW,OAAO;AAClC,QAAM,YAAYC,cAAa,OAAO;AACtC,QAAM,oBAAoB,CAAC;AAC3B,SAAO,EAAE,SAAS,WAAW,kBAAkB;AACjD;;;ACzBA,SAAS,UAAAC,eAAc;AAEvB,IAAMC,cAAa,CAAC,YAAiE;AACnF,QAAM,EAAE,QAAQ,IAAI;AACpB,SAAO;AACT;AAEA,IAAMC,gBAAe,CAAC,YAAiE;AACrF,QAAM,EAAE,UAAU,QAAQ,MAAM,MAAM,SAAS,SAAS,IAAI,QAAQ;AACpE,QAAM,QAAQF,QAAO;AAAA,IACnB,CAAC,GAAG,MAAM;AAAA,IACV,CAAC,GAAG,IAAI;AAAA,IACR,CAAC,GAAG,QAAQ;AAAA,EACd,CAAC;AACD,QAAM,MAAM,MAAM,QAAQ,CAAC,EAAE,CAAC;AAC9B,SAAO,EAAE,KAAK,QAAQ,MAAM,SAAS;AACvC;AAEA,IAAMG,wBAAuB,CAAC,YAAyE;AACrG,QAAM,EAAE,UAAU,QAAQ,MAAM,MAAM,SAAS,SAAS,IAAI,QAAQ;AACpE,QAAM,QAAQH,QAAO;AAAA,IACnB,CAAC,GAAG,MAAM;AAAA,IACV,CAAC,GAAG,IAAI;AAAA,IACR,CAAC,GAAG,QAAQ;AAAA,EACd,CAAC;AACD,QAAM,MAAM,MAAM,QAAQ,CAAC,EAAE,CAAC;AAC9B,SAAO,EAAE,KAAK,QAAQ,MAAM,SAAS;AACvC;AAEO,IAAM,gCAAgC,CAAC,YAAsD;AAClG,QAAM,UAAUC,YAAW,OAAO;AAClC,QAAM,YAAYC,cAAa,OAAO;AACtC,QAAM,oBAAoBC,sBAAqB,OAAO;AACtD,SAAO,EAAE,SAAS,WAAW,kBAAkB;AACjD;;;AXhBO,IAAM,YAAY,OAAO,aAAqD;AACnF,QAAM,cAAc,SAAS,OAAO,+BAA+B,EAAE,IAAI,2BAA2B;AACpG,QAAM,eAAe,SAAS,OAAO,gCAAgC,EAAE,IAAI,4BAA4B;AACvG,QAAM,SAAS,SAAS,OAAO,0BAA0B,EAAE,IAAI,sBAAsB;AACrF,QAAM,YAAY,SAAS,OAAO,6BAA6B,EAAE,IAAI,yBAAyB;AAC9F,QAAM,gBAAgB,SAAS,OAAO,iCAAiC,EAAE,IAAI,6BAA6B;AAC1G,QAAM,mBAA8B,CAAC,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa;AAC/G,QAAM,MAAM,QAAQ,gBAAgB;AACpC,QAAM,YAAY,KAAK,IAAI;AAC3B,QAAM,UAAU,MAAM,IAAI,eAAmC,EAAE,QAAQ,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,UAAU,CAAC,EAAE,MAAM;AAChI,SAAO;AACT;;;AY9BO,IAAM,gCAA+D;AAGrE,IAAM,iCAAiE;;;AbQvE,IAAM,qBAAN,cACG,gBACiB;AAAA,EACzB,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,8BAA8B;AAAA,EAC1G,OAAyB,sBAA8B;AAAA,EACvD,OAAgB,eAAuBC;AAAA,EAEvC,MAAyB,cAAc,UAA0C;AAC/E,UAAM,OAAO,MAAM,UAAU,YAAY,CAAC,CAAC;AAC3C,WAAO,CAAC,IAAI;AAAA,EACd;AACF;;;AcvBA,SAAS,qBAAAC,0BAAyB;AAClC,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAIvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAACC,kBAAiB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EACjE;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,aAAQ,MAAM,mBAAmB,OAAO,MAAM;AAAA,IAChD;AAAA,EACF;AACF;","names":["EthereumGasSchema","getFeePerGas","getBaseFee","getFeePerGas","getPriorityFeePerGas","linear","getBaseFee","getFeePerGas","linear","getBaseFee","getFeePerGas","getPriorityFeePerGas","EthereumGasSchema","EthereumGasSchema","EthereumGasSchema"]}