Skip to content

Instantly share code, notes, and snippets.

View 0xvangrim's full-sized avatar
🏠
Working from home

Kenny 0xvangrim

🏠
Working from home
  • Bogota
  • 23:03 (UTC -12:00)
View GitHub Profile
@0xvangrim
0xvangrim / metrics.ts
Last active January 8, 2024 09:22
Audit Scope Metrics
const { getAllFiles } = require("get-all-files");
const { SolidityMetricsContainer } = require("solidity-code-metrics");
const options = {
basePath: "",
inputFileGlobExclusions: undefined,
inputFileGlob: undefined,
inputFileGlobLimit: undefined,
debug: false,
repoInfo: {
// SPDX-License-Identifier: BSL-1.1
pragma solidity =0.8.28;
// tests
import {mToken_Unit_Shared} from "../shared/mToken_Unit_Shared.t.sol";
import {ImTokenOperationTypes} from "src/interfaces/ImToken.sol";
contract mErc20Host_ProofEnvChainSpec_DoS is mToken_Unit_Shared {
function setUp() public virtual override {
super.setUp();
/// PoC: SOURCE=ETH, DEST=Linea, no L1 inclusion → routes to hardcoded Linea ChainSpec branch
/// This demonstrates the wrong-spec code path without relying on on-chain verification.
/// It confirms:
/// - Non-OpStack path (OpEvmInput is None)
/// - Validators later expect ETH_MAINNET_CHAIN_SPEC for SOURCE=ETH
/// - The builder else-branch used LINEA_MAINNET_CHAIN_SPEC (hardcoded)
#[tokio::test]
async fn test_poc_wrong_chain_spec_eth_non_opstack_no_inclusion() {
use alloy::transports::http::reqwest::Url;
use risc0_steel::ethereum::{EthEvmEnv, ETH_MAINNET_CHAIN_SPEC};