@imperial-blockchain/wallet-adapter
v0.0.2
Published
Imperial wallet adapter (public transfer, privacy helpers, shielded transfer schemas)
Readme
@imperial-blockchain/wallet-adapter
0.x Imperial wallet adapter for Solana apps: RPC health connect, public SOL transfers, signing guards, and privacy / shielded-transfer helpers (via @imperial-blockchain/privacy).
Install
npm install @imperial-blockchain/wallet-adapterThis pulls in @imperial-blockchain/privacy, @solana/web3.js, zod, and zustand.
Quick start
import {
createImperialWalletAdapter,
sendPublicTransfer,
DEFAULT_LOCAL_RPC_URL,
} from '@imperial-blockchain/wallet-adapter';
import type { ImperialSigner } from '@imperial-blockchain/wallet-adapter';
const signer: ImperialSigner = /* your wallet signer */;
const adapter = createImperialWalletAdapter({
rpcUrl: process.env.NEXT_PUBLIC_SOLANA_RPC_URL ?? DEFAULT_LOCAL_RPC_URL,
signer,
});
await adapter.connect(); // probes RPC getHealth
const signature = await sendPublicTransfer({
rpcUrl: adapter.rpcUrl,
signer,
toPubkey: recipientBase58,
lamports: 1_000_000,
});Subpath imports
| Import | Purpose |
|--------|---------|
| @imperial-blockchain/wallet-adapter | Adapter, RPC helpers, public transfer, signing guards |
| @imperial-blockchain/wallet-adapter/confidential-transfer | Prepare / submit confidential transfer flows |
| @imperial-blockchain/wallet-adapter/privacy | Wallet-facing privacy helpers (createPrivacyHelpers, feature gate) |
| @imperial-blockchain/wallet-adapter/shielded-transfer-schema | Zod schemas for shielded-transfer request/response |
Privacy helpers
import { createPrivacyHelpers } from '@imperial-blockchain/wallet-adapter/privacy';
const privacy = createPrivacyHelpers({ confidentialTransfer: true });
// privacy.prepareConfidentialTransfer(...)
// privacy.submitConfidentialTransfer(...)Set IMPERIAL_CONFIDENTIAL_TRANSFER_ENABLED=1 (or pass { confidentialTransfer: true }) before using confidential / shielded paths.
License
MIT
