@effectstream/evm-contracts
Package:
@effectstream/evm-contracts· Source
Solidity sources and compiled ABIs for Effectstream's EVM contracts, distributed as an npm package. Pairs with @effectstream/evm-hardhat, which ships the Hardhat tooling (config builder, JSON-RPC server, deploy helpers).
- Canonical home for Effectstream's EVM-side contracts. Other packages import the ABIs from here.
- Compiled artifacts ship in the tarball so consumers don't need a Solidity toolchain unless they're modifying contracts.
- Hardhat tooling lives in
@effectstream/evm-hardhat. This package is kept lean on purpose.
Install
bun add @effectstream/evm-contracts
# or
npm install @effectstream/evm-contracts
Standalone usage
Import a compiled ABI:
import EffectstreamL2 from "@effectstream/evm-contracts/artifacts/EffectstreamL2.json";
const abi = EffectstreamL2.abi;
const bytecode = EffectstreamL2.bytecode;
For the full list of contracts and their export paths, see the docs.
Inside Effectstream
The state machine and batcher read EVM events against ABIs exported here. Templates that target EVM include this package transitively through @effectstream/evm-hardhat's deploy pipeline, so you usually don't import it by hand - you reference the contract names you want to deploy.
Building from source
For consumers modifying contracts locally:
# In a checkout of effectstream
bun run --filter=@effectstream/evm-contracts build
The Hardhat config used during compilation is built by @effectstream/evm-hardhat/hardhat-config-builder. If you need a config in your own repo, import that builder directly; do not re-implement the Hardhat setup. See @effectstream/evm-hardhat's README for the API.
Examples
templates/minimal/- smallest template that deploys an Effectstream contract.templates/dice/- full game-on-EVM example.