permissionless
Version:
A utility library for working with ERC-4337
83 lines (75 loc) • 4.19 kB
text/typescript
import { describe, expect } from "vitest"
import { testWithRpc } from "../../../permissionless-test/src/testWithRpc"
import { getPimlicoClient } from "../../../permissionless-test/src/utils"
import { getUserOperationGasPrice } from "./getUserOperationGasPrice"
describe("getUserOperationGasPrice", () => {
testWithRpc("getUserOperationGasPrice", async ({ rpc }) => {
const pimlicoBundlerClient = getPimlicoClient({
entryPointVersion: "0.6",
altoRpc: rpc.altoRpc
})
const gasPrice = await getUserOperationGasPrice(pimlicoBundlerClient)
expect(gasPrice).toBeTruthy()
expect(gasPrice.slow).toBeTruthy()
expect(gasPrice.standard).toBeTruthy()
expect(gasPrice.fast).toBeTruthy()
expect(typeof gasPrice.slow.maxFeePerGas).toBe("bigint")
expect(gasPrice.slow.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.slow.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.slow.maxPriorityFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.standard.maxFeePerGas).toBe("bigint")
expect(gasPrice.standard.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.standard.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.standard.maxPriorityFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.fast.maxFeePerGas).toBe("bigint")
expect(gasPrice.fast.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.fast.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.fast.maxPriorityFeePerGas).toBeGreaterThan(0n)
})
testWithRpc("getUserOperationGasPrice", async ({ rpc }) => {
const pimlicoBundlerClient = getPimlicoClient({
entryPointVersion: "0.7",
altoRpc: rpc.altoRpc
})
const gasPrice = await getUserOperationGasPrice(pimlicoBundlerClient)
expect(gasPrice).toBeTruthy()
expect(gasPrice.slow).toBeTruthy()
expect(gasPrice.standard).toBeTruthy()
expect(gasPrice.fast).toBeTruthy()
expect(typeof gasPrice.slow.maxFeePerGas).toBe("bigint")
expect(gasPrice.slow.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.slow.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.slow.maxPriorityFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.standard.maxFeePerGas).toBe("bigint")
expect(gasPrice.standard.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.standard.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.standard.maxPriorityFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.fast.maxFeePerGas).toBe("bigint")
expect(gasPrice.fast.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.fast.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.fast.maxPriorityFeePerGas).toBeGreaterThan(0n)
})
testWithRpc("getUserOperationGasPrice", async ({ rpc }) => {
const pimlicoBundlerClient = getPimlicoClient({
entryPointVersion: "0.8",
altoRpc: rpc.altoRpc
})
const gasPrice = await getUserOperationGasPrice(pimlicoBundlerClient)
expect(gasPrice).toBeTruthy()
expect(gasPrice.slow).toBeTruthy()
expect(gasPrice.standard).toBeTruthy()
expect(gasPrice.fast).toBeTruthy()
expect(typeof gasPrice.slow.maxFeePerGas).toBe("bigint")
expect(gasPrice.slow.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.slow.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.slow.maxPriorityFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.standard.maxFeePerGas).toBe("bigint")
expect(gasPrice.standard.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.standard.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.standard.maxPriorityFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.fast.maxFeePerGas).toBe("bigint")
expect(gasPrice.fast.maxFeePerGas).toBeGreaterThan(0n)
expect(typeof gasPrice.fast.maxPriorityFeePerGas).toBe("bigint")
expect(gasPrice.fast.maxPriorityFeePerGas).toBeGreaterThan(0n)
})
})