@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.
- package/dist/neutral/index.d.ts +45 -4
- package/dist/neutral/index.mjs +93 -218
- package/dist/neutral/index.mjs.map +1 -1
- package/package.json +25 -44
- package/src/index.ts +1 -1
- package/xy.config.ts +4 -5
- package/dist/browser/Diviner.d.cts +0 -16
- package/dist/browser/Diviner.d.cts.map +0 -1
- package/dist/browser/Diviner.d.mts +0 -16
- package/dist/browser/Diviner.d.mts.map +0 -1
- package/dist/browser/Diviner.d.ts +0 -16
- package/dist/browser/Diviner.d.ts.map +0 -1
- package/dist/browser/Plugin.d.cts +0 -19
- package/dist/browser/Plugin.d.cts.map +0 -1
- package/dist/browser/Plugin.d.mts +0 -19
- package/dist/browser/Plugin.d.mts.map +0 -1
- package/dist/browser/Plugin.d.ts +0 -19
- package/dist/browser/Plugin.d.ts.map +0 -1
- package/dist/browser/Schema.d.cts +0 -5
- package/dist/browser/Schema.d.cts.map +0 -1
- package/dist/browser/Schema.d.mts +0 -5
- package/dist/browser/Schema.d.mts.map +0 -1
- package/dist/browser/Schema.d.ts +0 -5
- package/dist/browser/Schema.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -401
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -4
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -4
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts +0 -4
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/index.mjs +0 -380
- package/dist/browser/index.mjs.map +0 -1
- package/dist/browser/lib/average.d.cts +0 -3
- package/dist/browser/lib/average.d.cts.map +0 -1
- package/dist/browser/lib/average.d.mts +0 -3
- package/dist/browser/lib/average.d.mts.map +0 -1
- package/dist/browser/lib/average.d.ts +0 -3
- package/dist/browser/lib/average.d.ts.map +0 -1
- package/dist/browser/lib/divineGas.d.cts +0 -4
- package/dist/browser/lib/divineGas.d.cts.map +0 -1
- package/dist/browser/lib/divineGas.d.mts +0 -4
- package/dist/browser/lib/divineGas.d.mts.map +0 -1
- package/dist/browser/lib/divineGas.d.ts +0 -4
- package/dist/browser/lib/divineGas.d.ts.map +0 -1
- package/dist/browser/lib/identities/index.d.cts +0 -6
- package/dist/browser/lib/identities/index.d.cts.map +0 -1
- package/dist/browser/lib/identities/index.d.mts +0 -6
- package/dist/browser/lib/identities/index.d.mts.map +0 -1
- package/dist/browser/lib/identities/index.d.ts +0 -6
- package/dist/browser/lib/identities/index.d.ts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.cts +0 -4
- package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.mts +0 -4
- package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts +0 -4
- package/dist/browser/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.cts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.cts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.mts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.cts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.mts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.cts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
- package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts +0 -4
- package/dist/browser/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
- package/dist/browser/lib/index.d.cts +0 -2
- package/dist/browser/lib/index.d.cts.map +0 -1
- package/dist/browser/lib/index.d.mts +0 -2
- package/dist/browser/lib/index.d.mts.map +0 -1
- package/dist/browser/lib/index.d.ts +0 -2
- package/dist/browser/lib/index.d.ts.map +0 -1
- package/dist/browser/lib/transforms/index.d.cts +0 -6
- package/dist/browser/lib/transforms/index.d.cts.map +0 -1
- package/dist/browser/lib/transforms/index.d.mts +0 -6
- package/dist/browser/lib/transforms/index.d.mts.map +0 -1
- package/dist/browser/lib/transforms/index.d.ts +0 -6
- package/dist/browser/lib/transforms/index.d.ts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromBlocknative.d.cts +0 -4
- package/dist/browser/lib/transforms/transformGasFromBlocknative.d.cts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromBlocknative.d.mts +0 -4
- package/dist/browser/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts +0 -4
- package/dist/browser/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.cts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.cts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.mts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEthers.d.cts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEthers.d.cts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEthers.d.mts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEthers.d.ts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEtherscan.d.cts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEtherscan.d.cts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEtherscan.d.mts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.cts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.cts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.mts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
- package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts +0 -4
- package/dist/browser/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
- package/dist/browser/test/index.d.cts +0 -6
- package/dist/browser/test/index.d.cts.map +0 -1
- package/dist/browser/test/index.d.mts +0 -6
- package/dist/browser/test/index.d.mts.map +0 -1
- package/dist/browser/test/index.d.ts +0 -6
- package/dist/browser/test/index.d.ts.map +0 -1
- package/dist/browser/test/sampleBlocknativeGas.d.cts +0 -3
- package/dist/browser/test/sampleBlocknativeGas.d.cts.map +0 -1
- package/dist/browser/test/sampleBlocknativeGas.d.mts +0 -3
- package/dist/browser/test/sampleBlocknativeGas.d.mts.map +0 -1
- package/dist/browser/test/sampleBlocknativeGas.d.ts +0 -3
- package/dist/browser/test/sampleBlocknativeGas.d.ts.map +0 -1
- package/dist/browser/test/sampleEtherchainGasV2.d.cts +0 -3
- package/dist/browser/test/sampleEtherchainGasV2.d.cts.map +0 -1
- package/dist/browser/test/sampleEtherchainGasV2.d.mts +0 -3
- package/dist/browser/test/sampleEtherchainGasV2.d.mts.map +0 -1
- package/dist/browser/test/sampleEtherchainGasV2.d.ts +0 -3
- package/dist/browser/test/sampleEtherchainGasV2.d.ts.map +0 -1
- package/dist/browser/test/sampleEthersGas.d.cts +0 -3
- package/dist/browser/test/sampleEthersGas.d.cts.map +0 -1
- package/dist/browser/test/sampleEthersGas.d.mts +0 -3
- package/dist/browser/test/sampleEthersGas.d.mts.map +0 -1
- package/dist/browser/test/sampleEthersGas.d.ts +0 -3
- package/dist/browser/test/sampleEthersGas.d.ts.map +0 -1
- package/dist/browser/test/sampleEtherscanGas.d.cts +0 -3
- package/dist/browser/test/sampleEtherscanGas.d.cts.map +0 -1
- package/dist/browser/test/sampleEtherscanGas.d.mts +0 -3
- package/dist/browser/test/sampleEtherscanGas.d.mts.map +0 -1
- package/dist/browser/test/sampleEtherscanGas.d.ts +0 -3
- package/dist/browser/test/sampleEtherscanGas.d.ts.map +0 -1
- package/dist/browser/test/sampleEthgasstationGas.d.cts +0 -3
- package/dist/browser/test/sampleEthgasstationGas.d.cts.map +0 -1
- package/dist/browser/test/sampleEthgasstationGas.d.mts +0 -3
- package/dist/browser/test/sampleEthgasstationGas.d.mts.map +0 -1
- package/dist/browser/test/sampleEthgasstationGas.d.ts +0 -3
- package/dist/browser/test/sampleEthgasstationGas.d.ts.map +0 -1
- package/dist/neutral/Diviner.d.cts +0 -16
- package/dist/neutral/Diviner.d.cts.map +0 -1
- package/dist/neutral/Diviner.d.mts +0 -16
- package/dist/neutral/Diviner.d.mts.map +0 -1
- package/dist/neutral/Diviner.d.ts +0 -16
- package/dist/neutral/Diviner.d.ts.map +0 -1
- package/dist/neutral/Plugin.d.cts +0 -19
- package/dist/neutral/Plugin.d.cts.map +0 -1
- package/dist/neutral/Plugin.d.mts +0 -19
- package/dist/neutral/Plugin.d.mts.map +0 -1
- package/dist/neutral/Plugin.d.ts +0 -19
- package/dist/neutral/Plugin.d.ts.map +0 -1
- package/dist/neutral/Schema.d.cts +0 -5
- package/dist/neutral/Schema.d.cts.map +0 -1
- package/dist/neutral/Schema.d.mts +0 -5
- package/dist/neutral/Schema.d.mts.map +0 -1
- package/dist/neutral/Schema.d.ts +0 -5
- package/dist/neutral/Schema.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -401
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -4
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -4
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/neutral/lib/average.d.cts +0 -3
- package/dist/neutral/lib/average.d.cts.map +0 -1
- package/dist/neutral/lib/average.d.mts +0 -3
- package/dist/neutral/lib/average.d.mts.map +0 -1
- package/dist/neutral/lib/average.d.ts +0 -3
- package/dist/neutral/lib/average.d.ts.map +0 -1
- package/dist/neutral/lib/divineGas.d.cts +0 -4
- package/dist/neutral/lib/divineGas.d.cts.map +0 -1
- package/dist/neutral/lib/divineGas.d.mts +0 -4
- package/dist/neutral/lib/divineGas.d.mts.map +0 -1
- package/dist/neutral/lib/divineGas.d.ts +0 -4
- package/dist/neutral/lib/divineGas.d.ts.map +0 -1
- package/dist/neutral/lib/identities/index.d.cts +0 -6
- package/dist/neutral/lib/identities/index.d.cts.map +0 -1
- package/dist/neutral/lib/identities/index.d.mts +0 -6
- package/dist/neutral/lib/identities/index.d.mts.map +0 -1
- package/dist/neutral/lib/identities/index.d.ts +0 -6
- package/dist/neutral/lib/identities/index.d.ts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.cts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.mts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.ts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.cts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.cts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.mts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.ts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.cts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.mts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.ts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.cts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.mts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
- package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.ts +0 -4
- package/dist/neutral/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
- package/dist/neutral/lib/index.d.cts +0 -2
- package/dist/neutral/lib/index.d.cts.map +0 -1
- package/dist/neutral/lib/index.d.mts +0 -2
- package/dist/neutral/lib/index.d.mts.map +0 -1
- package/dist/neutral/lib/index.d.ts +0 -2
- package/dist/neutral/lib/index.d.ts.map +0 -1
- package/dist/neutral/lib/transforms/index.d.cts +0 -6
- package/dist/neutral/lib/transforms/index.d.cts.map +0 -1
- package/dist/neutral/lib/transforms/index.d.mts +0 -6
- package/dist/neutral/lib/transforms/index.d.mts.map +0 -1
- package/dist/neutral/lib/transforms/index.d.ts +0 -6
- package/dist/neutral/lib/transforms/index.d.ts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.cts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.cts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.mts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.ts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.cts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.cts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.mts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.ts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEthers.d.cts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEthers.d.cts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEthers.d.mts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEthers.d.ts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.cts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.cts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.mts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.ts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.cts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.cts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.mts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
- package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.ts +0 -4
- package/dist/neutral/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
- package/dist/neutral/test/index.d.cts +0 -6
- package/dist/neutral/test/index.d.cts.map +0 -1
- package/dist/neutral/test/index.d.mts +0 -6
- package/dist/neutral/test/index.d.mts.map +0 -1
- package/dist/neutral/test/index.d.ts +0 -6
- package/dist/neutral/test/index.d.ts.map +0 -1
- package/dist/neutral/test/sampleBlocknativeGas.d.cts +0 -3
- package/dist/neutral/test/sampleBlocknativeGas.d.cts.map +0 -1
- package/dist/neutral/test/sampleBlocknativeGas.d.mts +0 -3
- package/dist/neutral/test/sampleBlocknativeGas.d.mts.map +0 -1
- package/dist/neutral/test/sampleBlocknativeGas.d.ts +0 -3
- package/dist/neutral/test/sampleBlocknativeGas.d.ts.map +0 -1
- package/dist/neutral/test/sampleEtherchainGasV2.d.cts +0 -3
- package/dist/neutral/test/sampleEtherchainGasV2.d.cts.map +0 -1
- package/dist/neutral/test/sampleEtherchainGasV2.d.mts +0 -3
- package/dist/neutral/test/sampleEtherchainGasV2.d.mts.map +0 -1
- package/dist/neutral/test/sampleEtherchainGasV2.d.ts +0 -3
- package/dist/neutral/test/sampleEtherchainGasV2.d.ts.map +0 -1
- package/dist/neutral/test/sampleEthersGas.d.cts +0 -3
- package/dist/neutral/test/sampleEthersGas.d.cts.map +0 -1
- package/dist/neutral/test/sampleEthersGas.d.mts +0 -3
- package/dist/neutral/test/sampleEthersGas.d.mts.map +0 -1
- package/dist/neutral/test/sampleEthersGas.d.ts +0 -3
- package/dist/neutral/test/sampleEthersGas.d.ts.map +0 -1
- package/dist/neutral/test/sampleEtherscanGas.d.cts +0 -3
- package/dist/neutral/test/sampleEtherscanGas.d.cts.map +0 -1
- package/dist/neutral/test/sampleEtherscanGas.d.mts +0 -3
- package/dist/neutral/test/sampleEtherscanGas.d.mts.map +0 -1
- package/dist/neutral/test/sampleEtherscanGas.d.ts +0 -3
- package/dist/neutral/test/sampleEtherscanGas.d.ts.map +0 -1
- package/dist/neutral/test/sampleEthgasstationGas.d.cts +0 -3
- package/dist/neutral/test/sampleEthgasstationGas.d.cts.map +0 -1
- package/dist/neutral/test/sampleEthgasstationGas.d.mts +0 -3
- package/dist/neutral/test/sampleEthgasstationGas.d.mts.map +0 -1
- package/dist/neutral/test/sampleEthgasstationGas.d.ts +0 -3
- package/dist/neutral/test/sampleEthgasstationGas.d.ts.map +0 -1
- package/dist/node/Diviner.d.cts +0 -16
- package/dist/node/Diviner.d.cts.map +0 -1
- package/dist/node/Diviner.d.mts +0 -16
- package/dist/node/Diviner.d.mts.map +0 -1
- package/dist/node/Diviner.d.ts +0 -16
- package/dist/node/Diviner.d.ts.map +0 -1
- package/dist/node/Plugin.d.cts +0 -19
- package/dist/node/Plugin.d.cts.map +0 -1
- package/dist/node/Plugin.d.mts +0 -19
- package/dist/node/Plugin.d.mts.map +0 -1
- package/dist/node/Plugin.d.ts +0 -19
- package/dist/node/Plugin.d.ts.map +0 -1
- package/dist/node/Schema.d.cts +0 -5
- package/dist/node/Schema.d.cts.map +0 -1
- package/dist/node/Schema.d.mts +0 -5
- package/dist/node/Schema.d.mts.map +0 -1
- package/dist/node/Schema.d.ts +0 -5
- package/dist/node/Schema.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -415
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -4
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -4
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts +0 -4
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/index.mjs +0 -387
- package/dist/node/index.mjs.map +0 -1
- package/dist/node/lib/average.d.cts +0 -3
- package/dist/node/lib/average.d.cts.map +0 -1
- package/dist/node/lib/average.d.mts +0 -3
- package/dist/node/lib/average.d.mts.map +0 -1
- package/dist/node/lib/average.d.ts +0 -3
- package/dist/node/lib/average.d.ts.map +0 -1
- package/dist/node/lib/divineGas.d.cts +0 -4
- package/dist/node/lib/divineGas.d.cts.map +0 -1
- package/dist/node/lib/divineGas.d.mts +0 -4
- package/dist/node/lib/divineGas.d.mts.map +0 -1
- package/dist/node/lib/divineGas.d.ts +0 -4
- package/dist/node/lib/divineGas.d.ts.map +0 -1
- package/dist/node/lib/identities/index.d.cts +0 -6
- package/dist/node/lib/identities/index.d.cts.map +0 -1
- package/dist/node/lib/identities/index.d.mts +0 -6
- package/dist/node/lib/identities/index.d.mts.map +0 -1
- package/dist/node/lib/identities/index.d.ts +0 -6
- package/dist/node/lib/identities/index.d.ts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.cts +0 -4
- package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.cts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts +0 -4
- package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.mts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts +0 -4
- package/dist/node/lib/identities/isEthereumGasBlocknativePayload.d.ts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.cts +0 -4
- package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.cts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts +0 -4
- package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.mts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts +0 -4
- package/dist/node/lib/identities/isEthereumGasEtherchainV2Payload.d.ts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEthersPayload.d.cts +0 -4
- package/dist/node/lib/identities/isEthereumGasEthersPayload.d.cts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts +0 -4
- package/dist/node/lib/identities/isEthereumGasEthersPayload.d.mts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts +0 -4
- package/dist/node/lib/identities/isEthereumGasEthersPayload.d.ts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.cts +0 -4
- package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.cts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts +0 -4
- package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.mts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts +0 -4
- package/dist/node/lib/identities/isEthereumGasEtherscanPayload.d.ts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.cts +0 -4
- package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.cts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts +0 -4
- package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.mts.map +0 -1
- package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts +0 -4
- package/dist/node/lib/identities/isEthereumGasEthgasstationPayload.d.ts.map +0 -1
- package/dist/node/lib/index.d.cts +0 -2
- package/dist/node/lib/index.d.cts.map +0 -1
- package/dist/node/lib/index.d.mts +0 -2
- package/dist/node/lib/index.d.mts.map +0 -1
- package/dist/node/lib/index.d.ts +0 -2
- package/dist/node/lib/index.d.ts.map +0 -1
- package/dist/node/lib/transforms/index.d.cts +0 -6
- package/dist/node/lib/transforms/index.d.cts.map +0 -1
- package/dist/node/lib/transforms/index.d.mts +0 -6
- package/dist/node/lib/transforms/index.d.mts.map +0 -1
- package/dist/node/lib/transforms/index.d.ts +0 -6
- package/dist/node/lib/transforms/index.d.ts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromBlocknative.d.cts +0 -4
- package/dist/node/lib/transforms/transformGasFromBlocknative.d.cts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts +0 -4
- package/dist/node/lib/transforms/transformGasFromBlocknative.d.mts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts +0 -4
- package/dist/node/lib/transforms/transformGasFromBlocknative.d.ts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.cts +0 -4
- package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.cts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts +0 -4
- package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.mts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts +0 -4
- package/dist/node/lib/transforms/transformGasFromEtherchainV2.d.ts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEthers.d.cts +0 -4
- package/dist/node/lib/transforms/transformGasFromEthers.d.cts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEthers.d.mts +0 -4
- package/dist/node/lib/transforms/transformGasFromEthers.d.mts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEthers.d.ts +0 -4
- package/dist/node/lib/transforms/transformGasFromEthers.d.ts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEtherscan.d.cts +0 -4
- package/dist/node/lib/transforms/transformGasFromEtherscan.d.cts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts +0 -4
- package/dist/node/lib/transforms/transformGasFromEtherscan.d.mts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts +0 -4
- package/dist/node/lib/transforms/transformGasFromEtherscan.d.ts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEthgasstation.d.cts +0 -4
- package/dist/node/lib/transforms/transformGasFromEthgasstation.d.cts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts +0 -4
- package/dist/node/lib/transforms/transformGasFromEthgasstation.d.mts.map +0 -1
- package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts +0 -4
- package/dist/node/lib/transforms/transformGasFromEthgasstation.d.ts.map +0 -1
- package/dist/node/test/index.d.cts +0 -6
- package/dist/node/test/index.d.cts.map +0 -1
- package/dist/node/test/index.d.mts +0 -6
- package/dist/node/test/index.d.mts.map +0 -1
- package/dist/node/test/index.d.ts +0 -6
- package/dist/node/test/index.d.ts.map +0 -1
- package/dist/node/test/sampleBlocknativeGas.d.cts +0 -3
- package/dist/node/test/sampleBlocknativeGas.d.cts.map +0 -1
- package/dist/node/test/sampleBlocknativeGas.d.mts +0 -3
- package/dist/node/test/sampleBlocknativeGas.d.mts.map +0 -1
- package/dist/node/test/sampleBlocknativeGas.d.ts +0 -3
- package/dist/node/test/sampleBlocknativeGas.d.ts.map +0 -1
- package/dist/node/test/sampleEtherchainGasV2.d.cts +0 -3
- package/dist/node/test/sampleEtherchainGasV2.d.cts.map +0 -1
- package/dist/node/test/sampleEtherchainGasV2.d.mts +0 -3
- package/dist/node/test/sampleEtherchainGasV2.d.mts.map +0 -1
- package/dist/node/test/sampleEtherchainGasV2.d.ts +0 -3
- package/dist/node/test/sampleEtherchainGasV2.d.ts.map +0 -1
- package/dist/node/test/sampleEthersGas.d.cts +0 -3
- package/dist/node/test/sampleEthersGas.d.cts.map +0 -1
- package/dist/node/test/sampleEthersGas.d.mts +0 -3
- package/dist/node/test/sampleEthersGas.d.mts.map +0 -1
- package/dist/node/test/sampleEthersGas.d.ts +0 -3
- package/dist/node/test/sampleEthersGas.d.ts.map +0 -1
- package/dist/node/test/sampleEtherscanGas.d.cts +0 -3
- package/dist/node/test/sampleEtherscanGas.d.cts.map +0 -1
- package/dist/node/test/sampleEtherscanGas.d.mts +0 -3
- package/dist/node/test/sampleEtherscanGas.d.mts.map +0 -1
- package/dist/node/test/sampleEtherscanGas.d.ts +0 -3
- package/dist/node/test/sampleEtherscanGas.d.ts.map +0 -1
- package/dist/node/test/sampleEthgasstationGas.d.cts +0 -3
- package/dist/node/test/sampleEthgasstationGas.d.cts.map +0 -1
- package/dist/node/test/sampleEthgasstationGas.d.mts +0 -3
- package/dist/node/test/sampleEthgasstationGas.d.mts.map +0 -1
- package/dist/node/test/sampleEthgasstationGas.d.ts +0 -3
- package/dist/node/test/sampleEthgasstationGas.d.ts.map +0 -1
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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 };
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -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 =
|
|
15
|
-
var averageProperty =
|
|
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
|
-
}
|
|
18
|
-
var average =
|
|
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
|
-
}
|
|
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 =
|
|
37
|
+
var isEthereumGasBlocknativePayload = (payload) => {
|
|
41
38
|
return payload?.schema === EthereumGasBlocknativeSchema;
|
|
42
|
-
}
|
|
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 =
|
|
43
|
+
var isEthereumGasEtherchainV2Payload = (payload) => {
|
|
47
44
|
return payload?.schema === EthereumGasEtherchainV2Schema;
|
|
48
|
-
}
|
|
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 =
|
|
49
|
+
var isEthereumGasEtherscanPayload = (payload) => {
|
|
53
50
|
return payload?.schema === EthereumGasEtherscanSchema;
|
|
54
|
-
}
|
|
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 =
|
|
55
|
+
var isEthereumGasEthersPayload = (payload) => {
|
|
59
56
|
return payload?.schema === EthereumGasEthersSchema;
|
|
60
|
-
}
|
|
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 =
|
|
61
|
+
var isEthereumGasEthgasstationPayload = (payload) => {
|
|
65
62
|
return payload?.schema === EthereumGasEthgasstationSchema;
|
|
66
|
-
}
|
|
63
|
+
};
|
|
67
64
|
|
|
68
65
|
// src/lib/transforms/transformGasFromBlocknative.ts
|
|
69
66
|
import { linear } from "regression";
|
|
70
|
-
var getBaseFee =
|
|
67
|
+
var getBaseFee = (payload) => {
|
|
71
68
|
return payload?.blockPrices?.[0]?.baseFeePerGas;
|
|
72
|
-
}
|
|
73
|
-
var getFeePerGas =
|
|
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
|
-
|
|
78
|
-
|
|
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
|
-
}
|
|
105
|
-
var getPriorityFeePerGas =
|
|
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
|
-
|
|
110
|
-
|
|
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
|
-
}
|
|
137
|
-
var transformGasFromBlocknative =
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
157
|
-
|
|
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
|
-
|
|
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 =
|
|
128
|
+
var getBaseFee2 = (payload) => {
|
|
175
129
|
const { gasPrice } = payload;
|
|
176
130
|
return gasPrice ? gasPrice / 1e9 : void 0;
|
|
177
|
-
}
|
|
178
|
-
var getFeePerGas3 =
|
|
131
|
+
};
|
|
132
|
+
var getFeePerGas3 = (payload) => {
|
|
179
133
|
const { maxFeePerGas } = payload;
|
|
180
134
|
const high = maxFeePerGas ? maxFeePerGas / 1e9 : void 0;
|
|
181
|
-
return {
|
|
182
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 =
|
|
151
|
+
var getBaseFee3 = (payload) => {
|
|
206
152
|
const { suggestBaseFee } = payload.result;
|
|
207
153
|
return Number.parseFloat(suggestBaseFee);
|
|
208
|
-
}
|
|
209
|
-
var getFeePerGas4 =
|
|
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
|
-
|
|
217
|
-
|
|
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
|
-
|
|
230
|
-
|
|
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
|
-
|
|
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 =
|
|
176
|
+
var getBaseFee4 = (payload) => {
|
|
249
177
|
const { baseFee } = payload;
|
|
250
178
|
return baseFee;
|
|
251
|
-
}
|
|
252
|
-
var getFeePerGas5 =
|
|
179
|
+
};
|
|
180
|
+
var getFeePerGas5 = (payload) => {
|
|
253
181
|
const { standard: medium, fast: high, instant: veryHigh } = payload.gasPrice;
|
|
254
182
|
const trend = linear3([
|
|
255
|
-
[
|
|
256
|
-
|
|
257
|
-
|
|
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
|
-
|
|
271
|
-
|
|
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
|
-
|
|
281
|
-
|
|
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
|
-
|
|
295
|
-
|
|
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
|
-
|
|
306
|
-
feePerGas,
|
|
307
|
-
priorityFeePerGas
|
|
308
|
-
};
|
|
309
|
-
}, "transformGasFromEthgasstation");
|
|
204
|
+
return { baseFee, feePerGas, priorityFeePerGas };
|
|
205
|
+
};
|
|
310
206
|
|
|
311
207
|
// src/lib/divineGas.ts
|
|
312
|
-
var divineGas =
|
|
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
|
-
}
|
|
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 =
|
|
364
|
-
required: {
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
|
|
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":"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","names":["EthereumGasSchema","getFeePerGas","getBaseFee","getFeePerGas","getPriorityFeePerGas","linear","getBaseFee","getFeePerGas","linear","getBaseFee","getFeePerGas","getPriorityFeePerGas","EthereumGasSchema","EthereumGasSchema","EthereumGasSchema"]}
|