-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
4337 Gas metering: Pimlico VerifyingPaymaster
results, refactorings, groundwork for ERC20Paymaster
#401
Conversation
examples/4337-gas-metering
…gas-metering-pimlico
Pull Request Test Coverage Report for Build 9098338109Details
💛 - Coveralls |
Pull Request Test Coverage Report for Build 9268898453Details
💛 - Coveralls |
405e82f
to
91fda80
Compare
a4dfec9
to
0f3c8af
Compare
9c49db7
to
0edbbfe
Compare
0edbbfe
to
47eb42b
Compare
d1d1835
to
11d6e08
Compare
…sfer fails for some reason
…gas-metering-pimlico
70dff12
to
582d503
Compare
582d503
to
721ca19
Compare
df49f75
to
13048d3
Compare
13048d3
to
2adf240
Compare
examples/4337-gas-metering
VerifyingPaymaster
results, refactorings, groundwork for ERC20Paymaster
724ec2f
to
8df23d5
Compare
examples/4337-gas-metering/README.md
Outdated
| | **With 4337?** | **Account Creation** | **Account Creation + Native Transfer** | **Native Transfer** | **Account Creation + ERC20 Transfer** | **ERC20 Transfer** | **Account Creation + ERC721 Minting** | **ERC721 Minting** | | ||
| ---------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ||
| **[Without Paymaster](../../modules/4337/test/gas/Gas.spec.ts)** | Yes | 415213 | 447632 | 182081 | 426139 | 160575 | 467926 | 202374 | | ||
| **Gelato (4337 Compatible - 1Balance)** | No | 302679 ([TX](https://sepolia.basescan.org/tx/0x1b2f743dff63dfc6e01e18623cb8d692d4a1cf206008358fac3eaf8fd5957c91)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0x1b2f743dff63dfc6e01e18623cb8d692d4a1cf206008358fac3eaf8fd5957c91/gas-usage)) | 313228 ([TX](https://sepolia.basescan.org/tx/0xddbd655b8a11cf043c535c2d6dbe14aa82925d444a0d4bb5378670993ad1862c)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0xddbd655b8a11cf043c535c2d6dbe14aa82925d444a0d4bb5378670993ad1862c/gas-usage)) | 83930 ([TX](https://sepolia.basescan.org/tx/0x162b8817fe9cbbccb905c4b51cc25cbf2625afa1e5341087a4e79b9bb6834fc6)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0x162b8817fe9cbbccb905c4b51cc25cbf2625afa1e5341087a4e79b9bb6834fc6/gas-usage)) | 315961 ([TX](https://sepolia.basescan.org/tx/0x1043acb58c89667d26360f23532d6eee4ab927b20ba37035fb3ffb8cc71c224b)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0x1043acb58c89667d26360f23532d6eee4ab927b20ba37035fb3ffb8cc71c224b/gas-usage)) | 86852 ([TX](https://sepolia.basescan.org/tx/0x6c6ccadea5e54aa47b36c603132b315f1cf15e75e96c0376a7c76ae48f69a006)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0x6c6ccadea5e54aa47b36c603132b315f1cf15e75e96c0376a7c76ae48f69a006/gas-usage)) | 345284 ([TX](https://sepolia.basescan.org/tx/0xd49b482ff37f07f12fc1688a2af33b4451d63409fe547f9cf2e660422866da3e)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0xd49b482ff37f07f12fc1688a2af33b4451d63409fe547f9cf2e660422866da3e/gas-usage)) | 116159 ([TX](https://sepolia.basescan.org/tx/0x5814be99c937b6e7386f3526fe9f11fc1bf7a21180daf66ee2e44cc1e4d0da3d)) ([Gas](https://dashboard.tenderly.co/tx/base-sepolia/0x5814be99c937b6e7386f3526fe9f11fc1bf7a21180daf66ee2e44cc1e4d0da3d/gas-usage)) | | ||
| **Pimlico (USDC Paymaster)** | Yes | 506573 ([TX](https://mumbai.polygonscan.com/tx/0x3c6284e4df1686d699d2bc4cca04a25ecc76d68a73665ca53d466e6bd6bedf28)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0x3c6284e4df1686d699d2bc4cca04a25ecc76d68a73665ca53d466e6bd6bedf28/gas-usage)) | 511055 ([TX](https://mumbai.polygonscan.com/tx/0x8bc4e42b076d22e0fc3418eba40c65caab6e3a10c1fbb10cbeee4a7fbfa8b4b3)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0x8bc4e42b076d22e0fc3418eba40c65caab6e3a10c1fbb10cbeee4a7fbfa8b4b3/gas-usage)) | 199262 ([TX](https://mumbai.polygonscan.com/tx/0x46cdfc14649087609f69411fc41f5feb4dc23a6ea9255928b932841858e5f186)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0x46cdfc14649087609f69411fc41f5feb4dc23a6ea9255928b932841858e5f186/gas-usage)) | 514156 ([TX](https://mumbai.polygonscan.com/tx/0xa5cf461800341c2e9934608ff55aeda26d1a3e7da4f5bc9f3cce3fd185409623)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xa5cf461800341c2e9934608ff55aeda26d1a3e7da4f5bc9f3cce3fd185409623/gas-usage)) | 202387 ([TX](https://mumbai.polygonscan.com/tx/0xdc21ae13dc92eb48851fa62f57c74f3a0085acf81343d9aaaa14fcc3c6911f91)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xdc21ae13dc92eb48851fa62f57c74f3a0085acf81343d9aaaa14fcc3c6911f91/gas-usage)) | 543411 ([TX](https://mumbai.polygonscan.com/tx/0xcd6c137474be4f002822498e032ad9b78b0505bd4db495ee65fc602ec1a7f006)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xcd6c137474be4f002822498e032ad9b78b0505bd4db495ee65fc602ec1a7f006/gas-usage)) | 231619 ([TX](https://mumbai.polygonscan.com/tx/0x31732175d3f3b35c9c2a38e841bcd485085edf79e7f3c532ec7997c4993c0192)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0x31732175d3f3b35c9c2a38e841bcd485085edf79e7f3c532ec7997c4993c0192/gas-usage)) | | ||
| **Pimlico (MATIC - Gas Policy)** | Yes | 448172 ([TX](https://mumbai.polygonscan.com/tx/0xd51d026ecfa6dbafa8aac8a138badc6e3b397683117878e360bae9051a3b733a)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xd51d026ecfa6dbafa8aac8a138badc6e3b397683117878e360bae9051a3b733a/gas-usage)) | 455615 ([TX](https://mumbai.polygonscan.com/tx/0xdd966b95b6625be33ae37f6c5bb1ad33798afbbd899089acad1180005d0637c4)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xdd966b95b6625be33ae37f6c5bb1ad33798afbbd899089acad1180005d0637c4/gas-usage)) | 123064 ([TX](https://mumbai.polygonscan.com/tx/0xca2e41e24c6206011fe0d932f27a2786c7d9486c93f63d96c131c5007e2b275e)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xca2e41e24c6206011fe0d932f27a2786c7d9486c93f63d96c131c5007e2b275e/gas-usage)) | 459014 ([TX](https://mumbai.polygonscan.com/tx/0xbd4c79d876ae928bbc721501029b01dbc5fc94d91d6299f548f19289f7c1c271)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xbd4c79d876ae928bbc721501029b01dbc5fc94d91d6299f548f19289f7c1c271/gas-usage)) | 126461 ([TX](https://mumbai.polygonscan.com/tx/0xd2b130bc2f26cfe43041f7102601425674e2cd22a6b74672b907b28e70686496)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xd2b130bc2f26cfe43041f7102601425674e2cd22a6b74672b907b28e70686496/gas-usage)) | 488186 ([TX](https://mumbai.polygonscan.com/tx/0x454a3a5a39432f7b01a70fcddfef948d20c70d2d719aea30d402d693447fa535)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0x454a3a5a39432f7b01a70fcddfef948d20c70d2d719aea30d402d693447fa535/gas-usage)) | 155645 ([TX](https://mumbai.polygonscan.com/tx/0xa148a4938de9883b2fbcd512e3c7161e78ca695843b6e535fdb5054b88872652)) ([Gas](https://dashboard.tenderly.co/tx/mumbai/0xa148a4938de9883b2fbcd512e3c7161e78ca695843b6e535fdb5054b88872652/gas-usage)) | | ||
| **Alchemy (ETH from Safe)** | Yes | 417074 ([TX](https://sepolia.etherscan.io/tx/0x03c507f5dc14c6b6af04c5ad722f0650d86925837d9889e4972cb087e34d7b88)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x03c507f5dc14c6b6af04c5ad722f0650d86925837d9889e4972cb087e34d7b88/gas-usage)) | 424505 ([TX](https://sepolia.etherscan.io/tx/0x0263331d8d4568c08d4a700385c08062ee0342fe6f65b2c7eb1a194ddec23ec2)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x0263331d8d4568c08d4a700385c08062ee0342fe6f65b2c7eb1a194ddec23ec2/gas-usage)) | 107057 ([TX](https://sepolia.etherscan.io/tx/0xf4e38d9f3535dcb9519ca3527734a5ea611a0d1bafb632051736537853eb502b)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0xf4e38d9f3535dcb9519ca3527734a5ea611a0d1bafb632051736537853eb502b/gas-usage)) | 427599 ([TX](https://sepolia.etherscan.io/tx/0x794b02531f14b6c432c0dcf08d1cb76a8693dd75b35c5dde0d4547754d208143)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x794b02531f14b6c432c0dcf08d1cb76a8693dd75b35c5dde0d4547754d208143/gas-usage)) | 110174 ([TX](https://sepolia.etherscan.io/tx/0xb56985ee07b1e7931aedc387698620d890c99992c4c688b8b3a150f355089e5d)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0xb56985ee07b1e7931aedc387698620d890c99992c4c688b8b3a150f355089e5d/gas-usage)) | 456870 ([TX](https://sepolia.etherscan.io/tx/0x2d2a0c8215821f0aa9cf8f88175aa8256cdca1a2928f2aa667916e5127f5dcb6)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x2d2a0c8215821f0aa9cf8f88175aa8256cdca1a2928f2aa667916e5127f5dcb6/gas-usage)) | 139420 ([TX](https://sepolia.etherscan.io/tx/0x178d2c16a261dcb49e810bf39ce35cf96cbab8c7d3235709c7164ba6193c716e)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x178d2c16a261dcb49e810bf39ce35cf96cbab8c7d3235709c7164ba6193c716e/gas-usage)) | | ||
| **Alchemy (ETH - Gas Policy)** | Yes | 411372 ([TX](https://sepolia.etherscan.io/tx/0xcbb2c3c49b9d72d9ecf692308d69a8ad797ab5b1c6603f4fad989f966d692af1)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0xcbb2c3c49b9d72d9ecf692308d69a8ad797ab5b1c6603f4fad989f966d692af1/gas-usage)) | 418779 ([TX](https://sepolia.etherscan.io/tx/0x49fbedf833cfecf9db7de56c61d4227292723115520600dbc3711da5e6a85672)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x49fbedf833cfecf9db7de56c61d4227292723115520600dbc3711da5e6a85672/gas-usage)) | 130202 ([TX](https://sepolia.etherscan.io/tx/0x35f1e5b04d988e4614a17609190b3e21b0a9892f78da9f400248cfb3b5afde9a)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x35f1e5b04d988e4614a17609190b3e21b0a9892f78da9f400248cfb3b5afde9a/gas-usage)) | 421926 ([TX](https://sepolia.etherscan.io/tx/0x7dda913ae986d49c4322f414102ae374441a40adb4b33727e568ba140904d52a)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0x7dda913ae986d49c4322f414102ae374441a40adb4b33727e568ba140904d52a/gas-usage)) | 133394 ([TX](https://sepolia.etherscan.io/tx/0xe34902ebd5377cac04c47d142f6ca2de558df63a7e0c6541f704df651b7cfcb1)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0xe34902ebd5377cac04c47d142f6ca2de558df63a7e0c6541f704df651b7cfcb1/gas-usage)) | 451200 ([TX](https://sepolia.etherscan.io/tx/0xb1253508bc4ca5ce41222b15b0e7bf03b2273bcb09d93e1d6d6a5ea39b43ee84)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0xb1253508bc4ca5ce41222b15b0e7bf03b2273bcb09d93e1d6d6a5ea39b43ee84/gas-usage)) | 162654 ([TX](https://sepolia.etherscan.io/tx/0xd13fb70626a26aaa02e0389cd9347c1c0d8d8ed9ee794a61c5d3eea4b36e239a)) ([Gas](https://dashboard.tenderly.co/tx/sepolia/0xd13fb70626a26aaa02e0389cd9347c1c0d8d8ed9ee794a61c5d3eea4b36e239a/gas-usage)) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Open question:
What do you think about removing this summary table? Reasons for doing so:
- We duplicate the data in 3 places: summary table, individual table and logs in the individual benchmarks folders. It feels like an overhead
- The table format makes it a nightmare to work with.
- The cognitive overhead of comparing individual results is not crazy due to the low amount of entries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively, I'd remove the individual tables since the summary tables already contain a link to the detailed gas usage breakdown.
(Although I prefer the format of individual tables to this one)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We went for both summary and individual table because the original requirement needed detailed information in each type (summary) and each part of the transaction (individual).
Though, we could remove the logs 👍🏾
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair enough, I'll remove them and update the summary table once I return next week. Or if you have capacity, I'd appreciate your help 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, we would be able to do this programmatically instead of requiring multiple updates. Not in scope for this sprint, but some potential tech debt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if tenderly supports that, I have asked them in the channel.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should be able to do this without Tenderly. The entrypoint supports delegatecall
simulations that could be used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New question related to the summary table @remedcu @nlordell:
The table uses the bundler’s ethereum transaction gas instead of the user operation gas used. Would it make sense to use the latter? Reason: To compare this number across the available bundlers, we’d require all bundlers to include only a single user op in a transaction, which can’t be guaranteed. Also, if the bundler decides to execute arbitrary logic (which affects the number, but we’re only paying for the user op) this would affect the comparison
Another example that highlights that transaction gas limit might not be what you're paying to the bundler:
ERC721 Minting User Op with Pimlico Verifying Paymaster:
Gas Used (Account or Paymaster): 170150
Gas Used (Transaction): 152766
The first number is the user operation, the second is the actual ethereum transaction
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With ERC20 Paymaster, using the user operation gas we paid for the user op makes sense. But with the gas policy one, using the former might be better as we are not paying the gas for that (at least directly in some cases, where the policy is sponsored by say a protocol or company) to make the sponsors aware if extra arbitrary logic is being executed with the transaction and which bundler's gas policy might be the right approach.
@@ -126,7 +133,7 @@ export const mintERC20Token = async ( | |||
|
|||
export const transferERC20Token = async ( | |||
erc20TokenAddress: Address, | |||
publicClient: PublicClient, | |||
publicClient: PublicClient<HttpTransport, typeof baseSepolia | typeof sepolia>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into some type issues after dependency updates and had to make this more specific
export const getERC20Balance = async (erc20TokenAddress: Address, publicClient: PublicClient, owner: Address): Promise<bigint> => { | ||
export const getERC20Balance = async ( | ||
erc20TokenAddress: Address, | ||
publicClient: PublicClient<HttpTransport, typeof baseSepolia | typeof sepolia>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into some type issues after dependency updates and had to make this more specific
export const getERC20Decimals = async (erc20TokenAddress: Address, publicClient: PublicClient): Promise<bigint> => { | ||
export const getERC20Decimals = async ( | ||
erc20TokenAddress: Address, | ||
publicClient: PublicClient<HttpTransport, typeof baseSepolia | typeof sepolia>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into some type issues after dependency updates and had to make this more specific
@@ -9,7 +19,7 @@ const alchemyRPCURL = process.env.ALCHEMY_RPC_URL | |||
const gelatoRPCURL = process.env.GELATO_RPC_URL | |||
|
|||
export const transferETH = async ( | |||
publicClient: PublicClient, | |||
publicClient: PublicClient<HttpTransport, typeof baseSepolia | typeof sepolia | typeof goerli>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into some type issues after dependency updates and had to make this more specific
@@ -47,7 +49,7 @@ export const getGelatoCallData = async ({ | |||
}: { | |||
safe: Address | |||
owner: PrivateKeyAccount | |||
publicClient: PublicClient | |||
publicClient: PublicClient<Transport<'http'>, typeof sepolia | typeof baseSepolia> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into some type issues after dependency updates and had to make this more specific
@@ -165,45 +167,46 @@ const getInitializerCode = async ({ | |||
}) | |||
} | |||
|
|||
const multiSendCallData = encodeMultiSend(setupTxs) | |||
const recipient = setupTxs.length > 1 ? multiSendAddress : safeModuleSetupAddress |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previously, it'd execute the module setup through a multisend, even if there was one transaction. I added a condition that it only does so if we need more than one setup transaction.
}) | ||
console.log('\nInit Code Created.') | ||
|
||
// Get Safe Address Counterfactually. | ||
const senderAddress = await getAccountAddress({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Potential improvement: both getAccountInitCode
and getAccountAddress
compute the initializer
, which is error-prone. If you mistakenly pass different data to one of them, they won't match.
8df23d5
to
1d7119d
Compare
1d7119d
to
ab423c9
Compare
@@ -46,6 +45,9 @@ GELATO_ERC721_TOKEN_CONTRACT = "0xf13eca34092D27cbF91cD377eFB261704C687a05" | |||
# Safe Values | |||
SAFE_VERSION = "1.4.1" | |||
|
|||
# Verbose Logging | |||
VERBOSE = "True" # Set to "True" for verbose logging. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
VERBOSE = "True" # Set to "True" for verbose logging. | |
VERBOSE = "true" # Set to "True" for verbose logging. |
df233e0
to
5a3f39d
Compare
@@ -10,14 +10,14 @@ NOTE: If you run a paymaster analysis twice or more without changing the salt fo | |||
|
|||
## Gas Usage Results | |||
|
|||
| | **With 4337?** | **Account Creation** | **Account Creation + Native Transfer** | **Native Transfer** | **Account Creation + ERC20 Transfer** | **ERC20 Transfer** | **Account Creation + ERC721 Minting** | **ERC721 Minting** | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we have a column specifying the Entrypoint version instead of in the name?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the name is better because it is reusable for detailed runs and provides information about the entrypoint used. If we add a column and remove it from the name, then we'll have an open question about where to add it in the detailed breakdown
@@ -33,17 +33,17 @@ NOTE: If you run a paymaster analysis twice or more without changing the salt fo | |||
| Account Creation + ERC721 Minting | 543411 | 511739 | 321204 | 307459 | 15069 | 101268 | 46150 | 43373 | | |||
| ERC721 Minting | 231619 | 206939 | NA | NA | 20558 | 103281 | 48150 | 45373 | | |||
|
|||
### Pimlico (MATIC - Gas Policy) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we specify this is based on EntryPoint v0.7?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I copied all the names to match 1:1
00798bd
to
f92f382
Compare
This PR updates the Pimlico benchmarking code to use the new v0.7 entrypoint and the new paymaster from Pimlico. Partially fixes #294 (Partially because there are blockers related to the ERC20 Paymaster; I will describe them below)
Current Blockers For ERC20 Paymaster
The Pimlico team have been informed regarding the same at the time of writing this issue. Slack Link.
Changes completed/in-progress
base-sepolia
as well (sepolia
sometimes has a high gas cost)VERBOSE
environment variable that outputs handy logging data to the console, which is very useful for debugging. Example