viem-inpage
v0.2.1
Published
EIP-1193 provider interface backed by viem client with viem-portal integration
Maintainers
Readme
viem-inpage
EIP-1193 provider from viem client.
Installation
npm install viem-inpage
# or
bun add viem-inpageUsage
import { createPublicClient, http } from 'viem';
import { createEip1193Provider } from 'viem-inpage';
const client = createPublicClient({ transport: http() });
const provider = createEip1193Provider(client);
// Use as window.ethereum
const accounts = await provider.request({ method: 'eth_requestAccounts' });
console.log(accounts);
// With custom methods
const providerWithCustom = createEip1193Provider(client, {
custom: {
wallet_action: async ([action, payload]) => {
return { result: 'ok' };
},
},
});API
createEip1193Provider(client, options?)
Creates an EIP-1193 provider from a viem client.
client- A viem client (PublicClient, WalletClient, etc.)options- Optional configurationcustom- Custom method handlersisRainbow- Whether this is Rainbow (default: true)isMetaMask- MetaMask compatibility (default: true)
Eip1193Provider
The main provider class implementing EIP-1193.
Methods
request(args)- EIP-1193 standard request methodenable()- Legacy methodisConnected()- Check if connectedsend(method, params)- Legacy send methodsendAsync(payload, callback)- Legacy async sendon(event, listener)- Add event listeneroff(event, listener)- Remove event listeneremit(event, ...args)- Emit event
License
MIT
