
Security News
Node.js Considers Public Workflow for Security Reports Amid AI-Driven Surge
Node.js is debating whether AI-driven security report volume warrants moving more vulnerability reports into public workflows.
@unruggable/gateways
Advanced tools
This repository provides an end-to-end solution for proving data from rollup chains and verifying it against state posted on the parent chain.
The codebase has been audited. Details of our audits can be found here.
npm i @unruggable/gateways ✓
StateRoot) of one chain on anotherIf you are interested in building a solution for another chain, please take a look at our our Contribution Guidelines and/or get in touch.
bun run serve <chain> [port]
bun run serve op 90001 or 0x1 or mainnet8000trusted:<chain> for TrustedRollup
bun run serve trusted:op0x{64} to set signing keyunchecked:<chain> for UncheckedRollupreverse:<chain> for ReverseOPRollupself:<chain> for EthSelfRollup--unfinalized(=minAge) to use unfinalized commits (will throw if not available)--latest for "latest" instead of "finalized" block tag--debug to print OP_DEBUG statements--calls to print RPC calls.--dump to print config, latest commit, prover information, and then exit.--no-fast to disable eth_getStorageAt--no-cache to disable caching--no-double to disable double rollups
APE, serves L2 → L3 instead of L1 → L2 → L3--depth=# to adjust commit depth--step=# to adjust commit step--gameTypes=1,2... to set allowed game types for OPFaultRollupPROVIDER_ORDER to customize global RPC provider priority.PROVIDER_ORDER_{CHAIN_NAME} to customize per-chain RPC provider priority.PROVIDER_{CHAIN_NAME} to customize per-chain RPC provider override.BEACON_{CHAIN_NAME} to customize per-chain Beacon RPC provider override.There is an extensive test suite available for testing individual components of the solution in an isolated manner.
Using Foundry and blocksmith.js, we fork the chain in question (such that can interact with contracts deployed on a real network) and then deploy and test against an isolated unit (for example the chain specific verifier).
Commands available include:
bun run test
bun run test-components
bun run test-gateways
A number of examples are provided as part of this repository. For more extensive step-wise example code, please see our documentation.
bun serve v1:linea# installed by forge in step (2)
# provided for reference
forge install foundry-rs/forge-std
forge install OpenZeppelin/openzeppelin-contracts@v5.0.2
# installed by script instead of the following command
# placed at standard remapping location
# see: https://github.com/ethereum-optimism/optimism/issues/10202
#forge install ethereum-optimism/optimism
bun script/import-op.ts
We welcome contributions to this codebase.
The premise behind the development of this software is to minimise duplication of effort and provide tooling that allows developers to interface with a simple, standardised API to read data from other chains.
Please take a look at our CONTRIBUTING.md file for a more in depth overview of our contribution process.
All files within this repository are licensed under the MIT License unless stated otherwise.
FAQs
Trustless Ethereum Multichain CCIP-Read Gateway
We found that @unruggable/gateways demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Node.js is debating whether AI-driven security report volume warrants moving more vulnerability reports into public workflows.

Security News
PolinRider expands across npm, Packagist, Go modules, and Chrome extensions, using hidden loaders to target developer environments.

Security News
Open source attacks are accelerating as AI coding agents pull in dependencies faster, with less human review.