All notable changes to this project will be manually documented in this file by the project maintainers.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add Either monad type for better error handling(#104)
- Refactor modules to use Either monad:
- bump nanoid from 3.3.7 to 3.3.8 (#103)
- bump express from 4.18.3 to 4.21.2 (#106)
- Support native tracer(#93)
- Send bundles with Flashbots (#94)
- Introduce change log (#96)
- Add
debug_bundler_setConfiguration
rpc (#96)
- Fix the bug that was causing the pre-verification gas calculation to be too low. (#92)
- Upgrade to ethers.js v6.13.4 (#94)
- Update Security Policy (#96)
- Move pre-verification calculator to gas module (#96)
- Update send userOp script to allow running on testnet. (#98)
- Enforces a set of ERC-7562: Account Abstraction Validation Scope Rules
- Fixes a set of bugs that were causing the bundler to fail against the Bundler Compatibility Test Suite
- Fix bug that was causing bundler to fail
test_stake_check_in_bundler
spec test (#81) - Fix bug that was causing bundler to fail the
replace op
spec test (#77) - Fix the bug that was causing the bundler to fail
max allowed ops unstaked sender
spec test (#78) - Fix bug that was causing bundler to fail
ban_user_op_access_other_ops_sender_in_bundle
spec test (#79)
- Define a subset of types that only exposes the necessary methods for more granular
MempoolManager
interfaces (#80) - Introduces functional programming paradigm mempool state management to the bundler.
- Update to use ep v7 default address (#63)
(#60)
- Add support entrypoint v07
- Remove mono repo packages
- Remove hardhat and replace with forge
- Update bundler to use node 20.11.1 LTS
- Prefix all environment variables with
TRANSEPTOR
to follow naming best practice.
A bug found in entrypoint v0.6 requires bundlers' attention, and a new test, test_enough_verification_gas
has been added to the "bundler-spec-test" repo on branch releases/v0.6, PR here to address the bug.
Support Linux/amd64
and Linux/arm64
OS architectures for transeptor Docker image
Add Docker image push GitHub workflow
Add support for metrics and monitoring. Metrics give insight into the bundler node, allowing for performance tuning and debugging. The Transeptor bundler can be configured to store metrics using a push(InfluxDB) and pull(Prometheus) metrics system. Grafana visualizes all the metrics. To run the Transeptor bundler with metrics, enable the --metrics
flag.
New ENV:
INFLUX_TOKEN=<YOUR_INFLUX_DB_TOKEN>
New command line flags:
Options | Type | Description | Default Value |
---|---|---|---|
--metrics |
boolean |
bundler metrics enabled | false |
--metricsPort |
number |
metrics server listening port | 4001 |
--influxdbUrl |
string |
url influxdb is running on | http://localhost:8086 |
--influxdbOrg |
string |
influxdb org | transeptor-labs |
--influxdbBucket |
string |
influxdb bucket | transeptor_metrics |
New endpoint:
Create a new endpoint running on a separate port to expose collected metrics—/metrics
. In the future, these metrics will be used to pull metrics with the Prometheus metrics system.
- Upgrade Transeptor to a mono repo multiple packages.
- Refactor
parseScannerResult
by separating concerns into functions and improving the code readability.
- Changed
autoBundleInterval
to 12000ms - Update JS tracer to pass all opcode banning for bundler-spec-test
- Initial release of Transeptor bundler.