ConnectedWallet
Defined in: src/Wallet.ts:280
A connected wallet that can sign, balance, and submit transactions.
Created via Wallet.fromSeed() (server/CLI) or Wallet.fromBrowser() (Lace extension).
Both sources produce the same interface — the source is just how you got the wallet.
Example
// From seed (server/CLI)const wallet = await Midday.Wallet.fromSeed(seed, networkConfig);
// From browser extensionconst wallet = await Midday.Wallet.fromBrowser('testnet');
// Same interface regardless of sourceconsole.log(wallet.address); // shielded addressconsole.log(wallet.coinPublicKey); // ZK coin public keyconsole.log(wallet.encryptionPublicKey); // encryption public keyconst balance = await wallet.getBalance();const { walletProvider, midnightProvider } = wallet.providers();await wallet.close();Since
0.7.0
Properties
address
readonlyaddress:string
Defined in: src/Wallet.ts:286
Primary wallet address
coinPublicKey
readonlycoinPublicKey:string
Defined in: src/Wallet.ts:288
ZK coin public key (for receiving shielded transfers)
effect
readonlyeffect:object
Defined in: src/Wallet.ts:330
Effect versions of wallet operations.
close()
close():
Effect<void,WalletError>
Returns
Effect<void, WalletError>
deregisterDust()
deregisterDust(
options?):Effect<RegisterDustResult,WalletError>
Parameters
options?
Returns
Effect<RegisterDustResult, WalletError>
getBalance()
getBalance():
Effect<WalletBalance,WalletError>
Returns
Effect<WalletBalance, WalletError>
providers()
providers():
Effect<WalletProviders,WalletError>
Returns
Effect<WalletProviders, WalletError>
registerDust()
registerDust(
options?):Effect<RegisterDustResult,WalletError>
Parameters
options?
Returns
Effect<RegisterDustResult, WalletError>
shield()
shield(
amount,options?):Effect<ShieldResult,WalletError>
Parameters
amount
bigint
options?
Returns
Effect<ShieldResult, WalletError>
unshield()
unshield(
amount,options?):Effect<ShieldResult,WalletError>
Parameters
amount
bigint
options?
Returns
Effect<ShieldResult, WalletError>
encryptionPublicKey
readonlyencryptionPublicKey:string
Defined in: src/Wallet.ts:290
Encryption public key (for encrypted communication)
source
readonlysource:"seed"|"browser"
Defined in: src/Wallet.ts:284
How this wallet was created
type
readonlytype:"connected"
Defined in: src/Wallet.ts:282
Discriminator for MidnightWallet union
Methods
[asyncDispose]()
[asyncDispose]():
Promise<void>
Defined in: src/Wallet.ts:327
Support await using wallet = await Wallet.fromSeed(...)
Returns
Promise<void>
close()
close():
Promise<void>
Defined in: src/Wallet.ts:325
Close wallet and release resources.
Returns
Promise<void>
deregisterDust()
deregisterDust(
options?):Promise<RegisterDustResult>
Defined in: src/Wallet.ts:323
Deregister previously-registered NIGHT UTXOs from DUST generation. Same backend constraints as registerDust.
Parameters
options?
Returns
Promise<RegisterDustResult>
getBalance()
getBalance():
Promise<WalletBalance>
Defined in: src/Wallet.ts:293
Get current wallet balance across all account types.
Returns
Promise<WalletBalance>
providers()
providers():
WalletProviders
Defined in: src/Wallet.ts:295
Get WalletProvider and MidnightProvider for contract operations.
Returns
registerDust()
registerDust(
options?):Promise<RegisterDustResult>
Defined in: src/Wallet.ts:318
Register unshielded NIGHT UTXOs for DUST generation. On Midnight, DUST is produced over time from registered NIGHT holdings and is used to pay tx fees. Required once per wallet after being funded via a faucet, before any tx can be sent.
Currently only supported on seed-backed wallets — the Lace DApp Connector does not expose programmatic DUST registration. Lace users should register via the extension UI directly.
Parameters
options?
Returns
Promise<RegisterDustResult>
shield()
shield(
amount,options?):Promise<ShieldResult>
Defined in: src/Wallet.ts:302
Move NIGHT (or any token) from the unshielded pool into the shielded pool
of this same wallet. Required before interacting with shielded contracts
(receiveShielded) if the wallet was funded via a faucet, which only
deposits to the unshielded address.
Parameters
amount
bigint
options?
Returns
Promise<ShieldResult>
unshield()
unshield(
amount,options?):Promise<ShieldResult>
Defined in: src/Wallet.ts:307
Move NIGHT (or any token) from the shielded pool back into the unshielded pool of this same wallet. The inverse of shield.
Parameters
amount
bigint
options?
Returns
Promise<ShieldResult>