TZGyn
e53c6aa7a9
Show each address QR in a bottom drawer
2026-09-20 00:57:51 +08:00
TZGyn
021672b47c
Show full transaction details for Monero and XRP
2026-09-20 00:43:09 +08:00
TZGyn
caca4321cc
Add Monero subaccounts and subaddresses with a QR per address
2026-09-20 00:11:53 +08:00
TZGyn
1a23c730c6
Keep the Monero wallet out of iCloud backups
2026-09-19 22:54:58 +08:00
TZGyn
807388ea6b
Keep Monero scan progress across app restarts
2026-09-19 22:17:00 +08:00
TZGyn
f4037a188a
Sign the iOS app for real devices and stop bundling the static archives
2026-09-19 19:25:01 +08:00
TZGyn
6d50566f37
Note the device build steps in the iOS readme
2026-09-19 13:44:11 +08:00
TZGyn
6b52b32e20
Document how the Monero iOS library is built
2026-09-19 13:43:08 +08:00
TZGyn
a3af802166
Support real iOS devices with a device build of the Monero library
2026-09-19 13:42:04 +08:00
TZGyn
3e1a39d4d7
Replace the JavaScript mobile app with a native Swift iOS wallet
2026-09-19 13:33:11 +08:00
TZGyn
d80b58b704
Point publish instructions at Gitea
2026-09-11 16:21:39 +08:00
TZGyn
babd85e614
add vue lynx mobile wallet
2026-08-09 18:09:21 +08:00
TZGyn
d15152a013
bump version to 0.0.12
2026-08-04 22:19:25 +08:00
TZGyn
3913889a22
add portfolio allocation donut chart on dashboard
2026-08-04 22:19:13 +08:00
TZGyn
da0c56658b
add QR image upload to send pages
2026-08-04 22:19:03 +08:00
TZGyn
743700b82c
bump version to 0.0.11
2026-08-02 19:17:11 +08:00
TZGyn
8953596194
live sync state with status dot on dashboard
2026-08-02 19:17:02 +08:00
TZGyn
5df3ae7058
bump version to 0.0.10
2026-08-02 18:59:48 +08:00
TZGyn
7b4ba84fee
global singleton wallet state with single bootstrap in layout
2026-08-02 18:59:31 +08:00
TZGyn
20f29faa80
bump version to 0.0.9
2026-08-02 18:44:53 +08:00
TZGyn
c0f6417925
persist dashboard prices and balances in stores
2026-08-02 18:44:53 +08:00
TZGyn
c61fea938a
bump version to 0.0.8
2026-08-02 15:09:28 +08:00
TZGyn
bdfee2a553
log monero sync state and refresh failures
2026-08-02 15:09:28 +08:00
TZGyn
1c5e5b617f
bump version to 0.0.7
2026-08-02 14:54:49 +08:00
TZGyn
11e0bcdaf6
add timeouts so syncing wallet never hangs the UI
2026-08-02 14:54:39 +08:00
TZGyn
4270d380fb
fix race calling open before wallet-rpc ready
2026-08-02 14:26:49 +08:00
TZGyn
af6251669a
add numbering system for pending lists
2026-08-02 14:23:17 +08:00
TZGyn
6eec1f998d
bump version to 0.0.5
2026-08-02 14:15:39 +08:00
TZGyn
d9ca8a0047
bump version to 0.0.4
2026-08-02 13:30:49 +08:00
TZGyn
a06c463653
relax publish permission wording
2026-08-02 13:23:44 +08:00
TZGyn
3e1b8fc554
bump version to 0.0.3
2026-08-02 13:17:52 +08:00
TZGyn
edb4f6b1f3
save monero wallet scan progress
2026-08-02 13:15:41 +08:00
TZGyn
c2a405a9e1
fix dashboard monero infinite loading loop
2026-08-02 12:54:19 +08:00
TZGyn
6809cf09c6
gitignore compiled biometric helper + agent permission rules
2026-08-02 12:47:56 +08:00
TZGyn
9df8ce1867
new koins logo + publish permission rule
2026-08-02 12:41:42 +08:00
TZGyn
1cccdc70e0
new koins logo
2026-08-02 12:36:40 +08:00
TZGyn
f517f7fe44
dashboard card sizing + rpc timeout fix
2026-08-02 12:26:57 +08:00
TZGyn
c9e492ad95
0.0.2 loading states + wallet dialogs + monero unlock flow
2026-08-02 12:15:55 +08:00
TZGyn
50a7771d97
keychain vault + secrets cache + env separated keychains
2026-08-02 11:38:19 +08:00
TZGyn
23ef77ece6
responsive ui + wallet redesign + 401 fix + round cards
2026-08-01 19:55:11 +08:00
TZGyn
5ac8c93027
remove multiple wallets + monero auto-open + agents rules
2026-08-01 19:12:32 +08:00
TZGyn
bd8ba8e3e5
native ui + touch id unlock + portfolio dashboard
2026-08-01 19:07:49 +08:00
TZGyn
42a22918a3
add code signing
2026-08-01 14:31:13 +08:00
TZGyn
0d3acef182
remove evm + add xrp
2026-08-01 00:58:22 +08:00
TZGyn
f46e61ed5e
fix blank page, icons, add logging and EVM balance chart
...
- Fix blank page: set viewsRoot, base:'', history.replaceState in index.html
- Fix chain icons: add dist/icons→views/mainview/icons copy rule
- Add file-based logger (src/bun/lib/logger.ts) with logToFile RPC
- Add frontend error overlay + global error listeners in index.svelte
- Add EVM balance chart with time range filters (EvmDashboard.svelte)
- Replace console.log with file logger throughout backend
- Improve get-env.ts to read version.json for channel detection
2026-06-27 16:59:15 +08:00
TZGyn
0b6df331ee
monero balance chart: add 1D/1W/1M/1Y/ALL range filter buttons
...
Filter buttons always visible in Card header so user can change range even when filtered data is empty. Chart hidden behind {#if chartData.length > 1} with 'No transactions in this time range.' fallback.
chart-tooltip.svelte: add valueFormatter prop for custom value formatting
2026-06-06 22:09:15 +08:00
TZGyn
3a44e888b2
monero: price fetch, fix atomicToXmr, add balance chart from tx history
2026-06-02 21:51:40 +08:00
TZGyn
2c792bfcf8
evm send: add Send All toggle with gas deduction for native
2026-05-29 00:54:10 +08:00
TZGyn
770f5af29a
evm send: add All button to fill amount with token balance
2026-05-29 00:48:34 +08:00
TZGyn
5dbff91bcc
evm: generate wallet seed, fix token send value.split error
2026-05-29 00:48:07 +08:00
TZGyn
44a91428fc
add evm send with native and erc-20 token support
2026-05-29 00:33:56 +08:00
TZGyn
9e579f957d
add back-to-home link on monero page and seed reveal in evm settings
2026-05-28 21:31:43 +08:00
TZGyn
2cbf3bb33b
extract monero wallet dashboard into dedicated /monero/wallet/[name] route
2026-05-27 13:19:23 +08:00
TZGyn
a30038f9e7
add CopyButton and QR dialog for all Monero addresses/subaddresses
2026-05-27 01:48:53 +08:00
TZGyn
2139d5e6ff
create accounts/subaddresses, chunked address style, fix canSend for subaddresses
2026-05-26 13:33:28 +08:00
TZGyn
34602a4bfa
add sweepAll for Monero send-all; add copy buttons for accounts/subaddresses
2026-05-26 13:09:18 +08:00
TZGyn
915f6f36f6
fix: process stdout/stderr ReadableStream types, add sv-router/generated path mapping
2026-05-26 03:24:28 +08:00
TZGyn
2993df29cb
fix: add missing walletGetAddress import and update MoneroWalletManager -> MoneroWalletState type
2026-05-26 03:17:10 +08:00
TZGyn
6fe9e6306b
refactor MoneroWalletManager class to function module; fix settings page imports
2026-05-26 03:08:58 +08:00
TZGyn
b5f4a80f5c
Refactor: split RPC handlers into rpc/evm and rpc/monero; split RPC types into GeneralRpcRequests, EvmRpcRequests, MoneroRpcRequests
2026-05-25 23:46:36 +08:00
TZGyn
3925f3a4aa
Add Monero fee estimates per priority level via daemon RPC
2026-05-25 22:37:54 +08:00
TZGyn
bdd841b632
Add gas price display (Gwei, native, USD) under native balance per network
2026-05-25 21:57:44 +08:00
TZGyn
bbd80cbfff
Add build:win script (skips Swift native step)
2026-05-25 17:22:29 +08:00
TZGyn
f0b567e895
Switch token price lookup from symbol to address for ERC-20 tokens; keep symbol for native
2026-05-25 15:03:41 +08:00
TZGyn
93dec3b71f
Remove monero Refresh button; add 30s auto-refresh interval
2026-05-24 20:25:47 +08:00
TZGyn
04179805f9
Add Monero transaction details page and chain icons on EVM dashboard
2026-05-24 20:24:07 +08:00
TZGyn
a91fdb6d56
Add local chain icons to welcome page with overlapping stack
2026-05-24 20:19:02 +08:00
TZGyn
b1d14e1d8b
Add per-account transaction filtering and QR codes for Monero
2026-05-24 19:58:52 +08:00
TZGyn
932501c32c
Revert "Add QR codes for Monero address and subaddresses"
...
This reverts commit 95aebfe690 .
2026-05-24 19:46:37 +08:00
TZGyn
95aebfe690
Add QR codes for Monero address and subaddresses
2026-05-24 19:44:48 +08:00
TZGyn
cc32fdb20f
Add Monero send page with transfer RPC and account selection
2026-05-24 19:43:32 +08:00
TZGyn
30d8abf26b
Add ArrowLeftRight icon for swaps, remove raw response from tx details
2026-05-24 05:15:42 +08:00
TZGyn
13a9d3a8a6
Fix swap detection: include internal category as native transfers
2026-05-24 05:00:47 +08:00
TZGyn
6d32c91fb3
Add token-to-native swap detection with NATIVE_SYMBOLS map
2026-05-24 04:57:55 +08:00
TZGyn
8a0e5e431f
Add swap detection to transaction details page
2026-05-24 04:53:56 +08:00
TZGyn
10a8d525a3
Extract swap pairing into shared pairTransfers, apply to cached tx history
2026-05-24 04:51:00 +08:00
TZGyn
a3e609ea8f
Extract shared RPC types into src/lib/rpc-schema.ts, remove duplicate type declarations
2026-05-22 12:58:04 +08:00
TZGyn
c87e166468
Add periodic auto-sync with backend push events, remove refresh button
2026-05-22 12:53:18 +08:00
TZGyn
cb55a6fc6b
preserve current network when navigating back from settings
2026-05-22 12:37:44 +08:00
TZGyn
ee11723e7d
fix 0-balance not updating on chain switch; remove redundant lock button
2026-05-22 12:35:32 +08:00
TZGyn
dade59722c
hide token transfers with decimal 0 from transaction list
2026-05-22 12:31:59 +08:00
TZGyn
357f707180
move tx detail caching into sync engine, cache during history sync
...
- new sync-tx-details.ts: extracts tx+receipt caching from get-details.ts
- sync-tx-history: calls syncTxDetails per transfer hash during sync
- get-details: remove on-the-fly viem fetch + DB write (now handled
by sync); returns null placeholder
- index: import syncTxDetails; simplify getTransactionDetails handler
2026-05-22 10:18:33 +08:00
TZGyn
dd57a72e11
fix biometric, tx dedup, loading crash; add flush cache; remove monero startup from evm init
...
- biometric-helper: use .deviceOwnerAuthentication so passcode can
unlock Touch ID when biometrics are locked out
- get-transaction-history: dedup transfers by hash+category+contract
instead of hash alone (was dropping token transfers sharing a tx hash)
- evm-wallet.svelte.ts: add missing loading declaration (caused
ReferenceError on createWallet); add flushTxCache method; comment out
monero startup from evm init to speed up loading
- get-history.ts: remove dead caching logic (now handled by sync engine);
import getTransactionHistory from alchemy directly
- backend RPC + settings UI: add flushTxCache to clear tx cache tables
2026-05-22 03:03:03 +08:00
TZGyn
edd4f6fff0
fix sync flush looping and batch size, add alchemy call logging
2026-05-21 17:55:29 +08:00
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