Repository navigation
Releases: vultisig/vultisig-ios
Releases · vultisig/vultisig-ios
Release list
v1.48.77
What's Changed
- chore(release): bump version to 1.48.76 (build 76) by @johnnyluo in #5524
- feat(swap): enable ZEC swaps through THORChain by @johnnyluo in #5530
- fix(swapkit): refuse PSBT inputs this vault cannot sign by @gastonm5 in #5532
- fix(cardano): treat already-included broadcast reply as duplicate broadcast by @gastonm5 in #5535
- fix(xrp): report a tx expired past its LastLedgerSequence as failed by @gastonm5 in #5536
- fix(evm): refuse an ERC-20 transfer addressed to the token's own contract by @gastonm5 in #5537
- feat(import): accept every BIP39 seed phrase length by @gastonm5 in #5538
- fix(ripple): bound the signed Fee at 2 XRP on native and dApp paths by @gastonm5 in #5534
- fix(security): gate push deeplinks to keysign and confirm external keygen links by @gastonm5 in #5533
Full Changelog: v1.48.76...v1.48.77
v1.48.76
What's Changed
- chore(release): bump version to 1.47.75 (build 75) by @johnnyluo in #5457
- fix(solana): splice a raw tx signature into the vault's own signer slot by @gastonm5 in #5438
- chore: fix thread-safety warnings in balance, Solana and QBTC services by @gastonm5 in #5451
- chore: align SwiftData model and migration actor isolation by @gastonm5 in #5453
- chore: fix macOS-only actor-isolation warnings (app lock panel, camera delegate) by @gastonm5 in #5454
- chore: make passcode session, lock service and key store Sendable by @gastonm5 in #5455
- chore: document @model isolation; clear the SwapTryAgainTests warning by @gastonm5 in #5458
- fix: make ThreadSafeDictionary.setSync write under a barrier by @gastonm5 in #5459
- test: make the TRON staking short-circuit test exercise the short-circuit by @gastonm5 in #5460
- fix(ui): use the book-bookmark-filled icon for the address book by @gastonm5 in #5461
- chore: make the Keychain service layer Sendable by @gastonm5 in #5462
- chore: confine Coin/Vault use to the main actor at swap, send and balance boundaries by @gastonm5 in #5456
- fix: start at most one pending-transaction poller per chain by @gastonm5 in #5464
- chore: check Sendable on the keyshare key store; clear the last compiler warning by @gastonm5 in #5468
- fix(defi): confine Bond interactor Vault reads to the main actor by @gastonm5 in #5469
- Fix TON jetton wallet master filtering by @gastonm5 in #5472
- Fix Solana swap network fee display across signers by @gastonm5 in #5473
- fix(tss): deliver one ceremony round to every peer in a single relay POST by @gastonm5 in #5465
- fix(defi): discard a DeFi chain refresh whose vault was switched mid-flight by @gastonm5 in #5470
- fix(swap): decode SwapKit approve spender from calldata, fail closed by @gastonm5 in #5475
- fix(keysign): co-sign an ERC-20 approve followed by a non-swap contract call (VULT stake) by @gastonm5 in #5476
- fix(security): scan the real swap (bulk with its approve legs) for ERC-20 sources by @gastonm5 in #5477
- feat(keysign): review Send, Swap and DeFi in a shared sheet by @gastonm5 in #5474
- feat(keysign): add co-signer overview sheet by @gastonm5 in #5480
- fix(solana): read Stakewiz total_apy for validator APY by @realpaaao in #5484
- fix(swap): add block explorer button to swap Done tx hash rows by @gastonm5 in #5488
- feat(keysign): add Share QR Code sheet with Copy Link on secure signing by @gastonm5 in #5487
- fix(cardano): decode and verify the SwapKit pre-built tx body before signing by @gastonm5 in #5489
- feat(defi): show bonded node reward history from Last Reward by @gastonm5 in #5490
- fix(swap): preserve SwapKit legacy P2PKH PSBT version and locktime by @gastonm5 in #5491
- feat(widgets): searchable watchlist and aligned market rows by @gastonm5 in #5493
- feat(review): make overview sheets full width by @gastonm5 in #5495
- fix(xrp): allow retrying trust-line activation by @gastonm5 in #5498
- fix(thorchain): allow paired adds to staged pools by @gastonm5 in #5500
- fix(sui): block underfunded coin object sends by @gastonm5 in #5504
- fix(ton): show actual paid network fee by @gastonm5 in #5512
- fix(defi): show Kamino deposit without the interest it holds by @realpaaao in #5513
- fix(macos): open deeplinks in the existing window, not a new one by @gastonm5 in #5523
- fix(swap): pin EVM aggregator routers and bound tx.value before signing by @gastonm5 in #5520
- fix(tron): bind signed dApp contract to the reviewed payload fields by @gastonm5 in #5521
- fix(ton): show the TON network as "TON (GRAM)", fee in GRAM by @realpaaao in #5517
Full Changelog: v1.47.75...v1.48.76
v1.47.75
What's Changed
- chore(release): bump version to 1.47.74 (build 74) by @johnnyluo in #5427
- fix(keysign): show the dApp banner when co-signing a dApp swap by @gastonm5 in #5431
- fix(keysign): show the requesting dApp when co-signing a custom message by @gastonm5 in #5432
- fix(ui): keep disabled primary buttons visible on bgSurface1 by @johnnyluo in #5435
- feat(swap): Try again on a failed swap (Overview + History) by @gastonm5 in #5436
- chore: clear quick app-target compiler warnings by @gastonm5 in #5449
- fix(swap): label the EVM network fee and total as a maximum before broadcast by @gastonm5 in #5437
- feat(keysign): honour PolkadotSpecific.allow_death when co-signing DOT/TAO sends by @gastonm5 in #5439
- feat(keysign): honour Erc20ApprovePayload.reset_allowance_first when co-signing (part 1 of 2) by @gastonm5 in #5440
- feat(swap): detect refunded native THORChain/Maya swaps by @gastonm5 in #5441
- fix(swap): keep the keyboard Done button out of the iOS 27 overflow menu by @gastonm5 in #5450
- test: clear unit-test compiler and SwiftLint warnings by @gastonm5 in #5448
- feat(swap): read the ERC-20 allowance before Verify and reset it first when the token needs it (part 2 of 2) by @gastonm5 in #5445
Full Changelog: v1.47.74...v1.47.75
v1.47.74
What's Changed
- chore(release): bump version to 1.46.73, fix macOS provisioning updates by @johnnyluo in #5320
- fix(blockaid): net complete Solana asset diffs by @gastonm5 in #5321
- test(cardano): add CNT send golden vector for native-token support by @johnnyluo in #5322
- feat(settings): update App Lock settings flow by @gastonm5 in #5324
- fix(keygen): retry relay sends with backoff, progress-based stall clock, awaited /start kickoff by @gastonm5 in #5318
- feat(history): swap/limit rows show FROM → TO pair and both amounts by @gastonm5 in #5330
- fix(bittensor): guard against burn/zero-account TAO destinations by @gastonm5 in #5331
- fix(bittensor): require SS58 prefix + checksum on the sign path by @gastonm5 in #5332
- fix(send): hide memo field for Bittensor and Polkadot sends by @gastonm5 in #5333
- fix: stabilize vault navigation and scroll state by @gastonm5 in #5334
- fix(settings): reuse VultiToggle for App Lock controls by @gastonm5 in #5337
- fix: remove Loader by @gastonm5 in #5349
- fix(tron): measure the bandwidth reserve from the transaction, and verify the broadcast txid by @gastonm5 in #5365
- fix(swap): refuse a SwapKit deposit response that disagrees with itself by @gastonm5 in #5363
- fix(send): reject non-plain-decimal amounts at every external boundary by @gastonm5 in #5353
- fix(bond): bound the THORChain operator fee to 0…10000 basis points by @gastonm5 in #5370
- fix(swap): give every SwapKitError case a title consistent with its body by @gastonm5 in #5373
- fix(bittensor): derive/decode SS58 via WalletCore AnyAddress by @johnnyluo in #5376
- fix(swap): keep a manually picked swap route across quote refreshes by @gastonm5 in #5356
- fix(swap): carry the native swap fee to the co-signer by @gastonm5 in #5352
- fix(swap): bump the commondata pin and carry price impact, the SwapKit fee and the route tag to the co-signer by @gastonm5 in #5360
- feat(settings): make Passcode available to everyone by @gastonm5 in #5380
- fix(swap): scale MayaChain fee rows by asset decimals, not 1e8 by @johnnyluo in #5377
- fix(fees): price the co-signer fee in the native coin, stop truncating small swap fees by @johnnyluo in #5381
- [BLOCKED] fix(bittensor): default TAO sends to transfer_keep_alive, reserve ED by @gastonm5 in #5335
- feat(ton): discover held jettons and classify them verified / unverified / scam by @gastonm5 in #5374
- fix(ton): gate the pool-comment decoder on the native coin by @johnnyluo in #5392
- fix(tron): price bandwidth on TRC20 sends, not just energy by @johnnyluo in #5393
- fix(tron): stop summing free and staked bandwidth pools for fee coverage by @johnnyluo in #5401
- fix(tron): don't charge activation fee on TRC20 sends by @johnnyluo in #5402
- fix(swap): prevent clipped macOS amount placeholders by @gastonm5 in #5403
- fix(defi): keep chain content clear of the tab bar by @gastonm5 in #5404
- fix(swap): add bottom inset to macOS completion actions by @gastonm5 in #5405
- fix(swap): keep advanced settings sheet height stable by @gastonm5 in #5406
- fix(swap): show native chain badges in swap summaries by @gastonm5 in #5409
- Share bundled and remote images across app and widget targets by @gastonm5 in #5408
- feat(swap): support fiat amount entry in the From field by @gastonm5 in #5407
- fix(swap): carry a stated-zero provider fee to the co-signer by @gastonm5 in #5413
- Fix detached camera tab on iOS 27 by @gastonm5 in #5416
- fix(macOS): hide native tab strip on macOS 27 by @gastonm5 in #5418
- fix: keep coin detail sheets at full height by @gastonm5 in #5419
- fix(swap): read native price impact from quote fees by @gastonm5 in #5410
- fix(vault): preserve Fast identity across failed presence checks by @gastonm5 in #5411
- fix(swap): fee-aware indicative estimate from the pair's last firm quote by @gastonm5 in #5412
- fix(swap): keep one transaction snapshot through signing by @gastonm5 in #5424
- fix(macOS): restore opaque native window title bar by @gastonm5 in #5423
- fix(swap): block stale quotes after failed refreshes by @gastonm5 in #5425
Full Changelog: v1.46.73...v1.47.74
v1.46.73
What's Changed
- chore(release): bump version to 1.45.72 (build 72) by @johnnyluo in #5275
- fix(solana): reject off-curve recipients by @gastonm5 in #5270
- fix(solana): scan swap transactions by @gastonm5 in #5271
- fix(solana): surface execution errors before finality by @gastonm5 in #5272
- fix: make QBTC claim banner permanently dismissible by @gastonm5 in #5278
- feat(swap): add Robinhood and HyperEVM SwapKit routing by @gastonm5 in #5279
- fix: price Ethereum THOR from THORSwap by @johnnyluo in #5280
- feat: add crypto market widgets PoC by @gastonm5 in #5277
- Remove native Kujira chain support by @gastonm5 in #5283
- feat: broaden App Store review eligibility by @gastonm5 in #5282
- refactor: share UI resources and theme with widgets by @gastonm5 in #5284
- fix(tron): use shared proxy routes by @gastonm5 in #5300
- fix(tron): accept successful contract receipts by @gastonm5 in #5298
- fix(tron): correct fee fallback budget by @gastonm5 in #5299
- fix(tron): remove phantom staking memo fee by @gastonm5 in #5302
- fix(tron): separate TRC-20 burn estimate from fee limit by @gastonm5 in #5301
- test(swap): cover native quote minimum guard by @gastonm5 in #5304
- fix: overlay foreground notification banner by @gastonm5 in #5306
- fix(swap): keep Jupiter quotes when the fee ATA is missing by @realpaaao in #5289
- feat: add app-configured widget watchlist by @gastonm5 in #5297
- feat(swap): add custom token from empty search by @gastonm5 in #5305
- fix(send): hide memo for ERC-20 transfers by @gastonm5 in #5307
- fix(swap): set LI.FI Auto slippage tiers by @gastonm5 in #5312
- fix: restore btc/eth/bsc/solana/usdt imagesets to main catalog by @johnnyluo in #5315
- fix(swap): explain min-output failures in transaction history by @gastonm5 in #5314
- fix(swap): show gross 0.50% fee and applied discounts by @gastonm5 in #5316
- Update app lock screen and make biometrics explicit by @gastonm5 in #5319
Full Changelog: v1.45.72...v1.46.73
v1.45.72
What's Changed
- chore(release): bump version to 1.45.71 (build 71) by @johnnyluo in #5236
- test(keysign): add missing sei.json golden fixture by @johnnyluo in #5245
- fix(defi): match Kamino Earn cards to Figma by @gastonm5 in #5260
- feat(ui): replace accessory icons with labeled pills by @gastonm5 in #5264
- feat(home): support permanent banner dismissal by @gastonm5 in #5261
- fix(swap): retry aggregators after native halt by @gastonm5 in #5263
- fix(defi): sort displayed DeFi positions by value by @gastonm5 in #5265
- feat(home): match 2026 promo banner designs by @gastonm5 in #5262
- fix(ton): replace legacy icon with GRAM artwork by @gastonm5 in #5267
- fix(coin-detail): dismiss expanded sheet on pull-down by @gastonm5 in #5269
- fix(ton): jetton fee display shows 0.05 but attaches 0.08 TON by @gastonm5 in #5256
- fix(ton): destination bounceability from tag byte; fix inverted isActiveDestination by @gastonm5 in #5257
- fix(ton): detect action-phase failures in transaction status by @gastonm5 in #5258
- fix(ton): drop ignore-action-phase flag + explicit MAX send by @gastonm5 in #5259
- ci: cross-repo golden corpus sync check by @realpaaao in #5244
Full Changelog: v1.45.71...v1.45.72
v1.45.71
What's Changed
- chore(release): bump version to 1.44.70 (build 70) by @johnnyluo in #5098
- fix(passcode): apply hardware-key edits after the update that delivered them by @gastonm5 in #5097
- fix(passcode): show a recovery screen when sealed shares outlive their key by @gastonm5 in #5106
- fix(import): let a .vult replace the vault this device can no longer open by @gastonm5 in #5107
- feat(passcode): ask for a backup before the passcode goes on by @gastonm5 in #5111
- feat(defi): Kamino Earn plumbing — REST client, Solana v0 message editor, transaction validator by @gastonm5 in #5053
- feat(defi): show Kamino Earn vault positions on the Solana DeFi tab by @gastonm5 in #5055
- feat(defi): deposit into and withdraw from a Kamino Earn vault by @gastonm5 in #5056
- feat(defi): decode Kamino transactions on the verify screen, and withdraw farm-staked shares by @gastonm5 in #5057
- feat(defi): tag every Kamino transaction with the vs attribution memo by @johnnyluo in #5117
- feat(defi): bring the Kamino Earn UI to the design by @gastonm5 in #5105
- fix(defi): guard LPPosition/StakePosition apply against no-op mutations by @gastonm5 in #5109
- fix(defi,rates): stop YieldPosition and DatabaseRate churning the store on no-op refreshes by @gastonm5 in #5113
- test: stop TestStore vault fixtures collapsing into one row by @gastonm5 in #5114
- fix(thorchain): price bRUNE at RUNE parity instead of a nonexistent pool by @gastonm5 in #5126
- fix(passcode): take the privacy cover down as the app returns, and make it a blurred wallet by @gastonm5 in #5128
- perf(defi): cut the Kamino deposit's exposure to the Solana proxy stall by @gastonm5 in #5118
- refactor(swiftdata): scope the root vault queries to one-shot fetches by @gastonm5 in #5112
- fix(networking): suppress body logging for password-carrying requests by @johnnyluo in #5130
- fix(defi): keep a typed unstake amount across the late auto-compound balance load by @gastonm5 in #5134
- fix(swap): stop a failed VULT tier read dropping the discount for the whole session by @gastonm5 in #5133
- feat(limit-swap): custom expiry, two-way amounts, and a % offset stepper by @gastonm5 in #5119
- feat(defi): switch the Kamino attribution memo to 8k2mz by @gastonm5 in #5166
- refactor(maya): remove legacy Maya bond/unbond and fix the DeFi unbond dust by @gastonm5 in #5135
- fix(thorchain): treat a null Midgard TCY distribution list as empty by @johnnyluo in #5168
- refactor(functions): delete the write-only contract-type selector by @gastonm5 in #5155
- fix(forms): recompute validForm when validators change, not only values by @gastonm5 in #5158
- fix(function-call): disclose the real network fee on Verify for EVM/UTXO/Cardano by @gastonm5 in #5161
- fix(model): publish @Transient-derived state so views re-render on change by @gastonm5 in #5156
- refactor(functions): drop the unreachable IBC arms and fix the stranded Function defaults by @gastonm5 in #5154
- refactor(functions): retire the legacy SECURE+ mint form in favour of the Swap route by @gastonm5 in #5160
- refactor(functions): migrate node LEAVE to the FunctionTransaction architecture by @gastonm5 in #5162
- feat(functions): open the chain's actions as a list, not a dropdown by @gastonm5 in #5167
- refactor(functions): migrate node REBOND to the FunctionTransaction architecture by @gastonm5 in #5163
- refactor(functions): migrate Rujira MERGE to the FunctionTransaction architecture by @gastonm5 in #5164
- refactor(functions): migrate RUJI UNMERGE to the FunctionTransaction architecture by @gastonm5 in #5165
- refactor(functions): migrate SECURE- withdraw to the FunctionTransaction architecture by @gastonm5 in #5170
- refactor(functions): migrate SWITCH (Gaia → THORChain) to the FunctionTransaction architecture by @gastonm5 in #5169
- refactor(functions): migrate the dYdX governance vote to FunctionTransaction by @gastonm5 in #5171
- refactor(functions): migrate IBC transfer, and stop dropping memos that contain a colon by @gastonm5 in #5172
- refactor(functions): migrate the raw-memo escape hatch to FunctionTransaction by @gastonm5 in #5173
- refactor(functions): resolve the LP deposit's destination per selected asset by @gastonm5 in #5174
- refactor(functions): integrate the epic and delete the legacy FunctionCall shell by @gastonm5 in #5175
- fix(swap): remove the GB/JP/MY regional swap gate by @johnnyluo in #5179
- fix(ui): round the asset picker's bottom corners and drop the macOS focus ring by @gastonm5 in #5181
- refactor(functions): retire the RUJI merge/unmerge and Gaia SWITCH forms by @gastonm5 in #5180
- fix(keysign): unstick the joining device's signing-error screen by @johnnyluo in #5185
- fix(functions): resolve Swift 6 warnings in Maya bond view models by @johnnyluo in #5186
- fix(defi): denominate the CACAO withdraw ceiling in CACAO, not pool units by @gastonm5 in #5188
- fix(kamino): read a withdraw built as withdraw_from_available by @gastonm5 in #5191
- fix(wallet): stop the portfolio search bar scrolling itself off-screen by @gastonm5 in #5193
- fix(blockaid): net a same-mint SOL/WSOL diff pair instead of calling it a swap by @gastonm5 in #5190
- fix(defi): withdraw the amount that was actually asked for, on every staked position by @gastonm5 in #5192
- fix(wallet): stop offering DeFi receipts in the token-selection sheet by @gastonm5 in #5197
- fix(defi): fade the banner over its own height, not half of it by @gastonm5 in #5201
- fix(defi): open the unstake sheet against the amount the card showed by @gastonm5 in #5202
- fix(transactions): release the keyboard before navigating to Verify by @gastonm5 in #5203
- feat(defi): claim expired TRON unfreeze entries via WithdrawExpireUnfreezeContract by @gastonm5 in #5207
- fix(wallet): sort chains after rate cache hydration by @gastonm5 in #5231
- feat(keysign): establish signed transaction decoder core by @gastonm5 in #5217
- feat(keysign): integrate decoded heroes into Verify by @gastonm5 in #5218
- fix(history): keep timed-out transactions resumable by @gastonm5 in #5232
- fix(maya): gate CACAO staking while chain is halted by @gastonm5 in #5233
- fix(keysign): abort on DKLS malicious-party ban instead of retrying by @johnnyluo in #5235
Full Changelog: v1.44.70...v1.45.71
v1.44.70
What's Changed
- chore(release): bump version to 1.43.69 (build 69) by @johnnyluo in #4988
- fix(tests): un-skip the ChainHelper golden signing-vector suite by @gastonm5 in #4996
- fix(swap): show the memo-enforced floor as "min. payout", the quote as "expected payout" by @gastonm5 in #4998
- test(chains): golden vectors for TCY + the EVM chainId matrix — and a SEI signer divergence by @gastonm5 in #4999
- fix(utxo): fetch the complete UTXO set, spend only what is spendable, and show that as the balance by @gastonm5 in #4978
- chore(swap): remove the limitSwapEnabled feature flag by @gastonm5 in #5003
- feat(limit-swap): set the target price on a chart by @gastonm5 in #5002
- fix(swap): title the no-pool error properly and stop the raw provider string flash by @gastonm5 in #4997
- fix(dkls): strip redundant leading zero bytes before DER-encoding r by @johnnyluo in #5007
- fix: correct notification intro state by @johnnyluo in #5011
- fix: add foreground notification fallback by @johnnyluo in #5012
- fix(ripple): record an XRPL trust-line activation as an activation, not a quadrillion-token transfer by @gastonm5 in #5006
- fix(limit-swap): block Place Order when the sell amount is unaffordable by @gastonm5 in #5009
- feat(design-system): corner-radius token scale in Theme (phase 1 of 4) by @gastonm5 in #5040
- fix(onboarding): label the launch-screen primary button "Create new Vault" by @gastonm5 in #5042
- fix(limit-swap): derive the cancel dust ceiling from a pinned threshold, and make the coverage test structural by @gastonm5 in #5033
- fix(home): crossfade the portfolio balance into the top bar as the header collapses by @gastonm5 in #5036
- fix(coin-detail): open the sheet at a partial detent with a faded bottom edge by @gastonm5 in #5031
- fix(defi): DeFi "Select positions" no longer renders empty while /pools loads by @gastonm5 in #5030
- fix(ton): finish the GRAM rebrand — display sites read coin.ticker, and migrate persisted DeFi positions by @gastonm5 in #5035
- refactor(design-system): standardise container corner radii on 24 via Theme.radius by @gastonm5 in #5046
- fix(signing): guard Solana/Sui/Tron pre-sign on chain, not ticker by @johnnyluo in #5049
- fix(localization): add missing Korean strings by @johnnyluo in #5050
- fix(sui): resolve custom tokens, balances, and prices by @johnnyluo in #5051
- fix(tron): accept compressed public key on cross-device keysign by @johnnyluo in #5052
- fix(send): UTXO max send — sticky sendMaxAmount, plan-derived Max, live byte fee, mapped plan.error by @gastonm5 in #5032
- fix(swap): reserve a constant line box for the swap card amount row by @gastonm5 in #5065
- fix(thorchain): stop the LP-actions pause flag blocking Secured Assets deposits by @gastonm5 in #5062
- fix(send): read a balance exactly past Int64 so a send can't validate against funds that aren't there by @gastonm5 in #5064
- fix(send): bind the pinned EVM gas limit to the asset it was sized for by @gastonm5 in #5063
- test(signing): golden vectors for Cosmos matrix, Dash/Zcash, Bittensor, QBTC, limit orders by @johnnyluo in #5059
- fix(keychain): distinguish an absent item from an unreadable Keychain by @gastonm5 in #5054
- build(lint): keep corner radii on the token scale (phase 4 of 4) by @gastonm5 in #5048
- fix(import): stop a vault import from silently overwriting a stored vault by @gastonm5 in #5068
- feat(security): opt-in passcode app-lock + at-rest key-share encryption (#4846) by @gastonm5 in #5070
- fix(swap): inset the advanced-swap settings card from the sheet's bottom edge by @gastonm5 in #5069
- fix(keysign): resolve KeyImport custom-message keys by derivation path by @gastonm5 in #5071
- fix(send): derive an EVM max send from the fee that actually gets signed by @gastonm5 in #5034
- test(import): state the protection state the import tests are written for (#5078) by @gastonm5 in #5079
- fix(settings): make the passcode screens behave on macOS (#5075) by @gastonm5 in #5076
- fix(ripple): refuse and surface the XRPL dApp terms the confirmation screen hid by @gastonm5 in #5088
- fix(sui): migrate off JSON-RPC to GraphQL RPC before the mid-October decommission by @gastonm5 in #5093
- fix(tss): snapshot the vault's key shares before the TSS ceremony starts by @gastonm5 in #5094
- fix(keygen): make commitVault all-or-nothing when the save throws by @gastonm5 in #5095
- fix(passcode): put the lock screen above the presentation layer on both platforms by @gastonm5 in #5096
Full Changelog: v1.43.69...v1.44.70
v1.43.69
What's Changed
- chore(release): bump version to 1.43.68 (build 68) by @johnnyluo in #4969
- feat: add Robinhood Chain (Arbitrum Orbit L2, chain id 4663) by @realpaaao in #4898
- perf(wallet): 114 → 4.4 ms/s hitch time on the wallet chain list (+ rate-cache dictionary) by @gastonm5 in #4975
- [Add] Dynamic token search — TokenCatalogRepository + verified/unverified add-token surface [Wallet / Tokens] by @gastonm5 in #4954
- style(settings): move the settings flow onto the shared 24pt list system by @gastonm5 in #4983
- fix(tokens): rank the provider catalogs, bound browse to the top 20 each, unbound search by @gastonm5 in #4980
- feat(review): ask for an App Store review after a confirmed transaction by @gastonm5 in #4984
- feat(coin-detail): price chart, market stats, extremes and token info by @gastonm5 in #4981
- feat(ripple): show XRP trust-line token balances in the asset list by @gastonm5 in #4940
Full Changelog: v1.43.68...v1.43.69
v1.43.68
What's Changed
- chore(release): bump version to 1.42.67 (build 67) by @johnnyluo in #4833
- feat(icons): rebuild the icon set on Icons V3, make the compiler the guarantee by @gastonm5 in #4834
- fix(substrate): surface RPC error details by @johnnyluo in #4845
- feat(limit-swap): track resting limit orders against the THORChain queue + Limit Orders tab (Phases 1–3) by @gastonm5 in #4816
- fix(swap): map the node's price-limit rejection to an actionable slippage error by @gastonm5 in #4852
- fix(swap): size percentage presets by the asset's own precision by @gastonm5 in #4850
- fix(send): fill the full balance on Max instead of stranding a digit of dust by @gastonm5 in #4848
- fix(send): switch into the right chain family for ambiguous Terra and EVM addresses by @gastonm5 in #4847
- feat(keysign): co-sign XRPL custom messages with SHA-512-half digest by @gastonm5 in #4860
- fix(tron): block self-send + stop overstating network fee (#4863) by @gastonm5 in #4866
- fix(defi): surface RUJI's bonded and auto-compounding positions as separate cards by @gastonm5 in #4865
- fix(swap): itemize the Verify fee rows — affiliate-only Vultisig Fee, % from bps, reconciled total by @gastonm5 in #4864
- fix(swap): derive toAmountLimit from the signed memo, not expected output by @gastonm5 in #4851
- fix(swap): re-introduce the on-chain swap floor via liquidity_tolerance_bps by @gastonm5 in #4849
- chore: remove dead code flagged by periphery (10 unused classes) by @johnnyluo in #4875
- fix(evm): average two central samples for even-length priority-fee sets by @rkokhatskyi in #4879
- chore: remove dead code flagged by periphery (unused structs) by @johnnyluo in #4876
- chore: remove dead code flagged by periphery (unused enum cases) by @johnnyluo in #4877
- chore: remove dead code flagged by periphery (unused functions) by @johnnyluo in #4884
- fix(tx-history): add top fade gradient below the segmented control by @gastonm5 in #4882
- fix(tx-history): swap "via {provider}" badge uses the swapper brand logo by @gastonm5 in #4883
- chore: remove dead code flagged by periphery (unused enums) by @johnnyluo in #4886
- chore: remove dead code flagged by periphery (unused initializers) by @johnnyluo in #4885
- fix(ui): swap coin + chain pickers — 24pt container, borderLight border, solid separators by @gastonm5 in #4891
- fix(ui): compact redesign for all carousel banners + remove legacy layout by @gastonm5 in #4892
- fix(ui): list style — 24pt bordered container, solid separators (main / chain-detail / defi) by @gastonm5 in #4893
- fix(ui): refresh PrimaryButton .secondary — #11284A fill, white@3% border, Medium 14, inset bevel by @gastonm5 in #4896
- feat(limit-swap): cancel a resting limit order, from THORChain or its own L1 (Phase 4) by @gastonm5 in #4857
- fix: use numeric chain ID for LiFi token price requests by @johnnyluo in #4897
- fix(concurrency): resolve Swift 6 strict-concurrency warnings by @johnnyluo in #4900
- fix(send): gate invalid recipient with a visible inline error (#4861) by @gastonm5 in #4899
- fix(chain): make supportsPendingTransactions exhaustive; drop dead supportsEip1559 branch by @gastonm5 in #4908
- fix: standardize BCH address explorer host to blockchair by @gastonm5 in #4909
- fix(swap): tag native quotes via a per-service Strategy, not a type-probe by @gastonm5 in #4907
- refactor(defi): extract DefiChainScreenModel from DefiChainMainScreen by @gastonm5 in #4921
- refactor(prices): extract per-chain token price sources behind a registry (S12) by @gastonm5 in #4913
- refactor(functioncall): replace conditional with polymorphism in FunctionCallInstance by @gastonm5 in #4922
- style(send): restyle Send details screen by @gastonm5 in #4927
- Swap cards: real notch shape + unify Market/Limit into a shared SwapAssetCard by @gastonm5 in #4928
- refactor(explorer): collapse 4 chain→explorer switch maps into one registry by @gastonm5 in #4915
- fix(sui): select only the coin objects a send needs (fixes tx-size-limit + gas failures on scattered balances) by @DanialV in #4734
- fix(icons): LUNA/LUNC show token logos instead of Terra chain artwork by @johnnyluo in #4930
- test(signing): golden-vector harness pinning pre-image hashes + signed bytes + dispatcher routing by @gastonm5 in #4925
- refactor(chain): table-driven ChainConfig replacing parallel per-chain switches by @gastonm5 in #4914
- fix(keysign): guard missing encryption key on keysign kickoff by @gastonm5 in #4934
- refactor(custom-token): extract CustomTokenViewModel + per-chain resolver strategy by @gastonm5 in #4936
- fix(send): re-solve Terra Classic burn-tax fixed point on Verify Max (no 1-uluna underfunding) by @gastonm5 in #4937
- refactor(explorer): unify provider→tracker dispatch behind one SwapProvider resolver by @gastonm5 in #4938
- fix(swap): stop relabeling unknown/internal failures as money errors (#4902, #4903) by @gastonm5 in #4939
- chore: declare cross-platform parity in the PR template by @realpaaao in #4933
- [Logging] Base: Log facade + Feature×Layer taxonomy + scheme/xcconfig enable-disable + gate tests by @gastonm5 in #4945
- refactor(coin-service): resolve token discovery via TokenDiscoverer strategy registry by @gastonm5 in #4935
Full Changelog: v1.42.67...v1.43.68