Skip to content

Instantly share code, notes, and snippets.

View utsavjnn's full-sized avatar
🎯
Focusing

Utsav Jain utsavjnn

🎯
Focusing
View GitHub Profile
@utsavjnn
utsavjnn / router_asm.sol
Created September 19, 2024 08:30
Router ASM contract
// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity ^0.8.0;
import {IAdditionalSecurityModule} from "@routerprotocol/evm-gateway-contracts/contracts/IAdditionalSecurityModule.sol";
import {ILightClient} from "../interfaces/ILightClient.sol";
import {SSZ} from "../library/SimpleSerialize.sol";
import {EventProof} from "../library/EventProof.sol";
// https://devnet-docs.routerprotocol.com/develop/message-transfer-via-crosstalk/evm-guides/asm-implementation
contract ASM is IAdditionalSecurityModule {
@utsavjnn
utsavjnn / extractor.rs
Created June 28, 2024 09:46
Rust proof and pis extractor
// keccak-hash = "0.10.0"
// num-bigint = "0.4.5"
#[cfg(test)]
mod tests {
use num_bigint::BigUint;
use keccak_hash::keccak;
#[derive(Clone, Debug)]
pub struct GnarkProof {
pub Ar: G1,
use std::path::PathBuf;
use snark_verifier_sdk::{
evm::gen_evm_proof_shplonk,
snark_verifier::{
halo2_base::halo2_proofs::{
halo2curves::bn256::{Bn256, Fr, G1Affine},
plonk::ProvingKey,
poly::kzg::commitment::ParamsKZG,
},