Commit Graph
150 Commits
Author SHA1 Message Date
TZGyn 85c25883c6 split balance and tx loading into independent processes 2026-05-21 17:22:09 +08:00
TZGyn 8f3495ab40 read tx history from db cache instead of alchemy api 2026-05-21 17:18:45 +08:00
TZGyn 1aa723db46 add back button and wallet deletion to settings page 2026-05-20 20:30:38 +08:00
TZGyn d4b989c191 add multi-wallet EVM support with evm_wallets DB table 2026-05-20 20:26:40 +08:00
TZGyn c55a33e9ab split wallet state into evm-wallet and monero-wallet
- Move EVM state/methods to evm-wallet.svelte.ts with its own init/login/logout/accountType
- Move Monero state/methods to monero-wallet.svelte.ts with its own init/login/logout/accountType
- Each wallet is fully self-contained and pages import only their wallet's state
- evm-wallet imports monero-wallet internally for full app init (no circular dep)
- Welcome/settings/tx pages import evmWallet
- Monero pages import moneroWallet
- Delete old wallet.svelte.ts orchestrator
2026-05-20 20:09:45 +08:00
TZGyn 805d103785 add stable env type to get-env, remove prod 2026-05-20 19:51:16 +08:00
TZGyn 49f064f8b1 migrate from ethers to viem
- Replace HDNodeWallet.fromPhrase with mnemonicToAccount from viem/accounts
- Replace JsonRpcProvider.getBalance with viem createPublicClient + getBalance
- Replace formatEther with viem's formatEther (same API)
- Remove ethers dependency from package.json
- Update README
2026-05-20 14:31:10 +08:00
TZGyn 79f8a26eb3 move monero settings to dedicated /monero/settings page
- Create /monero/settings route with Restart Server and Save password with Touch ID
- Remove inline Settings card from monero dashboard
- Add Settings icon button (same as EVM) to monero wallet card
- Remove unused moneroSettingsPw state from dashboard
2026-05-19 03:36:26 +08:00
TZGyn 462b96f109 add loader component with loading states to transactions and monero page
- Replace 5133props with runes-compatible () in loader.svelte
- Add SVGAttributes types to loader.svelte
- Add Loader spinner to EVM Transactions card while w.loading
- Add Loader spinners to Monero Start/Refresh buttons and Transactions card
- Remove redundant Monero top bar
2026-05-19 03:32:45 +08:00
TZGyn 1d6e01a779 rename Multi Coins to EVM 2026-05-18 13:36:09 +08:00
TZGyn b1a340835b readme: remove incorrect macOS requirement 2026-05-18 13:32:44 +08:00
TZGyn bd7333b1e0 update readme with project overview and architecture 2026-05-18 13:31:20 +08:00
TZGyn 8917d6e9e3 auto-start monero-wallet-rpc on app startup when binary is installed
Reduces wait time when switching to Monero tab — RPC is already
running by the time user navigates there.
2026-05-18 05:32:28 +08:00
TZGyn 9396ffb1e0 add biometric support for monero wallet open/create/restore, add monero settings card, fix monero logout to stop rpc
- Added moneroGetStoredPassword / moneroStorePassword keychain helpers
- moneroCreateWallet and moneroRestoreWallet accept storePw flag to save password to keychain
- moneroOpenExistingWallet accepts optional password (falls back to keychain lookup)
- Monero UI: 'Save password with Touch ID' checkbox hides password field, auto-generates random password, saves to keychain
- Monero UI: 'Open with Touch ID' button uses biometric auth + retrieves stored password
- Monero Settings card: enter wallet password to save with Touch ID for existing wallets
- logout() now async, calls moneroStop() to kill RPC process so re-login requires explicit wallet open
2026-05-18 05:31:41 +08:00
TZGyn 9846e6464d require auth to log in (lock screen), remove auth-on-logout, remove welcome card from multicoin dashboard, relocate login buttons to root welcome page
- login('multi') no longer silently loads seed from keychain — shows locked screen with Touch ID/password
- Removed welcome card from EvmDashboard (multicoin route), root / handles account selection
- Root welcome page buttons call w.login() before navigating to respective routes
- Monero welcome page buttons also call w.login() before navigating
- logout now simply calls w.logout() + navigate('/') with no auth required
- Removed tab-bar logout buttons; logout moved to wallet card alongside refresh/settings/stop
2026-05-18 05:24:08 +08:00
TZGyn 6142b27c49 separate Multi Coins and Monero into distinct account types with startup login choice
- Removed monero from shared networks array; monero is now its own separate account type
- Added accountType state (null/'multi'/'monero') to wallet, stored in memory only
- Added login(type) method: chooses between EVM vault flow and Monero RPC flow
- Added logout() method that resets all per-account state
- On app startup, user picks Multi Coins (ETH/BSC/Polygon) or Monero
- isLocked getter now checks accountType === 'multi' instead of excluding monero by network id
- Moved ETH/BSC/Polygon routes under /multicoin/ base path
- /multicoin, /multicoin/bsc, /multicoin/polygon with updated navTarget routing
- Root / shows welcome/login choice, redirects if already logged in
- Fixed moneroListWallets timing: runs inside login('monero') after RPC manager exists
- Removed cross-tab links between monero and multicoin, only logout remains
2026-05-18 05:13:50 +08:00
TZGyn 9c856129d8 add settings page with reset app: clears keychain secrets and SQLite cache 2026-05-18 04:04:24 +08:00
TZGyn fc81e0889a add password-based unlock as fallback when Touch ID unavailable; PBKDF2 salted hash stored in keychain 2026-05-18 04:00:49 +08:00
TZGyn 7eddbc252e always start wallet in locked state, require explicit unlock 2026-05-18 03:57:50 +08:00
TZGyn b130e92294 add Touch ID wallet unlock via Swift biometric helper + Bun spawn 2026-05-18 03:57:00 +08:00
TZGyn d0648d62ef show QR code in popup dialog instead of inline 2026-05-18 03:09:21 +08:00
TZGyn 574dcc1abd add chain logo overlay to center of QR code 2026-05-18 03:07:37 +08:00
TZGyn 77a34c35e5 add QR code display for wallet address in EvmDashboard 2026-05-18 03:05:45 +08:00
TZGyn 9e76bd54ce split data access into API-only (alchemy/viem) and DB-first wrappers (tokens/transactions)
alchemy/get-token-metadata: stripped DB logic, now pure API call
viem/get-transaction-details: stripped DB logic, now pure viem call
tokens/get-metadata: new DB-first wrapper for token metadata
transactions/get-details: new DB-first wrapper for tx details
transactions/get-history: stores individual Alchemy transfers in tx_history
  table with blockNum, from, to columns for searchable ordering
2026-05-18 03:03:34 +08:00
TZGyn 135d651622 extract EVM dashboard to shared component, add per-chain routes for bsc/polygon 2026-05-17 18:42:12 +08:00
TZGyn b4497e7952 move monero dashboard to separate route, export singleton wallet state 2026-05-17 11:50:32 +08:00
TZGyn 8558b52b55 add lucide arrow icons for sent/received transactions 2026-05-17 11:43:31 +08:00
TZGyn 9c1b157107 fix tx amount/direction mapping, add date display, sort by latest 2026-05-17 11:35:15 +08:00
TZGyn b4d5304587 show subaddress 0 in ui, log subaddresses with account on backend 2026-05-17 11:00:43 +08:00
TZGyn 880199f096 auto-detect existing wallets, show selectable list on startup 2026-05-17 10:51:22 +08:00
TZGyn 23b7447b92 fix walletOpen status always returning true 2026-05-17 10:48:35 +08:00
TZGyn e6ed6445ad auto start monero when switching to monero tab 2026-05-17 10:46:58 +08:00
TZGyn c1ea5b1c3f add detailed tx logging on backend 2026-05-17 10:45:23 +08:00
TZGyn 1555144400 add monero accounts/addresses, fix rpc auth, fix binary extraction 2026-05-17 10:44:36 +08:00
TZGyn 6b7a773845 cache transaction and receipt data in sqlite 2026-05-16 21:09:22 +08:00
TZGyn 49ada2febd hide raw input data from transaction details 2026-05-16 16:02:38 +08:00
TZGyn 21793eeb05 fix bsc not working 2026-05-16 14:44:09 +08:00
TZGyn f5ddc8df1b add transaction view page 2026-05-16 14:21:49 +08:00
TZGyn cae5d4023f add sqlite to cache token metadata 2026-05-14 20:49:54 +08:00
TZGyn 92156f572d remove unnecessary console logs 2026-05-14 01:51:44 +08:00
TZGyn 90a3086d52 move transaction history to alchemy lib 2026-05-14 01:50:53 +08:00
TZGyn f47491ad86 add utils package + move get tokens to lib folder 2026-05-11 23:16:26 +08:00
TZGyn d2c2a46e54 filter out tokens without logo on tokens list 2026-05-11 16:31:48 +08:00
TZGyn 45402098b8 add token icon 2026-05-11 14:44:26 +08:00
TZGyn 5d15f1a91f merge transaction action like swap 2026-05-11 12:20:21 +08:00
TZGyn 0074d6fb4e add native token + internal transfers 2026-05-11 11:27:24 +08:00
TZGyn 9fca18cf95 add etherscan to add transaction history 2026-05-10 20:32:12 +08:00
TZGyn 7eecbd2206 add desktop and read bnb balance from user seed 2026-05-10 10:19:55 +08:00
TZGyn 2506fa0cff remove backend and web 2026-05-10 01:16:59 +08:00
TZGyn 22064d4bc4 Initial commit from create-turbo 2026-05-09 15:27:01 +08:00