Releases: AmbireTech/ambire-common
Releases · AmbireTech/ambire-common
v2.45.0
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
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
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 inbanners.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.
- Added
- Fixed: Debug trace call error no network identifier #1305
Full Changelog: v2.42.1...v2.43.0
v2.42.1
Changelog:
- Added: token
isCustom
flag and passtokenPreferences
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 supportingdebug_traceCall
) #1299- Test NFT and Token transfer and pull with approval
- State override for approval
- Change: Remove
ethereumjs-abi
andjs-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
v1.0.25
Changelog:
- Add: Native asset ERC-20 representation address for every network
v2.42.0
Changelog:
- Added: Seed passphrase support #1285
- Changed: Better UX when the portfolio is slow #1270
- Add:
isReadyToVisualize
flag to the portfolio inselectedAccount
. 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 ofnetworkIds
- 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
andaccountState
as we are updating them every time a popup is opened) - Fix:
portfolioStartedLoadingAtTimestamp
not reset after changing the selected account
- Add:
- 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
andsimulationAmount
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
- Add:
Full Changelog: v2.41.0...v2.42.0
v2.41.0
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 atselectedAccount
portfolio state as it is behind the portfolio state which makes banners inaccurate sometimes. Also, don't callreloadSelectedAccount
. 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
- 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
- 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 inexecuteController
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
, andtoChainId
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 forsignMessage
#1279
Full Changelog: v2.40.2...v2.41.0