3.5.0
MPC 3.5.0
The main features of this release include:
- Foreign transaction validation
- Latest other features and fixes.
Node compatibility note
This release introduces a new storage column, which means that downgrading from 3.5.0 to 3.4.1 isn't possible. If there's a need to downgrade node, we'll make a patch release on top of 3.4.1 including the fix from #2065.
What's Changed
🚀 Features
-
#1980(@DSharifi): Implement JSON rpc client and extractor for bitcoin (#1980)
-
#1998(@netrome): Canonical sign payload for foreign chain transactions (#1998)
-
#2008(@gilcu3): Implement verify foreign key logic in the contract (#2008)
-
#1997(@netrome): Automatic foreign chain policy voting (#1997)
-
#2015(@DSharifi): Foreign chain inspector for
abstractblock chain (#2015) -
#2039(@andrei-near): Add claude reviewer (#2039)
-
#2055(@gilcu3): Integrate foreign chain tx feature in the node (#2055)
-
#2065(@netrome): Allow SecretDB to open unknown column families (#2065)
-
#1990(@pbeza): (dtos) Add Participants JSON serialization types to contract-interface (#1990)
-
#2070(@netrome): Remove observed_at_block special response field (#2070)
-
#2129(@pbeza): Update Claude model to use Opus 4.6 for code reviews (#2129)
-
#2126(@DSharifi): Return payload hash instead of the payload for the sign foreign chain requests (#2126)
-
#2158(@gilcu3): Adding consistent hashing to select RPC providers (#2158)
-
#2179(@DSharifi): Add on chain metrics for sign request payload version (#2179)
-
#2180(@netrome): Add abstract rpc configuration in localnet guide + foreign policy serialization fix (#2180)
🐛 Bug Fixes
-
#2043(@netrome): Three small post-merge fixes from #1997 (#2043)
-
#2107(@netrome): Remove accidentally included prompt file (#2107)
-
#2124(@gilcu3): Make run_receive_messages_loop infallible, log error on internal failures (#2124)
-
#2133(@gilcu3): Ecdsa background tasks should be infallible (#2133)
-
#2137(@SimonRastikian): Updating the documentation (#2137)
💼 Other
-
#2048(@DSharifi): Bump cargo resolver version to version
3(#2048) -
#2092(@DSharifi): Use nixpkgss to install cargo-nextest (#2092)
-
#2184(@DSharifi): Set Cargo linker for aarch64-darwin to resolve -lSystem (#2184)
🚜 Refactor
-
#2044(@pbeza): Improve gas benchmark tests by optimizing account handling (#2044)
-
#2141(@SimonRastikian): Const string contract methods (#2141)
📚 Documentation
- #2013(@barakeinav1): Add node migration guide for operators (#2013)
🧪 Testing
-
#1993(@gilcu3): Check if 100s is enough to avoid flaky tests (#1993)
-
#2023(@netrome): System test for foreign chain policy voting (#2023)
-
#2072(@netrome): System test for foreign transaction validation (#2072)
⚙️ Miscellaneous Tasks
-
#1985(@barakeinav1): Correct error codes (#1985)
-
#1995(@DSharifi): (nix) Bump cargo-near version to 0.19.1 (#1995)
-
#2000(@gilcu3): Make cargo-deny and license checks optional in CI (#2000)
-
#1991(@gilcu3): Add missing verify foreign chain functions to the contract (#1991)
-
#1967(@gilcu3): Bump gcloud-sdk to fix jsonwebsocket vuln (#1967)
-
#2019(@DSharifi): Move
rustfmt.tomlfile to workspace root (#2019) -
#2010(@DSharifi): Use
jsonrpseeto support JSON-RPC v2 instead of manual implementation (#2010) -
#2028(@DSharifi): (cargo-deny) Remove unnecessary skip for
prost(#2028) -
#2041(@DSharifi): Remove
cargo-aboutthird-party licenses check from CI (#2041) -
#2046(@DSharifi): Update near cli version in nix shell (#2046)
-
#2027(@DSharifi): Remove usage of
near_o11for metrics and test logger (#2027) -
#2035(@DSharifi): Revert the revert of using socket addresses (#2035)
-
#2082(@DSharifi): Make nix and ci version of tools in sync (#2082)
-
#2098(@gilcu3): Enable all steps in cargo deny except advisories in fast CI (#2098)
-
#2100(@SimonRastikian): Dependabot with exceptions (#2100)
-
#2104(@DSharifi): Add
FromandTryFromconversions between dto and foreign chain inspector types (#2104) -
#2117(@gilcu3): Add exceptions to dependabot that are known to fail because of devnet (#2117)
-
#2115(@pbeza): Extract Claude review prompt into standalone file (#2115)
-
#2131(@DSharifi): Validate local RPC provider config with on chain config (#2131)
-
#2146(@gilcu3): Bump buildkit and runner images versions to overcome build failure (#2146)
-
#2153(@gilcu3): Disable rust cache temporarily, as warpbuilds is providing different runners for the same label (#2153)
-
#2144(@DSharifi): (nix) Add jq and ruff to dev shell packages (#2144)
-
#2155(@pbeza): Add CI workflow to validate PR title type against changed files (#2155)
-
#2139(@DSharifi): Use non empty colletion types for foreign chain types (#2139)
-
#2148(@pbeza): Add
lycheeCI check for markdown link validation (#2148) -
#2152(@pbeza): Update
format_pr_commentsscript to read JSON from file argument (#2152) -
#2176(@DSharifi): Exclude .direnv from lychee link checker (#2176)
MPC contract
-
nearone/mpc-node:3.5.0
Manifest digest: sha256:186fc21906b55e753e867e11812b4df0c6f1164701d1234303ba2091b353bceb
Image ID: sha256:e9b0be88d1cddafffe1854bf460f0d905796425c410f2703dfed619ba5f892c6 -
nearone/mpc-node-gcp:3.5.0
Manifest digest: sha256:c3d377dbe1c025ce3413e8a5da7624061ab37ac22f647487e60f12d9ee8ce2bb
Image ID: sha256:c3d377dbe1c025ce3413e8a5da7624061ab37ac22f647487e60f12d9ee8ce2bb -
nearone/mpc-launcher:3.5.0
Manifest digest: sha256:17243e65f47c69a4735c507ea91aefa0bdd761d9a267e28221232d748518bad3
Image ID: sha256:0aa010444e4e54f8f2f430f0cb9d784db937f8179cb129c952cae2052792122c
mpc-contract-v3.5.0.wasm:
- digest: sha256:4a4872a518c4a58cf7d9c9813747fc2c3655fc1fef1b57dc3bbbe2531fc377b4