diff --git a/.env.template b/.env.template index 396301cc..a76b713e 100644 --- a/.env.template +++ b/.env.template @@ -1,5 +1,7 @@ ETH_CHAIN= MINA_RPC_URL= +STATE_SETTLEMENT_ETH_ADDR=
+ACCOUNT_VALIDATION_ETH_ADDR=
SAVE_PROOF=true/false # also false if other than "true" or variable were to be not defined ## These can be skipped if using devnet with Anvil. @@ -9,7 +11,7 @@ SAVE_PROOF=true/false # also false if other than "true" or variable were to be n # PROOF_GENERATOR_ADDR= # BRIDGE_HOLESKY_ETH_ADDR= # BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR= -# ALIGNED_SM_HOLESKY_ETH_ADDR= +# ALIGNED_SERVICE_MANAGER_ADDR= ## You can choose to use a keystore or private key for your signing wallet. ## Leave empty if choosing Anvil Devnet. diff --git a/Makefile b/Makefile index 92efab77..f7317dcd 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,11 @@ -.PHONY: submit-state submit-account gen_contract_abi deploy_contract +.PHONY: submit_mainnet_state submit_devnet_state submit_account gen_contract_abi deploy_contract -submit_state: +submit_mainnet_state: @cargo run --manifest-path core/Cargo.toml --release -- submit-state +submit_devnet_state: + @cargo run --manifest-path core/Cargo.toml --release -- submit-state --devnet + submit_account: @cargo run --manifest-path core/Cargo.toml --release -- submit-account ${PUBLIC_KEY} ${STATE_HASH} diff --git a/README.md b/README.md index 8b635f40..68b9fffa 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ The bridge leverages [Aligned Layer](https://github.com/yetanotherco/aligned_lay ### Mina node - If you want the Bridge to use Mina Devnet then use a node that runs a Devnet instance corresponding to the commit `599a76d` [of the Mina repo](https://github.com/MinaProtocol/mina/tree/599a76dd47be99183d2102d9eb93eda679dd46ec) or a newer one (e.g.: [this Docker image](https://console.cloud.google.com/gcr/images/o1labs-192920/GLOBAL/mina-daemon:3.0.1-compatible-599a76d-bullseye-devnet/details)). See [how to connect to Mina Devnet](https://docs.minaprotocol.com/node-operators/block-producer-node/connecting-to-devnet#docker) if you want to run an instance yourself. -- If you want the Bridge to use Mina Mainnet use a node that runs a Mainnet instance corresponding to the commit `65c84ad` [of the Mina repo](https://github.com/MinaProtocol/mina/tree/65c84adacd55272160d9f77c31063d94a942afb6) or a newer one (e.g.: [this Docker image](https://console.cloud.google.com/gcr/images/o1labs-192920/GLOBAL/mina-daemon:65c84ada-bullseye-mainnet/details?tab=info)). See [how to connect to Mina Mainnet](https://docs.minaprotocol.com/node-operators/block-producer-node/connecting-to-the-network#docker) if you want to run an instance yourself. +- If you want the Bridge to use Mina Mainnet use a node that runs a Mainnet instance corresponding to the commit `65c84ad` [of the Mina repo](https://github.com/MinaProtocol/mina/tree/65c84adacd55272160d9f77c31063d94a942afb6) or a newer one (e.g.: [this Docker image](http://gcr.io/o1labs-192920/mina-daemon:3.0.1-beta1-sai-query-snarked-ledger-c439ce5-bullseye-mainnet)). See [how to connect to Mina Mainnet](https://docs.minaprotocol.com/node-operators/block-producer-node/connecting-to-the-network#docker) if you want to run an instance yourself. You can bridge Mina accounts to Ethereum Devnet or Ethereum Testnet. The following subsections describe how to config the Bridge for each network. @@ -38,7 +38,7 @@ Because the Bridge uses for now a forked version of Aligned, you may need to set You will need two Ethereum accounts: One to fund the Aligned operator (`operator_account_address`) and another to fund the Aligned batcher (`batcher_account_address`). -1. Clone the [forked Aligned repo](https://github.com/lambdaclass/aligned_layer). Checkout to the `aligned` branch. +1. Clone the [forked Aligned repo](https://github.com/lambdaclass/aligned_layer). Checkout to the `mina` branch. 1. Run: ```sh @@ -93,7 +93,7 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator 1. Deploy the contracts with `make deploy_aligned_contracts`. -1. `contracts/script/output/holesky/alignedlayer_deployment_output.json` should have been updated automatically. Set the `permissions` field on that file: + `contracts/script/output/holesky/alignedlayer_deployment_output.json` should have been updated automatically. Set the `permissions` field on that file: ```json { @@ -112,7 +112,7 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator "pauserRegistry": "0x85Ef7299F8311B25642679edBF02B62FA2212F06" } } - ``` + ``` 1. Create 3 EigenLayer keystores: 1. Aggregator and operator ECDSA: @@ -141,21 +141,21 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator environment: "production" aligned_layer_deployment_config_file_path: "./contracts/script/output/holesky/alignedlayer_deployment_output.json" eigen_layer_deployment_config_file_path: "./contracts/script/output/holesky/eigenlayer_deployment_output.json" - eth_rpc_url: "https://holesky.internal.lambdaclass.com" - eth_rpc_url_fallback: "https://holesky.internal.lambdaclass.com" - eth_ws_url: "wss://ws.holesky.internal.lambdaclass.com" - eth_ws_url_fallback: "wss://ws.holesky.internal.lambdaclass.com" + eth_rpc_url: "" + eth_rpc_url_fallback: "" + eth_ws_url: "" + eth_ws_url_fallback: "" eigen_metrics_ip_port_address: "localhost:9090" ## ECDSA Configurations ecdsa: private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.ecdsa.key.json" - private_key_store_password: "" + private_key_store_password: ## BLS Configurations bls: private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.bls.key.json" - private_key_store_password: "" + private_key_store_password: ## Batcher configurations batcher: @@ -201,21 +201,21 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator environment: "production" aligned_layer_deployment_config_file_path: "./contracts/script/output/holesky/alignedlayer_deployment_output.json" eigen_layer_deployment_config_file_path: "./contracts/script/output/holesky/eigenlayer_deployment_output.json" - eth_rpc_url: "https://holesky.internal.lambdaclass.com" - eth_rpc_url_fallback: "https://holesky.internal.lambdaclass.com" - eth_ws_url: "wss://ws.holesky.internal.lambdaclass.com" - eth_ws_url_fallback: "wss://ws.holesky.internal.lambdaclass.com" + eth_rpc_url: "" + eth_rpc_url_fallback: "" + eth_ws_url: "" + eth_ws_url_fallback: "" eigen_metrics_ip_port_address: "localhost:9090" ## ECDSA Configurations ecdsa: private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.ecdsa.key.json" - private_key_store_password: "" + private_key_store_password: ## BLS Configurations bls: private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.bls.key.json" - private_key_store_password: "" + private_key_store_password: ## Aggregator Configurations aggregator: @@ -229,21 +229,19 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator 1. Create `config-files/holesky/config-batcher.yaml` and set it to: ```yaml - # Common variables for all the services - # 'production' only prints info and above. 'development' also prints debug environment: "production" aligned_layer_deployment_config_file_path: "./contracts/script/output/holesky/alignedlayer_deployment_output.json" eigen_layer_deployment_config_file_path: "./contracts/script/output/holesky/eigenlayer_deployment_output.json" - eth_rpc_url: "https://holesky.internal.lambdaclass.com" - eth_rpc_url_fallback: "https://holesky.internal.lambdaclass.com" - eth_ws_url: "wss://ws.holesky.internal.lambdaclass.com" - eth_ws_url_fallback: "wss://ws.holesky.internal.lambdaclass.com" + eth_rpc_url: "" + eth_rpc_url_fallback: "" + eth_ws_url: "" + eth_ws_url_fallback: "" eigen_metrics_ip_port_address: "localhost:9090" ## ECDSA Configurations ecdsa: private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.batcher.ecdsa.key.json" - private_key_store_password: "" + private_key_store_password: ## Batcher configurations batcher: @@ -276,6 +274,8 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator make operator_whitelist OPERATOR_ADDRESS= ``` +1. Deposit Strategy tokens for the operator. Follow [this section from the AlignedLayer docs](https://docs.alignedlayer.com/operators/0_running_an_operator#step-4-deposit-strategy-tokens). + 1. Start operator: ```sh @@ -288,7 +288,7 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator { "address": { "batcherWallet": "", - "alignedLayerServiceManager": "0x4d879A997f422FeB8AC2f3d9Dcc749e9d8d0E4a4" + "alignedLayerServiceManager": "" }, "amounts": { "gasForAggregator": "300000", @@ -314,19 +314,25 @@ You will need two Ethereum accounts: One to fund the Aligned operator (`operator 1. Pay the batcher: ```sh - cast send --rpc-url https://holesky.internal.lambdaclass.com --private-key --value 1ether + cast send --rpc-url --private-key --value 1ether ``` 1. Deposit to batcher in the Aligned Service Manager Contract: ```sh - cast send 0x4d879A997f422FeB8AC2f3d9Dcc749e9d8d0E4a4 --rpc-url https://holesky.internal.lambdaclass.com --private-key --value 1ether "depositToBatcher(address)" + cast send --rpc-url --private-key --value 1ether "depositToBatcher(address)" + ``` + +1. Setup local storage for the batcher: + + ```sh + make run_storage ``` 1. Start the batcher: ```sh - cargo run --manifest-path ./batcher/aligned-batcher/Cargo.toml --release -- --config ./config-files/holesky/config-batcher.yaml --env-file ./batcher/aligned-batcher/.env + cargo run --manifest-path ./batcher/aligned-batcher/Cargo.toml --release -- --config ./config-files/holesky/config-batcher.yaml --env-file ./batcher/aligned-batcher/.env.dev ``` #### Bridge environment setup @@ -339,11 +345,11 @@ In the Mina Bridge repo, setup the `.env` file. A template is available in `.env ```sh BATCHER_ADDR="ws://localhost:8080" - BATCHER_ETH_ADDR= + BATCHER_ETH_ADDR= ETH_RPC_URL= PROOF_GENERATOR_ADDR=0x66f9664f97F2b50F62D13eA064982f936dE76657 - PRIVATE_KEY= - ALIGNED_SM_HOLESKY_ETH_ADDR=0x4d879A997f422FeB8AC2f3d9Dcc749e9d8d0E4a4 + PRIVATE_KEY= + ALIGNED_SM_HOLESKY_ETH_ADDR= ``` ### Bridge a Mina account @@ -378,7 +384,7 @@ The `example/` folder contains a project that uses the Sudoku zkApp example from For running the example you need to: -1. [Setup Aligned Devnet locally](https://github.com/yetanotherco/aligned_layer/blob/main/docs/guides/3_setup_aligned.md#booting-devnet-with-default-configs) +1. [Setup Aligned Devnet locally](https://github.com/yetanotherco/aligned_layer/blob/staging/docs/3_guides/6_setup_aligned.md#booting-devnet-with-default-configs) 1. Deploy the bridge smart contracts by executing ```sh @@ -568,7 +574,7 @@ The first step of the verifier is to check that the public inputs correspond to The second step of the verifier is to execute consensus checks, specific to the [Ouroboros Samasika consensus mechanism](https://github.com/MinaProtocol/mina/blob/develop/docs/specs/consensus/README.md) that the Mina Protocol uses. The checks are comparisons of state data between the candidate tip state and the bridge tip state. -There are two general rules that implement a set of checks each: a rule for short-range forks, and another for long-range forks. The implementation can be found in the [aligned_layer repo: operator/mina/lib/src/consensus_state.rs](https://github.com/lambdaclass/aligned_layer/blob/consensus_state_input_checks/operator/mina/lib/src/consensus_state.rs) file. The implementation was based on the official [Mina Protocol consensus documentation](https://github.com/MinaProtocol/mina/blob/develop/docs/specs/consensus/README.md). +There are two general rules that implement a set of checks each: a rule for short-range forks, and another for long-range forks. The implementation can be found in the [aligned_layer repo: operator/mina/lib/src/consensus_state.rs](https://github.com/lambdaclass/aligned_layer/blob/mina/operator/mina/lib/src/consensus_state.rs) file. The implementation was based on the official [Mina Protocol consensus documentation](https://github.com/MinaProtocol/mina/blob/develop/docs/specs/consensus/README.md). ### Transition frontier @@ -760,7 +766,9 @@ The two curves pallas and vesta (pa(llas ve)sta) created by the [Zcash team](htt These curves are referred to as “tick” and “tock” within the Mina source code. - Tick - Vesta (a.k.a. Step), constraint domain size 2¹⁸ [block and transaction proofs] -- Tock - Pallas (a.k.a. Wrap), constraint domain size 2¹² [signatures] +- Tock - Pallas (a.k.a. Wrap), constraint domain size 2¹⁷ [signatures] + +See [the Pickles section of the Mina book](https://o1-labs.github.io/proof-systems/specs/pickles.html) for more details. The Tock prover does less (only performs recursive verifications and no other logic), so it requires fewer constraints and has a smaller diff --git a/contract/lib/aligned_layer b/contract/lib/aligned_layer index 9bac7bc5..56ac3a2e 160000 --- a/contract/lib/aligned_layer +++ b/contract/lib/aligned_layer @@ -1 +1 @@ -Subproject commit 9bac7bc5a683ea1f68db9a928bed9a87e5f7b97f +Subproject commit 56ac3a2e0a2d8accbc5466d6491ca082b45723cc diff --git a/contract/src/MinaStateSettlement.sol b/contract/src/MinaStateSettlement.sol index 10a0d9e7..f00835d7 100644 --- a/contract/src/MinaStateSettlement.sol +++ b/contract/src/MinaStateSettlement.sol @@ -3,9 +3,10 @@ pragma solidity ^0.8.12; import "aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol"; -error MinaProvingSystemIdIsNotValid(bytes32); // f92aa66a -error NewStateIsNotValid(); // 114602f0 -error TipStateIsWrong(bytes32 pubInputTipStateHash, bytes32 tipStatehash); // bbd80128 +error MinaProvingSystemIdIsNotValid(bytes32); +error MinaNetworkIsWrong(); +error NewStateIsNotValid(); +error TipStateIsWrong(bytes32 pubInputTipStateHash, bytes32 tipStatehash); error AccountIsNotValid(bytes32 accountIdHash); /// @title Mina to Ethereum Bridge's smart contract for verifying and storing a valid state chain. @@ -24,12 +25,15 @@ contract MinaStateSettlement { /// the bridge's transition frontier). bytes32[BRIDGE_TRANSITION_FRONTIER_LEN] chainLedgerHashes; + bool devnetFlag; + /// @notice Reference to the AlignedLayerServiceManager contract. AlignedLayerServiceManager aligned; - constructor(address payable _alignedServiceAddr, bytes32 _tipStateHash) { + constructor(address payable _alignedServiceAddr, bytes32 _tipStateHash, bool _devnetFlag) { aligned = AlignedLayerServiceManager(_alignedServiceAddr); chainStateHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1] = _tipStateHash; + devnetFlag = _devnetFlag; } /// @notice Returns the last verified state hash. @@ -76,9 +80,18 @@ contract MinaStateSettlement { revert MinaProvingSystemIdIsNotValid(provingSystemAuxDataCommitment); } + bool pubInputDevnetFlag; + assembly { + pubInputDevnetFlag := mload(add(pubInput, 0x20)) + } + + if (pubInputDevnetFlag != devnetFlag) { + revert MinaNetworkIsWrong(); + } + bytes32 pubInputBridgeTipStateHash; assembly { - pubInputBridgeTipStateHash := mload(add(pubInput, 0x20)) + pubInputBridgeTipStateHash := mload(add(pubInput, 0x21)) } if (pubInputBridgeTipStateHash != chainStateHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1]) { @@ -105,9 +118,10 @@ contract MinaStateSettlement { let slot_ledgers := chainLedgerHashes.slot // first 32 bytes is length of byte array. - // second 32 bytes is the bridge tip state hash + // the next byte is the Devnet flag + // the next 32 bytes set is the bridge tip state hash // the next BRIDGE_TRANSITION_FRONTIER_LEN sets of 32 bytes are state hashes. - let addr_states := add(pubInput, 64) + let addr_states := add(pubInput, 65) // the next BRIDGE_TRANSITION_FRONTIER_LEN sets of 32 bytes are ledger hashes. let addr_ledgers := add(addr_states, mul(32, BRIDGE_TRANSITION_FRONTIER_LEN)) diff --git a/contract_deployer/Cargo.lock b/contract_deployer/Cargo.lock index 99ef5e95..a7f6181a 100644 --- a/contract_deployer/Cargo.lock +++ b/contract_deployer/Cargo.lock @@ -73,7 +73,7 @@ dependencies = [ [[package]] name = "aligned-sdk" version = "0.1.0" -source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#9bac7bc5a683ea1f68db9a928bed9a87e5f7b97f" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=use_two_vks#56ac3a2e0a2d8accbc5466d6491ca082b45723cc" dependencies = [ "ciborium", "ethers", diff --git a/contract_deployer/Cargo.toml b/contract_deployer/Cargo.toml index 777c466b..b18ea42b 100644 --- a/contract_deployer/Cargo.toml +++ b/contract_deployer/Cargo.toml @@ -16,7 +16,7 @@ ethers = { tag = "v2.0.15-fix-reconnections", features = [ mina-curves = { git = "https://github.com/openmina/proof-systems", branch = "ledger-newtypes-rampup4-vrf" } o1-utils = { git = "https://github.com/lambdaclass/proof-systems", branch = "add-verifier-serializations" } kimchi = { git = "https://github.com/openmina/proof-systems", branch = "ledger-newtypes-rampup4-vrf" } -aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "use_two_vks" } serde = { version = "1.0", features = ["derive"] } mina-p2p-messages = { git = "https://github.com/lambdaclass/openmina/", branch = "mina_bridge" } bincode = "1.3.3" diff --git a/contract_deployer/src/main.rs b/contract_deployer/src/main.rs index 49c2a1d8..be2f76c9 100644 --- a/contract_deployer/src/main.rs +++ b/contract_deployer/src/main.rs @@ -1,3 +1,4 @@ +use aligned_sdk::core::types::Chain; use log::{debug, error, info}; use mina_bridge_core::{ eth::{ @@ -6,8 +7,9 @@ use mina_bridge_core::{ }, mina::query_root, utils::{ - constants::BRIDGE_TRANSITION_FRONTIER_LEN, contract::get_aligned_sm_contract_addr, - env::EnvironmentVariables, wallet_alloy::get_wallet, + constants::{ALIGNED_SM_DEVNET_ETH_ADDR, BRIDGE_TRANSITION_FRONTIER_LEN}, + env::EnvironmentVariables, + wallet_alloy::get_wallet, }, }; use std::process; @@ -43,7 +45,13 @@ async fn main() { process::exit(1); }); - let aligned_sm_addr = get_aligned_sm_contract_addr(&chain).unwrap_or_else(|err| { + let aligned_sm_addr = match chain { + Chain::Devnet => Ok(ALIGNED_SM_DEVNET_ETH_ADDR.to_owned()), + Chain::Holesky => std::env::var("ALIGNED_SERVICE_MANAGER_ADDR") + .map_err(|err| format!("Error getting Aligned SM contract address: {err}")), + _ => Err("Unimplemented Ethereum contract on selected chain".to_owned()), + } + .unwrap_or_else(|err| { error!("{err}"); process::exit(1); }); @@ -67,7 +75,16 @@ async fn main() { process::exit(1); }); - deploy_mina_bridge_contract(ð_rpc_url, bridge_constructor_args, &wallet) + // Contract for Devnet state proofs + deploy_mina_bridge_contract(ð_rpc_url, &bridge_constructor_args, &wallet, true) + .await + .unwrap_or_else(|err| { + error!("Failed to deploy contract: {err}"); + process::exit(1); + }); + + // Contract for Mainnet state proofs + deploy_mina_bridge_contract(ð_rpc_url, &bridge_constructor_args, &wallet, false) .await .unwrap_or_else(|err| { error!("Failed to deploy contract: {err}"); diff --git a/core/Cargo.lock b/core/Cargo.lock index dd704d21..5b6af7e4 100644 --- a/core/Cargo.lock +++ b/core/Cargo.lock @@ -73,7 +73,7 @@ dependencies = [ [[package]] name = "aligned-sdk" version = "0.1.0" -source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#9bac7bc5a683ea1f68db9a928bed9a87e5f7b97f" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=use_two_vks#56ac3a2e0a2d8accbc5466d6491ca082b45723cc" dependencies = [ "ciborium", "ethers", @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "805f7a974de5804f5c053edc6ca43b20883bdd3a733b3691200ae3a4b454a2db" +checksum = "8158b4878c67837e5413721cc44298e6a2d88d39203175ea025e51892a16ba4c" dependencies = [ "num_enum", "strum 0.26.3", @@ -168,9 +168,9 @@ dependencies = [ [[package]] name = "alloy-core" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d0063d10c79086b787ce24a19b417cc00f7a8a58f5dd7a19b3483b61b1ac7b8" +checksum = "5ce854562e7cafd5049189d0268d6e5cba05fe6c9cb7c6f8126a79b94800629c" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c538495c47bc558bd3bb7becf9bde6172dacd5e1fc77531cdd584eb1c248f973" +checksum = "0b499852e1d0e9b8c6db0f24c48998e647c0d5762a01090f955106a7700e4611" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -250,9 +250,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03ebb591e349f3aab48a38da25ee1e2d1a3f4026d466b2e3160c618166b07aa4" +checksum = "a438d4486b5d525df3b3004188f9d5cd1d65cd30ecc41e5a3ccef6f6342e8af9" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -309,9 +309,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f778fe4183cecaec41361e65869e81e748c44a77fa3e6ba20219ca92be33a19" +checksum = "260d3ff3bff0bb84599f032a2f2c6828180b0ea0cd41fdaf44f39cef3ba41861" dependencies = [ "alloy-rlp", "bytes", @@ -409,7 +409,7 @@ checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -528,23 +528,23 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd94eff5a90844c341b39f78227eef5d6890e2ce65c934d97b3f9d724234cc8" +checksum = "68e7f6e8fe5b443f82b3f1e15abfa191128f71569148428e49449d01f6f49e8b" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d900423cebf57657f5b18945031edd82b8d3c481c055e00574653ac70acb1305" +checksum = "6b96ce28d2fde09abb6135f410c41fad670a3a770b6776869bd852f1df102e6f" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", @@ -554,16 +554,16 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58171163ee466fa907c974e0fb945ecde589217006c401d9414ac00316b63e0a" +checksum = "906746396a8296537745711630d9185746c0b50c033d5e9d18b0a6eba3d53f90" dependencies = [ "alloy-json-abi", "const-hex", @@ -572,15 +572,15 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.77", + "syn 2.0.79", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51ebc7c9a94d3a5d2aa29108323d70c890ae97cda38a3598e8b5ebd34fe7d01" +checksum = "bc85178909a49c8827ffccfc9103a7ce1767ae66a801b69bdc326913870bf8e6" dependencies = [ "serde", "winnow", @@ -588,9 +588,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092cce3d2618d5e16e04306796c839c2b20585b591dcc9d64d0897a10c5bd086" +checksum = "d86a533ce22525969661b25dfe296c112d35eb6861f188fd284f8bd4bb3842ae" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -957,7 +957,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -968,7 +968,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -999,14 +999,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "backtrace" @@ -1332,9 +1332,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.21" +version = "1.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0" +checksum = "3bbb537bb4a30b90362caddba8f360c0a56bc13d3a5570028e7197204cb54a17" dependencies = [ "jobserver", "libc", @@ -1430,7 +1430,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1527,9 +1527,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" dependencies = [ "cfg-if", "cpufeatures", @@ -1718,7 +1718,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1740,7 +1740,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1804,7 +1804,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1824,7 +1824,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "unicode-xid", ] @@ -2011,7 +2011,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2185,7 +2185,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.77", + "syn 2.0.79", "toml 0.8.19", "walkdir", ] @@ -2202,7 +2202,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2227,7 +2227,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "syn 2.0.77", + "syn 2.0.79", "tempfile", "thiserror", "tiny-keccak", @@ -2425,9 +2425,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", @@ -2545,7 +2545,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3428,7 +3428,7 @@ checksum = "cb26336e6dc7cc76e7927d2c9e7e3bb376d7af65a6f56a0b16c47d18a9b1abc5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3818,7 +3818,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3878,9 +3878,12 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" +dependencies = [ + "portable-atomic", +] [[package]] name = "opaque-debug" @@ -3944,7 +3947,7 @@ source = "git+https://github.com/lambdaclass/openmina/?branch=mina_bridge#fb6768 dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3970,7 +3973,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4066,7 +4069,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.5", + "redox_syscall 0.5.7", "smallvec", "windows-targets 0.52.6", ] @@ -4192,7 +4195,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4230,7 +4233,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4285,6 +4288,12 @@ dependencies = [ "thiserror", ] +[[package]] +name = "portable-atomic" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" + [[package]] name = "postcard" version = "1.0.10" @@ -4326,7 +4335,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4405,7 +4414,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4553,9 +4562,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62871f2d65009c0256aed1b9cfeeb8ac272833c404e13d53d400cd0dad7a2ac0" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] @@ -4585,9 +4594,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.6" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" dependencies = [ "aho-corasick", "memchr", @@ -4597,9 +4606,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", @@ -4608,9 +4617,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" @@ -4941,9 +4950,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" [[package]] name = "rustls-webpki" @@ -5162,7 +5171,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5185,14 +5194,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -5258,7 +5267,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5490,7 +5499,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5532,9 +5541,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -5543,14 +5552,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27243031e95471f24108f05d00df2803932aaa7b9e461e69b95537d02613e3bf" +checksum = "0ab661c8148c2261222a4d641ad5477fd4bea79406a99056096a0b41b35617a5" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5609,9 +5618,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", "fastrand", @@ -5648,7 +5657,7 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5739,7 +5748,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5919,7 +5928,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6012,9 +6021,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -6210,7 +6219,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-shared", ] @@ -6244,7 +6253,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6533,9 +6542,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c52ac009d615e79296318c1bcce2d422aaca15ad08515e344feeda07df67a587" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -6602,7 +6611,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6622,7 +6631,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] diff --git a/core/Cargo.toml b/core/Cargo.toml index 141e078e..de509619 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -22,7 +22,7 @@ ark-poly = { version = "0.3.0", features = ["parallel"] } ark-serialize = "0.3.0" mina-tree = { git = "https://github.com/lambdaclass/openmina/", branch = "mina_bridge" } mina-p2p-messages = { git = "https://github.com/lambdaclass/openmina/", branch = "mina_bridge" } -aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "use_two_vks" } ethers = { tag = "v2.0.15-fix-reconnections", features = [ "ws", "rustls", diff --git a/core/abi/MinaStateSettlement.json b/core/abi/MinaStateSettlement.json index 3c7ee5a5..06638357 100644 --- a/core/abi/MinaStateSettlement.json +++ b/core/abi/MinaStateSettlement.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_alignedServiceAddr","type":"address","internalType":"address payable"},{"name":"_tipStateHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"BRIDGE_TRANSITION_FRONTIER_LEN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainLedgerHashes","inputs":[],"outputs":[{"name":"","type":"bytes32[16]","internalType":"bytes32[16]"}],"stateMutability":"view"},{"type":"function","name":"getChainStateHashes","inputs":[],"outputs":[{"name":"","type":"bytes32[16]","internalType":"bytes32[16]"}],"stateMutability":"view"},{"type":"function","name":"getTipLedgerHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTipStateHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"isLedgerVerified","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateChain","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"},{"name":"batcherPaymentService","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"MinaProvingSystemIdIsNotValid","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161080638038061080683398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d4565b0155506100ea9050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b818103818111156100ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b61070d806100f96000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633886c09b1161005b5780633886c09b146100bd5780633e16b011146100d3578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a057806337baff0f146100a8575b600080fd5b61008a610106565b60405161009791906103df565b60405180910390f35b61008a610142565b6100bb6100b63660046104d0565b610178565b005b6100c561032a565b604051908152602001610097565b6100e66100e1366004610590565b610350565b6040519015158152602001610097565b6100c56103b1565b6100c5601081565b61010e6103c0565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a6103c0565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b7fee2a4bc7db81da2b7164e56b3649b1e2a09c58c455b15dabddd9146c7582cebc87146101c05760405163c35f1ecd60e01b8152600481018890526024015b60405180910390fd5b602082015160006101d3600160106105bf565b601081106101e3576101e36105d8565b0154811461022e578060006101fa600160106105bf565b6010811061020a5761020a6105d8565b015460405163177b002560e31b8152600481019290925260248201526044016101b7565b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a9190610277908e9086908f908f908f908f908f908e906004016105ee565b602060405180830381865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610695565b905080156103045760006010604087016102408801835b60108110156102fa5782518555815184556001948501949384019360209384019390920191016102cf565b505050505061031d565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106103396001826105bf565b60108110610349576103496105d8565b0154905090565b6000805b60108110156103a8578260108261036c6001836105bf565b61037691906105bf565b60108110610386576103866105d8565b0154036103965750600192915050565b806103a0816106be565b915050610354565b50600092915050565b600080610339600160106105bf565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156104085781518352602092830192909101906001016103e9565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261043857600080fd5b813567ffffffffffffffff8082111561045357610453610411565b604051601f8301601f19908116603f0116810190828211818310171561047b5761047b610411565b8160405283815286602085880101111561049457600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146104cb57600080fd5b919050565b600080600080600080600080610100898b0312156104ed57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461051857600080fd5b955060608901359450608089013567ffffffffffffffff8082111561053c57600080fd5b6105488c838d01610427565b955060a08b0135945060c08b013591508082111561056557600080fd5b506105728b828c01610427565b92505061058160e08a016104b4565b90509295985092959890939650565b6000602082840312156105a257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105d2576105d26105a9565b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561064f57878301820151858401610120015291810191610630565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261068860e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156106a757600080fd5b815180151581146106b757600080fd5b9392505050565b6000600182016106d0576106d06105a9565b506001019056fea2646970667358221220167c05ed7326b8ae71040de58bfb55cc0472b92bb5177b50f7f644064d7cd5b164736f6c63430008150033","sourceMap":"473:4848:39:-:0;;;1363:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1445:7;:57;;-1:-1:-1;;;;;;1445:57:39;-1:-1:-1;;;;;1445:57:39;;;;;1567:13;-1:-1:-1;1529:34:39;-1:-1:-1;858:2:39;1529:34;:::i;:::-;1512:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;473:4848:39;;-1:-1:-1;473:4848:39;14:359:40;101:6;109;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;204:16;;-1:-1:-1;;;;;249:31:40;;239:42;;229:70;;295:1;292;285:12;229:70;363:2;348:18;;;;342:25;318:5;;342:25;;-1:-1:-1;;;14:359:40:o;378:225::-;445:9;;;466:11;;;463:134;;;519:10;514:3;510:20;507:1;500:31;554:4;551:1;544:15;582:4;579:1;572:15;463:134;378:225;;;;:::o;608:127::-;669:10;664:3;660:20;657:1;650:31;700:4;697:1;690:15;724:4;721:1;714:15;608:127;473:4848:39;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633886c09b1161005b5780633886c09b146100bd5780633e16b011146100d3578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a057806337baff0f146100a8575b600080fd5b61008a610106565b60405161009791906103df565b60405180910390f35b61008a610142565b6100bb6100b63660046104d0565b610178565b005b6100c561032a565b604051908152602001610097565b6100e66100e1366004610590565b610350565b6040519015158152602001610097565b6100c56103b1565b6100c5601081565b61010e6103c0565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a6103c0565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b7fee2a4bc7db81da2b7164e56b3649b1e2a09c58c455b15dabddd9146c7582cebc87146101c05760405163c35f1ecd60e01b8152600481018890526024015b60405180910390fd5b602082015160006101d3600160106105bf565b601081106101e3576101e36105d8565b0154811461022e578060006101fa600160106105bf565b6010811061020a5761020a6105d8565b015460405163177b002560e31b8152600481019290925260248201526044016101b7565b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a9190610277908e9086908f908f908f908f908f908e906004016105ee565b602060405180830381865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610695565b905080156103045760006010604087016102408801835b60108110156102fa5782518555815184556001948501949384019360209384019390920191016102cf565b505050505061031d565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106103396001826105bf565b60108110610349576103496105d8565b0154905090565b6000805b60108110156103a8578260108261036c6001836105bf565b61037691906105bf565b60108110610386576103866105d8565b0154036103965750600192915050565b806103a0816106be565b915050610354565b50600092915050565b600080610339600160106105bf565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156104085781518352602092830192909101906001016103e9565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261043857600080fd5b813567ffffffffffffffff8082111561045357610453610411565b604051601f8301601f19908116603f0116810190828211818310171561047b5761047b610411565b8160405283815286602085880101111561049457600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146104cb57600080fd5b919050565b600080600080600080600080610100898b0312156104ed57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461051857600080fd5b955060608901359450608089013567ffffffffffffffff8082111561053c57600080fd5b6105488c838d01610427565b955060a08b0135945060c08b013591508082111561056557600080fd5b506105728b828c01610427565b92505061058160e08a016104b4565b90509295985092959890939650565b6000602082840312156105a257600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105d2576105d26105a9565b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561064f57878301820151858401610120015291810191610630565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261068860e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156106a757600080fd5b815180151581146106b757600080fd5b9392505050565b6000600182016106d0576106d06105a9565b506001019056fea2646970667358221220167c05ed7326b8ae71040de58bfb55cc0472b92bb5177b50f7f644064d7cd5b164736f6c63430008150033","sourceMap":"473:4848:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2050:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2263:144;;;:::i;2808:2511::-;;;;;;:::i;:::-;;:::i;:::-;;1843:137;;;:::i;:::-;;;2776:25:40;;;2764:2;2749:18;1843:137:39;2630:177:40;2483:319:39;;;;;;:::i;:::-;;:::i;:::-;;;3162:14:40;;3155:22;3137:41;;3125:2;3110:18;2483:319:39;2997:187:40;1647:135:39;;;:::i;801:59::-;;858:2;801:59;;2050:142;2104:46;;:::i;:::-;2162:23;;;;;;;;;;;-1:-1:-1;;2162:23:39;;-1:-1:-1;2162:23:39;;;;;;;;;;;;;;;;;;;;;;;;2050:142;:::o;2263:144::-;2318:46;;:::i;:::-;2376:24;;;;;;;;;;2383:17;2376:24;;;;;;2383:17;;2376:24;;;;;;;;;;;;;;;;2263:144;:::o;2808:2511::-;608:66;3156:56;;3152:155;;3235:61;;-1:-1:-1;;;3235:61:39;;;;;2776:25:40;;;2749:18;;3235:61:39;;;;;;;;3152:155;3434:4;3420:19;;3414:26;3317:34;3511;3544:1;858:2;3511:34;:::i;:::-;3494:52;;;;;;;:::i;:::-;;;3464:26;:82;3460:217;;3585:26;3613:16;3630:34;3663:1;858:2;3630:34;:::i;:::-;3613:52;;;;;;;:::i;:::-;;;3569:97;;-1:-1:-1;;;3569:97:39;;;;;3942:25:40;;;;3983:18;;;3976:34;3915:18;;3569:97:39;3768:248:40;3460:217:39;3716:19;;;;;;;;;;3772:7;;:304;;-1:-1:-1;;;3772:304:39;;3687:26;;-1:-1:-1;;;;;3772:7:39;;:28;;:304;;3814:15;;3716:19;;3875:30;;3919:18;;3951:15;;3980:11;;4005:26;;4045:21;;3772:304;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3746:330;;4091:18;4087:1226;;;4229:21;4287:22;4577:2;4563:17;;4712:57;;;4229:21;4787:444;4812:30;4809:1;4806:37;4787:444;;;4905:18;;4885:39;;5078:19;;5057:41;;5033:1;5016:19;;;;5193:20;;;;4977:2;4960:20;;;;5135:21;;;;4851:9;4787:444;;;4791:14;;;;;4087:1226;;;5282:20;;-1:-1:-1;;;5282:20:39;;;;;;;;;;;4087:1226;3142:2177;;;2808:2511;;;;;;;;:::o;1843:137::-;1894:7;1920:17;1938:34;1971:1;1920:17;1938:34;:::i;:::-;1920:53;;;;;;;:::i;:::-;;;1913:60;;1843:137;:::o;2483:319::-;2552:4;;2568:206;858:2;2588:1;:34;2568:206;;;2708:10;2647:17;2702:1;2665:34;2698:1;2647:17;2665:34;:::i;:::-;:38;;;;:::i;:::-;2647:57;;;;;;;:::i;:::-;;;:71;2643:121;;-1:-1:-1;2745:4:39;;2483:319;-1:-1:-1;;2483:319:39:o;2643:121::-;2624:3;;;;:::i;:::-;;;;2568:206;;;-1:-1:-1;2790:5:39;;2483:319;-1:-1:-1;;2483:319:39:o;1647:135::-;1697:7;;1740:34;1773:1;858:2;1740:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:40:-;196:3;181:19;;185:9;277:6;154:4;311:194;325:4;322:1;319:11;311:194;;;384:13;;372:26;;421:4;445:12;;;;480:15;;;;345:1;338:9;311:194;;;315:3;;;14:497;;;;:::o;516:127::-;577:10;572:3;568:20;565:1;558:31;608:4;605:1;598:15;632:4;629:1;622:15;648:718;690:5;743:3;736:4;728:6;724:17;720:27;710:55;;761:1;758;751:12;710:55;797:6;784:20;823:18;860:2;856;853:10;850:36;;;866:18;;:::i;:::-;941:2;935:9;909:2;995:13;;-1:-1:-1;;991:22:40;;;1015:2;987:31;983:40;971:53;;;1039:18;;;1059:22;;;1036:46;1033:72;;;1085:18;;:::i;:::-;1125:10;1121:2;1114:22;1160:2;1152:6;1145:18;1206:3;1199:4;1194:2;1186:6;1182:15;1178:26;1175:35;1172:55;;;1223:1;1220;1213:12;1172:55;1287:2;1280:4;1272:6;1268:17;1261:4;1253:6;1249:17;1236:54;1334:1;1327:4;1322:2;1314:6;1310:15;1306:26;1299:37;1354:6;1345:15;;;;;;648:718;;;;:::o;1371:173::-;1439:20;;-1:-1:-1;;;;;1488:31:40;;1478:42;;1468:70;;1534:1;1531;1524:12;1468:70;1371:173;;;:::o;1549:1076::-;1689:6;1697;1705;1713;1721;1729;1737;1745;1798:3;1786:9;1777:7;1773:23;1769:33;1766:53;;;1815:1;1812;1805:12;1766:53;1838:23;;;-1:-1:-1;1908:2:40;1893:18;;1880:32;;-1:-1:-1;1962:2:40;1947:18;;1934:32;-1:-1:-1;;1995:43:40;;1985:54;;1975:82;;2053:1;2050;2043:12;1975:82;2076:5;-1:-1:-1;2128:2:40;2113:18;;2100:32;;-1:-1:-1;2183:3:40;2168:19;;2155:33;2207:18;2237:14;;;2234:34;;;2264:1;2261;2254:12;2234:34;2287:49;2328:7;2319:6;2308:9;2304:22;2287:49;:::i;:::-;2277:59;;2383:3;2372:9;2368:19;2355:33;2345:43;;2441:3;2430:9;2426:19;2413:33;2397:49;;2471:2;2461:8;2458:16;2455:36;;;2487:1;2484;2477:12;2455:36;;2510:51;2553:7;2542:8;2531:9;2527:24;2510:51;:::i;:::-;2500:61;;;2580:39;2614:3;2603:9;2599:19;2580:39;:::i;:::-;2570:49;;1549:1076;;;;;;;;;;;:::o;2812:180::-;2871:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:52;;;2940:1;2937;2930:12;2892:52;-1:-1:-1;2963:23:40;;2812:180;-1:-1:-1;2812:180:40:o;3371:127::-;3432:10;3427:3;3423:20;3420:1;3413:31;3463:4;3460:1;3453:15;3487:4;3484:1;3477:15;3503:128;3570:9;;;3591:11;;;3588:37;;;3605:18;;:::i;:::-;3503:128;;;;:::o;3636:127::-;3697:10;3692:3;3688:20;3685:1;3678:31;3728:4;3725:1;3718:15;3752:4;3749:1;3742:15;4130:1142;4436:4;4465:3;4495:6;4484:9;4477:25;4521:2;4559:6;4554:2;4543:9;4539:18;4532:34;4602:6;4597:2;4586:9;4582:18;4575:34;4661:26;4657:31;4649:6;4645:44;4640:2;4629:9;4625:18;4618:72;4727:6;4721:3;4710:9;4706:19;4699:35;4771:2;4765:3;4754:9;4750:19;4743:31;4803:6;4797:13;4846:6;4841:2;4830:9;4826:18;4819:34;4871:1;4862:10;;4881:141;4895:6;4892:1;4889:13;4881:141;;;4991:14;;;4987:23;;4981:30;4956:17;;;4975:3;4952:27;4945:67;4910:10;;;;4881:141;;;5041:3;5031:13;;5093:1;5088:2;5079:6;5068:9;5064:22;5060:31;5053:42;5163:2;5156;5152:7;5147:2;5139:6;5135:15;5131:29;5120:9;5116:45;5112:54;5104:62;;;;;5203:6;5197:3;5186:9;5182:19;5175:35;5219:47;5261:3;5250:9;5246:19;5238:6;-1:-1:-1;;;;;4087:31:40;4075:44;;4021:104;5219:47;4130:1142;;;;;;;;;;;:::o;5277:277::-;5344:6;5397:2;5385:9;5376:7;5372:23;5368:32;5365:52;;;5413:1;5410;5403:12;5365:52;5445:9;5439:16;5498:5;5491:13;5484:21;5477:5;5474:32;5464:60;;5520:1;5517;5510:12;5464:60;5543:5;5277:277;-1:-1:-1;;;5277:277:40:o;5559:135::-;5598:3;5619:17;;;5616:43;;5639:18;;:::i;:::-;-1:-1:-1;5686:1:40;5675:13;;5559:135::o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","isLedgerVerified(bytes32)":"3e16b011","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"37baff0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"MinaProvingSystemIdIsNotValid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewStateIsNotValid\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"pubInputTipStateHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"tipStatehash\",\"type\":\"bytes32\"}],\"name\":\"TipStateIsWrong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BRIDGE_TRANSITION_FRONTIER_LEN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainLedgerHashes\",\"outputs\":[{\"internalType\":\"bytes32[16]\",\"name\":\"\",\"type\":\"bytes32[16]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainStateHashes\",\"outputs\":[{\"internalType\":\"bytes32[16]\",\"name\":\"\",\"type\":\"bytes32[16]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTipLedgerHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTipStateHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"isLedgerVerified\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"batcherPaymentService\",\"type\":\"address\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract for verifying and storing a valid state chain.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"BRIDGE_TRANSITION_FRONTIER_LEN()\":{\"notice\":\"The length of the verified state chain (also called the bridge's transition frontier) to store.\"},\"getChainLedgerHashes()\":{\"notice\":\"Returns the latest verified chain ledger hashes.\"},\"getChainStateHashes()\":{\"notice\":\"Returns the latest verified chain state hashes.\"},\"getTipLedgerHash()\":{\"notice\":\"Returns the last verified ledger hash.\"},\"getTipStateHash()\":{\"notice\":\"Returns the last verified state hash.\"},\"isLedgerVerified(bytes32)\":{\"notice\":\"Returns true if this snarked ledger hash was bridged.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaStateSettlement.sol\":\"MinaStateSettlement\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-upgrades/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\",\":aligned_layer/=lib/aligned_layer/\",\":ds-test/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/\",\":eigenlayer-core-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/\",\":eigenlayer-core/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":eigenlayer-middleware/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/\",\":eigenlayer-scripts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":erc4626-tests/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol\":{\"keccak256\":\"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa\",\"dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol\":{\"keccak256\":\"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983\",\"dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914\",\"dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol\":{\"keccak256\":\"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc\",\"dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol\":{\"keccak256\":\"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8\",\"dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324\",\"dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d\",\"dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71\",\"dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c\",\"dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol\":{\"keccak256\":\"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232\",\"dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol\":{\"keccak256\":\"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef\",\"dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol\":{\"keccak256\":\"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7\",\"dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol\":{\"keccak256\":\"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f\",\"dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol\":{\"keccak256\":\"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f\",\"dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol\":{\"keccak256\":\"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241\",\"dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol\":{\"keccak256\":\"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221\",\"dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol\":{\"keccak256\":\"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e\",\"dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol\":{\"keccak256\":\"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354\",\"dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol\":{\"keccak256\":\"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51\",\"dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol\":{\"keccak256\":\"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d\",\"dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol\":{\"keccak256\":\"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25\",\"dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol\":{\"keccak256\":\"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d\",\"dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol\":{\"keccak256\":\"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f\",\"dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol\":{\"keccak256\":\"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8\",\"dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol\":{\"keccak256\":\"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97\",\"dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol\":{\"keccak256\":\"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae\",\"dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol\":{\"keccak256\":\"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04\",\"dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol\":{\"keccak256\":\"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369\",\"dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7\",\"urls\":[\"bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0\",\"dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d\",\"dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ\"]},\"src/MinaStateSettlement.sol\":{\"keccak256\":\"0xa55240ed5373b608829b5dc9fe18f2ceca4c606088ef8819162697dffde5e18f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://bfd65bd951305fdf7b9b044f1457f4bca09afeb61881bfaf767e151792b6e746\",\"dweb:/ipfs/QmaS32hLDJiE5hCx5b5bcUwGcc7ayYMUndS2HT1mEpMFGz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"type":"error","name":"MinaProvingSystemIdIsNotValid"},{"inputs":[],"type":"error","name":"NewStateIsNotValid"},{"inputs":[{"internalType":"bytes32","name":"pubInputTipStateHash","type":"bytes32"},{"internalType":"bytes32","name":"tipStatehash","type":"bytes32"}],"type":"error","name":"TipStateIsWrong"},{"inputs":[],"stateMutability":"view","type":"function","name":"BRIDGE_TRANSITION_FRONTIER_LEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainLedgerHashes","outputs":[{"internalType":"bytes32[16]","name":"","type":"bytes32[16]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainStateHashes","outputs":[{"internalType":"bytes32[16]","name":"","type":"bytes32[16]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTipLedgerHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTipStateHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isLedgerVerified","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"},{"internalType":"address","name":"batcherPaymentService","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateChain"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"BRIDGE_TRANSITION_FRONTIER_LEN()":{"notice":"The length of the verified state chain (also called the bridge's transition frontier) to store."},"getChainLedgerHashes()":{"notice":"Returns the latest verified chain ledger hashes."},"getChainStateHashes()":{"notice":"Returns the latest verified chain state hashes."},"getTipLedgerHash()":{"notice":"Returns the last verified ledger hash."},"getTipStateHash()":{"notice":"Returns the last verified state hash."},"isLedgerVerified(bytes32)":{"notice":"Returns true if this snarked ledger hash was bridged."}},"version":1}},"settings":{"remappings":["@openzeppelin-upgrades/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","@openzeppelin/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/","aligned_layer/=lib/aligned_layer/","ds-test/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/","eigenlayer-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/","eigenlayer-core-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/","eigenlayer-core/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","eigenlayer-middleware/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/","eigenlayer-scripts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","erc4626-tests/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/MinaStateSettlement.sol":"MinaStateSettlement"},"evmVersion":"paris","libraries":{}},"sources":{"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol":{"keccak256":"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938","urls":["bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa","dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol":{"keccak256":"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00","urls":["bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983","dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9","urls":["bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914","dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol":{"keccak256":"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba","urls":["bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc","dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol":{"keccak256":"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c","urls":["bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8","dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f","urls":["bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324","dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49","urls":["bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d","dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771","urls":["bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71","dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092","urls":["bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c","dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol":{"keccak256":"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79","urls":["bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232","dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol":{"keccak256":"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52","urls":["bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef","dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol":{"keccak256":"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377","urls":["bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7","dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol":{"keccak256":"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d","urls":["bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f","dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol":{"keccak256":"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71","urls":["bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f","dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol":{"keccak256":"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe","urls":["bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241","dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol":{"keccak256":"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4","urls":["bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221","dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol":{"keccak256":"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e","urls":["bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e","dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol":{"keccak256":"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5","urls":["bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354","dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol":{"keccak256":"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0","urls":["bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51","dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol":{"keccak256":"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b","urls":["bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d","dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol":{"keccak256":"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3","urls":["bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25","dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol":{"keccak256":"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385","urls":["bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d","dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol":{"keccak256":"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a","urls":["bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f","dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol":{"keccak256":"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb","urls":["bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8","dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol":{"keccak256":"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4","urls":["bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97","dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol":{"keccak256":"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3","urls":["bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae","dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol":{"keccak256":"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5","urls":["bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04","dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g"],"license":"MIT"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol":{"keccak256":"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f","urls":["bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369","dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7","urls":["bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0","dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473","urls":["bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d","dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ"],"license":"UNLICENSED"},"src/MinaStateSettlement.sol":{"keccak256":"0xa55240ed5373b608829b5dc9fe18f2ceca4c606088ef8819162697dffde5e18f","urls":["bzz-raw://bfd65bd951305fdf7b9b044f1457f4bca09afeb61881bfaf767e151792b6e746","dweb:/ipfs/QmaS32hLDJiE5hCx5b5bcUwGcc7ayYMUndS2HT1mEpMFGz"],"license":"UNLICENSED"}},"version":1},"id":39} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_alignedServiceAddr","type":"address","internalType":"address payable"},{"name":"_tipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"_devnetFlag","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"BRIDGE_TRANSITION_FRONTIER_LEN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getChainLedgerHashes","inputs":[],"outputs":[{"name":"","type":"bytes32[16]","internalType":"bytes32[16]"}],"stateMutability":"view"},{"type":"function","name":"getChainStateHashes","inputs":[],"outputs":[{"name":"","type":"bytes32[16]","internalType":"bytes32[16]"}],"stateMutability":"view"},{"type":"function","name":"getTipLedgerHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTipStateHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"isLedgerVerified","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateChain","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"},{"name":"batcherPaymentService","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"MinaNetworkIsWrong","inputs":[]},{"type":"error","name":"MinaProvingSystemIdIsNotValid","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161087938038061087983398101604081905261002f91610089565b60208054610100600160a81b0319166101006001600160a01b0386160217905581600061005e600160106100dd565b6010811061006e5761006e610104565b01556020805460ff19169115159190911790555061011a9050565b60008060006060848603121561009e57600080fd5b83516001600160a01b03811681146100b557600080fd5b60208501516040860151919450925080151581146100d257600080fd5b809150509250925092565b818103818111156100fe57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b610750806101296000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633886c09b1161005b5780633886c09b146100bd5780633e16b011146100d3578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a057806337baff0f146100a8575b600080fd5b61008a610106565b6040516100979190610422565b60405180910390f35b61008a610142565b6100bb6100b6366004610513565b610178565b005b6100c561036d565b604051908152602001610097565b6100e66100e13660046105d3565b610393565b6040519015158152602001610097565b6100c56103f4565b6100c5601081565b61010e610403565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a610403565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b7fee2a4bc7db81da2b7164e56b3649b1e2a09c58c455b15dabddd9146c7582cebc87146101c05760405163c35f1ecd60e01b8152600481018890526024015b60405180910390fd5b602082810151905460ff161515811515146101ee5760405163042eb0cf60e01b815260040160405180910390fd5b6021830151600061020160016010610602565b601081106102115761021161061b565b0154811461025c5780600061022860016010610602565b601081106102385761023861061b565b015460405163177b002560e31b8152600481019290925260248201526044016101b7565b6000848051906020012090506000602060019054906101000a90046001600160a01b03166001600160a01b03166306045a918d848e8e8e8e8e8d6040518963ffffffff1660e01b81526004016102b9989796959493929190610631565b602060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fa91906106d8565b905080156103465760006010604188016102418901835b601081101561033c578251855581518455600194850194938401936020938401939092019101610311565b505050505061035f565b604051630114602f60e41b815260040160405180910390fd5b505050505050505050505050565b6000601061037c600182610602565b6010811061038c5761038c61061b565b0154905090565b6000805b60108110156103eb57826010826103af600183610602565b6103b99190610602565b601081106103c9576103c961061b565b0154036103d95750600192915050565b806103e381610701565b915050610397565b50600092915050565b60008061037c60016010610602565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b601081101561044b57815183526020928301929091019060010161042c565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261047b57600080fd5b813567ffffffffffffffff8082111561049657610496610454565b604051601f8301601f19908116603f011681019082821181831017156104be576104be610454565b816040528381528660208588010111156104d757600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b038116811461050e57600080fd5b919050565b600080600080600080600080610100898b03121561053057600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461055b57600080fd5b955060608901359450608089013567ffffffffffffffff8082111561057f57600080fd5b61058b8c838d0161046a565b955060a08b0135945060c08b01359150808211156105a857600080fd5b506105b58b828c0161046a565b9250506105c460e08a016104f7565b90509295985092959890939650565b6000602082840312156105e557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610615576106156105ec565b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561069257878301820151858401610120015291810191610673565b6101209250600083828701015282601f19601f83011686010193505050508360c08301526106cb60e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156106ea57600080fd5b815180151581146106fa57600080fd5b9392505050565b600060018201610713576107136105ec565b506001019056fea2646970667358221220721026cfefc723cd66a0d0700e2a90993a4eac4ef8b48a3b2b44c22d46167d2b64736f6c63430008150033","sourceMap":"465:5204:38:-:0;;;1377:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1477:7;:57;;-1:-1:-1;;;;;;1477:57:38;;-1:-1:-1;;;;;1477:57:38;;;;;;1599:13;-1:-1:-1;1561:34:38;-1:-1:-1;850:2:38;1561:34;:::i;:::-;1544:52;;;;;;;:::i;:::-;;:68;1622:10;:24;;-1:-1:-1;;1622:24:38;;;;;;;;;;-1:-1:-1;465:5204:38;;-1:-1:-1;465:5204:38;14:521:39;107:6;115;123;176:2;164:9;155:7;151:23;147:32;144:52;;;192:1;189;182:12;144:52;218:16;;-1:-1:-1;;;;;263:31:39;;253:42;;243:70;;309:1;306;299:12;243:70;377:2;362:18;;356:25;426:2;411:18;;405:25;332:5;;-1:-1:-1;356:25:39;-1:-1:-1;468:15:39;;461:23;449:36;;439:64;;499:1;496;489:12;439:64;522:7;512:17;;;14:521;;;;;:::o;540:225::-;607:9;;;628:11;;;625:134;;;681:10;676:3;672:20;669:1;662:31;716:4;713:1;706:15;744:4;741:1;734:15;625:134;540:225;;;;:::o;770:127::-;831:10;826:3;822:20;819:1;812:31;862:4;859:1;852:15;886:4;883:1;876:15;770:127;465:5204:38;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633886c09b1161005b5780633886c09b146100bd5780633e16b011146100d3578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a057806337baff0f146100a8575b600080fd5b61008a610106565b6040516100979190610422565b60405180910390f35b61008a610142565b6100bb6100b6366004610513565b610178565b005b6100c561036d565b604051908152602001610097565b6100e66100e13660046105d3565b610393565b6040519015158152602001610097565b6100c56103f4565b6100c5601081565b61010e610403565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a610403565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b7fee2a4bc7db81da2b7164e56b3649b1e2a09c58c455b15dabddd9146c7582cebc87146101c05760405163c35f1ecd60e01b8152600481018890526024015b60405180910390fd5b602082810151905460ff161515811515146101ee5760405163042eb0cf60e01b815260040160405180910390fd5b6021830151600061020160016010610602565b601081106102115761021161061b565b0154811461025c5780600061022860016010610602565b601081106102385761023861061b565b015460405163177b002560e31b8152600481019290925260248201526044016101b7565b6000848051906020012090506000602060019054906101000a90046001600160a01b03166001600160a01b03166306045a918d848e8e8e8e8e8d6040518963ffffffff1660e01b81526004016102b9989796959493929190610631565b602060405180830381865afa1580156102d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fa91906106d8565b905080156103465760006010604188016102418901835b601081101561033c578251855581518455600194850194938401936020938401939092019101610311565b505050505061035f565b604051630114602f60e41b815260040160405180910390fd5b505050505050505050505050565b6000601061037c600182610602565b6010811061038c5761038c61061b565b0154905090565b6000805b60108110156103eb57826010826103af600183610602565b6103b99190610602565b601081106103c9576103c961061b565b0154036103d95750600192915050565b806103e381610701565b915050610397565b50600092915050565b60008061037c60016010610602565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b601081101561044b57815183526020928301929091019060010161042c565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261047b57600080fd5b813567ffffffffffffffff8082111561049657610496610454565b604051601f8301601f19908116603f011681019082821181831017156104be576104be610454565b816040528381528660208588010111156104d757600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b038116811461050e57600080fd5b919050565b600080600080600080600080610100898b03121561053057600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461055b57600080fd5b955060608901359450608089013567ffffffffffffffff8082111561057f57600080fd5b61058b8c838d0161046a565b955060a08b0135945060c08b01359150808211156105a857600080fd5b506105b58b828c0161046a565b9250506105c460e08a016104f7565b90509295985092959890939650565b6000602082840312156105e557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610615576106156105ec565b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561069257878301820151858401610120015291810191610673565b6101209250600083828701015282601f19601f83011686010193505050508360c08301526106cb60e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156106ea57600080fd5b815180151581146106fa57600080fd5b9392505050565b600060018201610713576107136105ec565b506001019056fea2646970667358221220721026cfefc723cd66a0d0700e2a90993a4eac4ef8b48a3b2b44c22d46167d2b64736f6c63430008150033","sourceMap":"465:5204:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2116:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2329:144;;;:::i;2874:2793::-;;;;;;:::i;:::-;;:::i;:::-;;1909:137;;;:::i;:::-;;;2776:25:39;;;2764:2;2749:18;1909:137:38;2630:177:39;2549:319:38;;;;;;:::i;:::-;;:::i;:::-;;;3162:14:39;;3155:22;3137:41;;3125:2;3110:18;2549:319:38;2997:187:39;1713:135:38;;;:::i;793:59::-;;850:2;793:59;;2116:142;2170:46;;:::i;:::-;2228:23;;;;;;;;;;;-1:-1:-1;;2228:23:38;;-1:-1:-1;2228:23:38;;;;;;;;;;;;;;;;;;;;;;;;2116:142;:::o;2329:144::-;2384:46;;:::i;:::-;2442:24;;;;;;;;;;2449:17;2442:24;;;;;;2449:17;;2442:24;;;;;;;;;;;;;;;;2329:144;:::o;2874:2793::-;600:66;3222:56;;3218:155;;3301:61;;-1:-1:-1;;;3301:61:38;;;;;2776:25:39;;;2749:18;;3301:61:38;;;;;;;;3218:155;3481:4;3467:19;;;3461:26;3533:10;;;;3511:32;;;;;;3507:90;;3566:20;;-1:-1:-1;;;3566:20:38;;;;;;;;;;;3507:90;3724:4;3710:19;;3704:26;3607:34;3801;3834:1;850:2;3801:34;:::i;:::-;3784:52;;;;;;;:::i;:::-;;;3754:26;:82;3750:217;;3875:26;3903:16;3920:34;3953:1;850:2;3920:34;:::i;:::-;3903:52;;;;;;;:::i;:::-;;;3859:97;;-1:-1:-1;;;3859:97:38;;;;;3942:25:39;;;;3983:18;;;3976:34;3915:18;;3859:97:38;3768:248:39;3750:217:38;3977:26;4016:8;4006:19;;;;;;3977:48;;4036:23;4062:7;;;;;;;;;-1:-1:-1;;;;;4062:7:38;-1:-1:-1;;;;;4062:28:38;;4104:15;4133:18;4165:30;4209:18;4241:15;4270:11;4295:26;4335:21;4062:304;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4036:330;;4381:18;4377:1284;;;4519:21;4577:22;4925:2;4911:17;;5060:57;;;4519:21;5135:444;5160:30;5157:1;5154:37;5135:444;;;5253:18;;5233:39;;5426:19;;5405:41;;5381:1;5364:19;;;;5541:20;;;;5325:2;5308:20;;;;5483:21;;;;5199:9;5135:444;;;5139:14;;;;;4377:1284;;;5630:20;;-1:-1:-1;;;5630:20:38;;;;;;;;;;;4377:1284;3208:2459;;;;2874:2793;;;;;;;;:::o;1909:137::-;1960:7;1986:17;2004:34;2037:1;1986:17;2004:34;:::i;:::-;1986:53;;;;;;;:::i;:::-;;;1979:60;;1909:137;:::o;2549:319::-;2618:4;;2634:206;850:2;2654:1;:34;2634:206;;;2774:10;2713:17;2768:1;2731:34;2764:1;2713:17;2731:34;:::i;:::-;:38;;;;:::i;:::-;2713:57;;;;;;;:::i;:::-;;;:71;2709:121;;-1:-1:-1;2811:4:38;;2549:319;-1:-1:-1;;2549:319:38:o;2709:121::-;2690:3;;;;:::i;:::-;;;;2634:206;;;-1:-1:-1;2856:5:38;;2549:319;-1:-1:-1;;2549:319:38:o;1713:135::-;1763:7;;1806:34;1839:1;850:2;1806:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:39:-;196:3;181:19;;185:9;277:6;154:4;311:194;325:4;322:1;319:11;311:194;;;384:13;;372:26;;421:4;445:12;;;;480:15;;;;345:1;338:9;311:194;;;315:3;;;14:497;;;;:::o;516:127::-;577:10;572:3;568:20;565:1;558:31;608:4;605:1;598:15;632:4;629:1;622:15;648:718;690:5;743:3;736:4;728:6;724:17;720:27;710:55;;761:1;758;751:12;710:55;797:6;784:20;823:18;860:2;856;853:10;850:36;;;866:18;;:::i;:::-;941:2;935:9;909:2;995:13;;-1:-1:-1;;991:22:39;;;1015:2;987:31;983:40;971:53;;;1039:18;;;1059:22;;;1036:46;1033:72;;;1085:18;;:::i;:::-;1125:10;1121:2;1114:22;1160:2;1152:6;1145:18;1206:3;1199:4;1194:2;1186:6;1182:15;1178:26;1175:35;1172:55;;;1223:1;1220;1213:12;1172:55;1287:2;1280:4;1272:6;1268:17;1261:4;1253:6;1249:17;1236:54;1334:1;1327:4;1322:2;1314:6;1310:15;1306:26;1299:37;1354:6;1345:15;;;;;;648:718;;;;:::o;1371:173::-;1439:20;;-1:-1:-1;;;;;1488:31:39;;1478:42;;1468:70;;1534:1;1531;1524:12;1468:70;1371:173;;;:::o;1549:1076::-;1689:6;1697;1705;1713;1721;1729;1737;1745;1798:3;1786:9;1777:7;1773:23;1769:33;1766:53;;;1815:1;1812;1805:12;1766:53;1838:23;;;-1:-1:-1;1908:2:39;1893:18;;1880:32;;-1:-1:-1;1962:2:39;1947:18;;1934:32;-1:-1:-1;;1995:43:39;;1985:54;;1975:82;;2053:1;2050;2043:12;1975:82;2076:5;-1:-1:-1;2128:2:39;2113:18;;2100:32;;-1:-1:-1;2183:3:39;2168:19;;2155:33;2207:18;2237:14;;;2234:34;;;2264:1;2261;2254:12;2234:34;2287:49;2328:7;2319:6;2308:9;2304:22;2287:49;:::i;:::-;2277:59;;2383:3;2372:9;2368:19;2355:33;2345:43;;2441:3;2430:9;2426:19;2413:33;2397:49;;2471:2;2461:8;2458:16;2455:36;;;2487:1;2484;2477:12;2455:36;;2510:51;2553:7;2542:8;2531:9;2527:24;2510:51;:::i;:::-;2500:61;;;2580:39;2614:3;2603:9;2599:19;2580:39;:::i;:::-;2570:49;;1549:1076;;;;;;;;;;;:::o;2812:180::-;2871:6;2924:2;2912:9;2903:7;2899:23;2895:32;2892:52;;;2940:1;2937;2930:12;2892:52;-1:-1:-1;2963:23:39;;2812:180;-1:-1:-1;2812:180:39:o;3371:127::-;3432:10;3427:3;3423:20;3420:1;3413:31;3463:4;3460:1;3453:15;3487:4;3484:1;3477:15;3503:128;3570:9;;;3591:11;;;3588:37;;;3605:18;;:::i;:::-;3503:128;;;;:::o;3636:127::-;3697:10;3692:3;3688:20;3685:1;3678:31;3728:4;3725:1;3718:15;3752:4;3749:1;3742:15;4130:1142;4436:4;4465:3;4495:6;4484:9;4477:25;4521:2;4559:6;4554:2;4543:9;4539:18;4532:34;4602:6;4597:2;4586:9;4582:18;4575:34;4661:26;4657:31;4649:6;4645:44;4640:2;4629:9;4625:18;4618:72;4727:6;4721:3;4710:9;4706:19;4699:35;4771:2;4765:3;4754:9;4750:19;4743:31;4803:6;4797:13;4846:6;4841:2;4830:9;4826:18;4819:34;4871:1;4862:10;;4881:141;4895:6;4892:1;4889:13;4881:141;;;4991:14;;;4987:23;;4981:30;4956:17;;;4975:3;4952:27;4945:67;4910:10;;;;4881:141;;;5041:3;5031:13;;5093:1;5088:2;5079:6;5068:9;5064:22;5060:31;5053:42;5163:2;5156;5152:7;5147:2;5139:6;5135:15;5131:29;5120:9;5116:45;5112:54;5104:62;;;;;5203:6;5197:3;5186:9;5182:19;5175:35;5219:47;5261:3;5250:9;5246:19;5238:6;-1:-1:-1;;;;;4087:31:39;4075:44;;4021:104;5219:47;4130:1142;;;;;;;;;;;:::o;5277:277::-;5344:6;5397:2;5385:9;5376:7;5372:23;5368:32;5365:52;;;5413:1;5410;5403:12;5365:52;5445:9;5439:16;5498:5;5491:13;5484:21;5477:5;5474:32;5464:60;;5520:1;5517;5510:12;5464:60;5543:5;5277:277;-1:-1:-1;;;5277:277:39:o;5559:135::-;5598:3;5619:17;;;5616:43;;5639:18;;:::i;:::-;-1:-1:-1;5686:1:39;5675:13;;5559:135::o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","isLedgerVerified(bytes32)":"3e16b011","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"37baff0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"_devnetFlag\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"MinaNetworkIsWrong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"MinaProvingSystemIdIsNotValid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewStateIsNotValid\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"pubInputTipStateHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"tipStatehash\",\"type\":\"bytes32\"}],\"name\":\"TipStateIsWrong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"BRIDGE_TRANSITION_FRONTIER_LEN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainLedgerHashes\",\"outputs\":[{\"internalType\":\"bytes32[16]\",\"name\":\"\",\"type\":\"bytes32[16]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainStateHashes\",\"outputs\":[{\"internalType\":\"bytes32[16]\",\"name\":\"\",\"type\":\"bytes32[16]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTipLedgerHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTipStateHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"isLedgerVerified\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"batcherPaymentService\",\"type\":\"address\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract for verifying and storing a valid state chain.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"BRIDGE_TRANSITION_FRONTIER_LEN()\":{\"notice\":\"The length of the verified state chain (also called the bridge's transition frontier) to store.\"},\"getChainLedgerHashes()\":{\"notice\":\"Returns the latest verified chain ledger hashes.\"},\"getChainStateHashes()\":{\"notice\":\"Returns the latest verified chain state hashes.\"},\"getTipLedgerHash()\":{\"notice\":\"Returns the last verified ledger hash.\"},\"getTipStateHash()\":{\"notice\":\"Returns the last verified state hash.\"},\"isLedgerVerified(bytes32)\":{\"notice\":\"Returns true if this snarked ledger hash was bridged.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaStateSettlement.sol\":\"MinaStateSettlement\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-upgrades/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\",\":aligned_layer/=lib/aligned_layer/\",\":ds-test/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/\",\":eigenlayer-core-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/\",\":eigenlayer-core/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":eigenlayer-middleware/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/\",\":eigenlayer-scripts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":erc4626-tests/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol\":{\"keccak256\":\"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa\",\"dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol\":{\"keccak256\":\"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983\",\"dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914\",\"dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol\":{\"keccak256\":\"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc\",\"dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol\":{\"keccak256\":\"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8\",\"dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324\",\"dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d\",\"dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71\",\"dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c\",\"dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol\":{\"keccak256\":\"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232\",\"dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol\":{\"keccak256\":\"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef\",\"dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol\":{\"keccak256\":\"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7\",\"dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol\":{\"keccak256\":\"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f\",\"dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol\":{\"keccak256\":\"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f\",\"dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol\":{\"keccak256\":\"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241\",\"dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol\":{\"keccak256\":\"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221\",\"dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol\":{\"keccak256\":\"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e\",\"dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol\":{\"keccak256\":\"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354\",\"dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol\":{\"keccak256\":\"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51\",\"dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol\":{\"keccak256\":\"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d\",\"dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol\":{\"keccak256\":\"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25\",\"dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol\":{\"keccak256\":\"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d\",\"dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol\":{\"keccak256\":\"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f\",\"dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol\":{\"keccak256\":\"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8\",\"dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol\":{\"keccak256\":\"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97\",\"dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol\":{\"keccak256\":\"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae\",\"dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki\"]},\"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol\":{\"keccak256\":\"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04\",\"dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol\":{\"keccak256\":\"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369\",\"dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7\",\"urls\":[\"bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0\",\"dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d\",\"dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ\"]},\"src/MinaStateSettlement.sol\":{\"keccak256\":\"0x8adc9f8c4128e93d47ce5bb002a60cb355dbe647db4b9433563f49d0d8feee05\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://fb9bef60086f432b69365430543897bac14f654cb5af5b6d359f26981f41f52d\",\"dweb:/ipfs/QmTtb2mPJPxXFbTtTxZ2ELrqPVhS85XYmnexv8aNBP3sBx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"},{"internalType":"bool","name":"_devnetFlag","type":"bool"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"MinaNetworkIsWrong"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"type":"error","name":"MinaProvingSystemIdIsNotValid"},{"inputs":[],"type":"error","name":"NewStateIsNotValid"},{"inputs":[{"internalType":"bytes32","name":"pubInputTipStateHash","type":"bytes32"},{"internalType":"bytes32","name":"tipStatehash","type":"bytes32"}],"type":"error","name":"TipStateIsWrong"},{"inputs":[],"stateMutability":"view","type":"function","name":"BRIDGE_TRANSITION_FRONTIER_LEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainLedgerHashes","outputs":[{"internalType":"bytes32[16]","name":"","type":"bytes32[16]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getChainStateHashes","outputs":[{"internalType":"bytes32[16]","name":"","type":"bytes32[16]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTipLedgerHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTipStateHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isLedgerVerified","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"},{"internalType":"address","name":"batcherPaymentService","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"updateChain"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"BRIDGE_TRANSITION_FRONTIER_LEN()":{"notice":"The length of the verified state chain (also called the bridge's transition frontier) to store."},"getChainLedgerHashes()":{"notice":"Returns the latest verified chain ledger hashes."},"getChainStateHashes()":{"notice":"Returns the latest verified chain state hashes."},"getTipLedgerHash()":{"notice":"Returns the last verified ledger hash."},"getTipStateHash()":{"notice":"Returns the last verified state hash."},"isLedgerVerified(bytes32)":{"notice":"Returns true if this snarked ledger hash was bridged."}},"version":1}},"settings":{"remappings":["@openzeppelin-upgrades/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","@openzeppelin/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/","aligned_layer/=lib/aligned_layer/","ds-test/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/","eigenlayer-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/","eigenlayer-core-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/","eigenlayer-core/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","eigenlayer-middleware/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/","eigenlayer-scripts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","erc4626-tests/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/MinaStateSettlement.sol":"MinaStateSettlement"},"evmVersion":"paris","libraries":{}},"sources":{"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol":{"keccak256":"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938","urls":["bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa","dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol":{"keccak256":"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00","urls":["bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983","dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9","urls":["bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914","dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol":{"keccak256":"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba","urls":["bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc","dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol":{"keccak256":"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c","urls":["bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8","dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f","urls":["bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324","dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49","urls":["bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d","dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771","urls":["bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71","dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092","urls":["bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c","dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol":{"keccak256":"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79","urls":["bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232","dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol":{"keccak256":"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52","urls":["bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef","dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol":{"keccak256":"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377","urls":["bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7","dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol":{"keccak256":"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d","urls":["bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f","dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol":{"keccak256":"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71","urls":["bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f","dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol":{"keccak256":"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe","urls":["bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241","dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol":{"keccak256":"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4","urls":["bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221","dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol":{"keccak256":"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e","urls":["bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e","dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol":{"keccak256":"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5","urls":["bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354","dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol":{"keccak256":"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0","urls":["bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51","dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol":{"keccak256":"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b","urls":["bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d","dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol":{"keccak256":"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3","urls":["bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25","dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol":{"keccak256":"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385","urls":["bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d","dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol":{"keccak256":"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a","urls":["bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f","dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol":{"keccak256":"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb","urls":["bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8","dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol":{"keccak256":"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4","urls":["bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97","dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B"],"license":"BUSL-1.1"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol":{"keccak256":"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3","urls":["bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae","dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki"],"license":"MIT"},"lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol":{"keccak256":"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5","urls":["bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04","dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g"],"license":"MIT"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol":{"keccak256":"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f","urls":["bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369","dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7","urls":["bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0","dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473","urls":["bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d","dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ"],"license":"UNLICENSED"},"src/MinaStateSettlement.sol":{"keccak256":"0x8adc9f8c4128e93d47ce5bb002a60cb355dbe647db4b9433563f49d0d8feee05","urls":["bzz-raw://fb9bef60086f432b69365430543897bac14f654cb5af5b6d359f26981f41f52d","dweb:/ipfs/QmTtb2mPJPxXFbTtTxZ2ELrqPVhS85XYmnexv8aNBP3sBx"],"license":"UNLICENSED"}},"version":1},"id":38} \ No newline at end of file diff --git a/core/src/eth.rs b/core/src/eth.rs index e6d47ede..5c1984b1 100644 --- a/core/src/eth.rs +++ b/core/src/eth.rs @@ -15,10 +15,7 @@ use serde_with::serde_as; use crate::{ proof::{account_proof::MinaAccountPubInputs, state_proof::MinaStatePubInputs}, sol::serialization::SolSerialize, - utils::{ - constants::{ANVIL_CHAIN_ID, BRIDGE_TRANSITION_FRONTIER_LEN, HOLESKY_CHAIN_ID}, - contract::{get_account_validation_contract_addr, get_bridge_contract_addr}, - }, + utils::constants::{ANVIL_CHAIN_ID, BRIDGE_TRANSITION_FRONTIER_LEN, HOLESKY_CHAIN_ID}, }; abigen!( @@ -97,10 +94,10 @@ pub async fn update_chain( chain: &Chain, eth_rpc_url: &str, wallet: Wallet, + contract_addr: &str, batcher_payment_service: &str, ) -> Result<(), String> { - let bridge_eth_addr = - Address::from_str(&get_bridge_contract_addr(chain)?).map_err(|err| err.to_string())?; + let bridge_eth_addr = Address::from_str(contract_addr).map_err(|err| err.to_string())?; let serialized_pub_input = bincode::serialize(pub_input) .map_err(|err| format!("Failed to serialize public inputs: {err}"))?; @@ -173,7 +170,7 @@ pub async fn update_chain( // TODO(xqft): do the same for ledger hashes debug!("Getting chain state hashes"); - let new_chain_state_hashes = get_bridge_chain_state_hashes(chain, eth_rpc_url) + let new_chain_state_hashes = get_bridge_chain_state_hashes(contract_addr, eth_rpc_url) .await .map_err(|err| err.to_string())?; @@ -190,9 +187,11 @@ pub async fn update_chain( Ok(()) } -pub async fn get_bridge_tip_hash(chain: &Chain, eth_rpc_url: &str) -> Result { - let bridge_eth_addr = - Address::from_str(&get_bridge_contract_addr(chain)?).map_err(|err| err.to_string())?; +pub async fn get_bridge_tip_hash( + contract_addr: &str, + eth_rpc_url: &str, +) -> Result { + let bridge_eth_addr = Address::from_str(contract_addr).map_err(|err| err.to_string())?; debug!("Creating contract instance"); let mina_bridge_contract = mina_bridge_contract_call_only(eth_rpc_url, bridge_eth_addr)?; @@ -210,11 +209,10 @@ pub async fn get_bridge_tip_hash(chain: &Chain, eth_rpc_url: &str) -> Result Result<[StateHash; BRIDGE_TRANSITION_FRONTIER_LEN], String> { - let bridge_eth_addr = - Address::from_str(&get_bridge_contract_addr(chain)?).map_err(|err| err.to_string())?; + let bridge_eth_addr = Address::from_str(contract_addr).map_err(|err| err.to_string())?; debug!("Creating contract instance"); let mina_bridge_contract = mina_bridge_contract_call_only(eth_rpc_url, bridge_eth_addr)?; @@ -243,12 +241,11 @@ pub async fn get_bridge_chain_state_hashes( pub async fn validate_account( verification_data: AlignedVerificationData, pub_input: &MinaAccountPubInputs, - chain: &Chain, eth_rpc_url: &str, + contract_addr: &str, batcher_payment_service: &str, ) -> Result<(), String> { - let bridge_eth_addr = Address::from_str(&get_account_validation_contract_addr(chain)?) - .map_err(|err| err.to_string())?; + let bridge_eth_addr = Address::from_str(contract_addr).map_err(|err| err.to_string())?; debug!("Creating contract instance"); @@ -308,8 +305,9 @@ pub async fn validate_account( pub async fn deploy_mina_bridge_contract( eth_rpc_url: &str, - constructor_args: MinaStateSettlementConstructorArgs, + constructor_args: &MinaStateSettlementConstructorArgs, wallet: &EthereumWallet, + is_state_proof_from_devnet: bool, ) -> Result { let provider = ProviderBuilder::new() .with_recommended_fillers() @@ -320,14 +318,29 @@ pub async fn deploy_mina_bridge_contract( aligned_service_addr, root_state_hash, } = constructor_args; - let contract = MinaStateSettlement::deploy(&provider, aligned_service_addr, root_state_hash) - .await - .map_err(|err| err.to_string())?; + let contract = MinaStateSettlement::deploy( + &provider, + *aligned_service_addr, + *root_state_hash, + is_state_proof_from_devnet, + ) + .await + .map_err(|err| err.to_string())?; let address = contract.address(); + let network = if is_state_proof_from_devnet { + "Devnet" + } else { + "Mainnet" + }; + info!( - "Mina Bridge contract successfuly deployed with address {}", - address + "Mina {} Bridge contract successfuly deployed with address {}", + network, address + ); + info!( + "Set STATE_SETTLEMENT_ETH_ADDR={} if using Mina {}", + address, network ); Ok(*address) @@ -355,6 +368,7 @@ pub async fn deploy_mina_account_validation_contract( "Mina Account Validation contract successfuly deployed with address {}", address ); + info!("Set ACCOUNT_VALIDATION_ETH_ADDR={}", address); Ok(*address) } diff --git a/core/src/main.rs b/core/src/main.rs index 1522a909..0384ad0b 100644 --- a/core/src/main.rs +++ b/core/src/main.rs @@ -17,6 +17,8 @@ struct Cli { #[derive(Subcommand)] enum Command { SubmitState { + #[arg(short, long)] + devnet: bool, /// Write the proof into .proof and .pub files #[arg(short, long)] save_proof: bool, @@ -41,6 +43,8 @@ async fn main() { let EnvironmentVariables { rpc_url, chain, + state_settlement_addr, + account_validation_addr, batcher_addr, batcher_eth_addr, eth_rpc_url, @@ -52,6 +56,15 @@ async fn main() { process::exit(1); }); + let state_settlement_addr = state_settlement_addr.unwrap_or_else(|| { + error!("Error getting State settlement contract address"); + process::exit(1); + }); + let account_validation_addr = account_validation_addr.unwrap_or_else(|| { + error!("Error getting Account validation contract address"); + process::exit(1); + }); + let wallet = get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) .unwrap_or_else(|err| { error!("{}", err); @@ -59,13 +72,18 @@ async fn main() { }); match cli.command { - Command::SubmitState { save_proof } => { - let (proof, pub_input) = mina::get_mina_proof_of_state(&rpc_url, &chain, ð_rpc_url) - .await - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); + Command::SubmitState { devnet, save_proof } => { + let (proof, pub_input) = mina::get_mina_proof_of_state( + &rpc_url, + ð_rpc_url, + &state_settlement_addr, + devnet, + ) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); let verification_data = aligned::submit( MinaProof::State((proof, pub_input.clone())), @@ -89,6 +107,7 @@ async fn main() { &chain, ð_rpc_url, wallet, + &state_settlement_addr, &batcher_eth_addr, ) .await @@ -129,8 +148,8 @@ async fn main() { if let Err(err) = eth::validate_account( verification_data, &pub_input, - &chain, ð_rpc_url, + &account_validation_addr, &batcher_eth_addr, ) .await diff --git a/core/src/mina.rs b/core/src/mina.rs index 2ee437af..ab2c1e2e 100644 --- a/core/src/mina.rs +++ b/core/src/mina.rs @@ -1,6 +1,5 @@ use std::str::FromStr; -use aligned_sdk::core::types::Chain; use alloy_sol_types::SolValue; use base64::prelude::*; use futures::future::join_all; @@ -59,10 +58,11 @@ struct AccountQuery; pub async fn get_mina_proof_of_state( rpc_url: &str, - chain: &Chain, eth_rpc_url: &str, + contract_addr: &str, + is_state_proof_from_devnet: bool, ) -> Result<(MinaStateProof, MinaStatePubInputs), String> { - let bridge_tip_state_hash = get_bridge_tip_hash(chain, eth_rpc_url).await?.0; + let bridge_tip_state_hash = get_bridge_tip_hash(contract_addr, eth_rpc_url).await?.0; let ( candidate_chain_states, candidate_chain_state_hashes, @@ -85,6 +85,7 @@ pub async fn get_mina_proof_of_state( bridge_tip_state, }, MinaStatePubInputs { + is_state_proof_from_devnet, bridge_tip_state_hash, candidate_chain_state_hashes, candidate_chain_ledger_hashes, diff --git a/core/src/proof/state_proof.rs b/core/src/proof/state_proof.rs index 2f49970c..862cae78 100644 --- a/core/src/proof/state_proof.rs +++ b/core/src/proof/state_proof.rs @@ -9,6 +9,7 @@ use crate::{sol::serialization::SolSerialize, utils::constants::BRIDGE_TRANSITIO #[serde_as] #[derive(Serialize, Deserialize, Clone)] pub struct MinaStatePubInputs { + pub is_state_proof_from_devnet: bool, /// The hash of the bridge's transition frontier tip state. Used for making sure that we're /// checking if a candidate tip is better than the latest bridged tip. #[serde_as(as = "SolSerialize")] diff --git a/core/src/sdk.rs b/core/src/sdk.rs index 2e14e323..f1701d10 100644 --- a/core/src/sdk.rs +++ b/core/src/sdk.rs @@ -25,20 +25,21 @@ pub struct AccountVerificationData { pub async fn is_state_verified( hash: &str, - chain: &Chain, + state_settlement_addr: &str, eth_rpc_url: &str, ) -> Result { - let chain_state_hashes = get_bridge_chain_state_hashes(chain, eth_rpc_url).await?; + let chain_state_hashes = + get_bridge_chain_state_hashes(state_settlement_addr, eth_rpc_url).await?; let hash = StateHash::from_str(hash) .map_err(|err| format!("Failed to convert hash string to state hash: {err}"))?; Ok(chain_state_hashes.contains(&hash)) } pub async fn get_bridged_chain_tip_state_hash( - chain: &Chain, + state_settlement_addr: &str, eth_rpc_url: &str, ) -> Result { - get_bridge_chain_state_hashes(chain, eth_rpc_url) + get_bridge_chain_state_hashes(state_settlement_addr, eth_rpc_url) .await .map(|hashes| hashes.last().unwrap().to_string()) } @@ -47,19 +48,28 @@ pub async fn get_bridged_chain_tip_state_hash( pub async fn update_bridge_chain( rpc_url: &str, chain: &Chain, + state_settlement_addr: &str, batcher_addr: &str, batcher_eth_addr: &str, eth_rpc_url: &str, proof_generator_addr: &str, wallet: Wallet, batcher_payment_service: &str, + is_state_proof_from_devnet: bool, save_proof: bool, ) -> Result<(), String> { - let (proof, pub_input) = get_mina_proof_of_state(rpc_url, chain, eth_rpc_url).await?; + let (proof, pub_input) = get_mina_proof_of_state( + rpc_url, + eth_rpc_url, + state_settlement_addr, + is_state_proof_from_devnet, + ) + .await?; - let candidate_root_state_hash = pub_input.candidate_chain_state_hashes.first().unwrap(); - if is_state_verified(&candidate_root_state_hash.to_string(), chain, eth_rpc_url).await? { - debug!("Candidate root {candidate_root_state_hash} is verified, so the bridge chain is updated"); + if pub_input.candidate_chain_state_hashes + == get_bridge_chain_state_hashes(state_settlement_addr, eth_rpc_url).await? + { + debug!("The bridge chain is updated to the candidate chain"); return Err("Latest chain is already verified".to_string()); } @@ -81,6 +91,7 @@ pub async fn update_bridge_chain( chain, eth_rpc_url, wallet, + state_settlement_addr, batcher_payment_service, ) .await?; @@ -94,6 +105,7 @@ pub async fn validate_account( state_hash: &str, rpc_url: &str, chain: &Chain, + account_validation_addr: &str, batcher_addr: &str, batcher_eth_addr: &str, eth_rpc_url: &str, @@ -119,8 +131,8 @@ pub async fn validate_account( eth::validate_account( verification_data.clone(), &pub_input, - chain, eth_rpc_url, + account_validation_addr, batcher_payment_service, ) .await?; diff --git a/core/src/utils/contract.rs b/core/src/utils/contract.rs deleted file mode 100644 index d555d217..00000000 --- a/core/src/utils/contract.rs +++ /dev/null @@ -1,32 +0,0 @@ -use aligned_sdk::core::types::Chain; - -use super::constants::{ - ALIGNED_SM_DEVNET_ETH_ADDR, BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_DEVNET_ETH_ADDR, -}; - -pub fn get_bridge_contract_addr(chain: &Chain) -> Result { - match chain { - Chain::Devnet => Ok(BRIDGE_DEVNET_ETH_ADDR.to_owned()), - Chain::Holesky => std::env::var("BRIDGE_HOLESKY_ETH_ADDR") - .map_err(|err| format!("Error getting Bridge contract address: {err}")), - _ => Err("Unimplemented Ethereum contract on selected chain".to_owned()), - } -} - -pub fn get_account_validation_contract_addr(chain: &Chain) -> Result { - match chain { - Chain::Devnet => Ok(BRIDGE_ACCOUNT_DEVNET_ETH_ADDR.to_owned()), - Chain::Holesky => std::env::var("BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR") - .map_err(|err| format!("Error getting Account validation contract address: {err}")), - _ => Err("Unimplemented Ethereum contract on selected chain".to_owned()), - } -} - -pub fn get_aligned_sm_contract_addr(chain: &Chain) -> Result { - match chain { - Chain::Devnet => Ok(ALIGNED_SM_DEVNET_ETH_ADDR.to_owned()), - Chain::Holesky => std::env::var("ALIGNED_SM_HOLESKY_ETH_ADDR") - .map_err(|err| format!("Error getting Aligned SM contract address: {err}")), - _ => Err("Unimplemented Ethereum contract on selected chain".to_owned()), - } -} diff --git a/core/src/utils/env.rs b/core/src/utils/env.rs index 40ca72e4..4eac5fa7 100644 --- a/core/src/utils/env.rs +++ b/core/src/utils/env.rs @@ -10,6 +10,8 @@ use super::constants::{ pub struct EnvironmentVariables { pub rpc_url: String, pub chain: Chain, + pub state_settlement_addr: Option, + pub account_validation_addr: Option, pub batcher_addr: String, pub batcher_eth_addr: String, pub eth_rpc_url: String, @@ -57,6 +59,9 @@ impl EnvironmentVariables { ), }; + let state_settlement_addr = std::env::var("STATE_SETTLEMENT_ETH_ADDR").ok(); + let account_validation_addr = std::env::var("ACCOUNT_VALIDATION_ETH_ADDR").ok(); + let batcher_addr = load_var_or("BATCHER_ADDR", ANVIL_BATCHER_ADDR, &chain)?; let batcher_eth_addr = load_var_or("BATCHER_ETH_ADDR", ANVIL_BATCHER_ETH_ADDR, &chain)?; let eth_rpc_url = load_var_or("ETH_RPC_URL", ANVIL_ETH_RPC_URL, &chain)?; @@ -76,6 +81,8 @@ impl EnvironmentVariables { Ok(EnvironmentVariables { rpc_url, chain, + state_settlement_addr, + account_validation_addr, batcher_addr, batcher_eth_addr, eth_rpc_url, diff --git a/core/src/utils/mod.rs b/core/src/utils/mod.rs index 698644a5..6e24fa03 100644 --- a/core/src/utils/mod.rs +++ b/core/src/utils/mod.rs @@ -1,5 +1,4 @@ pub mod constants; -pub mod contract; pub mod env; pub mod wallet; pub mod wallet_alloy; diff --git a/example/app/Cargo.lock b/example/app/Cargo.lock index 11c8ed1a..73254ac7 100644 --- a/example/app/Cargo.lock +++ b/example/app/Cargo.lock @@ -73,7 +73,7 @@ dependencies = [ [[package]] name = "aligned-sdk" version = "0.1.0" -source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#9bac7bc5a683ea1f68db9a928bed9a87e5f7b97f" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=use_two_vks#56ac3a2e0a2d8accbc5466d6491ca082b45723cc" dependencies = [ "ciborium", "ethers", diff --git a/example/app/Cargo.toml b/example/app/Cargo.toml index d216b6cc..a41f681d 100644 --- a/example/app/Cargo.toml +++ b/example/app/Cargo.toml @@ -13,7 +13,7 @@ alloy = { version = "0.3.1", features = ["full", "signer-keystore"] } alloy-sol-types = "0.8.2" alloy-contract = "0.3.1" reqwest = "^0.11" -aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "use_two_vks" } [patch.crates-io] ark-ff = { git = "https://github.com/openmina/algebra", branch = "openmina" } diff --git a/example/app/abi/SudokuValidity.json b/example/app/abi/SudokuValidity.json index 2a3d2811..a1017ddb 100644 --- a/example/app/abi/SudokuValidity.json +++ b/example/app/abi/SudokuValidity.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"},{"name":"batcherPaymentService","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610e75380380610e7583398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610db2806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630edb271214610046578063319453e81461005b578063c681e9a314610094575b600080fd5b61005961005436600461049e565b61009c565b005b6100827f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b600254610082565b60006100ab6020828587610563565b6100b49161058d565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906105bd565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101fd908490600401610627565b602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906105bd565b61025b5760405163f281a18360e01b815260040160405180910390fd5b36600061026b866028818a610563565b9092509050600061027e83830184610c5c565b61014081015151602001519091501561029a57426002556102b3565b6040516351bc860760e11b815260040160405180910390fd5b5050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102fb576102fb6102c3565b60405290565b6040516101c081016001600160401b03811182821017156102fb576102fb6102c3565b604051606081016001600160401b03811182821017156102fb576102fb6102c3565b60405161010081016001600160401b03811182821017156102fb576102fb6102c3565b60405160e081016001600160401b03811182821017156102fb576102fb6102c3565b60405161016081016001600160401b03811182821017156102fb576102fb6102c3565b600082601f8301126103bf57600080fd5b81356001600160401b03808211156103d9576103d96102c3565b604051601f8301601f19908116603f01168101908282118183101715610401576104016102c3565b8160405283815286602085880101111561041a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261044c57600080fd5b5081356001600160401b0381111561046357600080fd5b60208301915083602082850101111561047b57600080fd5b9250929050565b80356001600160a01b038116811461049957600080fd5b919050565b60008060008060008060008060006101008a8c0312156104bd57600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff19811681146104e857600080fd5b965060608a0135955060808a01356001600160401b038082111561050b57600080fd5b6105178d838e016103ae565b965060a08c0135955060c08c013591508082111561053457600080fd5b506105418c828d0161043a565b9094509250610554905060e08b01610482565b90509295985092959850929598565b6000808585111561057357600080fd5b8386111561058057600080fd5b5050820193919092039150565b803560208310156105a657600019602084900360031b1b165b92915050565b80151581146105ba57600080fd5b50565b6000602082840312156105cf57600080fd5b81516105da816105ac565b9392505050565b6000815180845260005b81811015610607576020818501810151868301820152016105eb565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a085015261067d6101208501836105e1565b915060a085015160c085015260c0850151601f198584030160e08601526106a483826105e1565b92505060e08501516106c0828601826001600160a01b03169052565b5090949350505050565b8035610499816105ac565b6000604082840312156106e757600080fd5b6106ef6102d9565b9050813581526020820135610703816105ac565b602082015292915050565b80356001600160401b038116811461049957600080fd5b803563ffffffff8116811461049957600080fd5b600060a0828403121561074b57600080fd5b60405160a081018181106001600160401b038211171561076d5761076d6102c3565b60405290508061077c8361070e565b815261078a60208401610725565b602082015261079b6040840161070e565b60408201526107ac60608401610725565b60608201526107bd6080840161070e565b60808201525092915050565b80356005811061049957600080fd5b60006101c082840312156107eb57600080fd5b6107f3610301565b90506107fe826107c9565b815261080c602083016107c9565b602082015261081d604083016107c9565b604082015261082e606083016107c9565b606082015261083f608083016107c9565b608082015261085060a083016107c9565b60a082015261086160c083016107c9565b60c082015261087260e08301610725565b60e08201526101006108858184016107c9565b908201526101206108978382016107c9565b908201526101406108a98382016107c9565b908201526101606108bb8382016107c9565b908201526101806108cd8382016107c9565b908201526101a06108df8382016107c9565b9082015292915050565b600082601f8301126108fa57600080fd5b610902610346565b8061010084018581111561091557600080fd5b845b8181101561092f578035845260209384019301610917565b509095945050505050565b80356003811061049957600080fd5b60006040828403121561095b57600080fd5b6109636102d9565b9050813581526020820135602082015292915050565b600082601f83011261098a57600080fd5b610992610369565b806101c08401858111156109a557600080fd5b845b8181101561092f576109b98782610949565b84526020909301926040016109a7565b600082601f8301126109da57600080fd5b604080516101e081018181106001600160401b03821117156109fe576109fe6102c3565b8252806103c0850186811115610a1357600080fd5b855b81811015610a3657610a278882610949565b83526020909201918401610a15565b50919695505050505050565b6000818303610740811215610a5657600080fd5b610a5e610324565b9150610a698361093a565b8252610a776020840161093a565b602083015261070080603f1983011215610a9057600080fd5b610a98610346565b9150610aa78560408601610979565b8252610ab78561020086016109c9565b6020830152610aca856105c08601610949565b6040830152610add856106008601610949565b6060830152610af0856106408601610949565b6080830152610b03856106808601610949565b60a0830152610b16856106c08601610949565b60c0830152610b2785828601610949565b60e083015250604082015292915050565b600082601f830112610b4957600080fd5b60405160a081018181106001600160401b0382111715610b6b57610b6b6102c3565b6040528060a0840185811115610b8057600080fd5b845b81811015610b9a578035835260209283019201610b82565b509195945050505050565b60006109608284031215610bb857600080fd5b610bc0610369565b9050610bcc83836108e9565b8152610bdc836101008401610a42565b6020820152610bee6108408301610725565b6040820152610c01836108608401610b38565b6060820152610c136109008301610725565b6080820152610c2561092083016106ca565b60a08201526109408201356001600160401b03811115610c4457600080fd5b610c50848285016103ae565b60c08301525092915050565b600060208284031215610c6e57600080fd5b81356001600160401b0380821115610c8557600080fd5b908301906103c08286031215610c9a57600080fd5b610ca261038b565b610cac86846106d5565b815260408301356020820152606083013582811115610cca57600080fd5b610cd6878286016103ae565b604083015250610ce86080840161070e565b6060820152610cf960a08401610725565b608082015260c083013560a0820152610d158660e085016106d5565b60c08201526101208084013560e0830152610140610d3588828701610739565b610100840152610d49886101e087016107d8565b828401526103a0850135915083821115610d6257600080fd5b610d6e88838701610ba5565b90830152509594505050505056fea2646970667358221220823a7af578e2e8f3190cf0818370302bcc4cdb3b52ac9f8d08a657c947835d0a64736f6c63430008150033","sourceMap":"186:2909:40:-:0;;;978:1;941:38;;986:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1070:15;:59;;-1:-1:-1;;;;;1070:59:40;;;-1:-1:-1;;;;;;1070:59:40;;;;;;;;1139:65;;;;;;;;;;;186:2909;;14:177:41;93:13;;-1:-1:-1;;;;;135:31:41;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;186:2909:40;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630edb271214610046578063319453e81461005b578063c681e9a314610094575b600080fd5b61005961005436600461049e565b61009c565b005b6100827f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b600254610082565b60006100ab6020828587610563565b6100b49161058d565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906105bd565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101fd908490600401610627565b602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906105bd565b61025b5760405163f281a18360e01b815260040160405180910390fd5b36600061026b866028818a610563565b9092509050600061027e83830184610c5c565b61014081015151602001519091501561029a57426002556102b3565b6040516351bc860760e11b815260040160405180910390fd5b5050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102fb576102fb6102c3565b60405290565b6040516101c081016001600160401b03811182821017156102fb576102fb6102c3565b604051606081016001600160401b03811182821017156102fb576102fb6102c3565b60405161010081016001600160401b03811182821017156102fb576102fb6102c3565b60405160e081016001600160401b03811182821017156102fb576102fb6102c3565b60405161016081016001600160401b03811182821017156102fb576102fb6102c3565b600082601f8301126103bf57600080fd5b81356001600160401b03808211156103d9576103d96102c3565b604051601f8301601f19908116603f01168101908282118183101715610401576104016102c3565b8160405283815286602085880101111561041a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261044c57600080fd5b5081356001600160401b0381111561046357600080fd5b60208301915083602082850101111561047b57600080fd5b9250929050565b80356001600160a01b038116811461049957600080fd5b919050565b60008060008060008060008060006101008a8c0312156104bd57600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff19811681146104e857600080fd5b965060608a0135955060808a01356001600160401b038082111561050b57600080fd5b6105178d838e016103ae565b965060a08c0135955060c08c013591508082111561053457600080fd5b506105418c828d0161043a565b9094509250610554905060e08b01610482565b90509295985092959850929598565b6000808585111561057357600080fd5b8386111561058057600080fd5b5050820193919092039150565b803560208310156105a657600019602084900360031b1b165b92915050565b80151581146105ba57600080fd5b50565b6000602082840312156105cf57600080fd5b81516105da816105ac565b9392505050565b6000815180845260005b81811015610607576020818501810151868301820152016105eb565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a085015261067d6101208501836105e1565b915060a085015160c085015260c0850151601f198584030160e08601526106a483826105e1565b92505060e08501516106c0828601826001600160a01b03169052565b5090949350505050565b8035610499816105ac565b6000604082840312156106e757600080fd5b6106ef6102d9565b9050813581526020820135610703816105ac565b602082015292915050565b80356001600160401b038116811461049957600080fd5b803563ffffffff8116811461049957600080fd5b600060a0828403121561074b57600080fd5b60405160a081018181106001600160401b038211171561076d5761076d6102c3565b60405290508061077c8361070e565b815261078a60208401610725565b602082015261079b6040840161070e565b60408201526107ac60608401610725565b60608201526107bd6080840161070e565b60808201525092915050565b80356005811061049957600080fd5b60006101c082840312156107eb57600080fd5b6107f3610301565b90506107fe826107c9565b815261080c602083016107c9565b602082015261081d604083016107c9565b604082015261082e606083016107c9565b606082015261083f608083016107c9565b608082015261085060a083016107c9565b60a082015261086160c083016107c9565b60c082015261087260e08301610725565b60e08201526101006108858184016107c9565b908201526101206108978382016107c9565b908201526101406108a98382016107c9565b908201526101606108bb8382016107c9565b908201526101806108cd8382016107c9565b908201526101a06108df8382016107c9565b9082015292915050565b600082601f8301126108fa57600080fd5b610902610346565b8061010084018581111561091557600080fd5b845b8181101561092f578035845260209384019301610917565b509095945050505050565b80356003811061049957600080fd5b60006040828403121561095b57600080fd5b6109636102d9565b9050813581526020820135602082015292915050565b600082601f83011261098a57600080fd5b610992610369565b806101c08401858111156109a557600080fd5b845b8181101561092f576109b98782610949565b84526020909301926040016109a7565b600082601f8301126109da57600080fd5b604080516101e081018181106001600160401b03821117156109fe576109fe6102c3565b8252806103c0850186811115610a1357600080fd5b855b81811015610a3657610a278882610949565b83526020909201918401610a15565b50919695505050505050565b6000818303610740811215610a5657600080fd5b610a5e610324565b9150610a698361093a565b8252610a776020840161093a565b602083015261070080603f1983011215610a9057600080fd5b610a98610346565b9150610aa78560408601610979565b8252610ab78561020086016109c9565b6020830152610aca856105c08601610949565b6040830152610add856106008601610949565b6060830152610af0856106408601610949565b6080830152610b03856106808601610949565b60a0830152610b16856106c08601610949565b60c0830152610b2785828601610949565b60e083015250604082015292915050565b600082601f830112610b4957600080fd5b60405160a081018181106001600160401b0382111715610b6b57610b6b6102c3565b6040528060a0840185811115610b8057600080fd5b845b81811015610b9a578035835260209283019201610b82565b509195945050505050565b60006109608284031215610bb857600080fd5b610bc0610369565b9050610bcc83836108e9565b8152610bdc836101008401610a42565b6020820152610bee6108408301610725565b6040820152610c01836108608401610b38565b6060820152610c136109008301610725565b6080820152610c2561092083016106ca565b60a08201526109408201356001600160401b03811115610c4457600080fd5b610c50848285016103ae565b60c08301525092915050565b600060208284031215610c6e57600080fd5b81356001600160401b0380821115610c8557600080fd5b908301906103c08286031215610c9a57600080fd5b610ca261038b565b610cac86846106d5565b815260408301356020820152606083013582811115610cca57600080fd5b610cd6878286016103ae565b604083015250610ce86080840161070e565b6060820152610cf960a08401610725565b608082015260c083013560a0820152610d158660e085016106d5565b60c08201526101208084013560e0830152610140610d3588828701610739565b610100840152610d49886101e087016107d8565b828401526103a0850135915083821115610d6257600080fd5b610d6e88838701610ba5565b90830152509594505050505056fea2646970667358221220823a7af578e2e8f3190cf0818370302bcc4cdb3b52ac9f8d08a657c947835d0a64736f6c63430008150033","sourceMap":"186:2909:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1466:1627;;;;;;:::i;:::-;;:::i;:::-;;441:139;;503:77;441:139;;;;;4268:25:41;;;4256:2;4241:18;441:139:40;;;;;;;1217:120;1304:26;;1217:120;;1466:1627;1817:18;1846:13;1856:2;1817:18;1846:8;;:13;:::i;:::-;1838:22;;;:::i;:::-;1875:15;;:44;;-1:-1:-1;;;1875:44:40;;;;;4268:25:41;;;1817:43:40;;-1:-1:-1;;;;;;1875:15:40;;:32;;4241:18:41;;1875:44:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1870:108;;1942:25;;-1:-1:-1;;;1942:25:40;;;;;4268::41;;;4241:18;;1942:25:40;;;;;;;1870:108;1988:45;2036:299;;;;;;;;2083:15;2036:299;;;;2112:30;2036:299;;;;2156:18;2036:299;;;;;;;2188:15;2036:299;;;;2217:11;2036:299;;;;2242:26;2036:299;;;;2282:8;;2036:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:299:40;;;-1:-1:-1;;;;;;2036:299:40;;;;;;;;;;;2351:17;;:39;;-1:-1:-1;;;2351:39:40;;1988:347;;-1:-1:-1;2351:17:40;;:33;;:39;;1988:347;;2351:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2346:99;;2413:21;;-1:-1:-1;;;2413:21:40;;;;;;;;;;;2346:99;2455:29;;2487:17;:8;2496:6;2487:8;;:17;:::i;:::-;2455:49;;-1:-1:-1;2455:49:40;-1:-1:-1;2514:44:40;2561:59;;;;2455:49;2561:59;:::i;:::-;2932:13;;;;:22;:25;;;:13;;-1:-1:-1;2932:30:40;2928:159;;3007:15;2978:26;:44;2928:159;;;3060:16;;-1:-1:-1;;;3060:16:40;;;;;;;;;;;2928:159;1807:1286;;;;;1466:1627;;;;;;;;;:::o;14:127:41:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:257;218:4;212:11;;;250:17;;-1:-1:-1;;;;;282:34:41;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:255::-;480:2;474:9;522:6;510:19;;-1:-1:-1;;;;;544:34:41;;580:22;;;541:62;538:88;;;606:18;;:::i;668:253::-;740:2;734:9;782:4;770:17;;-1:-1:-1;;;;;802:34:41;;838:22;;;799:62;796:88;;;864:18;;:::i;926:255::-;998:2;992:9;1040:6;1028:19;;-1:-1:-1;;;;;1062:34:41;;1098:22;;;1059:62;1056:88;;;1124:18;;:::i;1186:248::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:41;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:41;;1611:22;;;1572:62;1569:88;;;1637:18;;:::i;1699:718::-;1741:5;1794:3;1787:4;1779:6;1775:17;1771:27;1761:55;;1812:1;1809;1802:12;1761:55;1848:6;1835:20;-1:-1:-1;;;;;1911:2:41;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:41;;;2066:2;2038:31;2034:40;2022:53;;;2090:18;;;2110:22;;;2087:46;2084:72;;;2136:18;;:::i;:::-;2176:10;2172:2;2165:22;2211:2;2203:6;2196:18;2257:3;2250:4;2245:2;2237:6;2233:15;2229:26;2226:35;2223:55;;;2274:1;2271;2264:12;2223:55;2338:2;2331:4;2323:6;2319:17;2312:4;2304:6;2300:17;2287:54;2385:1;2378:4;2373:2;2365:6;2361:15;2357:26;2350:37;2405:6;2396:15;;;;;;1699:718;;;;:::o;2422:347::-;2473:8;2483:6;2537:3;2530:4;2522:6;2518:17;2514:27;2504:55;;2555:1;2552;2545:12;2504:55;-1:-1:-1;2578:20:41;;-1:-1:-1;;;;;2610:30:41;;2607:50;;;2653:1;2650;2643:12;2607:50;2690:4;2682:6;2678:17;2666:29;;2742:3;2735:4;2726:6;2718;2714:19;2710:30;2707:39;2704:59;;;2759:1;2756;2749:12;2704:59;2422:347;;;;;:::o;2774:173::-;2842:20;;-1:-1:-1;;;;;2891:31:41;;2881:42;;2871:70;;2937:1;2934;2927:12;2871:70;2774:173;;;:::o;2952:1165::-;3094:6;3102;3110;3118;3126;3134;3142;3150;3158;3211:3;3199:9;3190:7;3186:23;3182:33;3179:53;;;3228:1;3225;3218:12;3179:53;3251:23;;;-1:-1:-1;3321:2:41;3306:18;;3293:32;;-1:-1:-1;3375:2:41;3360:18;;3347:32;-1:-1:-1;;3408:43:41;;3398:54;;3388:82;;3466:1;3463;3456:12;3388:82;3489:5;-1:-1:-1;3541:2:41;3526:18;;3513:32;;-1:-1:-1;3596:3:41;3581:19;;3568:33;-1:-1:-1;;;;;3650:14:41;;;3647:34;;;3677:1;3674;3667:12;3647:34;3700:49;3741:7;3732:6;3721:9;3717:22;3700:49;:::i;:::-;3690:59;;3796:3;3785:9;3781:19;3768:33;3758:43;;3854:3;3843:9;3839:19;3826:33;3810:49;;3884:2;3874:8;3871:16;3868:36;;;3900:1;3897;3890:12;3868:36;;3939:60;3991:7;3980:8;3969:9;3965:24;3939:60;:::i;:::-;4018:8;;-1:-1:-1;3913:86:41;-1:-1:-1;4072:39:41;;-1:-1:-1;4106:3:41;4091:19;;4072:39;:::i;:::-;4062:49;;2952:1165;;;;;;;;;;;:::o;4304:331::-;4409:9;4420;4462:8;4450:10;4447:24;4444:44;;;4484:1;4481;4474:12;4444:44;4513:6;4503:8;4500:20;4497:40;;;4533:1;4530;4523:12;4497:40;-1:-1:-1;;4559:23:41;;;4604:25;;;;;-1:-1:-1;4304:331:41:o;4640:255::-;4760:19;;4799:2;4791:11;;4788:101;;;-1:-1:-1;;4860:2:41;4856:12;;;4853:1;4849:20;4845:33;4834:45;4788:101;4640:255;;;;:::o;5082:118::-;5168:5;5161:13;5154:21;5147:5;5144:32;5134:60;;5190:1;5187;5180:12;5134:60;5082:118;:::o;5205:245::-;5272:6;5325:2;5313:9;5304:7;5300:23;5296:32;5293:52;;;5341:1;5338;5331:12;5293:52;5373:9;5367:16;5392:28;5414:5;5392:28;:::i;:::-;5439:5;5205:245;-1:-1:-1;;;5205:245:41:o;5455:422::-;5496:3;5534:5;5528:12;5561:6;5556:3;5549:19;5586:1;5596:162;5610:6;5607:1;5604:13;5596:162;;;5672:4;5728:13;;;5724:22;;5718:29;5700:11;;;5696:20;;5689:59;5625:12;5596:162;;;5600:3;5803:1;5796:4;5787:6;5782:3;5778:16;5774:27;5767:38;5866:4;5859:2;5855:7;5850:2;5842:6;5838:15;5834:29;5829:3;5825:39;5821:50;5814:57;;;5455:422;;;;:::o;5991:1045::-;6178:2;6167:9;6160:21;6223:6;6217:13;6212:2;6201:9;6197:18;6190:41;6285:2;6277:6;6273:15;6267:22;6262:2;6251:9;6247:18;6240:50;6358:26;6354:31;6348:2;6340:6;6336:15;6330:22;6326:60;6321:2;6310:9;6306:18;6299:88;6442:2;6434:6;6430:15;6424:22;6418:3;6407:9;6403:19;6396:51;6141:4;6494:3;6486:6;6482:16;6476:23;6518:6;6561:2;6555:3;6544:9;6540:19;6533:31;6587:51;6633:3;6622:9;6618:19;6604:12;6587:51;:::i;:::-;6573:65;;6693:3;6685:6;6681:16;6675:23;6669:3;6658:9;6654:19;6647:52;6748:3;6740:6;6736:16;6730:23;6822:2;6818:7;6806:9;6798:6;6794:22;6790:36;6784:3;6773:9;6769:19;6762:65;6850:40;6883:6;6867:14;6850:40;:::i;:::-;6836:54;;;6939:3;6931:6;6927:16;6921:23;6953:54;7003:2;6992:9;6988:18;6972:14;-1:-1:-1;;;;;5948:31:41;5936:44;;5882:104;6953:54;-1:-1:-1;7024:6:41;;5991:1045;-1:-1:-1;;;;5991:1045:41:o;7041:128::-;7106:20;;7135:28;7106:20;7135:28;:::i;7174:362::-;7238:5;7286:4;7274:9;7269:3;7265:19;7261:30;7258:50;;;7304:1;7301;7294:12;7258:50;7326:22;;:::i;:::-;7317:31;;7384:9;7371:23;7364:5;7357:38;7447:2;7436:9;7432:18;7419:32;7460:30;7482:7;7460:30;:::i;:::-;7517:2;7506:14;;7499:31;7510:5;7174:362;-1:-1:-1;;7174:362:41:o;7541:171::-;7608:20;;-1:-1:-1;;;;;7657:30:41;;7647:41;;7637:69;;7702:1;7699;7692:12;7717:163;7784:20;;7844:10;7833:22;;7823:33;;7813:61;;7870:1;7867;7860:12;7885:696;7938:5;7986:4;7974:9;7969:3;7965:19;7961:30;7958:50;;;8004:1;8001;7994:12;7958:50;8037:2;8031:9;8079:4;8071:6;8067:17;8150:6;8138:10;8135:22;-1:-1:-1;;;;;8102:10:41;8099:34;8096:62;8093:88;;;8161:18;;:::i;:::-;8197:2;8190:22;8230:6;-1:-1:-1;8230:6:41;8260:28;8278:9;8260:28;:::i;:::-;8252:6;8245:44;8322:37;8355:2;8344:9;8340:18;8322:37;:::i;:::-;8317:2;8309:6;8305:15;8298:62;8393:37;8426:2;8415:9;8411:18;8393:37;:::i;:::-;8388:2;8380:6;8376:15;8369:62;8464:37;8497:2;8486:9;8482:18;8464:37;:::i;:::-;8459:2;8451:6;8447:15;8440:62;8536:38;8569:3;8558:9;8554:19;8536:38;:::i;:::-;8530:3;8522:6;8518:16;8511:64;;7885:696;;;;:::o;8586:153::-;8664:20;;8713:1;8703:12;;8693:40;;8729:1;8726;8719:12;8744:1421;8802:5;8850:6;8838:9;8833:3;8829:19;8825:32;8822:52;;;8870:1;8867;8860:12;8822:52;8892:22;;:::i;:::-;8883:31;;8937:39;8966:9;8937:39;:::i;:::-;8930:5;8923:54;9009:48;9053:2;9042:9;9038:18;9009:48;:::i;:::-;9004:2;8997:5;8993:14;8986:72;9090:48;9134:2;9123:9;9119:18;9090:48;:::i;:::-;9085:2;9078:5;9074:14;9067:72;9171:48;9215:2;9204:9;9200:18;9171:48;:::i;:::-;9166:2;9159:5;9155:14;9148:72;9253:49;9297:3;9286:9;9282:19;9253:49;:::i;:::-;9247:3;9240:5;9236:15;9229:74;9336:49;9380:3;9369:9;9365:19;9336:49;:::i;:::-;9330:3;9323:5;9319:15;9312:74;9419:49;9463:3;9452:9;9448:19;9419:49;:::i;:::-;9413:3;9406:5;9402:15;9395:74;9502:38;9535:3;9524:9;9520:19;9502:38;:::i;:::-;9496:3;9489:5;9485:15;9478:63;9560:3;9595:48;9639:2;9628:9;9624:18;9595:48;:::i;:::-;9579:14;;;9572:72;9663:3;9698:48;9727:18;;;9698:48;:::i;:::-;9682:14;;;9675:72;9766:3;9801:48;9830:18;;;9801:48;:::i;:::-;9785:14;;;9778:72;9869:3;9904:48;9933:18;;;9904:48;:::i;:::-;9888:14;;;9881:72;9972:3;10007:48;10036:18;;;10007:48;:::i;:::-;9991:14;;;9984:72;10075:3;10110:48;10139:18;;;10110:48;:::i;:::-;10094:14;;;10087:72;10098:5;8744:1421;-1:-1:-1;;8744:1421:41:o;10170:485::-;10220:5;10273:3;10266:4;10258:6;10254:17;10250:27;10240:55;;10291:1;10288;10281:12;10240:55;10315:22;;:::i;:::-;10359:3;10397;10389:6;10385:16;10424:3;10416:6;10413:15;10410:35;;;10441:1;10438;10431:12;10410:35;10465:6;10480:146;10496:6;10491:3;10488:15;10480:146;;;10564:17;;10552:30;;10611:4;10602:14;;;;10513;10480:146;;;-1:-1:-1;10644:5:41;;10170:485;-1:-1:-1;;;;;10170:485:41:o;10660:155::-;10740:20;;10789:1;10779:12;;10769:40;;10805:1;10802;10795:12;10820:285;10877:5;10925:4;10913:9;10908:3;10904:19;10900:30;10897:50;;;10943:1;10940;10933:12;10897:50;10965:22;;:::i;:::-;10956:31;;11023:9;11010:23;11003:5;10996:38;11094:2;11083:9;11079:18;11066:32;11061:2;11054:5;11050:14;11043:56;10820:285;;;;:::o;11110:533::-;11192:5;11245:3;11238:4;11230:6;11226:17;11222:27;11212:55;;11263:1;11260;11253:12;11212:55;11287:17;;:::i;:::-;11326:3;11364;11356:6;11352:16;11391:3;11383:6;11380:15;11377:35;;;11408:1;11405;11398:12;11377:35;11432:6;11447:167;11463:6;11458:3;11455:15;11447:167;;;11531:38;11565:3;11560;11531:38;:::i;:::-;11519:51;;11599:4;11590:14;;;;11489:4;11480:14;11447:167;;11648:698;11708:5;11761:3;11754:4;11746:6;11742:17;11738:27;11728:55;;11779:1;11776;11769:12;11728:55;11802:2;11833;11827:9;11875:3;11867:6;11863:16;11945:6;11933:10;11930:22;-1:-1:-1;;;;;11897:10:41;11894:34;11891:62;11888:88;;;11956:18;;:::i;:::-;11985:22;;12027:6;12068:3;12056:16;;12084:15;;;12081:35;;;12112:1;12109;12102:12;12081:35;12136:6;12151:165;12167:6;12162:3;12159:15;12151:165;;;12233:38;12267:3;12262;12233:38;:::i;:::-;12221:51;;12301:4;12292:14;;;;12184:12;;12151:165;;;-1:-1:-1;12334:6:41;;11648:698;-1:-1:-1;;;;;;11648:698:41:o;12351:1264::-;12413:5;12452:9;12447:3;12443:19;12482:6;12478:2;12474:15;12471:35;;;12502:1;12499;12492:12;12471:35;12524:22;;:::i;:::-;12515:31;;12569:41;12600:9;12569:41;:::i;:::-;12562:5;12555:56;12643:50;12689:2;12678:9;12674:18;12643:50;:::i;:::-;12638:2;12631:5;12627:14;12620:74;12713:6;12753:2;12747;12743:7;12739:2;12735:16;12731:25;12728:45;;;12769:1;12766;12759:12;12728:45;12797:22;;:::i;:::-;12782:37;;12844:81;12921:3;12916:2;12905:9;12901:18;12844:81;:::i;:::-;12835:7;12828:98;12960:60;13016:3;13010;12999:9;12995:19;12960:60;:::i;:::-;12955:2;12946:7;12942:16;12935:86;13055:55;13106:3;13099:4;13088:9;13084:20;13055:55;:::i;:::-;13050:2;13041:7;13037:16;13030:81;13147:55;13198:3;13191:4;13180:9;13176:20;13147:55;:::i;:::-;13140:4;13131:7;13127:18;13120:83;13239:55;13290:3;13283:4;13272:9;13268:20;13239:55;:::i;:::-;13232:4;13223:7;13219:18;13212:83;13331:55;13382:3;13375:4;13364:9;13360:20;13331:55;:::i;:::-;13324:4;13315:7;13311:18;13304:83;13423:55;13474:3;13467:4;13456:9;13452:20;13423:55;:::i;:::-;13416:4;13407:7;13403:18;13396:83;13515:53;13564:3;13559:2;13548:9;13544:18;13515:53;:::i;:::-;13508:4;13495:18;;13488:81;-1:-1:-1;13596:2:41;13585:14;;13578:31;13589:5;12351:1264;-1:-1:-1;;12351:1264:41:o;13620:659::-;13681:5;13734:3;13727:4;13719:6;13715:17;13711:27;13701:55;;13752:1;13749;13742:12;13701:55;13785:2;13779:9;13827:3;13819:6;13815:16;13897:6;13885:10;13882:22;-1:-1:-1;;;;;13849:10:41;13846:34;13843:62;13840:88;;;13908:18;;:::i;:::-;13944:2;13937:22;13979:6;14020:3;14008:16;;14036:15;;;14033:35;;;14064:1;14061;14054:12;14033:35;14088:6;14103:146;14119:6;14114:3;14111:15;14103:146;;;14187:17;;14175:30;;14234:4;14225:14;;;;14136;14103:146;;;-1:-1:-1;14267:6:41;;13620:659;-1:-1:-1;;;;;13620:659:41:o;14284:843::-;14343:5;14391:6;14379:9;14374:3;14370:19;14366:32;14363:52;;;14411:1;14408;14401:12;14363:52;14433:17;;:::i;:::-;14424:26;;14473:40;14509:3;14498:9;14473:40;:::i;:::-;14466:5;14459:55;14548:59;14603:3;14597;14586:9;14582:19;14548:59;:::i;:::-;14541:4;14534:5;14530:16;14523:85;14642:39;14675:4;14664:9;14660:20;14642:39;:::i;:::-;14635:4;14628:5;14624:16;14617:65;14716:62;14774:3;14767:4;14756:9;14752:20;14716:62;:::i;:::-;14709:4;14702:5;14698:16;14691:88;14813:39;14846:4;14835:9;14831:20;14813:39;:::i;:::-;14806:4;14799:5;14795:16;14788:65;14887:37;14918:4;14907:9;14903:20;14887:37;:::i;:::-;14880:4;14873:5;14869:16;14862:63;14976:4;14965:9;14961:20;14948:34;-1:-1:-1;;;;;14997:6:41;14994:30;14991:50;;;15037:1;15034;15027:12;14991:50;15075:45;15116:3;15107:6;15096:9;15092:22;15075:45;:::i;:::-;15068:4;15061:5;15057:16;15050:71;;14284:843;;;;:::o;15132:1497::-;15216:6;15269:2;15257:9;15248:7;15244:23;15240:32;15237:52;;;15285:1;15282;15275:12;15237:52;15325:9;15312:23;-1:-1:-1;;;;;15395:2:41;15387:6;15384:14;15381:34;;;15411:1;15408;15401:12;15381:34;15434:22;;;;15490:6;15472:16;;;15468:29;15465:49;;;15510:1;15507;15500:12;15465:49;15536:22;;:::i;:::-;15581:48;15621:7;15617:2;15581:48;:::i;:::-;15574:5;15567:63;15683:2;15679;15675:11;15662:25;15657:2;15650:5;15646:14;15639:49;15734:2;15730;15726:11;15713:25;15763:2;15753:8;15750:16;15747:36;;;15779:1;15776;15769:12;15747:36;15815:44;15851:7;15840:8;15836:2;15832:17;15815:44;:::i;:::-;15810:2;15803:5;15799:14;15792:68;;15892:31;15918:3;15914:2;15910:12;15892:31;:::i;:::-;15887:2;15880:5;15876:14;15869:55;15957:31;15983:3;15979:2;15975:12;15957:31;:::i;:::-;15951:3;15944:5;15940:15;15933:56;16043:3;16039:2;16035:12;16022:26;16016:3;16009:5;16005:15;15998:51;16082:58;16132:7;16126:3;16122:2;16118:12;16082:58;:::i;:::-;16076:3;16069:5;16065:15;16058:83;16160:3;16217:2;16213;16209:11;16196:25;16190:3;16183:5;16179:15;16172:50;16241:3;16280:46;16318:7;16313:2;16309;16305:11;16280:46;:::i;:::-;16271:6;16264:5;16260:18;16253:74;16359:52;16403:7;16397:3;16393:2;16389:12;16359:52;:::i;:::-;16354:2;16347:5;16343:14;16336:76;16458:3;16454:2;16450:12;16437:26;16421:42;;16488:2;16478:8;16475:16;16472:36;;;16504:1;16501;16494:12;16472:36;16540:58;16590:7;16579:8;16575:2;16571:17;16540:58;:::i;:::-;16524:14;;;16517:82;-1:-1:-1;16528:5:41;15132:1497;-1:-1:-1;;;;;15132:1497:41:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"0edb2712"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"batcherPaymentService\",\"type\":\"address\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)\":{\"notice\":\"Validates a Sudoku solution by bridging from Mina, and stores the last Unix time it was solved at.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SudokuValidity.sol\":\"SudokuValidity\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-upgrades/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\",\":aligned_layer/=lib/mina_bridge/contract/lib/aligned_layer/\",\":ds-test/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/\",\":eigenlayer-core-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/\",\":eigenlayer-core/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":eigenlayer-middleware/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/\",\":eigenlayer-scripts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":erc4626-tests/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":mina_bridge/=lib/mina_bridge/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol\":{\"keccak256\":\"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa\",\"dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol\":{\"keccak256\":\"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983\",\"dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914\",\"dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol\":{\"keccak256\":\"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc\",\"dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol\":{\"keccak256\":\"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8\",\"dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324\",\"dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d\",\"dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71\",\"dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c\",\"dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol\":{\"keccak256\":\"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232\",\"dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol\":{\"keccak256\":\"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef\",\"dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol\":{\"keccak256\":\"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7\",\"dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol\":{\"keccak256\":\"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f\",\"dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol\":{\"keccak256\":\"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f\",\"dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol\":{\"keccak256\":\"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241\",\"dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol\":{\"keccak256\":\"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221\",\"dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol\":{\"keccak256\":\"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e\",\"dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol\":{\"keccak256\":\"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354\",\"dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol\":{\"keccak256\":\"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51\",\"dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol\":{\"keccak256\":\"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d\",\"dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol\":{\"keccak256\":\"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25\",\"dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol\":{\"keccak256\":\"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d\",\"dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol\":{\"keccak256\":\"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f\",\"dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol\":{\"keccak256\":\"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8\",\"dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol\":{\"keccak256\":\"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97\",\"dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol\":{\"keccak256\":\"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae\",\"dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol\":{\"keccak256\":\"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04\",\"dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol\":{\"keccak256\":\"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369\",\"dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7\",\"urls\":[\"bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0\",\"dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d\",\"dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469\",\"dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA\"]},\"lib/mina_bridge/contract/src/MinaStateSettlement.sol\":{\"keccak256\":\"0xa55240ed5373b608829b5dc9fe18f2ceca4c606088ef8819162697dffde5e18f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://bfd65bd951305fdf7b9b044f1457f4bca09afeb61881bfaf767e151792b6e746\",\"dweb:/ipfs/QmaS32hLDJiE5hCx5b5bcUwGcc7ayYMUndS2HT1mEpMFGz\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0xc5a609ceb920631755f86834cd7d0d6e4c02c64d164f36a830204ebdbdfb7bc3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b03790d5d2cfcdda277232be4db690eb9ea540d8af1d12696efb4a1587d7b482\",\"dweb:/ipfs/QmNNmmwFzZCv6TCm1EM2YbMNvn6NZME3FJnBSJi23cnUrW\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"},{"internalType":"address","name":"batcherPaymentService","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":{"notice":"Validates a Sudoku solution by bridging from Mina, and stores the last Unix time it was solved at."}},"version":1}},"settings":{"remappings":["@openzeppelin-upgrades/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","@openzeppelin/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/","aligned_layer/=lib/mina_bridge/contract/lib/aligned_layer/","ds-test/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/","eigenlayer-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/","eigenlayer-core-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/","eigenlayer-core/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","eigenlayer-middleware/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/","eigenlayer-scripts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","erc4626-tests/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","mina_bridge/=lib/mina_bridge/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/SudokuValidity.sol":"SudokuValidity"},"evmVersion":"paris","libraries":{}},"sources":{"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol":{"keccak256":"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938","urls":["bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa","dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol":{"keccak256":"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00","urls":["bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983","dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9","urls":["bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914","dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol":{"keccak256":"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba","urls":["bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc","dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol":{"keccak256":"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c","urls":["bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8","dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f","urls":["bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324","dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49","urls":["bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d","dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771","urls":["bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71","dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092","urls":["bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c","dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol":{"keccak256":"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79","urls":["bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232","dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol":{"keccak256":"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52","urls":["bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef","dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol":{"keccak256":"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377","urls":["bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7","dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol":{"keccak256":"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d","urls":["bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f","dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol":{"keccak256":"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71","urls":["bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f","dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol":{"keccak256":"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe","urls":["bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241","dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol":{"keccak256":"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4","urls":["bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221","dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol":{"keccak256":"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e","urls":["bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e","dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol":{"keccak256":"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5","urls":["bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354","dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol":{"keccak256":"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0","urls":["bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51","dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol":{"keccak256":"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b","urls":["bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d","dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol":{"keccak256":"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3","urls":["bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25","dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol":{"keccak256":"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385","urls":["bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d","dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol":{"keccak256":"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a","urls":["bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f","dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol":{"keccak256":"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb","urls":["bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8","dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol":{"keccak256":"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4","urls":["bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97","dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol":{"keccak256":"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3","urls":["bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae","dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol":{"keccak256":"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5","urls":["bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04","dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol":{"keccak256":"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f","urls":["bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369","dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7","urls":["bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0","dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473","urls":["bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d","dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a","urls":["bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469","dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaStateSettlement.sol":{"keccak256":"0xa55240ed5373b608829b5dc9fe18f2ceca4c606088ef8819162697dffde5e18f","urls":["bzz-raw://bfd65bd951305fdf7b9b044f1457f4bca09afeb61881bfaf767e151792b6e746","dweb:/ipfs/QmaS32hLDJiE5hCx5b5bcUwGcc7ayYMUndS2HT1mEpMFGz"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0xc5a609ceb920631755f86834cd7d0d6e4c02c64d164f36a830204ebdbdfb7bc3","urls":["bzz-raw://b03790d5d2cfcdda277232be4db690eb9ea540d8af1d12696efb4a1587d7b482","dweb:/ipfs/QmNNmmwFzZCv6TCm1EM2YbMNvn6NZME3FJnBSJi23cnUrW"],"license":"UNLICENSED"}},"version":1},"id":40} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"},{"name":"batcherPaymentService","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610e75380380610e7583398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610db2806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630edb271214610046578063319453e81461005b578063c681e9a314610094575b600080fd5b61005961005436600461049e565b61009c565b005b6100827f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b600254610082565b60006100ab6020828587610563565b6100b49161058d565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906105bd565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101fd908490600401610627565b602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906105bd565b61025b5760405163f281a18360e01b815260040160405180910390fd5b36600061026b866028818a610563565b9092509050600061027e83830184610c5c565b61014081015151602001519091501561029a57426002556102b3565b6040516351bc860760e11b815260040160405180910390fd5b5050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102fb576102fb6102c3565b60405290565b6040516101c081016001600160401b03811182821017156102fb576102fb6102c3565b604051606081016001600160401b03811182821017156102fb576102fb6102c3565b60405161010081016001600160401b03811182821017156102fb576102fb6102c3565b60405160e081016001600160401b03811182821017156102fb576102fb6102c3565b60405161016081016001600160401b03811182821017156102fb576102fb6102c3565b600082601f8301126103bf57600080fd5b81356001600160401b03808211156103d9576103d96102c3565b604051601f8301601f19908116603f01168101908282118183101715610401576104016102c3565b8160405283815286602085880101111561041a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261044c57600080fd5b5081356001600160401b0381111561046357600080fd5b60208301915083602082850101111561047b57600080fd5b9250929050565b80356001600160a01b038116811461049957600080fd5b919050565b60008060008060008060008060006101008a8c0312156104bd57600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff19811681146104e857600080fd5b965060608a0135955060808a01356001600160401b038082111561050b57600080fd5b6105178d838e016103ae565b965060a08c0135955060c08c013591508082111561053457600080fd5b506105418c828d0161043a565b9094509250610554905060e08b01610482565b90509295985092959850929598565b6000808585111561057357600080fd5b8386111561058057600080fd5b5050820193919092039150565b803560208310156105a657600019602084900360031b1b165b92915050565b80151581146105ba57600080fd5b50565b6000602082840312156105cf57600080fd5b81516105da816105ac565b9392505050565b6000815180845260005b81811015610607576020818501810151868301820152016105eb565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a085015261067d6101208501836105e1565b915060a085015160c085015260c0850151601f198584030160e08601526106a483826105e1565b92505060e08501516106c0828601826001600160a01b03169052565b5090949350505050565b8035610499816105ac565b6000604082840312156106e757600080fd5b6106ef6102d9565b9050813581526020820135610703816105ac565b602082015292915050565b80356001600160401b038116811461049957600080fd5b803563ffffffff8116811461049957600080fd5b600060a0828403121561074b57600080fd5b60405160a081018181106001600160401b038211171561076d5761076d6102c3565b60405290508061077c8361070e565b815261078a60208401610725565b602082015261079b6040840161070e565b60408201526107ac60608401610725565b60608201526107bd6080840161070e565b60808201525092915050565b80356005811061049957600080fd5b60006101c082840312156107eb57600080fd5b6107f3610301565b90506107fe826107c9565b815261080c602083016107c9565b602082015261081d604083016107c9565b604082015261082e606083016107c9565b606082015261083f608083016107c9565b608082015261085060a083016107c9565b60a082015261086160c083016107c9565b60c082015261087260e08301610725565b60e08201526101006108858184016107c9565b908201526101206108978382016107c9565b908201526101406108a98382016107c9565b908201526101606108bb8382016107c9565b908201526101806108cd8382016107c9565b908201526101a06108df8382016107c9565b9082015292915050565b600082601f8301126108fa57600080fd5b610902610346565b8061010084018581111561091557600080fd5b845b8181101561092f578035845260209384019301610917565b509095945050505050565b80356003811061049957600080fd5b60006040828403121561095b57600080fd5b6109636102d9565b9050813581526020820135602082015292915050565b600082601f83011261098a57600080fd5b610992610369565b806101c08401858111156109a557600080fd5b845b8181101561092f576109b98782610949565b84526020909301926040016109a7565b600082601f8301126109da57600080fd5b604080516101e081018181106001600160401b03821117156109fe576109fe6102c3565b8252806103c0850186811115610a1357600080fd5b855b81811015610a3657610a278882610949565b83526020909201918401610a15565b50919695505050505050565b6000818303610740811215610a5657600080fd5b610a5e610324565b9150610a698361093a565b8252610a776020840161093a565b602083015261070080603f1983011215610a9057600080fd5b610a98610346565b9150610aa78560408601610979565b8252610ab78561020086016109c9565b6020830152610aca856105c08601610949565b6040830152610add856106008601610949565b6060830152610af0856106408601610949565b6080830152610b03856106808601610949565b60a0830152610b16856106c08601610949565b60c0830152610b2785828601610949565b60e083015250604082015292915050565b600082601f830112610b4957600080fd5b60405160a081018181106001600160401b0382111715610b6b57610b6b6102c3565b6040528060a0840185811115610b8057600080fd5b845b81811015610b9a578035835260209283019201610b82565b509195945050505050565b60006109608284031215610bb857600080fd5b610bc0610369565b9050610bcc83836108e9565b8152610bdc836101008401610a42565b6020820152610bee6108408301610725565b6040820152610c01836108608401610b38565b6060820152610c136109008301610725565b6080820152610c2561092083016106ca565b60a08201526109408201356001600160401b03811115610c4457600080fd5b610c50848285016103ae565b60c08301525092915050565b600060208284031215610c6e57600080fd5b81356001600160401b0380821115610c8557600080fd5b908301906103c08286031215610c9a57600080fd5b610ca261038b565b610cac86846106d5565b815260408301356020820152606083013582811115610cca57600080fd5b610cd6878286016103ae565b604083015250610ce86080840161070e565b6060820152610cf960a08401610725565b608082015260c083013560a0820152610d158660e085016106d5565b60c08201526101208084013560e0830152610140610d3588828701610739565b610100840152610d49886101e087016107d8565b828401526103a0850135915083821115610d6257600080fd5b610d6e88838701610ba5565b90830152509594505050505056fea26469706673582212208b535e357ce4f8c0132947b6a12f4b0edf4a0e70feb26f63ca3dac6e79f1b1c864736f6c63430008150033","sourceMap":"186:2909:40:-:0;;;978:1;941:38;;986:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1070:15;:59;;-1:-1:-1;;;;;1070:59:40;;;-1:-1:-1;;;;;;1070:59:40;;;;;;;;1139:65;;;;;;;;;;;186:2909;;14:177:41;93:13;;-1:-1:-1;;;;;135:31:41;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:293::-;275:6;283;336:2;324:9;315:7;311:23;307:32;304:52;;;352:1;349;342:12;304:52;375:40;405:9;375:40;:::i;:::-;365:50;;434:49;479:2;468:9;464:18;434:49;:::i;:::-;424:59;;196:293;;;;;:::o;:::-;186:2909:40;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630edb271214610046578063319453e81461005b578063c681e9a314610094575b600080fd5b61005961005436600461049e565b61009c565b005b6100827f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b600254610082565b60006100ab6020828587610563565b6100b49161058d565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906105bd565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101fd908490600401610627565b602060405180830381865afa15801561021a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023e91906105bd565b61025b5760405163f281a18360e01b815260040160405180910390fd5b36600061026b866028818a610563565b9092509050600061027e83830184610c5c565b61014081015151602001519091501561029a57426002556102b3565b6040516351bc860760e11b815260040160405180910390fd5b5050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102fb576102fb6102c3565b60405290565b6040516101c081016001600160401b03811182821017156102fb576102fb6102c3565b604051606081016001600160401b03811182821017156102fb576102fb6102c3565b60405161010081016001600160401b03811182821017156102fb576102fb6102c3565b60405160e081016001600160401b03811182821017156102fb576102fb6102c3565b60405161016081016001600160401b03811182821017156102fb576102fb6102c3565b600082601f8301126103bf57600080fd5b81356001600160401b03808211156103d9576103d96102c3565b604051601f8301601f19908116603f01168101908282118183101715610401576104016102c3565b8160405283815286602085880101111561041a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261044c57600080fd5b5081356001600160401b0381111561046357600080fd5b60208301915083602082850101111561047b57600080fd5b9250929050565b80356001600160a01b038116811461049957600080fd5b919050565b60008060008060008060008060006101008a8c0312156104bd57600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff19811681146104e857600080fd5b965060608a0135955060808a01356001600160401b038082111561050b57600080fd5b6105178d838e016103ae565b965060a08c0135955060c08c013591508082111561053457600080fd5b506105418c828d0161043a565b9094509250610554905060e08b01610482565b90509295985092959850929598565b6000808585111561057357600080fd5b8386111561058057600080fd5b5050820193919092039150565b803560208310156105a657600019602084900360031b1b165b92915050565b80151581146105ba57600080fd5b50565b6000602082840312156105cf57600080fd5b81516105da816105ac565b9392505050565b6000815180845260005b81811015610607576020818501810151868301820152016105eb565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a085015261067d6101208501836105e1565b915060a085015160c085015260c0850151601f198584030160e08601526106a483826105e1565b92505060e08501516106c0828601826001600160a01b03169052565b5090949350505050565b8035610499816105ac565b6000604082840312156106e757600080fd5b6106ef6102d9565b9050813581526020820135610703816105ac565b602082015292915050565b80356001600160401b038116811461049957600080fd5b803563ffffffff8116811461049957600080fd5b600060a0828403121561074b57600080fd5b60405160a081018181106001600160401b038211171561076d5761076d6102c3565b60405290508061077c8361070e565b815261078a60208401610725565b602082015261079b6040840161070e565b60408201526107ac60608401610725565b60608201526107bd6080840161070e565b60808201525092915050565b80356005811061049957600080fd5b60006101c082840312156107eb57600080fd5b6107f3610301565b90506107fe826107c9565b815261080c602083016107c9565b602082015261081d604083016107c9565b604082015261082e606083016107c9565b606082015261083f608083016107c9565b608082015261085060a083016107c9565b60a082015261086160c083016107c9565b60c082015261087260e08301610725565b60e08201526101006108858184016107c9565b908201526101206108978382016107c9565b908201526101406108a98382016107c9565b908201526101606108bb8382016107c9565b908201526101806108cd8382016107c9565b908201526101a06108df8382016107c9565b9082015292915050565b600082601f8301126108fa57600080fd5b610902610346565b8061010084018581111561091557600080fd5b845b8181101561092f578035845260209384019301610917565b509095945050505050565b80356003811061049957600080fd5b60006040828403121561095b57600080fd5b6109636102d9565b9050813581526020820135602082015292915050565b600082601f83011261098a57600080fd5b610992610369565b806101c08401858111156109a557600080fd5b845b8181101561092f576109b98782610949565b84526020909301926040016109a7565b600082601f8301126109da57600080fd5b604080516101e081018181106001600160401b03821117156109fe576109fe6102c3565b8252806103c0850186811115610a1357600080fd5b855b81811015610a3657610a278882610949565b83526020909201918401610a15565b50919695505050505050565b6000818303610740811215610a5657600080fd5b610a5e610324565b9150610a698361093a565b8252610a776020840161093a565b602083015261070080603f1983011215610a9057600080fd5b610a98610346565b9150610aa78560408601610979565b8252610ab78561020086016109c9565b6020830152610aca856105c08601610949565b6040830152610add856106008601610949565b6060830152610af0856106408601610949565b6080830152610b03856106808601610949565b60a0830152610b16856106c08601610949565b60c0830152610b2785828601610949565b60e083015250604082015292915050565b600082601f830112610b4957600080fd5b60405160a081018181106001600160401b0382111715610b6b57610b6b6102c3565b6040528060a0840185811115610b8057600080fd5b845b81811015610b9a578035835260209283019201610b82565b509195945050505050565b60006109608284031215610bb857600080fd5b610bc0610369565b9050610bcc83836108e9565b8152610bdc836101008401610a42565b6020820152610bee6108408301610725565b6040820152610c01836108608401610b38565b6060820152610c136109008301610725565b6080820152610c2561092083016106ca565b60a08201526109408201356001600160401b03811115610c4457600080fd5b610c50848285016103ae565b60c08301525092915050565b600060208284031215610c6e57600080fd5b81356001600160401b0380821115610c8557600080fd5b908301906103c08286031215610c9a57600080fd5b610ca261038b565b610cac86846106d5565b815260408301356020820152606083013582811115610cca57600080fd5b610cd6878286016103ae565b604083015250610ce86080840161070e565b6060820152610cf960a08401610725565b608082015260c083013560a0820152610d158660e085016106d5565b60c08201526101208084013560e0830152610140610d3588828701610739565b610100840152610d49886101e087016107d8565b828401526103a0850135915083821115610d6257600080fd5b610d6e88838701610ba5565b90830152509594505050505056fea26469706673582212208b535e357ce4f8c0132947b6a12f4b0edf4a0e70feb26f63ca3dac6e79f1b1c864736f6c63430008150033","sourceMap":"186:2909:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1466:1627;;;;;;:::i;:::-;;:::i;:::-;;441:139;;503:77;441:139;;;;;4268:25:41;;;4256:2;4241:18;441:139:40;;;;;;;1217:120;1304:26;;1217:120;;1466:1627;1817:18;1846:13;1856:2;1817:18;1846:8;;:13;:::i;:::-;1838:22;;;:::i;:::-;1875:15;;:44;;-1:-1:-1;;;1875:44:40;;;;;4268:25:41;;;1817:43:40;;-1:-1:-1;;;;;;1875:15:40;;:32;;4241:18:41;;1875:44:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1870:108;;1942:25;;-1:-1:-1;;;1942:25:40;;;;;4268::41;;;4241:18;;1942:25:40;;;;;;;1870:108;1988:45;2036:299;;;;;;;;2083:15;2036:299;;;;2112:30;2036:299;;;;2156:18;2036:299;;;;;;;2188:15;2036:299;;;;2217:11;2036:299;;;;2242:26;2036:299;;;;2282:8;;2036:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:299:40;;;-1:-1:-1;;;;;;2036:299:40;;;;;;;;;;;2351:17;;:39;;-1:-1:-1;;;2351:39:40;;1988:347;;-1:-1:-1;2351:17:40;;:33;;:39;;1988:347;;2351:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2346:99;;2413:21;;-1:-1:-1;;;2413:21:40;;;;;;;;;;;2346:99;2455:29;;2487:17;:8;2496:6;2487:8;;:17;:::i;:::-;2455:49;;-1:-1:-1;2455:49:40;-1:-1:-1;2514:44:40;2561:59;;;;2455:49;2561:59;:::i;:::-;2932:13;;;;:22;:25;;;:13;;-1:-1:-1;2932:30:40;2928:159;;3007:15;2978:26;:44;2928:159;;;3060:16;;-1:-1:-1;;;3060:16:40;;;;;;;;;;;2928:159;1807:1286;;;;;1466:1627;;;;;;;;;:::o;14:127:41:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:257;218:4;212:11;;;250:17;;-1:-1:-1;;;;;282:34:41;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:255::-;480:2;474:9;522:6;510:19;;-1:-1:-1;;;;;544:34:41;;580:22;;;541:62;538:88;;;606:18;;:::i;668:253::-;740:2;734:9;782:4;770:17;;-1:-1:-1;;;;;802:34:41;;838:22;;;799:62;796:88;;;864:18;;:::i;926:255::-;998:2;992:9;1040:6;1028:19;;-1:-1:-1;;;;;1062:34:41;;1098:22;;;1059:62;1056:88;;;1124:18;;:::i;1186:248::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:41;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:41;;1611:22;;;1572:62;1569:88;;;1637:18;;:::i;1699:718::-;1741:5;1794:3;1787:4;1779:6;1775:17;1771:27;1761:55;;1812:1;1809;1802:12;1761:55;1848:6;1835:20;-1:-1:-1;;;;;1911:2:41;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:41;;;2066:2;2038:31;2034:40;2022:53;;;2090:18;;;2110:22;;;2087:46;2084:72;;;2136:18;;:::i;:::-;2176:10;2172:2;2165:22;2211:2;2203:6;2196:18;2257:3;2250:4;2245:2;2237:6;2233:15;2229:26;2226:35;2223:55;;;2274:1;2271;2264:12;2223:55;2338:2;2331:4;2323:6;2319:17;2312:4;2304:6;2300:17;2287:54;2385:1;2378:4;2373:2;2365:6;2361:15;2357:26;2350:37;2405:6;2396:15;;;;;;1699:718;;;;:::o;2422:347::-;2473:8;2483:6;2537:3;2530:4;2522:6;2518:17;2514:27;2504:55;;2555:1;2552;2545:12;2504:55;-1:-1:-1;2578:20:41;;-1:-1:-1;;;;;2610:30:41;;2607:50;;;2653:1;2650;2643:12;2607:50;2690:4;2682:6;2678:17;2666:29;;2742:3;2735:4;2726:6;2718;2714:19;2710:30;2707:39;2704:59;;;2759:1;2756;2749:12;2704:59;2422:347;;;;;:::o;2774:173::-;2842:20;;-1:-1:-1;;;;;2891:31:41;;2881:42;;2871:70;;2937:1;2934;2927:12;2871:70;2774:173;;;:::o;2952:1165::-;3094:6;3102;3110;3118;3126;3134;3142;3150;3158;3211:3;3199:9;3190:7;3186:23;3182:33;3179:53;;;3228:1;3225;3218:12;3179:53;3251:23;;;-1:-1:-1;3321:2:41;3306:18;;3293:32;;-1:-1:-1;3375:2:41;3360:18;;3347:32;-1:-1:-1;;3408:43:41;;3398:54;;3388:82;;3466:1;3463;3456:12;3388:82;3489:5;-1:-1:-1;3541:2:41;3526:18;;3513:32;;-1:-1:-1;3596:3:41;3581:19;;3568:33;-1:-1:-1;;;;;3650:14:41;;;3647:34;;;3677:1;3674;3667:12;3647:34;3700:49;3741:7;3732:6;3721:9;3717:22;3700:49;:::i;:::-;3690:59;;3796:3;3785:9;3781:19;3768:33;3758:43;;3854:3;3843:9;3839:19;3826:33;3810:49;;3884:2;3874:8;3871:16;3868:36;;;3900:1;3897;3890:12;3868:36;;3939:60;3991:7;3980:8;3969:9;3965:24;3939:60;:::i;:::-;4018:8;;-1:-1:-1;3913:86:41;-1:-1:-1;4072:39:41;;-1:-1:-1;4106:3:41;4091:19;;4072:39;:::i;:::-;4062:49;;2952:1165;;;;;;;;;;;:::o;4304:331::-;4409:9;4420;4462:8;4450:10;4447:24;4444:44;;;4484:1;4481;4474:12;4444:44;4513:6;4503:8;4500:20;4497:40;;;4533:1;4530;4523:12;4497:40;-1:-1:-1;;4559:23:41;;;4604:25;;;;;-1:-1:-1;4304:331:41:o;4640:255::-;4760:19;;4799:2;4791:11;;4788:101;;;-1:-1:-1;;4860:2:41;4856:12;;;4853:1;4849:20;4845:33;4834:45;4788:101;4640:255;;;;:::o;5082:118::-;5168:5;5161:13;5154:21;5147:5;5144:32;5134:60;;5190:1;5187;5180:12;5134:60;5082:118;:::o;5205:245::-;5272:6;5325:2;5313:9;5304:7;5300:23;5296:32;5293:52;;;5341:1;5338;5331:12;5293:52;5373:9;5367:16;5392:28;5414:5;5392:28;:::i;:::-;5439:5;5205:245;-1:-1:-1;;;5205:245:41:o;5455:422::-;5496:3;5534:5;5528:12;5561:6;5556:3;5549:19;5586:1;5596:162;5610:6;5607:1;5604:13;5596:162;;;5672:4;5728:13;;;5724:22;;5718:29;5700:11;;;5696:20;;5689:59;5625:12;5596:162;;;5600:3;5803:1;5796:4;5787:6;5782:3;5778:16;5774:27;5767:38;5866:4;5859:2;5855:7;5850:2;5842:6;5838:15;5834:29;5829:3;5825:39;5821:50;5814:57;;;5455:422;;;;:::o;5991:1045::-;6178:2;6167:9;6160:21;6223:6;6217:13;6212:2;6201:9;6197:18;6190:41;6285:2;6277:6;6273:15;6267:22;6262:2;6251:9;6247:18;6240:50;6358:26;6354:31;6348:2;6340:6;6336:15;6330:22;6326:60;6321:2;6310:9;6306:18;6299:88;6442:2;6434:6;6430:15;6424:22;6418:3;6407:9;6403:19;6396:51;6141:4;6494:3;6486:6;6482:16;6476:23;6518:6;6561:2;6555:3;6544:9;6540:19;6533:31;6587:51;6633:3;6622:9;6618:19;6604:12;6587:51;:::i;:::-;6573:65;;6693:3;6685:6;6681:16;6675:23;6669:3;6658:9;6654:19;6647:52;6748:3;6740:6;6736:16;6730:23;6822:2;6818:7;6806:9;6798:6;6794:22;6790:36;6784:3;6773:9;6769:19;6762:65;6850:40;6883:6;6867:14;6850:40;:::i;:::-;6836:54;;;6939:3;6931:6;6927:16;6921:23;6953:54;7003:2;6992:9;6988:18;6972:14;-1:-1:-1;;;;;5948:31:41;5936:44;;5882:104;6953:54;-1:-1:-1;7024:6:41;;5991:1045;-1:-1:-1;;;;5991:1045:41:o;7041:128::-;7106:20;;7135:28;7106:20;7135:28;:::i;7174:362::-;7238:5;7286:4;7274:9;7269:3;7265:19;7261:30;7258:50;;;7304:1;7301;7294:12;7258:50;7326:22;;:::i;:::-;7317:31;;7384:9;7371:23;7364:5;7357:38;7447:2;7436:9;7432:18;7419:32;7460:30;7482:7;7460:30;:::i;:::-;7517:2;7506:14;;7499:31;7510:5;7174:362;-1:-1:-1;;7174:362:41:o;7541:171::-;7608:20;;-1:-1:-1;;;;;7657:30:41;;7647:41;;7637:69;;7702:1;7699;7692:12;7717:163;7784:20;;7844:10;7833:22;;7823:33;;7813:61;;7870:1;7867;7860:12;7885:696;7938:5;7986:4;7974:9;7969:3;7965:19;7961:30;7958:50;;;8004:1;8001;7994:12;7958:50;8037:2;8031:9;8079:4;8071:6;8067:17;8150:6;8138:10;8135:22;-1:-1:-1;;;;;8102:10:41;8099:34;8096:62;8093:88;;;8161:18;;:::i;:::-;8197:2;8190:22;8230:6;-1:-1:-1;8230:6:41;8260:28;8278:9;8260:28;:::i;:::-;8252:6;8245:44;8322:37;8355:2;8344:9;8340:18;8322:37;:::i;:::-;8317:2;8309:6;8305:15;8298:62;8393:37;8426:2;8415:9;8411:18;8393:37;:::i;:::-;8388:2;8380:6;8376:15;8369:62;8464:37;8497:2;8486:9;8482:18;8464:37;:::i;:::-;8459:2;8451:6;8447:15;8440:62;8536:38;8569:3;8558:9;8554:19;8536:38;:::i;:::-;8530:3;8522:6;8518:16;8511:64;;7885:696;;;;:::o;8586:153::-;8664:20;;8713:1;8703:12;;8693:40;;8729:1;8726;8719:12;8744:1421;8802:5;8850:6;8838:9;8833:3;8829:19;8825:32;8822:52;;;8870:1;8867;8860:12;8822:52;8892:22;;:::i;:::-;8883:31;;8937:39;8966:9;8937:39;:::i;:::-;8930:5;8923:54;9009:48;9053:2;9042:9;9038:18;9009:48;:::i;:::-;9004:2;8997:5;8993:14;8986:72;9090:48;9134:2;9123:9;9119:18;9090:48;:::i;:::-;9085:2;9078:5;9074:14;9067:72;9171:48;9215:2;9204:9;9200:18;9171:48;:::i;:::-;9166:2;9159:5;9155:14;9148:72;9253:49;9297:3;9286:9;9282:19;9253:49;:::i;:::-;9247:3;9240:5;9236:15;9229:74;9336:49;9380:3;9369:9;9365:19;9336:49;:::i;:::-;9330:3;9323:5;9319:15;9312:74;9419:49;9463:3;9452:9;9448:19;9419:49;:::i;:::-;9413:3;9406:5;9402:15;9395:74;9502:38;9535:3;9524:9;9520:19;9502:38;:::i;:::-;9496:3;9489:5;9485:15;9478:63;9560:3;9595:48;9639:2;9628:9;9624:18;9595:48;:::i;:::-;9579:14;;;9572:72;9663:3;9698:48;9727:18;;;9698:48;:::i;:::-;9682:14;;;9675:72;9766:3;9801:48;9830:18;;;9801:48;:::i;:::-;9785:14;;;9778:72;9869:3;9904:48;9933:18;;;9904:48;:::i;:::-;9888:14;;;9881:72;9972:3;10007:48;10036:18;;;10007:48;:::i;:::-;9991:14;;;9984:72;10075:3;10110:48;10139:18;;;10110:48;:::i;:::-;10094:14;;;10087:72;10098:5;8744:1421;-1:-1:-1;;8744:1421:41:o;10170:485::-;10220:5;10273:3;10266:4;10258:6;10254:17;10250:27;10240:55;;10291:1;10288;10281:12;10240:55;10315:22;;:::i;:::-;10359:3;10397;10389:6;10385:16;10424:3;10416:6;10413:15;10410:35;;;10441:1;10438;10431:12;10410:35;10465:6;10480:146;10496:6;10491:3;10488:15;10480:146;;;10564:17;;10552:30;;10611:4;10602:14;;;;10513;10480:146;;;-1:-1:-1;10644:5:41;;10170:485;-1:-1:-1;;;;;10170:485:41:o;10660:155::-;10740:20;;10789:1;10779:12;;10769:40;;10805:1;10802;10795:12;10820:285;10877:5;10925:4;10913:9;10908:3;10904:19;10900:30;10897:50;;;10943:1;10940;10933:12;10897:50;10965:22;;:::i;:::-;10956:31;;11023:9;11010:23;11003:5;10996:38;11094:2;11083:9;11079:18;11066:32;11061:2;11054:5;11050:14;11043:56;10820:285;;;;:::o;11110:533::-;11192:5;11245:3;11238:4;11230:6;11226:17;11222:27;11212:55;;11263:1;11260;11253:12;11212:55;11287:17;;:::i;:::-;11326:3;11364;11356:6;11352:16;11391:3;11383:6;11380:15;11377:35;;;11408:1;11405;11398:12;11377:35;11432:6;11447:167;11463:6;11458:3;11455:15;11447:167;;;11531:38;11565:3;11560;11531:38;:::i;:::-;11519:51;;11599:4;11590:14;;;;11489:4;11480:14;11447:167;;11648:698;11708:5;11761:3;11754:4;11746:6;11742:17;11738:27;11728:55;;11779:1;11776;11769:12;11728:55;11802:2;11833;11827:9;11875:3;11867:6;11863:16;11945:6;11933:10;11930:22;-1:-1:-1;;;;;11897:10:41;11894:34;11891:62;11888:88;;;11956:18;;:::i;:::-;11985:22;;12027:6;12068:3;12056:16;;12084:15;;;12081:35;;;12112:1;12109;12102:12;12081:35;12136:6;12151:165;12167:6;12162:3;12159:15;12151:165;;;12233:38;12267:3;12262;12233:38;:::i;:::-;12221:51;;12301:4;12292:14;;;;12184:12;;12151:165;;;-1:-1:-1;12334:6:41;;11648:698;-1:-1:-1;;;;;;11648:698:41:o;12351:1264::-;12413:5;12452:9;12447:3;12443:19;12482:6;12478:2;12474:15;12471:35;;;12502:1;12499;12492:12;12471:35;12524:22;;:::i;:::-;12515:31;;12569:41;12600:9;12569:41;:::i;:::-;12562:5;12555:56;12643:50;12689:2;12678:9;12674:18;12643:50;:::i;:::-;12638:2;12631:5;12627:14;12620:74;12713:6;12753:2;12747;12743:7;12739:2;12735:16;12731:25;12728:45;;;12769:1;12766;12759:12;12728:45;12797:22;;:::i;:::-;12782:37;;12844:81;12921:3;12916:2;12905:9;12901:18;12844:81;:::i;:::-;12835:7;12828:98;12960:60;13016:3;13010;12999:9;12995:19;12960:60;:::i;:::-;12955:2;12946:7;12942:16;12935:86;13055:55;13106:3;13099:4;13088:9;13084:20;13055:55;:::i;:::-;13050:2;13041:7;13037:16;13030:81;13147:55;13198:3;13191:4;13180:9;13176:20;13147:55;:::i;:::-;13140:4;13131:7;13127:18;13120:83;13239:55;13290:3;13283:4;13272:9;13268:20;13239:55;:::i;:::-;13232:4;13223:7;13219:18;13212:83;13331:55;13382:3;13375:4;13364:9;13360:20;13331:55;:::i;:::-;13324:4;13315:7;13311:18;13304:83;13423:55;13474:3;13467:4;13456:9;13452:20;13423:55;:::i;:::-;13416:4;13407:7;13403:18;13396:83;13515:53;13564:3;13559:2;13548:9;13544:18;13515:53;:::i;:::-;13508:4;13495:18;;13488:81;-1:-1:-1;13596:2:41;13585:14;;13578:31;13589:5;12351:1264;-1:-1:-1;;12351:1264:41:o;13620:659::-;13681:5;13734:3;13727:4;13719:6;13715:17;13711:27;13701:55;;13752:1;13749;13742:12;13701:55;13785:2;13779:9;13827:3;13819:6;13815:16;13897:6;13885:10;13882:22;-1:-1:-1;;;;;13849:10:41;13846:34;13843:62;13840:88;;;13908:18;;:::i;:::-;13944:2;13937:22;13979:6;14020:3;14008:16;;14036:15;;;14033:35;;;14064:1;14061;14054:12;14033:35;14088:6;14103:146;14119:6;14114:3;14111:15;14103:146;;;14187:17;;14175:30;;14234:4;14225:14;;;;14136;14103:146;;;-1:-1:-1;14267:6:41;;13620:659;-1:-1:-1;;;;;13620:659:41:o;14284:843::-;14343:5;14391:6;14379:9;14374:3;14370:19;14366:32;14363:52;;;14411:1;14408;14401:12;14363:52;14433:17;;:::i;:::-;14424:26;;14473:40;14509:3;14498:9;14473:40;:::i;:::-;14466:5;14459:55;14548:59;14603:3;14597;14586:9;14582:19;14548:59;:::i;:::-;14541:4;14534:5;14530:16;14523:85;14642:39;14675:4;14664:9;14660:20;14642:39;:::i;:::-;14635:4;14628:5;14624:16;14617:65;14716:62;14774:3;14767:4;14756:9;14752:20;14716:62;:::i;:::-;14709:4;14702:5;14698:16;14691:88;14813:39;14846:4;14835:9;14831:20;14813:39;:::i;:::-;14806:4;14799:5;14795:16;14788:65;14887:37;14918:4;14907:9;14903:20;14887:37;:::i;:::-;14880:4;14873:5;14869:16;14862:63;14976:4;14965:9;14961:20;14948:34;-1:-1:-1;;;;;14997:6:41;14994:30;14991:50;;;15037:1;15034;15027:12;14991:50;15075:45;15116:3;15107:6;15096:9;15092:22;15075:45;:::i;:::-;15068:4;15061:5;15057:16;15050:71;;14284:843;;;;:::o;15132:1497::-;15216:6;15269:2;15257:9;15248:7;15244:23;15240:32;15237:52;;;15285:1;15282;15275:12;15237:52;15325:9;15312:23;-1:-1:-1;;;;;15395:2:41;15387:6;15384:14;15381:34;;;15411:1;15408;15401:12;15381:34;15434:22;;;;15490:6;15472:16;;;15468:29;15465:49;;;15510:1;15507;15500:12;15465:49;15536:22;;:::i;:::-;15581:48;15621:7;15617:2;15581:48;:::i;:::-;15574:5;15567:63;15683:2;15679;15675:11;15662:25;15657:2;15650:5;15646:14;15639:49;15734:2;15730;15726:11;15713:25;15763:2;15753:8;15750:16;15747:36;;;15779:1;15776;15769:12;15747:36;15815:44;15851:7;15840:8;15836:2;15832:17;15815:44;:::i;:::-;15810:2;15803:5;15799:14;15792:68;;15892:31;15918:3;15914:2;15910:12;15892:31;:::i;:::-;15887:2;15880:5;15876:14;15869:55;15957:31;15983:3;15979:2;15975:12;15957:31;:::i;:::-;15951:3;15944:5;15940:15;15933:56;16043:3;16039:2;16035:12;16022:26;16016:3;16009:5;16005:15;15998:51;16082:58;16132:7;16126:3;16122:2;16118:12;16082:58;:::i;:::-;16076:3;16069:5;16065:15;16058:83;16160:3;16217:2;16213;16209:11;16196:25;16190:3;16183:5;16179:15;16172:50;16241:3;16280:46;16318:7;16313:2;16309;16305:11;16280:46;:::i;:::-;16271:6;16264:5;16260:18;16253:74;16359:52;16403:7;16397:3;16393:2;16389:12;16359:52;:::i;:::-;16354:2;16347:5;16343:14;16336:76;16458:3;16454:2;16450:12;16437:26;16421:42;;16488:2;16478:8;16475:16;16472:36;;;16504:1;16501;16494:12;16472:36;16540:58;16590:7;16579:8;16575:2;16571:17;16540:58;:::i;:::-;16524:14;;;16517:82;-1:-1:-1;16528:5:41;15132:1497;-1:-1:-1;;;;;15132:1497:41:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"0edb2712"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"batcherPaymentService\",\"type\":\"address\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)\":{\"notice\":\"Validates a Sudoku solution by bridging from Mina, and stores the last Unix time it was solved at.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SudokuValidity.sol\":\"SudokuValidity\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-upgrades/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\",\":aligned_layer/=lib/mina_bridge/contract/lib/aligned_layer/\",\":ds-test/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/\",\":eigenlayer-core-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/\",\":eigenlayer-core/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":eigenlayer-middleware/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/\",\":eigenlayer-scripts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":erc4626-tests/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":mina_bridge/=lib/mina_bridge/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol\":{\"keccak256\":\"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa\",\"dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol\":{\"keccak256\":\"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983\",\"dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914\",\"dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol\":{\"keccak256\":\"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc\",\"dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol\":{\"keccak256\":\"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8\",\"dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324\",\"dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d\",\"dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71\",\"dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c\",\"dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol\":{\"keccak256\":\"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232\",\"dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol\":{\"keccak256\":\"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef\",\"dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol\":{\"keccak256\":\"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7\",\"dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol\":{\"keccak256\":\"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f\",\"dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol\":{\"keccak256\":\"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f\",\"dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol\":{\"keccak256\":\"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241\",\"dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol\":{\"keccak256\":\"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221\",\"dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol\":{\"keccak256\":\"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e\",\"dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol\":{\"keccak256\":\"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354\",\"dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol\":{\"keccak256\":\"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51\",\"dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol\":{\"keccak256\":\"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d\",\"dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol\":{\"keccak256\":\"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25\",\"dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol\":{\"keccak256\":\"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d\",\"dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol\":{\"keccak256\":\"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f\",\"dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol\":{\"keccak256\":\"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8\",\"dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol\":{\"keccak256\":\"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97\",\"dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol\":{\"keccak256\":\"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae\",\"dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol\":{\"keccak256\":\"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04\",\"dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol\":{\"keccak256\":\"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369\",\"dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7\",\"urls\":[\"bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0\",\"dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d\",\"dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469\",\"dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA\"]},\"lib/mina_bridge/contract/src/MinaStateSettlement.sol\":{\"keccak256\":\"0x8adc9f8c4128e93d47ce5bb002a60cb355dbe647db4b9433563f49d0d8feee05\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://fb9bef60086f432b69365430543897bac14f654cb5af5b6d359f26981f41f52d\",\"dweb:/ipfs/QmTtb2mPJPxXFbTtTxZ2ELrqPVhS85XYmnexv8aNBP3sBx\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0xc5a609ceb920631755f86834cd7d0d6e4c02c64d164f36a830204ebdbdfb7bc3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b03790d5d2cfcdda277232be4db690eb9ea540d8af1d12696efb4a1587d7b482\",\"dweb:/ipfs/QmNNmmwFzZCv6TCm1EM2YbMNvn6NZME3FJnBSJi23cnUrW\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"},{"internalType":"address","name":"batcherPaymentService","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":{"notice":"Validates a Sudoku solution by bridging from Mina, and stores the last Unix time it was solved at."}},"version":1}},"settings":{"remappings":["@openzeppelin-upgrades/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","@openzeppelin/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/","aligned_layer/=lib/mina_bridge/contract/lib/aligned_layer/","ds-test/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/ds-test/src/","eigenlayer-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/","eigenlayer-core-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/","eigenlayer-core/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","eigenlayer-middleware/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/","eigenlayer-scripts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","erc4626-tests/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","mina_bridge/=lib/mina_bridge/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/SudokuValidity.sol":"SudokuValidity"},"evmVersion":"paris","libraries":{}},"sources":{"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IAVSDirectory.sol":{"keccak256":"0x3f67ab9b510b02dc3c07014b49785f1e167401bdb39cc10f737bbf545632d938","urls":["bzz-raw://48d1267e2df6c8ac9b8f419269ff3d23be9b62606ee6b6d2278c27ffebfd73aa","dweb:/ipfs/QmaFyywKCm1eotKjF1evryW8BMQJzPDstZm1wMRW79phXG"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol":{"keccak256":"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00","urls":["bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983","dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0xab76a9f4eff865cbb689f627cf98263488765519d7a4ec5ffbcb0ca4972842f9","urls":["bzz-raw://ff57ce18e8350bf39f190645db0988bc0f1279f1872150a114a1b520c38a2914","dweb:/ipfs/QmSsUXkNUqYuJgGRumHTSs9rAaboGjecotcM4xHrdBYWaZ"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol":{"keccak256":"0xb50c36ad96b6679bb80fd8331f949cbfbcba0f529026e1421a4d2bae64396eba","urls":["bzz-raw://5719181d780120f1e688c0da276992a8caf185815917f453b3550537c31ed4cc","dweb:/ipfs/QmYprRC5ZEXhz3zAUND5E8Xjn6s5TL8ZF8QbnndVq7aVPR"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol":{"keccak256":"0xd8a64dbed03d3a5cdbefe1af75968f2dde07f973749c2ef5197bf7187c3e448c","urls":["bzz-raw://27ccc7c1fd9352e9f9b357c9063d255dc0ed9583f43db09f786ac7497d7846b8","dweb:/ipfs/QmeJzuJkE9m2NUNwZSp4tGZEZmih1LeucePup8hzMVDRbG"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x98cffc894842947377e24c1d375813a1120dd73a84c29782ab68404e109cb34f","urls":["bzz-raw://b3474f6c350ceaee57cbdfb08fb48835d0c6e81ae8ebfbb9667899584a139324","dweb:/ipfs/QmWELKtksdtWxQbqAccd8yGyhKqrgPZXTADKR7BuT27Zg5"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0x9de8dd682bc0d812bbd6583c0231cbf35448d5eff58b74a93efa64cb9a768c49","urls":["bzz-raw://c00d6c675b9c72b092d287fe85fd37782588df32b8eb59ab4c7db7a86be25e7d","dweb:/ipfs/QmeYokY3HhAdbBaCPdHg3PgQEdRCDFEJy3Wf7VtgHBkQSx"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0xeab6f1140a90eb7f107d95bae1e8b2ecfbfe36282d62c9df69e6a564c2c59771","urls":["bzz-raw://785cd2777cdcab3b827b5eef2a4dae02c56db07252fdcefd8dd1016be034dc71","dweb:/ipfs/QmNyDFchTuMeiVoxNEfQw96JVq7DfkohGz1txKXe7HyNbq"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x5e52482a31d94401a8502f3014c4aada1142b4450fc0596dff8e1866a85fe092","urls":["bzz-raw://17dc326c9361bc1453379f26545963557b2883b0c88bc07d4477e04dbcc0cc8c","dweb:/ipfs/QmZXT7A816W5JH2ymirE2ETaJttqztFCsEL22AV8oEfCK9"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol":{"keccak256":"0x45dfaa2cfdde87f48a6ee38bb6fb739847aef7cf3f6137bdcd8c8a330559ec79","urls":["bzz-raw://1b7f6bd75b42fcaa91ceb7140cb2c41926a1fe6ee2d3161e4fe6186b181ba232","dweb:/ipfs/QmZjbdKiSs33C9i3GDc3sdD39Pz4YPkDoKftowoUF4kHmY"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol":{"keccak256":"0x68bf02a443fc8b2f612eba3d39bfefa5f61f78b549f111cdecec5f2c58236a52","urls":["bzz-raw://76bc6875ce74128b861fdac5fd1c0c72f3cc9bacf67fa4a73721b95fb23959ef","dweb:/ipfs/QmPix4WJmf9fXyMZxfgwXEHBcg7V4NAbRqs4HUf5YrSJcM"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol":{"keccak256":"0x70d89b05c1c5f47b74a07fbb5a2c05e606fed494e749ea98a9915b7be73df377","urls":["bzz-raw://db1d3bfaee69aef53c8b12b492a17584e6d1ac94610cb8b38aad33e1cdd81af7","dweb:/ipfs/QmfVsMTj1hcf9fMEm5RzvtcBN4dMcAKFBgUUDsNDr5XFpq"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol":{"keccak256":"0xf3b72653ba2567a978d4612703fa5f71c5fcd015d8dac7818468f22772d90a9d","urls":["bzz-raw://cee9d09370d968138d775c39525db4cd0768d60d17be7685519de12444e7dd2f","dweb:/ipfs/QmUdGh8wpMei3edKiEWA6S96s9dRt4ekZKJ4nau356X8xQ"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol":{"keccak256":"0x9095fc29b96d102b10c02d44b3a6fbfa25593ef6ae4a810363ab885b9e6b0f71","urls":["bzz-raw://0945132d482d56278edddb1d32209903c4d3839c87ba4317aadd97dc23610d0f","dweb:/ipfs/QmVuM2aLRHxitx4rPx3GTYTBCVNcjYn6sHBRr1biUjLBP5"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/BLSSignatureChecker.sol":{"keccak256":"0x3a5c205c596d3d73c7afa63ffbbfac8204f6d6a26c151ef26b47278981c3c0fe","urls":["bzz-raw://4beb88bf5b7c7e614f0d87b157d7a4b67afbf1cc93f3127622bd66f696799241","dweb:/ipfs/QmWJKb6qsd69bWgpAHX6deCkJqmJdo9oBLQAXJk97gWEE2"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBase.sol":{"keccak256":"0x7e32ef76daf32e5eb5a93cecf204223e64243f42afe70c7ca71ad3db3925b9c4","urls":["bzz-raw://19c10aa22f2e86e27e946b65c434e541caa6af06fcdde46c3b5e9b42890bd221","dweb:/ipfs/QmPb5qDRdbJTniKSqsbjVhbtwdb72G9hWPYcHtVvj1zBxg"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/ServiceManagerBaseStorage.sol":{"keccak256":"0xa544114dbf6d973a815f997a2ac9237c531c40b08c91d3a65a23b152ed621e1e","urls":["bzz-raw://4cf69f9be7d3f3c4184b61b267280a829040973633ea9d95e2ec0dbf70f40a2e","dweb:/ipfs/QmT2HeCJWBLX2p4KAWnyU318MMx9USb2brqCKq1vn2pXpR"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol":{"keccak256":"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5","urls":["bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354","dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IBLSSignatureChecker.sol":{"keccak256":"0xee5823a6674e553c71f5e127f08245827eb116d1ad418b5a7f2a9d6985fd95e0","urls":["bzz-raw://94aa26debddca6c0784585340cf891de4c2d7edaa3e5ec7229af9730312a5a51","dweb:/ipfs/QmWbHGbM7eVYTAmrCVaDU8b4YTm9VAN82XgLDR78uHC7vj"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol":{"keccak256":"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b","urls":["bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d","dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistry.sol":{"keccak256":"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3","urls":["bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25","dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol":{"keccak256":"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385","urls":["bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d","dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManager.sol":{"keccak256":"0x7602cfb4397a114a0ed60e70e8e1d729fdcf406b585838181b3cb3ffa6ac9a9a","urls":["bzz-raw://b718fa016a13a2a5ce298bc5ea7495cc70cf9c358211c75595d5c9dde9a6cc0f","dweb:/ipfs/QmQNrVmU7P7pRqGBJuTQDkjf3wMDY2kJm7zXdtQwsQTbzY"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IServiceManagerUI.sol":{"keccak256":"0x365761699b4a5b7360ee6c75f12606eefc4b0394754c8b8e1e1eefec0cba7ffb","urls":["bzz-raw://ac14ada180b66cbbc5f9de0d6b4bb87b5946d2a9569ae88f2f62aaca47e879a8","dweb:/ipfs/QmcN9xKYF24naNWc6cYah9suz5gJSYE9nPj9eZFWnP35VX"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol":{"keccak256":"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4","urls":["bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97","dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B"],"license":"BUSL-1.1"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BN254.sol":{"keccak256":"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3","urls":["bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae","dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src/libraries/BitmapUtils.sol":{"keccak256":"0x44315ac460be30a6b18fd4df4d1b8afb46653bf4dc06ca9f93c32353fd0605c5","urls":["bzz-raw://da14f2ead3a375b02afd09d4a02edddf7b63a88945746b96789b2473184fdb04","dweb:/ipfs/QmRqcjxa2Vv2MrLdPeAwsktXdWTirapEDsRbJCyYRtKT6g"],"license":"MIT"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol":{"keccak256":"0xa5482292cd6b02c0d95c1965c88b204bd8f65639d4300940960fb9ac423d230f","urls":["bzz-raw://acf342d91fda0776bef39ec5cd40e92f40389d8aa4e60e5c9f48f8ed84c4e369","dweb:/ipfs/QmfZmAZn9yG1zBbtfB3tEcM7rUzS9avcys4ooe6opSx9xQ"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xcc7cdd02eb9044bc3ee898c154c81a34c4b2efade8a8748106b183ea5c68bbe7","urls":["bzz-raw://47a40b8a9bab3e815b7eea4e45d9fb81046813a94f0bdd1d3ba4dbc6d9b5fde0","dweb:/ipfs/QmPdrATs8bFAgGr4dJGsvDTU3oGBG2J2QoYuQy434xNTN3"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0xc3f83afcd17a5f5b953906e406e24a09bf58a17c0c7b4cd47bed95322084f473","urls":["bzz-raw://6ad3316af22ab60033d7236585512d82acfb604ec7efda34330634791998ab8d","dweb:/ipfs/QmU5BApqXk5STG6LgGccU6Fbd1Tg7WD6AnY79ZiJRM3LvQ"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a","urls":["bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469","dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaStateSettlement.sol":{"keccak256":"0x8adc9f8c4128e93d47ce5bb002a60cb355dbe647db4b9433563f49d0d8feee05","urls":["bzz-raw://fb9bef60086f432b69365430543897bac14f654cb5af5b6d359f26981f41f52d","dweb:/ipfs/QmTtb2mPJPxXFbTtTxZ2ELrqPVhS85XYmnexv8aNBP3sBx"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0xc5a609ceb920631755f86834cd7d0d6e4c02c64d164f36a830204ebdbdfb7bc3","urls":["bzz-raw://b03790d5d2cfcdda277232be4db690eb9ea540d8af1d12696efb4a1587d7b482","dweb:/ipfs/QmNNmmwFzZCv6TCm1EM2YbMNvn6NZME3FJnBSJi23cnUrW"],"license":"UNLICENSED"}},"version":1},"id":40} \ No newline at end of file diff --git a/example/app/src/main.rs b/example/app/src/main.rs index 217ee0ac..76d773aa 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -11,16 +11,12 @@ use mina_bridge_core::{ get_bridged_chain_tip_state_hash, update_bridge_chain, validate_account, AccountVerificationData, }, - utils::{ - contract::{get_account_validation_contract_addr, get_bridge_contract_addr}, - env::EnvironmentVariables, - wallet, wallet_alloy, - }, + utils::{env::EnvironmentVariables, wallet, wallet_alloy}, }; use std::{process, str::FromStr, time::SystemTime}; const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; -const SUDOKU_VALIDITY_DEVNET_ADDRESS: &str = "0xb19b36b1456E65E3A6D514D3F715f204BD59f431"; +const SUDOKU_VALIDITY_DEVNET_ADDRESS: &str = "0x8ce361602B935680E8DeC218b820ff5056BeB7af"; const SUDOKU_VALIDITY_HOLESKY_ADDRESS: &str = "0x0091D1d9Bd92FFcfEb38383079AE849639224e3D"; sol!( @@ -52,6 +48,8 @@ async fn main() { let EnvironmentVariables { rpc_url, chain, + state_settlement_addr, + account_validation_addr, batcher_addr, batcher_eth_addr, eth_rpc_url, @@ -63,6 +61,15 @@ async fn main() { process::exit(1); }); + let state_settlement_addr = state_settlement_addr.unwrap_or_else(|| { + error!("Error getting State settlement contract address"); + process::exit(1); + }); + let account_validation_addr = account_validation_addr.unwrap_or_else(|| { + error!("Error getting Account validation contract address"); + process::exit(1); + }); + let wallet_alloy = wallet_alloy::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) .unwrap_or_else(|err| { @@ -83,9 +90,6 @@ async fn main() { Command::DeployContract => { // TODO(xqft): we might as well use the Chain type from Alloy, it isn't right to add // aligned-sdk as a dependency only for this type. - let state_settlement_addr = get_bridge_contract_addr(&chain).unwrap(); - - let account_validation_addr = get_account_validation_contract_addr(&chain).unwrap(); let contract = SudokuValidity::deploy( &provider, @@ -107,7 +111,7 @@ async fn main() { Command::ValidateSolution => { // We could check if the specific block containing the tx is already verified, before // updating the bridge's chain. - // let is_state_verified = is_state_verified(&state_hash, &chain, ð_rpc_url) + // let is_state_verified = is_state_verified(&state_hash, &state_settlement_addr, ð_rpc_url) // .await // .unwrap_or_else(|err| { // error!("{}", err); @@ -127,12 +131,14 @@ async fn main() { let state_verification_result = update_bridge_chain( &rpc_url, &chain, + &state_settlement_addr, &batcher_addr, &batcher_eth_addr, ð_rpc_url, &proof_generator_addr, wallet.clone(), &batcher_eth_addr, + true, false, ) .await; @@ -149,12 +155,15 @@ async fn main() { } // } - let tip_state_hash = get_bridged_chain_tip_state_hash(&chain, ð_rpc_url) - .await - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); + let tip_state_hash = + get_bridged_chain_tip_state_hash(&state_settlement_addr, ð_rpc_url) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + + info!("tip state hash: {}", &tip_state_hash); let AccountVerificationData { proof_commitment, @@ -169,6 +178,7 @@ async fn main() { &tip_state_hash, &rpc_url, &chain, + &account_validation_addr, &batcher_addr, &batcher_eth_addr, ð_rpc_url,