@tevm/decorators
Action decorators for extending Tevm clients: EIP-1193 providers, Ethereum JSON-RPC methods, and Tevm-specific actions.
Full API: packages/decorators/docs.
Installation
npm install @tevm/decoratorsAPI Reference
Core Functions
ethActions()- standard Ethereum JSON-RPC methods.requestEip1193()- EIP-1193 provider extension.tevmActions()- Tevm-specific actions.tevmSend()- send Tevm JSON-RPC requests.
Provider Types
Action Types
RPC Schema Types
RpcSchemaRpcSchemaOverrideDerivedRpcSchemaJsonRpcSchemaPublicJsonRpcSchemaTevmJsonRpcSchemaWalletTestRpcSchema
Ethereum Types
Utility Types
Usage Examples
import { requestEip1193, ethActions, tevmActions } from '@tevm/decorators'
const eip1193Client = createClient({ transport: requestEip1193() })
const result = await eip1193Client.request({
method: 'eth_call',
params: [{ to: '0x...', data: '0x...' }],
})
const ethClient = createClient({ transport: ethActions() })
const balance = await ethClient.eth.getBalance({ address: '0x...' })
const code = await ethClient.eth.getCode({ address: '0x...' })
const tevmClient = createClient({ transport: tevmActions() })
const call = await tevmClient.transport.tevm.call({ to: '0x...', data: '0x...' })
const state = await tevmClient.transport.tevm.dumpState()Error Codes
try {
await client.request({ method: 'eth_call', params: [{ to: '0x...', data: '0x...' }] })
} catch (error) {
if (error.code === 4001) {
// user rejected
} else if (error.code === -32000) {
// execution error
}
}Chain Parameters
const chainParams: AddEthereumChainParameter = {
chainId: '0x1',
chainName: 'Ethereum Mainnet',
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
rpcUrls: ['https://...'],
}
