v2.100.0
Changelog:
- 📣 Added: ERC-7730 clear signing support #2381
- Fetches ERC-7730 calldata and EIP-712 descriptors via the relayer with in-memory caching and stale-cache fallback.
- Supports nested calldata humanization: Safe multisend, Safe execTransaction inner txns, and 1inch execute-with-permit inner swap calldata.
- Dynamically resolves Safe proxy singleton implementations for SafeTx and execTransaction flows.
- Added: Recent dApps state tracking in DappsController for Explore Apps #2408
- Added: Safe transaction/message hash display for hardware wallet signing #2438
- Exposes EIP-712 typed data, domain hash, message hash, and Safe transaction hash from
SignAccountOpControllerandSignMessageController. - Hardware wallet UIs can now display the exact payload being signed.
- Clears temporary signing data after completion, cancellation, and reset.
- Exposes EIP-712 typed data, domain hash, message hash, and Safe transaction hash from
- Added: WalletConnect mobile support helpers #2377
- Adds helper functions and props required for the WalletConnect feature on mobile.
- Changed: Migrate ESLint to v9 and TypeScript ESLint parser to projectService API #2370
- Changed: Re-enable recommended rules from TypeScript, React, and React Hooks ESLint plugins #2410
- Changed: Fix all auto-fixable linting problems after ESLint plugin rules restoration #2413
- Changed: AGENTS.md - disallow regex and type casting #2426
- Changed: Fix TypeScript warnings surfaced after ESLint plugin fixes #2424
- Changed: Fix all remaining auto-fixable ESLint errors after v9 migration #2425
- Changed: Migrate Keystore encryption from AES-128-CTR to AES-256-GCM to mitigate the nonce reuse risk #2339
- Changed: Configurable activity refresh interval to make fast chains feel faster #2428
- Relayer can now tune the refresh interval per chain, making activity updates snappier on fast networks.
- Changed: Humanizer - strict decoding of non-standard encoded transactions for all modules #2418
- Fixed: dApps connection migration #2429
- Fixed: Humanization error for Across bridge ETH↔ETH swaps #2431
- Fixed: Mobile crash caused by
structuredCloneof portfolio state containingErrorinstances #2433- WebView's JS engine on mobile cannot
structuredCloneError objects; removed the now-unnecessary clone.
- WebView's JS engine on mobile cannot
- Fixed: Network provider fallback - add 10s timeout per provider and return fallback networks if fewer than 10 respond #2439
- Fixed: ~10× faster
richJson.parsefor large all-string payloads (e.g. the phishing list) #2437- Bypasses the per-node reviver when no
$bigintor serialized Error markers are present, taking V8's native JSON.parse fast path. - Prevents UI freezing on mobile caused by large phishing list deserialization.
- Bypasses the per-node reviver when no
Full Changelog: v2.99.2...v2.100.0