Skip to content

Releases: AmbireTech/ambire-common

v2.97.1

Choose a tag to compare

@superKalo superKalo released this 15 May 09:09
a723016

Changelog:

  • Added: A fallback URL for fetching Pimlico gas prices #2383
  • Fixed: Return the correct txnId to the dapp in the case of a 4337 txnId replacement #2379
  • Fixed: Activity card duplication prevention #2384
  • Fixed: Types - make storage get and set strict and accurate; update imports #2387
    • Fixes the typescript
    • Adds a migration that fixes the array bug

Full Changelog: v2.97.0...v2.97.1

v2.96.3

Choose a tag to compare

@superKalo superKalo released this 15 May 07:28
718ce08

Changelog:

  • Added: A fallback URL for fetching Pimlico gas prices #2383
  • Fixed: Return the correct txnId to the dapp in the case of a 4337 txnId replacement #2379

Full Changelog: v2.96.2...v2.96.3

v2.97.0

v2.97.0 Pre-release
Pre-release

Choose a tag to compare

@superKalo superKalo released this 13 May 12:47
76ce227

Changelog:

  • Added: Security - dApp verification for SignMessage and SignAccountOp screens #2345
    • Fixed: dApp not-present-in-catalog verification + integration/unit tests #2372
      • Fix: Verification for dApps not present in the default catalog was never reachable. Updated the logic to return the appropriate banner.
      • Add: Integration tests for DappsController->getDappVerificationBanner().
      • Add: Unit tests for SignAccountOpController and SignMessageController getDappVerificationBanner(). Here, we implemented unit tests because the main logic is already covered by the DappsController tests, and in both controllers we only test the branching logic.
  • Added: Address poisoning detection to the transfer flow #2328
    • Added: Recipient is now scanned against previously used recipients from transaction history for consecutive left/right address matches. A recipient is flagged as suspicious for address poisoning when 1) it's a first time send and 2) there's another transaction with a recipient that have a total of at 8 matching prefix and suffix characters. The detection returns metadata describing the matched trusted address plus the exact prefix/suffix match lengths.
    • Changed: Transfer controller now consumes that metadata during recipient history checks, and validation logic uses it to show an address poisoning warning with a formatted preview of the trusted address (meaning the address one've prev sent to).
    • Changed: The shortenAddress util now supports fixes size visible characters for the cases where a single maxLength is not enough - e.g. show exactly N symbols at the beginning and in the end.
  • Added: Swap & Bridge Squid router for Citrea #2348
    • we are no longer requiring a min of 10$ to bridge from/to Ethereum as we are resilient and bridges work fine
  • Added: Raw data on Sign Screen #2353
  • Added: Bridge activity card #2363
    • add an SubmittedAccountOpLike interface that accepts the minimum properties needed to display successfully a transaction in the activity tab
    • add an externalAccountOps object in storage
    • when a bridge completes, add that transaction as an externalAccountOp for that account
    • mix internal & external account ops in the activity so they are visible to the user
    • move debug_traceTransaction to its own declaration
  • Added: TransfersScanner controller that start searching the blockchain for transfer logs, records them as an externalAccountOp if found, learn the transferred in tokens from them & show an activity card for the transaction #2364
    • Added: A duplication guard to getLogs() so we don't record external account ops twice #2376
  • 📣 Added: ZCHF as fee token #2362
  • Changed: Survey - stability + UX enhancements #2356
  • Changed: Refactor - simplify BalanceGetter and getOnchainBalances #2371
  • Changed: Increase the portfolio update timeout to 4 hours while the extension is locked #2359
  • Changed: PR review config #2367
    • Actions were ran and skipped on every PR, which isn't needed
    • Adds fallback models
    • Updates system prompts
  • Changed: Humanizer - fallback for some plaintext #2374
    • If the plaintext message is one line and is under 100 characters we can simply display it as is
    • we also split it into words so the breaking works and we display addresses as addresses properly
  • Fixed: Abstract chain RPC calls #2366
    • a new AmbireAccountAbstract.json file used for doing state overrides on the Abstract chain
    • fix: gas price fetch on Abstract
    • fix: balance changes fetch on Abstract
    • fix: simulations on Abstract
  • Fixed: Return the correct txnId to the dapp in the case of a 4337 txnId replacement #2379

Full Changelog: v2.96.2...v2.97.0

v2.96.2

Choose a tag to compare

@superKalo superKalo released this 12 May 13:29
94e0fbf

Changelog:

  • Changed: Remove #resetAccountOpBalanceChangesOneTimeForAmbireNextTesting as it was for NEXT only #2361
  • Changed: Update Ambire Rewards app description (in the built-in Apps Catalog) #2373
  • Fixed: Bundler failure warning + drop redundant fee error #2375
    • Tag bundler estimation errors with 4337_ESTIMATION for non-fatal handling.
    • Shorter bundler warning + Retry / native-token hint.
    • Remove generic “unable to estimate fee” error when it’s not the fee-token price case.
    • Humanize Permit2 / AllowanceHolder signature expired (0xcd21db4f).

Full Changelog: v2.96.1...v2.96.2

v2.96.1

Choose a tag to compare

@superKalo superKalo released this 07 May 14:11
4dc3ade

Changelog:

  • Added: Gas field to advanced form #2358
  • Fixed: HyperEVM balance changes #2357

Full Changelog: v2.96.0...v2.96.1

v2.96.0

Choose a tag to compare

@superKalo superKalo released this 05 May 14:10
f6f8ddb

Changelog:

  • Added: Active param to portfolio discovery #2351
  • Added: AI PR reviews #2330
  • Added: Balance-changes #2332
    • remove the numbers from the uniswap humanizer as you will see them in balance changes instead. It's still up for discussion
  • Fixed: Incomplete meta in the Ambire Explorer req sometimes resulting in crash on the Ambire Explorer for missing params (repro on mobile) #2342
  • Changed: Swap siwe (not maintained) with @signinwithethereum/siwe #2318
  • Changed: CI - no unit tests for draft PRs #2347
  • Fixed: AAVE DeFi positions - did not find some deposited assets (we had hardcoded a limit of 45 for the possible deposit tokens, but now they are more and all after 45 were ignored) #2343
  • Fixed: Humanizer - remove edit approval logic #2350
  • Fixed: Swap & Bridge max handling across fiat / token modes #2344
    • Fix: When the user taps Max while the from-amount field is in USD/fiat mode, the controller now always applies the exact max token balance (maxFromAmount) and derives fiat from that. Previously, feeding max USD through the fiat - token path could round down and leave spendable dust after a swap.
    • UX: The user’s fiat vs token input mode is unchanged: we temporarily use the token conversion path only for the max calculation, then restore the previous fromAmountFieldMode.

Full Changelog: v2.95.1...v2.96.0

v2.95.1

Choose a tag to compare

@superKalo superKalo released this 05 May 13:10
f410568

Changelog:

  • Added: Retry mechanisms for Relayer fetches (when the req fails for fetching the survey or submitting the response, simply retry 2 times with 1s wait in between) #2354
  • Fixed: Transfer max infinite loop (networks like Arbitrum each time return a different estimation => causing the transfer amount to change if MAX is chosen & the fee token is the same as the transfer token => causing a re-estimate => repeat) #2352

Full Changelog: v2.95.0...v2.95.1

v2.95.0

Choose a tag to compare

@superKalo superKalo released this 28 Apr 14:10
df3f7f8

Changelog:

  • Added: DeFi apps support #2327
    • Adds a new key to the portfolio state - defiApps
    • Adds updateDefiAppsState that fetches the apps from a custom chain using velcro's portfolio discovery route - customAppChain
    • Adjusts types and the selectedAccount implementation
    • Fixes a bug in the batcher - if only one of the requests has forceUpdateDefi=true and it's not the first request, then the update param is not added to the url
    • Adds new tests for this logic and the batcher
  • Added: Built-in surveys #2316 and #2335
  • Changed: Exclude dept tokens from send/receive tokens list #2333
  • Changed: Make Phishing controller blacklist updates UI-aware and improve update intervals (15m when active, 6h when inactive) #2326
  • Fixed: Filter out AAVE assets with symbol/name=error #2329
  • Fixed: Infinite loop in the Transfer controller (causing the transfer form to freeze) #2338

Full Changelog: v2.94.1...v2.95.0

v2.94.1

Choose a tag to compare

@superKalo superKalo released this 28 Apr 09:46
3e4f052

Changelog:

  • Added: Keycard to QrWalletType #2336
  • Changed: Stricter limits on simulations (as they revert with out of gas if the simulated transaction is computational heavy) #2334
  • Changed: Override app.ipor.io description in Apps Catalog #2337

Full Changelog: v2.94.0...v2.94.1

v2.94.0

Choose a tag to compare

@superKalo superKalo released this 22 Apr 12:37
534d503

Changelog:

  • Added: DappsController - hasUnverifiedDappsAndSendResToUi method for verifying if passed dapps as parameter are part of the verified DefiLlama dapps #2195
  • Added: Safe 1/x quick sign & broadcast #2311
  • Added: Speed up transactions #2315
    • if the same eoaNonce txn has been confirmed, marked pending ones with the same nonce as rbf-ed
    • you can make a request with the same accountOp now - needed for speeding up the txn
    • speedUp logic in signAccountOp
  • Added: Custom gas prices #2314
    • add the ability for the user to set custom gas prices
    • add a hasCustomGasPrices flag in signAccountOp with a goal to stop all gas prices updates once the user has chosen gas prices on his own
    • display the RPC error message in full to the user if hasCustomGasPrices has been selected as he will probably have problems when selecting too low a few and the full error message with more useful to him than a generic "transaction underpriced". Nothing changes for users that don't touch the custom gas price options
    • custom gas prices are available for chain native broadcast only (they will be disabled for gas tank, tokens, etc
  • Added: Store balance by accounts #2293
  • Added: Smooth max transfer #2317
    • a sync mechanism between transfer & sign-account-op for MAX transfers
    • enable the MAX transfered out token as a fee (if it's a legit fee token)
    • suppress "not enough to pay the fee" errors during synching period in one click transfer mode
  • Changed: Refactor - add a common encodeCalls function in libs/safe #2308
  • Changed: Disable (maybe temporarily) injecting $WALLET token on Base as an option the Swap & Bridge "Receive" #2320
  • Fixed: Recurring timeout race condition (implements a Session ID locking mechanism in RecurringTimeout to prevent stale background tasks from blocking immediate foreground requests) #2299
  • Fixed: Sync dApps with latest from Phishing (removed dapp from the blacklist was still visible in the dapp catalog as a dangerous) #2310
  • Fixed: allOps ts error in Аctivity #2323
  • Fixed: mock the values from velcro as we don't need it for the portfolio cache test #2324
  • Fixed: Phishing refresh guard that prevents redundant requests to the Scam checker #2322

Full Changelog: v2.93.2...v2.94.0