Releases: primev/mev-commit
v0.5.3
v0.5.2
This patch release fixes the stability of the websocket event subscription and also an issue related to the Provider API not having the transaction payload and reverting transaction hashes populated correctly.
Changelog
v0.5.1
This patch release includes a new feature that allows transaction payloads to be sent in the bidding process and increases the default gas amount used for transactions.
Changelog
v0.5.0
The team is happy to announce the next release of testnet. The main focus of this release has been to add a number of new features and harden the existing ones.
Embedded Storage: Introduction of persistent storage for mev-commit that helps retain certain state across restarts.
Health Check: mev-commit and oracle now expose a /health
endpoint that helps determine the health of the running node by the state of important subsystems.
New Oracle API: A new authenticated API for registering provider graffiti along with their addresses has been introduced for oracle.
New Provider API: A new withdrawal API for providers to withdraw their stake from the contract.
New Bidder API: A new validator API for bidders to get information on whether the running node is opted into a validator that proposes blocks in the next epoch.
Increase of Slashing Penalty: The slashing penalty has been increased by 5% on top of the decayed bid amount (removed from the provider's share). 100% of the decayed bid is given to the bidder, and the additional 5% goes to the protocol treasury.
Window Offset Change: This change allows a deposit to be withdrawn 1 window earlier and to deposit 3 times the window amount for automatic deposit instead of 4 times.
In addition, several small fixes and improvements have been made. See the changelog and documentation for more information.
Changelog
- 1a9ddc7 chore(ci): include independent go modules in the ci (#286)
- bf05bc3 chore(p2p): remove unused gen-certificates.sh file (#316)
- 65753f6 chore: add arm64 arch for oracle goreleaser (#238)
- fca7319 chore: bump geth (#294)
- 38a1173 chore: delete enumerableMap and enumerableSet (#243)
- 10a4ea7 chore: deploy local avs w/ anvil (#195)
- e596dfb chore: deploy scripts for Holesky contracts + updated bindings (#308)
- fb28440 chore: fully enable solhint linter (#261)
- a0d9367 chore: get rid of redundant docs (#263)
- 4d60ace chore: introduce solhint linter + fixes (#245)
- f0d9326 chore: remove external/geth from go.work (#247)
- bc6d2c3 chore: remove unused/outdated files (#300)
- 1107a53 chore: standardize solidity version to 0.8.20 across repo (#230)
- ddad6c8 chore: update bufgen (#298)
- 076e73a chore: updated api (#248)
- bdd0d5f chore: updated structs (#237)
- 2de9999 chore: upgrade GitHub runners to version ubuntu-24.04 (#254)
- d58e930 docs(infra): update README.md (#281)
- b394bd8 feat(infra): detect uncommitted changes on release (#257)
- 02d3a22 feat(infra): fail fast on first deployment error (#226)
- bf20b62 feat(oracle): change window offset to 1 (#274)
- 62c9ff1 feat: add auth_token as a new type of secret artifact (#232)
- ea2db97 feat: add new API for provider registration (#229)
- 6c78079 feat: add validator api (#310)
- b0a20a3 feat: added additional info for the autodeposit (#228)
- 9529ee8 feat: added pr template (#266)
- f404367 feat: allows 0x prefix (#291)
- 11e33f9 feat: automatic protocol fee payout (#293)
- aeb9ec0 feat: bump handshake version (#327)
- be0e7d9 feat: health check (#278)
- c78997d feat: introduces additive slashing penalty (#301)
- 63b011f feat: migrate launchmevcommit script (#240)
- 89d6b43 feat: smart contract updates (#279)
- 21b6cbb feat: use store for tracker and autodepositor (#271)
- cad5605 feat: withdrawal api (#282)
- f225e6e fix(libp2p): standardize protocol ID across all protocols (#244)
- 6bc7944 fix: added description for the autodeposit response (#231)
- c270dda fix: artifacts.yml action (#307)
- d6d48d3 fix: bugs from testing session (#289)
- fa9f3f5 fix: commitment stored event update (#324)
- f483e3e fix: commitments struct rename (#311)
- 413038a fix: override oracle winners for devenv only (#225)
- 985b84f fix: preconf + block tracker contracts now use their interfaces (#264)
- b1c7986 fix: real-bidder panic (#219)
- b99958a fix: refactored contracts (#234)
- 536d57e fix: remaining audit remediations (#241)
- 489f0c4 fix: remove status (#325)
- 6481bfa fix: remove unnecessary # suffix check form PR title regex (#321)
- ae5eaa0 fix: renamed committer and fix require (#297)
- f436d08 fix: separate oracle and owner accounts in contracts (#251)
- 443d9fd fix: testenv deployment (#255)
- e858b05 fix: use websocket for bidder nodes in launch script (#249)
- 262aa90 fix: validator registry audit remediations part 1 (#224)
- 1ea0d5a perf: streamline transactions from node (#256)
- b0ab7d6 refactor: add logging for preconfirmations (#314)
- 346fd2d refactor: cleans up logs for non-verbose state (#304)
- c6348e5 refactor: lint GitHub PR title (#320)
- fba49d8 refactor: oracle l1 retry client (#326)
v0.4.3
This patch release includes several fixes to improve functionality. The launchscript now always loads the latest released version and uses WebSocket instead of HTTP to communicate with the RPC settlement endpoint. The bidder auto-deposit API has been updated to provide a more ergonomic user experience.
Changelog
v0.4.2
This patch release includes several updates and fixes to improve functionality and security. A new API for provider registration has been added to streamline the registration process. Additional information is now included in the auto-deposit response to improve the detail. Furthermore, an issue causing a panic in the bidder has been fixed to ensure stable operation.
Changelog
- d5a2c7b feat: add auth_token as a new type of secret artifact (#232)
- be998f7 feat: add new API for provider registration (#229)
- d4beae5 feat: added additional info for the autodeposit (#228)
- e458905 fix: added description for the autodeposit response (#231)
- 413038a fix: override oracle winners for devenv only (#225)
- 3a54f57 fix: real-bidder panic (#219)
v0.4.1
This release is a patch release to ensure that the bidder RPC API does not drop the reverting transaction list on the response from the provider, and to prevent the use of the canceled context in the withdrawal. Additionally, the faucet time has been changed to one minute.
Changelog
v0.4.0
The team is happy to announce the next release of testnet. The main focus of this release was a set of new features to improve the user experience.
Automatic Bidder Deposits: Bidders can now configure a fixed amount to be automatically deposited into the Bidder Registry contract using the new configuration options. This feature will move the required funds from the bidder's balance on the settlement chain to the Bidder Registry contract. Once enabled, bidders will automatically have funds available to bid on subsequent windows as long as they have sufficient funds in their wallets.
Provider Whitelisting: Bidders can now configure a subset of providers on the mev-commit chain that will be able to see their bids. If configured, they will only receive pre-confirmations from the subset of providers. All other providers will reject the bids.
Transaction bids for execution preconfirmations: All transactions included in the transaction hash list are now considered bids for execution preconfirmations. These transactions must be successfully executed to satisfy preconfirmation requirements.
Reverting Transactions: Allow bidders to specify a subset of transaction hashes that they are willing to allow to be reverted.
In addition, several small fixes and improvements have been made. See the changelog and documentation for more information.
Changelog
- 92cf968 Adds reverting Txn list (#171)
- 6bb93c5 chore(infra): print runner CPU & MEM info (#207)
- 64bc907 chore: blocks per window (#146)
- f0332f8 chore: moved from uint64 to uint256 (#157)
- 743896b chore: remove contracts docs dir (#215)
- 83ee671 chore: update genesis timestamp and contracts addresses
- 5db20d4 feat: add option to build artifacts for every arch and os target (#178)
- 83a543e feat: add option to configure provider whitelist (#192)
- de14df8 feat: add subdomains to nginx conf (#177)
- a6094d7 feat: adds execution enforcement to preconfirmations (#161)
- 3946648 feat: autodeposit bidder balance (#211)
- 2838db7 feat: check deployed service status (#165)
- 1abbbfd feat: collect infrastructure cluster logs on failure (#197)
- 0ad75c4 feat: mev-commit AVS for validator opt-in (#176)
- ceb8279 feat: productionize validator registry v1 (#169)
- beb6d99 feat: updates error for window balance (#198)
- e837334 feat: upload built artifacts to the target machine (#170)
- 03b9f39 fix(infra): ensure kernel bridge module is loaded (#201)
- 27ff161 fix(infra): secrets.json dbg message (#212)
- 3e104d4 fix(infra): secrets.json payload encoding (#202)
- b8280df fix: contracts deployer nodeJS binary arch (#187)
- 2214c27 fix: core contracts now inherit from UUPSUpgradeable (#168)
- 9d26bb3 fix: empty tx hash (#220)
- e0705e5 fix: exclude problematic chars from passphrase (#196)
- 1ffcb06 fix: fixed incorrect event parsing (#218)
- 32da5a3 fix: forge build now specifies correct script directory (#174)
- 176a255 fix: infrastructure workflow duration measurement (#162)
- 3573c09 fix: make genesis timestamp fixed for testenv (#167)
- 9c72fd2 fix: providers specify BLS pubkey during registration (#214)
- 9099c9c fix: remove special characters from passphrase generation (#199)
- 7d3be27 fix: resource allocation for oracle db (#158)
- 8eeefbf fix: use forge clean with snapshot and coverage ci (#181)
- 4d1129f fix: validator registry contract import (#173)
- 10b6452 refactor(infra): debug secrets.json (#206)
- ea52eaa refactor(infra): include built artifacts into upload path (#216)
- 1778696 refactor(infra): increase ssh connection persistence to 1h (#203)
- 6f88412 refactor(infra): update the list of target machines (#200)
- bd0df4d refactor: double nomad decompression file count limit (#184)
- f63a404 refactor: expose secrets.json for devenv (#210)
- 9a5f741 refactor: fail fast on build artifacts error (#204)
- d019d80 refactor: get arch and os info from target machine (#182)
- db6f3b7 refactor: integrate infrastructure workflow into ci workflow (#193)
- 440f4c7 refactor: link meta.json to artifacts (#183)
- 870452a refactor: slim infrastructure ci profile (#186)
- 8760588 refactor: val reg v1 now uses explicit "exist" fields (#172)
v0.3.1
v0.3.0
The team is pleased to announce the next release of testnet. The main goal of this release was to improve efficiency, privacy, and security.
Efficiency and privacy see major improvements in this update. Key exchange now supports encrypted timestamp message distribution and verification, while the preconfirmation protocol introduces robust bid encryption and deposit management. The preconfirmation tracker implements an event-driven architecture for tracking blockchain bid commitments, and the preconfirmation encryptor enhances bid data encryption, verification, and storage with an LRU cache. Smart contract updates also enhance privacy by storing encrypted commitments, prevent double spending, and streamline bid deposit and fund management workflows.
A significant addition is the Bid Decay mechanism, designed to increase the efficiency and predictability of bids. Bids now decrease in value over time, encouraging early confirmations. Each bid is assigned a dispatch and expiry timestamp, with its value decreasing linearly until expiry. A commitment timestamp set by providers within a specified interval ensures fairness. This mechanism offers predictability, public verifiability, and independence from L1 slot time, optimizing the bidding process.
The Faucet is now hosted within our testnet, improving accessibility. Contract deployment processes have been refined to use secure keystores instead of default unsecured accounts, and contracts are now upgrade-compatible. The validator registry has also been moved from the mev-commit chain to Holesky.
Private keys and passwords are now securely stored in password-protected keystores throughout the system and managed by the secrets vault.
In addition, the previous repositories have been merged into one monorepo that hosts all the necessary components. For more information, see the changelog and documentation.
Changelog
- c26da63 Initial commit
- cc9c314 chore: add logs around deposits (#62)
- 99f18f5 chore: add missing artifacts to goreleaser (#31)
- 9a54b40 chore: add more UX logs (#142)
- 22ed2ee chore: additional checks and optimizations (#87)
- 0aa267c chore: deleted geth logs (#152)
- 936c828 chore: encryptor optimizations (#83)
- 5d46e50 chore: extend infrastructure workflow statistics (#117)
- 6904516 chore: improve init.yml ansible playbook (#52)
- cb442cb chore: include keystores in geth release (#36)
- 2fe7bb9 chore: introduce contracts-abi parity check (#9)
- 62c191f chore: introduce local build of artifacts (#47)
- 5266b68 chore: introduce protobuf gen parity CI check (#61)
- 927df9a chore: introduce s3 GitHub workflow (#29)
- af0a038 chore: make forge-std a git submodule (#13)
- 04658a3 chore: moved block per window init to node init (#134)
- 4ecdeed chore: sending pre-conf before saving to sc (#78)
- 86a3b53 chore: set last block (#124)
- 16e93c1 chore: updated foundry (#82)
- b22bb96 feat(privacy): improvements to store and deposit manager (#53)
- b2eff5b feat(transactor, txmonitor): add tx management (#33)
- c6e770e feat(x): add metrics to common libs (#111)
- 8d0fab0 feat: add forge clean (#71)
- d012193 feat: add new x module to house common libs (#30)
- 7a40b17 feat: add stressnet profile with more nodes (#123)
- 4290a91 feat: bumps foundry in infra (#64)
- 99a9eab feat: enable infrastructure workflow slack notifications (#102)
- f28e345 feat: enumerable map for validator registry (#28)
- ded033f feat: improve build and security (#135)
- c72521d feat: improve validator registry for migration to holesky (#147)
- 5a59116 feat: integrate faucet with nomad cluster (#116)
- 5d2d4b6 feat: introduce ansible playbooks wrapper script (#66)
- 5a53834 feat: introduce deployment release flag (#145)
- 0204284 feat: introduce log-fmt and log-tags flags to the provider (#110)
- a7f56be feat: introduce nomad cluster GH workflow (#81)
- 9def6a6 feat: introduce the use of dispatch timestamp (#12)
- f8ad5e6 feat: introduce validator registry (#15)
- 17fef83 feat: keystore optimization (#136)
- 6abcf63 feat: manual invocation of infrastructure workflow (#84)
- 138c282 feat: migrate existing repositories
- 18244fc feat: migrate infrastructure repository (#19)
- 0ad0ff7 feat: privacy e2e
- c5e16a3 feat: specify gas params for core contract deploy (#72)
- 4b374d9 feat: updated infra privacy to support privacy set up (#56)
- d3b1667 feat: updates geth to master (#41)
- 5974d42 feat: upgradable contracts (#55)
- 8689624 feat: use abigen code for contracts and add debug service (#80)
- 73c3cbf feat: use keystore for contract deployer (#89)
- e580e62 fix(nomad): add external dns server ip (#59)
- 09c7b45 fix: allow nomad system gc run only once (#103)
- dd98c45 fix: contract addresses (#106)
- f35d755 fix: contracts build in deploy-contracts job (#96)
- 19e7356 fix: deleted address checker (#144)
- aec8e80 fix: deploy workflow target machine dns lookup (#92)
- 41d9b98 fix: destroy ansible playbook (#118)
- 2a7956f fix: double spend per block (#140)
- c692b79 fix: enable oracle metrics in nomad (#120)
- 718e3f4 fix: fixed withdraw request definition (#119)
- 9705644 fix: foundry GH workflow step (#50)
- 3b05c20 fix: geth goreleaser name templates (#49)
- 5c6197d fix: github mev-commit-infra workflow (#3)
- 868a145 fix: goreleaser name templates (#48)
- 18ff50c fix: import oracle keystore (#107)
- 44e7f5e fix: include deploy_contract.sh in bridge release (#42)
- 68894a3 fix: infra workflow (#37)
- b3a1858 fix: infrastructure workflow invocation (#85)
- 92c7213 fix: keystore contract deployment (#100)
- 96f60fe fix: limits for postgres connections (#139)
- 53b0b32 fix: manual infrastructure deployment Go version (#95)
- b8c58a3 fix: moved commitments count (#114)
- 3c45197 fix: nomad cluster contracts deployment (#79)
- 240320e fix: oracle postgres db running check (#155)
- bcf5aba fix: protobuf generated code parity (#76)
- b67d384 fix: run make bufgen (#133)
- eb89ebc fix: set static ips for bidder/provider (#25)
- 893f41f fix: stressnet bidder emulator count (#150)
- 33587ca fix: update hardcoded contract addrs (#23)
- f7c5de9 fix: updated entrypoint (#74)
- abc057e fix: use triggering workflow branch for infra workflow (#27)
- f10bea2 perf: allocate more resources for oracle db testnet (#151)
- 276d450 perf: build binaries only for target machine architecture (#121)
- 83cf622 perf: cache infra workflow dependencies (#122)
- dc596a1 perf: execute deploy playbook tasks asynchronously (#115)
- c55127a perf: specify resource allocation for different profiles (#149)
- 6909046 refactor: add more target machines to infrastructure workflow (#108)
- 19f041d refactor: cleanup ansible playbooks (#54)
- 67392ea refactor: generate nomad scripts from templates (#34)
- e4e95c9 refactor: improve GitHub workflows (#88)
- 4c02c37 refactor: improve infrastructure playbook scripts (#105)
- 05ce6ed refactor: infrastructure cleanup (#73)
- 542f808 refactor: infrastructure improvement and cleanup (#104)
- 5cdab95 refactor: keykeeper refactoring (#69)
- 2d34cfe refactor: make debug mandatory for infrastructure workflow (#91)
- cff5c34 refactor: rename repository (#60)
- 36a2ab1 refactor: switch L1 to holesky (#148)
- 9bf81ab refactor: update testnet contracts addresses (#156)