Skip to content

Releases: vultisig/vultisig-ios

v1.48.77

Choose a tag to compare

@johnnyluo johnnyluo released this 06 Oct 08:54
1e91e1a

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

Choose a tag to compare

@johnnyluo johnnyluo released this 03 Oct 03:40
2718fbc

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

Choose a tag to compare

@johnnyluo johnnyluo released this 22 Sep 06:21
2e8c402

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

Choose a tag to compare

@johnnyluo johnnyluo released this 17 Sep 09:51
a677708

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

Choose a tag to compare

@johnnyluo johnnyluo released this 03 Sep 00:38
f438121

What's Changed

Full Changelog: v1.45.72...v1.46.73

v1.45.72

Choose a tag to compare

@johnnyluo johnnyluo released this 25 Aug 00:11
4e71c37

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

Choose a tag to compare

@johnnyluo johnnyluo released this 21 Aug 10:15
e806f70

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

Choose a tag to compare

@johnnyluo johnnyluo released this 11 Aug 03:20
4dbc45b

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

Choose a tag to compare

@johnnyluo johnnyluo released this 29 Jul 23:05
cc1dfaa

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

Choose a tag to compare

@johnnyluo johnnyluo released this 27 Jul 23:01
c3f75af

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