Skip to main content

@effectstream/frontend-sdk

Package: @effectstream/frontend-sdk · Source

Umbrella name for EffectStream's frontend code. Currently re-exports everything from @effectstream/wallets. Depend on this if you want a stable frontend namespace; import @effectstream/wallets directly if you prefer.

Install

bun add @effectstream/frontend-sdk
# or
npm install @effectstream/frontend-sdk

Usage

The export surface is exactly @effectstream/wallets:

import {
allInjectedWallets,
walletLogin,
WalletMode,
} from "@effectstream/frontend-sdk";

const available = await allInjectedWallets({
signatureSupport: true,
transactionSupport: true,
});
const evmOption = available[WalletMode.EvmInjected][0];

const { provider, signedLogin } = await walletLogin({
preference: { name: evmOption.metadata.name },
mode: WalletMode.EvmInjected,
});

Browser only. Like @effectstream/wallets, this package depends on injected wallet APIs (window.ethereum, CIP-30, …) and won't load in plain Node.

Inside EffectStream

A thin re-export of @effectstream/wallets. If/when frontend-only helpers (React context providers, batcher submission hooks, event subscribers wired to React) ship, they'll live here without breaking app code that depended on the umbrella name.

Key exports

Everything @effectstream/wallets exports. The most-imported symbols across templates are:

  • walletLogin(...) — one-call wallet connection + signed batcher message.
  • WalletMode — enum of supported wallet types.
  • Wallet — type for a connected wallet.
  • EffectstreamConfig — runtime config the wallet helpers consume.
  • sendTransaction, sendBatcherTransaction, signMessage, waitForEffectstreamBlockProcessed — send/wait helpers.
  • allInjectedWallets, getAddressType, WalletNameMap — discovery + identification helpers.

For lower-level connector machinery (connectInjectedWallet, WalletModeMap, IProvider, IConnector, IInjectedConnector), import from @effectstream/wallets directly.

Examples

Runnable: test/examples.test.ts.

Real-world: every frontend in templates/ demonstrates the same surface.