Releases: stackup-wallet/stackup-bundler
v0.3.1
Release notes
This patch release includes a fix to optimise CPU usage for processing UserOperations from the mempool.
v0.3.1
is not recommended for mainnet use.
What's Changed
- Only replace ops if both fee values increase by >= 10% by @hazim-j in #86
- Add searcher mode for sending UserOperations to block builders by @hazim-j in #94
- Fix documentation link in readme by @antonydenyer in #93
- Optimize CPU utilization on Bundler go-routine by @hazim-j in #96
New Contributors
- @antonydenyer made their first contribution in #93
Full Changelog: v0.3.0...v0.3.1
v0.3.0
Release notes
This release supports the latest ERC-4337 EntryPoint and includes updates to pass a new set of tests in the bundler specification test suites.
v0.3.0
is not recommended for mainnet use.
ERC-4337 contracts @6dea6d8
This version supports the EntryPoint deployed at eth-infinitism/account-abstraction@6dea6d8.
- EntryPoint address:
0x0F46c65C17AA6b4102046935F33301f0510B163A
Full coverage of RPC methods in the eth
namespace
This version adds the final method eth_getUserOperationByHash
to complete the list of required RPC methods as specified in the EIP:
eth_sendUserOperation
eth_estimateUserOperationGas
eth_getUserOperationByHash
eth_getUserOperationReceipt
eth_supportedEntryPoints
eth_chainId
What's Changed
- Update EntryPoint to eth-infinitism/account-abstraction@6dea6d8 by @hazim-j in #79
- Allow configurable max ops for unstaked sender by @hazim-j in #80
- Update tracer validation to account for storage struct by @hazim-j in #81
- Improve results for eth_estimateUserOperationGas by @hazim-j in #82
- Add RPC method for eth_getUserOperationByHash by @hazim-j in #83
- Add SELFDESTRUCT to banned opcodes by @hazim-j in #84
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Release notes
This release supports the latest ERC-4337 contracts at v0.4.0 and includes fixes to pass the initial bundler test suite.
v0.2.0
is not recommended for mainnet use.
ERC-4337 contracts v0.4.0
This version supports the EntryPoint deployed at eth-infinitism/account-abstraction@6aeb396. See release notes here.
- EntryPoint address:
0x1306b01bC3e4AD202612D3843387e94737673F53
Bundler test suite
A bundler test suite was recently released which allows implementations to verify its level of EIP-4337 compliance. This version passes all initial test cases.
The test suite itself is still a W.I.P. Subsequent updates to stackup-bundler will include increasing compliance coverage based on new test cases.
What's Changed
- Update EntryPoint to eth-infinitism/account-abstraction@v0.4.0 by @hazim-j in #75
- Validate entity storage access by @hazim-j in #76
- Fix failing bundler spec tests by @hazim-j in #77
Full Changelog: v0.1.1...v0.2.0
v0.1.1
Release notes
This patch release includes updates to the client sanity checks to comply with changes from eth-infinitism/account-abstraction#144
v0.1.1
is not recommended for mainnet use.
What's Changed
- Add dependabot by @hazim-j in #57
- Add CI pipeline for test and lint by @hazim-j in #64
- Refactor: Move sender sanity checks into separate file with tests by @hazim-j in #66
- Add validateInitCode to userOp checks by @hazim-j in #67
- Refactor: Move VerificationGas checks to own file with tests by @hazim-j in #68
- Update PaymasterAndData check to latest EIP changes by @hazim-j in #69
- Refactor: Move callGasLimit check to own file with test by @hazim-j in #70
- Refactor: Move gas fee check to own file with test by @hazim-j in #71
- Update Mempool to support multiple ops per Sender by @hazim-j in #72
- Add pending UserOps by same sender to context by @hazim-j in #73
- Add check to validate pending UserOps by @hazim-j in #74
Full Changelog: v0.1.0...v0.1.1
v0.1.0
Release notes
This release marks the first initial version of stackup-bundler with a major version 0 that can be used in testnet.
v0.1.0
is not recommended for mainnet use.
EntryPoint support
This version supports the EntryPoint deployed at eth-infinitism/account-abstraction@57c5d77c77.
- EntryPoint address:
0x78d4f01f56b982a3B03C4E127A5D3aFa8EBee686
Future breaking changes
For v0
, each breaking change will result in a minor version bump. A patch update will be reserved for non-breaking changes that are backwards compatible. An example of a breaking change might include new EntryPoint deployments and updates to the bundler interface.
Since each EntryPoint is a seperate singleton contract, you may still use older versions without any issues.
What's Changed
- Add handler for JSON-RPC requests by @hazim-j in #1
- Setup config by @hazim-j in #2
- Parse UserOperation object by @hazim-j in #3
- Check sender on userOp is valid by @hazim-j in #4
- Cleanup: rename userop.FromMap to userop.New and added comments by @hazim-j in #5
- Add the basic UserOperation sanity checks by @hazim-j in #6
- Cleanup: move jsonrpc package to internal by @hazim-j in #7
- Cleanup: remove web3utils internal package by @hazim-j in #8
- Add redis backed mempool by @hazim-j in #9
- Add CLI command for running client by @hazim-j in #10
- Cleanup: fix file name typo by @hazim-j in #11
- Switch mempool to embedded database with badgerDB by @hazim-j in #12
- Setup Bundler process by @hazim-j in #13
- Cleanup: Fix bundler docs link by @hazim-j in #14
- Add relayer module for private mempool by @hazim-j in #15
- Refactor client checks in to own module by @hazim-j in #16
- Add checks for verification gas and op simulation by @hazim-j in #17
- Add check for callGasLimit by @hazim-j in #18
- Add checks for fee per gas by @hazim-j in #19
- Add paymaster reputation scoring by @hazim-j in #20
- Check paymaster has a sufficient deposit to pay for the UserOperation by @hazim-j in #21
- Run eth_estimateGas and relay batch to handleOps by @hazim-j in #22
- Add max fee to handleOps call by @hazim-j in #23
- Refactor: remove initialize.go files by @hazim-j in #24
- Clean: code layout by @hazim-j in #25
- Refactor mempool to use struct methods by @hazim-j in #26
- Run sanity checks in error group by @hazim-j in #27
- Track paymaster has enough deposit for all ops in batch by @hazim-j in #28
- Add logger using standard logr interface by @hazim-j in #29
- Refactor: cleanup modules by @hazim-j in #30
- Update Go docs by @hazim-j in #31
- Add Dockerfile by @hazim-j in #32
- Dockerfile: COPY all files before RUN by @hazim-j in #33
- Dockerfile: multi-stage build by @hazim-j in #34
- Add eth_chainId RPC method by @hazim-j in #35
- Increase default max_verification_gas by @hazim-j in #36
- Increase default max_verification_gas by @hazim-j in #37
- Change eth_sendUserOperation to return op requestID by @hazim-j in #38
- Add Caller() to logger by @hazim-j in #39
- Fix db transaction conflict error by @hazim-j in #40
- Add more context to Gin and Relayer logs by @hazim-j in #41
- Fix: Increment nextTxnTs to read latest data from MapRequestIDToClientID by @hazim-j in #42
- Update to latest EntryPoint by @hazim-j in #43
- Rename requestId to userOpHash by @hazim-j in #44
- Rename requestId to userOpHash by @hazim-j in #45
- Add cors middleware with default config by @hazim-j in #47
- Cleanup: CalcCallGasCost to NonZeroValueCall by @hazim-j in #46
- call debug_traceCall and filter for base forbidden opcodes by @hazim-j in #48
- GAS opcode only allowed if followed by CALL opcodes by @hazim-j in #49
- Add more context to relayer logs by @hazim-j in #50
- One CREATE2 opcode allowed if initCode > 0 and called during account validation by @hazim-j in #51
- Increment sleep to 5ms by @hazim-j in #52
- Add more context to newFailedOpRevert data error by @hazim-j in #53
- Use custom JS tracing by @hazim-j in #54
- Update EntryPoint to eth-infinitism/account-abstraction@57c5d77c77 by @hazim-j in #55
- Fix: NUMBER delimiter and opcode count error in tracing by @hazim-j in #56
New Contributors
Full Changelog: https://github.com/stackup-wallet/stackup-bundler/commits/v0.1.0