mirror of
https://github.com/luxwallet/sdk.git
synced 2026-10-30 19:32:37 +00:00
Pre-composed zustand wallet store (create/import/reveal/balance/send) that
replaces the npm-deprecated @luxwallet/core with an identical public API, so
consumers swap the import with no code change.
Decomplected into orthogonal, mostly-pure modules:
- hex: pure toHex/fromHex
- account: pure mnemonic/pk -> derived account + secrets
- evm: pure getBalance + EIP-1559 signAndSendEvm (self-check preserved)
- keychain: the secret-at-rest seam (memory + tauri bridge)
- store: thin zustand persist composition (devtools dropped)
Drops the @luxfi/crypto dependency entirely — the crypto engine is now a
minimal structural CryptoEngine interface the consumer's LuxCrypto loader
satisfies with zero changes. SIWx removed (belongs to @luxwallet/connect).
Behavioral invariants preserved: persist key 'lux-wallet', secrets never
persisted, keychain key format luxwallet:<id>:{mnemonic,privateKey}, BIP-44
m/44'/60'/0'/0/0 EVM derivation, EIP-55 addresses, sendEvm recid normalization
(27/28 or 0/1) + recovered-signer self-check.
Tests: 27 vitest specs over deterministic fakes (account/keychain/evm/store),
all green; full workspace build + test green (139 specs across 8 packages).
Co-authored-by: Hanzo Dev <[email protected]>
11 lines
237 B
JSON
11 lines
237 B
JSON
{
|
|
"extends": "../../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"outDir": "./dist",
|
|
"rootDir": "./src"
|
|
},
|
|
"include": ["src"],
|
|
"exclude": ["src/**/*.test.ts", "src/testkit.ts"],
|
|
"references": [{ "path": "../chains" }]
|
|
}
|