remove evm + add xrp

This commit is contained in:
2026-08-01 00:58:22 +08:00
parent f46e61ed5e
commit 0d3acef182
55 changed files with 1457 additions and 4148 deletions
+7 -31
View File
@@ -6,36 +6,21 @@ import {
Updater,
Utils,
} from 'electrobun/bun'
import { migrate } from 'drizzle-orm/bun-sqlite/migrator'
import { db } from './lib/db'
import { join } from 'path'
import { existsSync } from 'fs'
import { getENV } from './lib/get-env'
import { createEvmHandlers } from './rpc/evm'
import { createMoneroHandlers } from './rpc/monero'
import { createXrpHandlers } from './rpc/xrp'
import type { MoneroWalletState } from './lib/monero'
import { canPromptTouchID, promptTouchID } from './lib/biometric'
import { sqlite } from './lib/sqlite'
import { evmWallets } from './lib/db/schema'
import { getXrpWalletList } from './lib/xrp'
import type { RPC } from '../lib/rpc-schema'
import { log, logError } from './lib/logger'
import { log } from './lib/logger'
const env = getENV()
log(`env: ${JSON.stringify(env)}`)
if (env.env === 'stable') {
try {
log('running migrations...')
migrate(db, {
migrationsFolder: join(PATHS.RESOURCES_FOLDER, 'app', 'drizzle'),
})
log('migrations complete')
} catch (e) {
logError('migration failed', e)
}
}
const DEV_SERVER_PORT = 5173
const DEV_SERVER_URL = `http://localhost:${DEV_SERVER_PORT}`
@@ -92,10 +77,6 @@ const moneroState = {
manager: null as MoneroWalletState | null,
downloading: false,
}
const syncState = {
target: null as { address: string; chainid: string } | null,
timer: null as ReturnType<typeof setInterval> | null,
}
const rpc = BrowserView.defineRPC<RPC>({
maxRequestTime: 120000,
@@ -108,11 +89,11 @@ const rpc = BrowserView.defineRPC<RPC>({
rpc.setRequestHandler({
resetApp: async () => {
try {
const wallets = db.select().from(evmWallets).all()
const wallets = await getXrpWalletList()
await Promise.all([
Bun.secrets.delete({
service: 'koins',
name: 'alchemy_key',
name: 'xrp_wallets',
}),
...wallets.flatMap((w) => [
Bun.secrets.delete({
@@ -121,15 +102,10 @@ rpc.setRequestHandler({
}),
Bun.secrets.delete({
service: 'koins',
name: `evm_auth_${w.id}`,
name: `xrp_auth_${w.id}`,
}),
]),
])
sqlite.run('DELETE FROM token_metadata')
sqlite.run('DELETE FROM transactions')
sqlite.run('DELETE FROM transaction_receipts')
sqlite.run('DELETE FROM tx_history')
sqlite.run('DELETE FROM evm_wallets')
console.log('[rpc] resetApp complete')
return true
} catch (e) {
@@ -174,8 +150,8 @@ rpc.setRequestHandler({
logToFile: async ({ message }) => {
log(message)
},
...createEvmHandlers(rpc, syncState),
...createMoneroHandlers(moneroState),
...createXrpHandlers(),
})
log('creating BrowserWindow...')