0.0.5 • Published 11 months ago
@unruggable/evmgateway v0.0.5
EVMGateway (v2)
$ npm i @unruggable/evmgateway
✓
Setup
Support
- Provers
EthProver →
eth_getProof
LineaProver →linea_getProof
* ZKSyncProver →zks_getProof
- Rollups: OP — Base, Blast, Fraxtal, Zora OP w/Fault Proofs — OP Mainnet Nitro — Arbitrum One Linea Polygon PoS Polygon ZK — WIP Scroll Taiko * ZKSync
Serve
bun run serve <chain> [port]
Chain names:base op arb1 linea polygon scroll taiko zksync blast fraxtal zora
Default port:8000
Test
bun run test
bun run test-components
Supported Operations Protocol Limits Batchedeth_getProof
bun run test-gateways
Contract → Reader → Tests ⚠️ Scroll failsreadZero()
test ⚠️ Polygon has pooreth_getProof
support
Examples
- enschain → ensdomains/enschain
*
bun test/examples/enschain/demo.ts
- ENSv2
copy
contracts/
bun test/examples/ENSv2/demo.ts
- TeamNick
bun test/examples/TeamNick/fetch.ts
write requests in JS to quickly iteratebun test test/examples/TeamNick/resolver.test.ts
port to Solidity and write tests in JS to validate - linea-ens
Replacement backend demo for https://names.linea.build/
bun serve lineaV1
Notes
Suggested VSCode Extensions
Forge Setup
# installed by forge in step (2)
# provided for reference
forge install foundry-rs/forge-std
forge install openzeppelin-contracts-v4.9=OpenZeppelin/openzeppelin-contracts@release-v4.9 # required for ens-contracts
forge install ensdomains/ens-contracts
forge install ensdomains/buffer
forge install OpenZeppelin/openzeppelin-contracts@master # https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4845
forge install ethereum-optimism/optimism@v1.8.0
forge install offchainlabs/nitro-contracts
forge install ensdomains/enschain
# forge install taikoxyz/taiko-mono # using inline headers instead