Skip to content
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

Update 4337-gas-metering/pimlico ERC20 Paymaster to use v0.7 EntryPoint #294

Closed
remedcu opened this issue Mar 1, 2024 · 2 comments · Fixed by #401
Closed

Update 4337-gas-metering/pimlico ERC20 Paymaster to use v0.7 EntryPoint #294

remedcu opened this issue Mar 1, 2024 · 2 comments · Fixed by #401
Assignees

Comments

@remedcu
Copy link
Member

remedcu commented Mar 1, 2024

The current version uses v0.6 EntryPoint for gas metering. As the latest version is released, it is best to use the newest version for Gas Analysis.

Potential issues

  • The last time we attempted to benchmark the ERC20 Paymaster, we couldn't get enough USDC tokens supported by the Paymaster. The faucet drips 10 USDC daily, and one user operation costs 6-7 USDC on Base Sepolia and 530 USDC on Sepolia. It doesn't have any liquidity, either.

Expected Outcome

  • Using v0.7 EntryPoint with the compatible Safe 4337 Module and Pimlico ERC20 Paymaster
  • Table containing gas usage with Safe 4337 Module and Pimlico ERC20 Paymaster
nlordell pushed a commit that referenced this issue Mar 5, 2024
This PR updates the gas used for different types of transactions using
Safe with 4337 Module without using any paymaster.

PR #262 made the required change to use actual `EntryPoint` instead of
`TestEntryPoint`, thus the only change is updating the table with the
latest gas values.

This is part of the solution to PR #294 

Failing CI in `safe-modules-examples` will be rectified after #303
merges.
nlordell pushed a commit that referenced this issue Mar 5, 2024
This PR updates the gas used for different types of transactions using
Safe with 4337 Module without using any paymaster.

PR #262 made the required change to use actual `EntryPoint` instead of
`TestEntryPoint`, thus the only change is updating the table with the
latest gas values.

This is part of the solution to PR #294 

Failing CI in `safe-modules-examples` will be rectified after #303
merges.
@remedcu remedcu changed the title Update 4337-gas-metering to use v0.7 EntryPoint Update 4337-gas-metering/pimlico to use v0.7 EntryPoint Mar 11, 2024
@remedcu
Copy link
Member Author

remedcu commented Mar 12, 2024

As Pimlico is still working on their paymaster, this task cannot be completed within the current iteration (12). The intermediate state is pushed to the branch: pimlico-4337-gas-metering

remedcu added a commit that referenced this issue Mar 19, 2024
This PR just improves the `type` definition of `SAFE_ADDRESS_MAP` to
remove some of the linting errors.

P.S. `userOps` linting errors will be solved with either #294 or #316.
@nlordell nlordell changed the title Update 4337-gas-metering/pimlico to use v0.7 EntryPoint Update 4337-gas-metering to use v0.7 EntryPoint Apr 3, 2024
@nlordell nlordell changed the title Update 4337-gas-metering to use v0.7 EntryPoint Update 4337-gas-metering/pimlico to use v0.7 EntryPoint Apr 3, 2024
@nlordell nlordell assigned mmv08 and unassigned mmv08 Apr 12, 2024
@remedcu remedcu self-assigned this Apr 22, 2024
@nlordell
Copy link
Collaborator

nlordell commented May 2, 2024

Currently blocked because of Pimlico paymaster issues.

@mmv08 mmv08 self-assigned this May 15, 2024
@mmv08 mmv08 closed this as completed in #401 Jun 4, 2024
mmv08 added a commit that referenced this issue Jun 4, 2024
…, groundwork for `ERC20Paymaster` (#401)

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
- They use the official Circle's USDC deployments on testnets with no
liquidity, and the faucet drips 10 USDC daily. One user op costs around
7.
- There are some problems with gas pricing. Currently, it wants roughly
7 USDC for a user operation on Base Sepolia (approximately 2x higher
than the native token fee) and 537 USDC on Sepolia.

The Pimlico team have been informed regarding the same at the time of
writing this issue. Slack
[Link](https://5afe.slack.com/archives/C05JA2HFQ1J/p1716898930935779?thread_ts=1715862769.219249&cid=C05JA2HFQ1J).

## Changes completed/in-progress
- Using `base-sepolia` as well (`sepolia` sometimes has a high gas cost)
- Using new signing struct with the latest 4337 Safe Module
- Update of dependencies used in the Pimlico benchmark
- Code refactors and type improvements
- NPM scripts now explicitly contain the paymaster they should use
- Addition of `VERBOSE` environment variable that outputs handy logging
data to the console, which is very useful for debugging.
[Example](https://dashboard.tenderly.co/mikhail-gnosis/project/simulator/8f7d3c77-b98c-49fd-badf-b35e4f5310c5?trace=0.1.0.0.2.4.2.1.4.0.0.2.0)

---------

Co-authored-by: Mikhail <[email protected]>
@mmv08 mmv08 reopened this Jun 4, 2024
@mmv08 mmv08 changed the title Update 4337-gas-metering/pimlico to use v0.7 EntryPoint Update 4337-gas-metering/pimlico ERC20 Paymaster to use v0.7 EntryPoint Jun 4, 2024
@mmv08 mmv08 removed their assignment Jun 4, 2024
@mmv08 mmv08 self-assigned this Jun 6, 2024
mmv08 added a commit that referenced this issue Jun 6, 2024
This PR finishes #294 thanks to Pimlico deploying a custom paymaster
that used a mock usdc token
@mmv08 mmv08 closed this as completed Jun 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants