OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-wallet-desktop commits / 8ccb2c0

Merge stable into master — resolved file by file
master had been dead since 2026-01-29 with "adding in broken implementation" as its tip, while stable carried seven further months of work (pear-runtime OTA, WDK beta upgrades, the hyper-wallet-lib submodule conversion). They forked on 01-28 and became two parallel attempts at the same bugs. master stays the main branch; this brings stable's work into it. 13 of 15 files merged clean. Six conflicts, resolved individually: wallet-server.cjs 1. /api/transactions/sync — took master's network + explicit accountIndex handling, because the merged frontend SENDS both (desktop/wallet.js posts {chain, network, accountIndex}) and stable's server ignored them. But swapped in stable's require path: the submodule conversion moved the lib, 12 other requires in this file already use ./lib/hyper-wallet-lib/, and master's ./lib/wdk-integration.cjs no longer resolves. 2. token transfer — stable. master's side never defines tokenBalance, which the next line compares against, and stable's getCurrentAddress takes baseChain, correct since tokens share the ETH address (b342b44). Also brings the testnet balance-check fallback. desktop/wallet.js 3. send-balance display — COMBINED. Prefer the chain's own formatBalance (SUPPORTED_CHAINS carries per-token ones for USDT/USDC at 6 decimals), then fall back to stable's decimals-aware formatting rather than master's raw wei. 4. insufficient-balance check — stable. master's side reads Number(amount) inside confirmSend(), where no `amount` exists: Number(undefined) is NaN, NaN > balance is false, and the guard never fires. stable uses amountInSmallestUnits, computed by toSmallestUnits() above it. 5. confirm dialog — stable, same undefined `amount` on master's side (four uses). stable also carries the deliberate Gwei→ETH fee fix (53ac831) and uses BigInt for wei totals instead of Number. 6. post-send notification — stable. Both branches hit the libnotify UI hang; master commented out the call sites, stable fixed it inside showNotification (7e39ed6, the later commit), which now logs and shows an in-app toast with the native API disabled. Fixing the function beats commenting out its callers. Verified: no conflict markers, all three entry files pass node --check, no old-path requires remain, every remaining Number(amount) is in a scope that declares it, master's six unique files (USDT_CONTRACTS.md, deploy.sh, the debug scripts, the dated bug write-ups) are preserved, and stable's .pear-git/ci.yaml, .gitmodules and docs/ came across. NOT verified: the app has not been run. This is an Electron app and I cannot exercise it headlessly — the send path in particular should be tested on testnet before mainnet use. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8ccb2c00e10e035f6eb011d1276272765b4b0d8d
by plankatron <fleeky@gmail.com> · 2026-09-10T16:39:57.000Z