Skip to content
by Unity Nodes
MPC (Chain Signatures)Stable

MPC (Chain Signatures) 3.3.0

3.3.0github.com

The main feature of this release is the ability to use the launcher for non-TEE setups. This enables better local experimentation of TEE-like setups and troubleshooting.

MPC 3.3.0

This is our first release for 2026!

The main feature of this release is the ability to use the launcher for non-TEE setups. This enables better local experimentation of TEE-like setups and troubleshooting.

Beyond that, this release features mainly bug fixes, network resiliency improvement and paves the way for more significant non-breaking upgrades of the network layer by allowing MPC nodes to connect to other nodes with higher protocol version numbers.

What's Changed

🚀 Features

  • #1723(@DSharifi): (node) Add web endpoint to collect CPU profiles with pprof-rs (#1723)

  • #1735(@barakeinav1): (launcher) Add ability to use the launcher also for non tee setups. (#1735)

🐛 Bug Fixes

  • #1729(@gilcu3): Ruint unsoundness issue RUSTSEC-2025-0137 (#1729)

  • #1752(@gilcu3): Enable TCP_KEEPALIVE for network connections (#1752)

  • #1764(@kevindeforth): (network) Do not accept incoming connection if previous one is still active (#1764)

  • #1772(@DSharifi): Don't crash MPC node on startup for failed attestation submission (#1772)

💼 Other

  • #1738(@DSharifi): (rust) Add support for Nix build environment (#1738)

  • #1767(@DSharifi): (nix) Add instructions to enable direnv with Nix flake (#1767)

  • #1771(@DSharifi): (nix) Resolve openssl-sys compilation errors in devShell (#1771)

🚜 Refactor

  • #1697(@DSharifi): Return Result type in is_caller_an_attested_participant (#1697)

📚 Documentation

  • #1733(@kevindeforth): Update readme to reflect correct test terminology (#1733)

  • #1661(@barakeinav1): Support running two MPC CVMs (Frodo + Sam) on the same physical machine (#1661)

⚡ Performance

  • #1713(@DSharifi): Enable TCP_NODELAY for nodes' P2P TCP connections (#1713)

  • #1663(@DSharifi): (contract) Contract should not store full attestation submission (#1663)

🧪 Testing

  • #1708(@gilcu3): Improve pytest handling of crate builds (#1708)

  • #1709(@gilcu3): Refactor wait_for_state to avoid self.contract_state() in tight loop (#1709)

  • #1725(@pbeza): Fix contract integration tests (#1725)

  • #1769(@gilcu3): Handle transaction nonces locally (#1769)

⚙️ Miscellaneous Tasks

  • #1699(@netrome): Initial contribution guidelines (#1699)

  • #1705(@gilcu3): Add cargo-deny support (#1705)

  • #1707(@gilcu3): Update testnet contract (#1707)

  • #1715(@DSharifi): Ignore RUSTSEC-2025-0137 in cargo-deny check (#1715)

  • #1717(@DSharifi): Use SocketAddr instead of custom struct for addresses in configs (#1717)

  • #1718(@barakeinav1): Update tee testnet guide (#1718)

  • #1722(@DSharifi): Update rkyv version to fix RUSTSEC-2026-0001 (#1722)

  • #1720(@pbeza): Fix typo (#1720)

  • #1726(@DSharifi): Ignore RUSTSEC-2026-0002 in cargo-deny check (#1726)

  • #1739(@kevindeforth): Unify ckd and sign sandbox tests (#1739)

  • #1744(@gilcu3): Use attestation crate types (#1744)

  • #1749(@gilcu3): Update to nearcore 2.10.4 (#1749)

  • #1742(@pbeza): CI check to enforce TODO comment format (#1742)

  • #1756(@gilcu3): Improve log messages for tokio tasks (#1756)

  • #1761(@pbeza): Remove dead Python code (#1761)

  • #1774(@gilcu3): Update mainnet history contract to 3.2.0 (#1774)

  • #1776(@gilcu3): Add missing metrics in eddsa (#1776)

  • #1778(@kevindeforth): Nodes accept peer with same or higher protocol version (#1778)

  • #1780(@gilcu3): Refactor CI tests to group fast tests in a single run (#1780)

  • #1790(@pbeza): Skip TODO format checks for CHANGELOG.md (#1790)

Docker images

  • nearone/mpc-node:3.3.0
    • Manifest digest: sha256:794e9699657d1e0ca287d2c015caa9041d314e0abb218f7d73facb5f2c4d1f05
    • Image ID: sha256:6e5b08f91752fd7cb10349de45f74272f340fe42a172d2cbc237f3f1d5527a45
  • nearone/mpc-node-gcp:3.3.0
    • Manifest digest: sha256:cbded928069c716e96aa3f82fabd4ba934325f36146cf70ac33f48ecb9d7c39b
    • Image ID: sha256:0153c197a686541e5a95efa987379f24ffffa3b1bad50fad9df050c363f50715
  • nearone/mpc-launcher:3.3.0
    • Manifest digest: sha256:17243e65f47c69a4735c507ea91aefa0bdd761d9a267e28221232d748518bad3
    • Image ID: sha256:0aa010444e4e54f8f2f430f0cb9d784db937f8179cb129c952cae2052792122c

MPC contract

  • mpc-contract-v3.3.0.wasm: now with embedded ABI (file included in the release attachments)
    • digest: sha256:fde328d56a5afa73e8cf56db1e3fed260eca287d784fc1022fbffe9ba3570e76