Common ground for the Ambire apps. This package puts together the core business logic behind the Ambire browser extensions and (the future) mobile apps.
Changelog: * 📣 Added: Support for choosing which providers power your swaps and bridges https://github.com/AmbireTech/ambire-common/pull/2599 * 📣 Added: Safe Queue: controller and library support for tracking Safe account transactions awaiting signatures, broadcast, or restoration https://github.com/AmbireTech/ambire-common/pull/2607 * Added: Token lists can now be fetched directly from Uniswap's API as an additional source https://github.com/AmbireTech/ambire-common/pull/2656 * Improves resilience if another token list provider is down. * 📣 Added: Support for letting you pick your preferre
Changelog: * Changed: Gas sponsorship on Swap & Bridge is temporarily turned off https://github.com/AmbireTech/ambire-common/pull/2662 * Swaps and bridges are no longer covered by the sponsorship program, so the network fee is paid by the user as usual. * 📣 Changed: Clearer and safer transaction descriptions when approving token spending https://github.com/AmbireTech/ambire-common/pull/2672 * Improved descriptions for Morpho (including embedded multicalls), Safe, PancakeSwap and DAI permit transactions. * Transactions that are shorter than expected now show a warning instead of being silently
Changelog: * Added: Humanizer Uniswap handling for internal swap and bridge https://github.com/AmbireTech/ambire-common/pull/2644 * Added: Require password unlock if the user has biometrics and the password is not GCM https://github.com/AmbireTech/ambire-common/pull/2650 * Fixed: Dex aggregator dapps are missing from the dapp catalog https://github.com/AmbireTech/ambire-common/pull/2639 * Fixed: Base slippage warning percentage should be calculated based on the input value, not the quote (Swap and Bridge) https://github.com/AmbireTech/ambire-common/pull/2643 * Fixed: Allow gs013 errors to ente
Changelog: * Added: Humanizer Uniswap handling for internal swap and bridge https://github.com/AmbireTech/ambire-common/pull/2644 * Added: Require password unlock if the user has biometrics and the password is not GCM https://github.com/AmbireTech/ambire-common/pull/2650 * Fixed: Dex aggregator dapps are missing from the dapp catalog https://github.com/AmbireTech/ambire-common/pull/2639 * Fixed: Base slippage warning percentage should be calculated based on the input value, not the quote (Swap and Bridge) https://github.com/AmbireTech/ambire-common/pull/2643 * Fixed: Allow gs013 errors to ente
Changelog: * Added: Business logic support for the extension's new Chrome side panel mode https://github.com/AmbireTech/ambire-common/pull/2518 * Refactor: move side-panel request routing out of the controllers https://github.com/AmbireTech/ambire-common/pull/2615 * 📣 Added: Transfers to addresses flagged as scams are now blocked with a warning https://github.com/AmbireTech/ambire-common/pull/2622 * The transfer flow checks the recipient against Ambire's scam address list before allowing the send. * Added: Business logic for syncing accounts between the mobile app and extension over QR codes
Changelog: * 📣 Added: Warnings when a transaction gives a dApp unlimited spending access to your tokens https://github.com/AmbireTech/ambire-common/pull/2636 * Covers approve, increase allowance, increase approval, DAI permit and "approve for all" NFT signatures. * Also detects unlimited approvals hidden deep inside batched (multicall) transactions. * The warning still shows when a dApp provides its own transaction description that would otherwise replace ours. * No warning is shown for dApps Ambire has whitelisted. * 📣 Changed: Ambire no longer flags eth.limo addresses as suspicious hosting
Changelog: * 📣 Added: Warning when a transaction hides many levels of internal transactions inside itself https://github.com/AmbireTech/ambire-common/pull/2632 * All nesting levels are still decoded, so no warning coming from a deeply hidden transaction is lost. The display limit is applied in the app. * Fixed: Missing labels in transaction previews for apps that publish their own transaction metadata * Fixed: Endless decoding loop when an app's transaction description points back at its own transaction data **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.107.4...v2
Changelog: * Changed: Improved rich transaction title formatting for clearer, more readable transaction summaries https://github.com/AmbireTech/ambire-common/pull/2626 * Fixed: Prevented a balance calculation error on the Arc testnet (and future chains using the same pattern) caused by a missing balance snapshot for the network's operator address https://github.com/AmbireTech/ambire-common/pull/2623 * Fixed: Transaction humanization now shows only the plain-language (interpolated) description when available, avoiding duplicate information https://github.com/AmbireTech/ambire-common/pull/2627 *
Changelog: * Changed: Humanizer enhancements https://github.com/AmbireTech/ambire-common/pull/2617 * Fixed: Rejecting a transaction no longer waits on overriding simulation results, which was making it very slow https://github.com/AmbireTech/ambire-common/pull/2618 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.106.4...v2.106.5
Changelog: * Changed: Humanizer enhancements https://github.com/AmbireTech/ambire-common/pull/2617 * Fixed: Rejecting a transaction no longer waits on overriding simulation results, which was making it very slow https://github.com/AmbireTech/ambire-common/pull/2618 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.106.4...v2.106.5
Changelog: * Fixed: A missing emitUpdate() caused the txn counter to remain the same after adding a request to the batch https://github.com/AmbireTech/ambire-common/pull/2606 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.107.1...v2.107.2
Changelog: * Fixed: A missing emitUpdate() caused the txn counter to remain the same after adding a request to the batch https://github.com/AmbireTech/ambire-common/pull/2606 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.106.3...v2.106.4
Changelog: * Added: Default fee speed can now be set per network https://github.com/AmbireTech/ambire-common/pull/2605 * Your chosen speed is remembered per network and is only applied when you broadcast the transaction, not immediately when selected. * Fixed: (Mobile) NFC card wallets failing when signing multiple transactions in a row **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.107.0...v2.107.1
Changelog: * Added: Trending tokens support in the dApps/Explore controller https://github.com/AmbireTech/ambire-common/pull/2505 * Added: Support for NFC (Keycard) hardware wallet keys https://github.com/AmbireTech/ambire-common/pull/2595 * Added: Discover Safe accounts by owner address across all supported networks https://github.com/AmbireTech/ambire-common/pull/2582 * Changed: New recovery phrase accounts can now be created in the background with a "back up later" option https://github.com/AmbireTech/ambire-common/pull/2585 * Changed: Retry ERC-7677 paymaster sponsorship using the bundler'
Changelog: * Added: The default fee speed is now saved to storage based on the last speed selected by the user https://github.com/AmbireTech/ambire-common/pull/2594 * Fixed: Added a final sponsorship check call to the paymaster before confirming gas sponsorship for a swap https://github.com/AmbireTech/ambire-common/pull/2592 * Fixed: The wallet now always persists the last chosen connection settings when connecting to a dApp https://github.com/AmbireTech/ambire-common/pull/2593 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.106.2...v2.106.3
Changelog: * Changed: Increased gas limit overhead for Robinhood transactions to reduce out-of-gas failures, and added automatic retry for failed gas estimations on EOA accounts with multiple calls https://github.com/AmbireTech/ambire-common/pull/2590 * Fixed: A transaction with a future nonce could incorrectly be marked as ready to broadcast, potentially causing a broadcast error https://github.com/AmbireTech/ambire-common/pull/2588 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.106.1...v2.106.2
Changelog: * Fixed: More reliable detection of whether a network properly supports state override https://github.com/AmbireTech/ambire-common/pull/2581 * Some networks (e.g. Etherlink) were previously misjudged because support was inferred as a side effect of another check. It is now tested directly, avoiding incorrect smart account support results on such networks. **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.106.0...v2.106.1
Changelog: * Changed: Renamed an internal portfolio and DeFi positions request parameter (`staleOk` to `cache`) to match what the relayer API expects https://github.com/AmbireTech/ambire-common/pull/2579 * Fixed: A confusing glitch where a swap simulation could flash correctly, then wrongly show "No token balance changes detected" https://github.com/AmbireTech/ambire-common/pull/2577 * Happened when approving a token and then immediately starting a swap on the same network, since the two requests could overwrite each other's results. * The wallet now always keeps the latest simulation instead
Changelog: * Added: Ambire can now humanize (clearly describe) Safe fallback handler changes, new signature verifiers, and CoW Protocol TWAP swap orders instead of showing raw contract data. https://github.com/AmbireTech/ambire-common/pull/2558 * 📣 Added: Support for setting a custom nonce on Safe account transactions before signing, and pending Safe transactions no longer overwrite each other. https://github.com/AmbireTech/ambire-common/pull/2569 * Added: Option to opt out of ERC-4337 smart account features, with automatic fallback gas price estimation. https://github.com/AmbireTech/ambire-c
Changelog: * Fixed: The Humanizer now correctly recognizes a Safe "reject transaction" instead of falling back to a generic/unclear description https://github.com/AmbireTech/ambire-common/pull/2568 * 📣 Fixed: A security gap where approvals hidden inside a `multicall()` to ERC-4626 vault contracts (e.g. Morpho vaults) were not shown to the user https://github.com/AmbireTech/ambire-common/pull/2571 * Previously such approvals were not humanized at all, so users could unknowingly approve spending on a vault token without any warning. * Added: Humanizer support for decoding plain (non-Safe) multi
Changelog: * Fixed: Safe account transactions failing to execute with a GS026 error https://github.com/AmbireTech/ambire-common/pull/2564 * Concatenated multisig signatures were not sorted in one code path used during estimation, causing execution to revert for Safe accounts with multiple signers. * Also fixed broken Transfer controller tests due to missing constructor properties. **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.105.0...v2.105.1
Changelog: * Fixed: Safe (multisig) API requests now time out after 15 seconds instead of leaving you stuck waiting during signing https://github.com/AmbireTech/ambire-common/pull/2559 * Fixed: Safe account transactions failing to execute with a GS026 error https://github.com/AmbireTech/ambire-common/pull/2564 * Concatenated multisig signatures were not sorted in one code path used during estimation, causing execution to revert for Safe accounts with multiple signers. * Also fixed broken Transfer controller tests due to missing constructor properties. **Full Changelog**: https://github.com/Amb
Changelog: * Added: Ambire now supports .gwei domain names in addition to ENS https://github.com/AmbireTech/ambire-common/pull/2532 * Domain resolution was reworked around a shared resolver architecture supporting multiple naming services (ENS, Namoshi, and now GNS/.gwei), with GNS names verified through Colibri. * Fixed an issue where forward name resolution results were being cached incorrectly. * Added: Cross-device Safe (multisig) message co-signing now shows the requesting dApp's name to other owners instead of a blank screen, and pending requests refresh automatically when the app regain
Changelog: * Fixed: Clean up the hanging requests after denying an account switch https://github.com/AmbireTech/ambire-common/pull/2556 **Full Changelog**: https://github.com/AmbireTech/ambire-common/compare/v2.104.1...v2.104.2