Skip to content

Releases: AmbireTech/ambire-common

v2.45.0

24 Feb 16:29
e5f9bcd
Compare
Choose a tag to compare

Changelog:

  • Added: New deployless v for the Relayer #1318
  • Added: Benzin: Display actual txn fee #1317
  • Added: A prop increasePreVerGas to increase the preVerGas provided by the bundler on base/opt to make the UX better (less fee underpriced errors) #1330
  • Changed: Keystore custom extra entropy when creating main key and to the random seed phrase generation when creating a wallet from a new Seed Phrase #1295
  • Changed: Humanizer: The text for the fallback humanization #1320
  • Changed: Don't emit update if the update can be skipped, defi positions (+ also improve one error) #1321
  • Changed: Refactor Gas Tank v2 #1311 and #1331
  • Fixed: Significant balance decrease banner (When we perform a SWAP (or any other activity that results in a new portfolio token), the BalanceDecreaseBanner was shown if the output token was new to the portfolio. This happened because the newly acquired token hadn't yet been added to the portfolio through our learning/discovery process) #1303
  • Fixed: Swap from token amount without zero (.1) error #1312
  • Fixed: Closing entry point authorization request window doesn't reject the queued transaction #1309
  • Fixed: active route status remains pending forever due to a failed transaction because Socket does not update the route status to "Failed" in that case #1316
  • Fixed: Swap failure not humanized during broadcast #1314
    • Fix: SwapFailed not humanized on broadcast- The swap could fail between reestimations, leading to a broadcast error that wasn’t properly humanized.
    • Fix: PREPROCESSOR_BUNDLER_HANDLERS were interfering with PREPROCESSOR_HANDLERS (resetting the reason to '')
    • Fix: humanizeEstimationOrBroadcastError doesn't fallback to error message if reason is falsy
  • Fixed: Current action not reset on removeAction (actions ctrl) #1323
  • Fixed: The checks in updateCashbackStatus #1331

Full Changelog: v2.44.0...v2.45.0

v2.44.0

17 Feb 16:41
0a550b1
Compare
Choose a tag to compare

Changelog:

  • Added: Flexible approach for UI errors in the Swap & Bridge controller #1308
  • Added: Humanizer: legends humanizer claim XP for survey and more Swap & Bridge cases #1280
  • Changed: Display a ux-friendly email vault error when the key polling timeouts #1307
  • Changed: Swap & Bridge controller fallback enhancements #1310
    • Fallback to cache regardless of age if we fail to fetch the up-to-date "to" token list from Socket
    • "Monkey patch" the token list with WALLET tokens even if we fail to fetch the up-to-date token list from Socket
    • Add portfolio tokens even if we fail to fetch the token list from Socket
  • Changed: Sign Account Op error if a SA can't pay with any fee option #1313

Full Changelog: v2.43.0...v2.44.0

v2.43.0

12 Feb 15:27
e721571
Compare
Choose a tag to compare

Changelog

  • Added: Gas Tank v2 migration needed changes #1135
    • Added cashbackStatusByAccount property to the Portfolio Controller to manage the state of when the Confetti banner and Confetti Modal should be visible.
    • Added a getIsFirstCashbackReceived helper function to determine whether the first cashback has been received.
    • Introduced a getFirstCashbackBanners function in banners.ts.
    • Updated the SelectAccount Controller to use getFirstCashbackBanners for displaying a banner when a user receives their first cashback, if applicable.
    • Added a unit test for the changes related to cashback, availableAmount, and saved. This test is currently disabled and will be enabled once the required Relayer changes are applied.
  • Fixed: Debug trace call error no network identifier #1305

Full Changelog: v2.42.1...v2.43.0

v2.42.1

12 Feb 14:23
0033190
Compare
Choose a tag to compare

Changelog:

  • Added: token isCustom flag and pass tokenPreferences as hints #1290
  • Added: removeNetworkData method to activity (remove network filters if account ops are filtered by networkId and that network is removed) #1304
  • Change: debugTraceCall test from Polygon to Optimism (the test used to fail because upstream polygon RPC not supporting debug_traceCall) #1299
    • Test NFT and Token transfer and pull with approval
    • State override for approval
  • Change: Remove ethereumjs-abi and js-sha3 libs (both libs usage can be replaced with functions from ethers lib) #1300
  • Change: Don't reset Swap & Bridge "Receive" network and token if the user has selected it manually #1306

Full Changelog: v2.42.0...v2.42.1

v1.0.26

11 Feb 14:47
58c4d3c
Compare
Choose a tag to compare

Changelog:

Fix: Display proper humanization when sending wrapped native to gas tank

v1.0.25

11 Feb 09:04
e768faf
Compare
Choose a tag to compare

Changelog:

  • Add: Native asset ERC-20 representation address for every network

v2.42.0

10 Feb 16:47
25e0c68
Compare
Choose a tag to compare

Changelog:

  • Added: Seed passphrase support #1285
  • Changed: Better UX when the portfolio is slow #1270
    • Add: isReadyToVisualize flag to the portfolio in selectedAccount. It's true when all networks have loaded or when a timeout has passed. This allows the UI to display tokens when some networks are taking too long (As opposed to the previous logic which required all networks to have loaded)
    • Change: Selected account portfolio error to return networkNames instead of networkIds
    • Change: Deployless timeouts to 15000/20000 from 5000/15000
    • Change: Update the portfolio on popup open only if 5 minutes have passed since the last update (Imo we should implement similar logic for defiPositions and accountState as we are updating them every time a popup is opened)
    • Fix: portfolioStartedLoadingAtTimestamp not reset after changing the selected account
  • Changed: Allow the user to dismiss the password recovery banner #1284
  • Changed: Tweak the note for the account must have a min of $10 to use the Gas Tank #1288
  • Changed: Refactor Actions controller tests #1291
  • Changed: Human-friendly message when Swap & Bridge service provider temporarily bans user requests (when user makes too many requests) #1296
  • Fixed: Price request - missing network #1273
    • If we can't determine the Gecko platform ID, we shouldn't make a request to price (cena.ambire.com) since it would return nothing. This can happen when adding a custom network that doesn't have a CoinGecko platform ID.
  • Fixed: Pinned tokens not passed to portfolio lib on failed RPC #1130
  • Fixed: DeFi tokens - simulation and pending amounts (The amountPostSimulation and simulationAmount properties were not set for the DeFi position assets. Because of this, when attempting to withdraw a lending token, its simulation was not displayed or considered, and the balance of the collateral token was doubled (you got richer)) #1281
  • Fixed: DeFi positions test (was failing because the previous test accounts had updated their positions) #1292
  • Fixed: Inner call failure raw error displayed to the user #1293
  • Fixed: Selected account portfolio DeFi glitches #1289
    • Add: maxDataAgeMs to defiPositions
    • Fix: Selected account portfolio flashes with an incorrect balance because defiPositions have not loaded an isAllReady is set to true
    • Fix: skip hidden tokens in updatePortfolioStateWithDefiPositions
    • Fix: isDefiToken flag not added to defi tokens
    • Refactor: Don't reconstruct portfolio tokens in updatePortfolioStateWithDefiPositions

Full Changelog: v2.41.0...v2.42.0

v2.41.0

04 Feb 10:09
784c425
Compare
Choose a tag to compare

Changelog:

  • Added: Pending balance delta threshold #1100
  • Added: Мethod for deleting individual calls in the Main controller #1258
  • Added: Listener to track the focused state of the action window #1260
  • Added: Humanizer: Aave withdraw(bytes32) case #1271
  • Added: Humanizer: Handle one more Socket case and fix old bridge/swap humanization (before our fee) #1272
  • Changed: Update balance errors UX #1242
    • Add a proper loading state to account state fetching. The previous implementation was way too limiting. I will compare it with an example- if we call updateAccountStates with 1 network, which takes 8 seconds to complete and at the 4th second we make another call with 8 networks this time. The second call will be discarded, instead of only discarding the call to the network that is currently loading.
    • Update: Make reloadSelectedAccount more robust- it now accepts forceUpdate and networkId as params
    • Update: Improve #updateIsOffline- don't look at selectedAccount portfolio state as it is behind the portfolio state which makes banners inaccurate sometimes. Also, don't call reloadSelectedAccount. This logic is instead moved to the background process.
    • Update: replace selectedAccount banners with errors
    • Fix: Infinite portfolio reloading if the user goes offline -> online or there is a bad RPC
  • Changed: Relayer down message #1251
  • Changed: Delete individual call refactoring #1261
  • Changed: Humanizer: Socket executeController wrapper handling (since we introduced fees, the socket API now wraps all calls in executeController which is responsible for handling fees to us) #1264
  • Changed: Refactor token preferences #1257
    • Refactor token preferences so custom tokens and tokens with preferences can be differentiated
    • Optimize custom tokens
    • Move isHidden to flags
  • Changed: Humanizer: Rename "open chest" to "unlock chest" #1268
  • Changed: Relayer error handler swallows error reasons #1276
  • Changed: Swap & Bridge API error handling and messaging #1157
    • Changed: A common handler for all Socket API responses (wired up to all API calls now), that processes Socket API responses and throws custom errors for various failures, including handling the API's unique response structure.
    • Changed: Do not swallow the upstream errors coming from our Swap & Bridge service provider (would greatly help us debug if the glitch is coming on our end or not when someone reports a bug):
    • Changed: Do not swallow the errors in case something in our logic breaks, display it with sensible (fallback) messages.
  • Changed: Preserve the state of Swap & Bridge form fromSelectedToken, fromChainId, and toChainId after form submission to enhance the UX and avoid confusion #1274
  • Fixed: Action windows race condition (that opens 2 action windows at the same time) #1256
  • Fixed: Unit tests #1253
  • Fixed: Extension crashing upon network removal #1266
    • Fixed: Service worker crashes upon network removal due to missing error handling in the selectedAccountCtrl
    • Fixed: Resolved FE crashes and display of unknown or undefined texts on the Dashboard by resetting the state of dashboardNetworkFilter after the filtered network is removed
  • Fixed: Deployless - out of gas (we reduced the token limits for Deployless->StateOverride mode only, as the limit for Proxy mode has already been reduced to the minimum due to the 24KB of calldata) #1267
  • Fixed: isOffline is set to true incorrectly (could be true even if only one network fails) #1263
  • Fixed: Refine the logic for skipping Swap & Bridge controller emits when there is no active session (addressing the troubles when there is no active session if one makes a bridge and closes the Swap & Bridge screen - banners on the Dashboard didn't update accordingly, the success bridge "cancel" button didn't dismiss the banner and other troubles) #1277
  • Fixed: Swap splits: set the correct address for Ethereum #1278
  • Added: EIP_1271_NOT_SUPPORTED_BY naughty list for signMessage #1279

Full Changelog: v2.40.2...v2.41.0

v2.40.2

31 Jan 14:19
e74564b
Compare
Choose a tag to compare

Changelog:

  • Changed: Temporarily exclude the Mayan bridge in the integrated Swap & Bridge for Smart Accounts (they do NOT support batching and if bridges get batched, funds get stuck) #1269

Full Changelog: v2.40.1...v2.40.2

v2.40.1

28 Jan 14:14
8603abc
Compare
Choose a tag to compare

Changelog:

  • Changed: Reduce integrated Swap & Bridge convenience fee to 0.25% #1259

Full Changelog: v2.40.0...v2.40.1