Skip to content

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