Wallet Extension
Overview
Section titled “Overview”The Ashen Wallet extension is a browser wallet for account management, signing, and dApp connections. It injects an EIP-1193 compatible provider into pages and uses EIP-6963 for wallet discovery.
Provider entry points:
window.ashenWalletwindow.ethereum(legacy compatibility)
Install (Firefox)
Section titled “Install (Firefox)”Build from source:
cd wallet-extensionnpm installnpm run buildLoad as a temporary add-on:
- Open
about:debugging#/runtime/this-firefox. - Click Load Temporary Add-on.
- Select
wallet-extension/dist/manifest.json.
Package as a zip:
cd wallet-extensionnpm run pack:firefoxThe zip is written to wallet-extension/dist-packages/ashen-wallet-firefox.zip.
Connect a dApp
Section titled “Connect a dApp”Request accounts (triggers a connect approval):
const provider = window.ashenWallet ?? window.ethereum;const accounts = await provider.request({ method: 'eth_requestAccounts' });Notes:
eth_accountsreturns[]if the wallet is locked or the site is not connected.- Connections are scoped by origin. Only
https://origins and localhost are allowed; other protocols are blocked.
Supported Provider Methods
Section titled “Supported Provider Methods”Connection and permissions:
eth_requestAccountseth_accountseth_chainIdwallet_requestPermissionswallet_getPermissionswallet_revokePermissions
Signing:
eth_sendTransaction(sign + submit)eth_signpersonal_signeth_signTypedData_v4
Notes:
wallet_addEthereumChain/wallet_switchEthereumChainare not supported.eth_signTypedData_v4is currently handled as message signing (no EIP-712 domain separation).
Allowed RPC Forwarding
Section titled “Allowed RPC Forwarding”The extension forwards a small allowlist of RPC calls to the node:
eth_blockNumbereth_getBlockByNumbereth_getBlockByHasheth_getTransactionByHasheth_getTransactionReceipteth_calleth_estimateGaseth_gasPriceeth_getBalanceeth_getCodeeth_getStorageAteth_getTransactionCounteth_getLogseth_chainIdnet_versionweb3_clientVersionchain_idchain_accountschain_getBalancechain_callNodeRpcV1.accountNodeRpcV1.tx_build_simulateNodeRpcV1.chain_statusNodeRpcV1.blockOther RPC methods are blocked at the content-script bridge.
RPC Endpoint Settings
Section titled “RPC Endpoint Settings”The wallet exposes a configurable RPC endpoint in Settings. You can switch between the default endpoints or provide a custom HTTP(S) URL.
Read Metering
Section titled “Read Metering”Read-only RPC methods are metered per-origin. The wallet tracks read usage and can block responses once a session budget is exceeded. View call and query results may return an error if the read budget is exhausted.
Security and UX
Section titled “Security and UX”- The extension only injects in the top frame (not cross-origin iframes).
- Each signing request requires explicit user approval.
- Auto-lock and password reset are configurable in Settings.
Related
Section titled “Related”/guides/using-the-cli/for transaction building helpers/guides/tx-simulation/for preflight simulation workflowwallet-extension/README.mdfor build notes