module/wallet-layer

Wallet Layer

Multichain key custody, simulation, and signing UI.

Renders accounts, balances, transaction simulations, and risk gradients across ETH, BSC, and Solana. Keys never leave the hardware enclave; this layer only renders.

State Logic

Reactive surfaces this module exposes to the runtime.

chainenum

eth | bsc | solana. Switching is explicit, never implicit.

accountaddress

Active key handle. Truncated mono in chrome.

simulationobject

Output of pre-sign simulation: deltas, risk, gas.

riskenum

safe | caution | warn | critical. Drives sheet color.

Visual Variants

Allowed rendering modes. No ad-hoc styles outside this set.

tx.card

Pending transaction with simulation.

tx.sheet

Final sign confirmation. Solid surface.

account.pill

Header account selector.

asset.row

Balance line in account drawer.

risk.banner

Top-of-sheet risk callout.

Motion Tokens

Deterministic timing curves. No custom easing per component.

tokenvalueuse
wallet.sim320ms ease-outSimulation result reveal.
wallet.commit180ms ease-inSign confirmation.
wallet.shake240ms springCritical risk attention.

Isolation Rules

Hard boundaries enforced at the module edge.

01

Signing always uses tx.sheet on glass.sheet. No inline signs.

02

Risk level critical forces solid surface and disables auto-dismiss.

03

Wallet layer never accepts input from AI surfaces without a user-affirmed intent.

04

Chain switches are logged in the activity rail. No silent switches.

// end module /wallet-layer