Built for EthGlobal Bangkok by Souradeep Das, Ethan Lam, Varun Vaidya, Sanjay Amirthraj
An on-chain reliability index for non-finalized blocks in Optimistic Rollups to help non-validators estimate the likelihood of a non-finalized block being finalized. Such an index would provide valuable information to users without having to trust a specific entity or a validator for the information. A dynamic score, instead of a binary final/non-final answer - also helps put a number/weight to the reliability of what multiple agents are thinking about the finality of a specific block. An on-chain reliability index for non-finalized blocks in Optimistic Rollups would greatly enhance user experience by reducing uncertainty and improving risk assessment for transactions.
- Layer AVS WASMI component (layer-avs/)
- Eigen Layer AVS component (root)
- Eigen Layer Solidity smart contracts that work with the AVS component (contracts/)
- UI dashboard illustrating the reliability score and a derived interest rate for further utilization. (frontend/)
- Install deps using
npm install
- Start a test network using
npm run start:anvil
- To build the project, deploy contracts and run the operator
npm run build
npm run deploy:core
npm run deploy:finality_index
npm run extract:abis
npm run start:operator
- Once, the operator is running -
npm run start:traffic
- To build up the UI
cd frontend
npm i
npm run dev
- After deploying Verifier, Operator contracts on Layer, to test the wasi interface, run:
avs-toolkit-cli wasmatic run \ (base)
--wasm-source ./target/wasm32-wasip1/release/finality_index.wasm \
--envs "API_KEY=<your infura API key>" --input '{"x": <optimism-block-number>}'