diff --git a/.env.template b/.env.template index a54169b5..01b248e6 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 are necessary for running the Sudoku example @@ -13,7 +15,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 f40c3c7b..c36cf598 100644 --- a/README.md +++ b/README.md @@ -12,28 +12,353 @@ This project introduces the verification of [Mina Protocol](https://minaprotocol The bridge leverages [Aligned Layer](https://github.com/yetanotherco/aligned_layer) to verify Mina Proofs of State and Mina Proofs of Account in Ethereum. - ## Usage +### Setup + +### 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](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. + +#### Ethereum Devnet + 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. Setup the `.env` file of the bridge. A template is available in `.env.template`. +1. Setup the `.env` file of the Bridge. A template is available in `.env.template`. + 1. Set `ETH_CHAIN` to `devnet`. + 1. Set `MINA_RPC_URL` to the URL of the Mina node GraphQL API (See [Mina node section](#mina-node)). -1. In the root folder, deploy the bridge's contract with: +#### Ethereum Testnet + +Because the Bridge uses for now a forked version of Aligned, you may need to setup a local instance of Aligned to verify Mina proofs. + +##### Aligned Testnet setup + +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 `mina` branch. +1. Run: ```sh - make deploy_contract + make deps go_deps + ``` + +1. Copy the EigenLayer Holešky deployment config file into Aligned: + + ```sh + cp contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/configs/holesky/Holesky_current_deployment.config.json contracts/script/output/holesky + ``` + +1. Set `contracts/script/deploy/config/holesky/aligned.holesky.config.json` to: + + ```json + { + "chainInfo": { + "chainId": 17000 + }, + "permissions": { + "owner": "", + "aggregator": "", + "upgrader": "", + "churner": "", + "ejector": "", + "deployer": "", + "initalPausedStatus": 0 + }, + "minimumStakes": [ + 1 + ], + "strategyWeights": [ + [ + { + "0_strategy": "0x80528D6e9A2BAbFc766965E0E26d5aB08D9CFaF9", + "1_multiplier": 1e+18 + } + ] + ], + "operatorSetParams": [ + { + "0_maxOperatorCount": 200, + "1_kickBIPsOfOperatorStake": 11000, + "2_kickBIPsOfTotalStake": 50 + } + ], + "uri": "" + } + ``` + +1. Setup the `contracts/scripts/.env` file. A template is available in `contracts/scripts/.env.example.holesky`. Set `PRIVATE_KEY` to the private key of the account you chose to fund the operator (the one with address `operator_account_address`). +1. Deploy Aligned contracts: + + ```sh + make deploy_aligned_contracts + ``` + + This will create `contracts/script/output/holesky/alignedlayer_deployment_output.json`. + +1. Create 3 EigenLayer keystores: + 1. Aggregator and operator ECDSA: + + ```sh + eigenlayer operator keys import --key-type ecdsa mina_bridge + ``` + + 1. Aggregator and operator BLS: + + ```sh + eigenlayer operator keys import --key-type bls mina_bridge + ``` + + 1. Batcher ECDSA: + + ```sh + eigenlayer operator keys import --key-type ecdsa mina_bridge.batcher + ``` + +1. Create `config-files/holesky/config.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: "" + 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: + + ## BLS Configurations + bls: + private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.bls.key.json" + private_key_store_password: + + ## Batcher configurations + batcher: + block_interval: 3 + batch_size_interval: 10 + max_proof_size: 67108864 # 64 MiB + max_batch_size: 268435456 # 256 MiB + eth_ws_reconnects: 99999999999999 + pre_verification_is_enabled: true + + ## Aggregator Configurations + aggregator: + server_ip_port_address: localhost:8090 + bls_public_key_compendium_address: 0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44 + avs_service_manager_address: 0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690 + enable_metrics: true + metrics_ip_port_address: localhost:9091 + + ## Operator Configurations + operator: + aggregator_rpc_server_ip_port_address: localhost:8090 + address: + earnings_receiver_address: 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 + delegation_approver_address: "0x0000000000000000000000000000000000000000" + staker_opt_out_window_blocks: 0 + metadata_url: "https://yetanotherco.github.io/operator_metadata/metadata.json" + enable_metrics: true + metrics_ip_port_address: localhost:9092 + max_batch_size: 268435456 # 256 MiB + # Operators variables needed for register it in EigenLayer + el_delegation_manager_address: "0xA44151489861Fe9e3055d95adC98FbD462B948e7" + private_key_store_path: /.eigenlayer/operator_keys/mina_bridge.ecdsa.key.json + bls_private_key_store_path: /.eigenlayer/operator_keys/mina_bridge.bls.key.json + signer_type: local_keystore + chain_id: 17000 + ``` + +1. Create `config-files/holesky/config-aggregator.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: "" + 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: + + ## BLS Configurations + bls: + private_key_store_path: "/.eigenlayer/operator_keys/mina_bridge.bls.key.json" + private_key_store_password: + + ## Aggregator Configurations + aggregator: + server_ip_port_address: localhost:8090 + bls_public_key_compendium_address: 0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44 + avs_service_manager_address: 0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690 + enable_metrics: true + metrics_ip_port_address: localhost:9091 + ``` + +1. Create `config-files/holesky/config-batcher.yaml` and set it to: + + ```yaml + 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: "" + 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: + + ## Batcher configurations + batcher: + block_interval: 3 + batch_size_interval: 10 + max_proof_size: 67108864 # 64 MiB + max_batch_size: 268435456 # 256 MiB + eth_ws_reconnects: 99999999999999 + pre_verification_is_enabled: true + non_paying: + address: + replacement_private_key: + ``` + +1. Start the aggregator: + + ```sh + make aggregator_start AGG_CONFIG_FILE=config-files/holesky/config-aggregator.yaml + ``` + +1. Open a new terminal and register the operator: + + ```sh + eigenlayer operator register config-files/holesky/config.yaml + ``` + +1. Whitelist the registered operator: + + ```sh + 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 + make operator_start CONFIG_FILE=config-files/holesky/config.yaml + ``` + +1. Set `contracts/script/deploy/config/holesky/batcher-payment-service.holesky.config.json` to: + + ```json + { + "address": { + "batcherWallet": "", + "alignedLayerServiceManager": "" + }, + "amounts": { + "gasForAggregator": "300000", + "gasPerProof": "21000" + }, + "permissions": { + "owner": "" + }, + "eip712": { + "noncedVerificationDataTypeHash": "41817b5c5b0c3dcda70ccb43ba175fdcd7e586f9e0484422a2c6bba678fdf4a3" + } + } + ``` + +1. Deploy Batcher payment contract: + + ```sh + make deploy_batcher_payment_service + ``` + + The file `contracts/script/output/holesky/alignedlayer_deployment_output.json` will have two new fields: `addresses.batcherPaymentService` and `addresses.batcherPaymentServiceImplementation`. + +1. Pay the batcher: + + ```sh + cast send --rpc-url --private-key --value 1ether + ``` + +1. Deposit to batcher in the Aligned Service Manager Contract: + + ```sh + cast send --rpc-url --private-key --value 1ether "depositToBatcher(address)" + ``` + +1. Setup local storage for the batcher: + + ```sh + make run_storage ``` -1. Submit a state to verify: +1. Start the batcher: ```sh - make submit-state + cargo run --manifest-path ./batcher/aligned-batcher/Cargo.toml --release -- --config ./config-files/holesky/config-batcher.yaml --env-file ./batcher/aligned-batcher/.env.dev ``` -1. Submit an account to verify: + +#### Bridge environment setup + +In the Mina Bridge repo, setup the `.env` file. A template is available in `.env.template`. + +1. Set `ETH_CHAIN` to `holesky`. +1. Set `MINA_RPC_URL` to the URL of the Mina node GraphQL API (See [Mina node section](#mina-node)). +1. Set the rest of the env vars to: + + ```sh + BATCHER_ADDR="ws://localhost:8080" + BATCHER_ETH_ADDR= + ETH_RPC_URL= + PROOF_GENERATOR_ADDR=0x66f9664f97F2b50F62D13eA064982f936dE76657 + PRIVATE_KEY= + ALIGNED_SM_HOLESKY_ETH_ADDR= + ``` + +### Bridge a Mina account + +1. In the root folder, deploy the Bridge's contracts with: ```sh - make submit-account PUBLIC_KEY= + make deploy_contract ``` + + In the `.env` file, set `STATE_SETTLEMENT_ETH_ADDR` and `ACCOUNT_VALIDATION_ETH_ADDR` to the corresponding deployed contract addresses. + +1. Submit a Mina state proof to verify (**NOTE:** Because of the Aligned minimum batch size, you may need to submit two proofs to make Aligned Devnet verify them): + + - Run `make submit_devnet_state` if you are using Mina Devnet or `make submit_mainnet_state` if you are using Mina Mainnet. + +1. Submit an account to verify (**NOTE:** Because of the Aligned minimum batch size, you may need to submit two proofs to make Aligned Devnet verify them): + + ```sh + make submit_account PUBLIC_KEY= STATE_HASH= + ``` + + Where: + - `PUBLIC_KEY` is the public key of the Mina account you want to verify + - `STATE_HASH` is the hash of a Mina state that was verified in Ethereum ## Example use case @@ -43,16 +368,19 @@ For running the example you need to: 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 make deploy_contract ``` 1. Deploy the SudokuValidity smart contract by executing + ```sh make deploy_example_contract ``` 1. Install `zkapp-cli`: + ```sh npm install -g zkapp-cli ``` @@ -60,9 +388,11 @@ For running the example you need to: 1. Set the environment variables in a `.env` file accordingly. A template can be found in `.env.template`. 1. Run the example by executing from the root folder: + ```sh make execute_example ``` + this will upload a new Sudoku, submit a solution to it and run the example Rust app that will bridge the new state of the zkApp and update the SudokuValidty smart contract on Ethereum. The zkApp will wait until both Mina transactions are included in a block, so this may take a while. Below is a diagram explaining the execution flow: @@ -70,56 +400,57 @@ For running the example you need to: ![Example diagram](/img/example_diagram.png) ## Table of Contents + - [About](#about) - [Usage](#usage) - [Example use case](#example-use-case) - [Table of Contents](#table-of-contents) - [Specification](#specification) - * [core](#core) - + [mina](#mina) - + [aligned](#aligned) - + [eth](#eth) - * [Mina Proof of State](#mina-proof-of-state) - + [Definition](#definition) - + [Serialization](#serialization) - + [Aligned’s Mina Proof of State verifier](#aligneds-mina-proof-of-state-verifier) - + [Consensus checking](#consensus-checking) - + [Transition frontier](#transition-frontier) - + [Pickles verification](#pickles-verification) - * [Mina Proof of Account](#mina-proof-of-account) - + [Definition](#definition-1) - + [Serialization](#serialization-1) - + [Aligned’s Proof of Account verification](#aligneds-proof-of-account-verifier) - * [Smart contract](#smart-contract) - + [Gas cost](#gas-cost) - * [Mina Account Validation contract](#mina-account-validation-contract) - + [Gas cost](#gas-cost-1) + - [core](#core) + - [mina](#mina) + - [aligned](#aligned) + - [eth](#eth) + - [Mina Proof of State](#mina-proof-of-state) + - [Definition](#definition) + - [Serialization](#serialization) + - [Aligned’s Mina Proof of State verifier](#aligneds-mina-proof-of-state-verifier) + - [Consensus checking](#consensus-checking) + - [Transition frontier](#transition-frontier) + - [Pickles verification](#pickles-verification) + - [Mina Proof of Account](#mina-proof-of-account) + - [Definition](#definition-1) + - [Serialization](#serialization-1) + - [Aligned’s Proof of Account verification](#aligneds-proof-of-account-verifier) + - [Smart contract](#smart-contract) + - [Gas cost](#gas-cost) + - [Mina Account Validation contract](#mina-account-validation-contract) + - [Gas cost](#gas-cost-1) - [Kimchi proving system](#kimchi-proving-system) - * [Proof Construction & Verification](#proof-construction---verification) - + [Secuence diagram linked to ``proof-systems/kimchi/src/verifier.rs``](#secuence-diagram-linked-to---proof-systems-kimchi-src-verifierrs--) - * [Pickles - Mina’s inductive zk-SNARK composition system](#pickles---mina-s-inductive-zk-snark-composition-system) - + [Accumulator](#accumulator) - + [Analysis of the Induction (recursion) method applied in Pickles](#analysis-of-the-induction--recursion--method-applied-in-pickles) - + [Pickles Technical Diagrams](#pickles-technical-diagrams) - * [Consensus](#consensus) - + [Chain selection rules](#chain-selection-rules) + - [Proof Construction & Verification](#proof-construction---verification) + - [Secuence diagram linked to ``proof-systems/kimchi/src/verifier.rs``](#secuence-diagram-linked-to---proof-systems-kimchi-src-verifierrs--) + - [Pickles - Mina’s inductive zk-SNARK composition system](#pickles---mina-s-inductive-zk-snark-composition-system) + - [Accumulator](#accumulator) + - [Analysis of the Induction (recursion) method applied in Pickles](#analysis-of-the-induction--recursion--method-applied-in-pickles) + - [Pickles Technical Diagrams](#pickles-technical-diagrams) + - [Consensus](#consensus) + - [Chain selection rules](#chain-selection-rules) - [Short-range fork rule](#short-range-fork-rule) - [Long-range fork rule](#long-range-fork-rule) - + [Decentralized checkpointing](#decentralized-checkpointing) - + [Short-range fork check](#short-range-fork-check) - + [Sliding window density](#sliding-window-density) + - [Decentralized checkpointing](#decentralized-checkpointing) + - [Short-range fork check](#short-range-fork-check) + - [Sliding window density](#sliding-window-density) - [Nomenclature](#nomenclature) - [Window structure](#window-structure) - [Minimum window density](#minimum-window-density) - [Ring-shift](#ring-shift) - [Projected window](#projected-window) - * [Genesis window](#genesis-window) - * [Relative minimum window density](#relative-minimum-window-density) - * [Protocol](#protocol) - + [Initialize consensus](#initialize-consensus) - + [Select chain](#select-chain) - + [Maintaining the k-th predecessor epoch ledger](#maintaining-the-k-th-predecessor-epoch-ledger) - + [Getting the tip](#getting-the-tip) + - [Genesis window](#genesis-window) + - [Relative minimum window density](#relative-minimum-window-density) + - [Protocol](#protocol) + - [Initialize consensus](#initialize-consensus) + - [Select chain](#select-chain) + - [Maintaining the k-th predecessor epoch ledger](#maintaining-the-k-th-predecessor-epoch-ledger) + - [Getting the tip](#getting-the-tip) # Specification @@ -219,7 +550,6 @@ The first step of the verifier is to check that the public inputs correspond to - that the chain ledger hashes are the hashes of the ledgers (stored in the states) in the proof - that the states form a chain (by hashing together the **state hash** of a state `n` and the **state body hash** of state `n+1`, we retrieve the **state hash** of the state `n+1`, so the states form a chain if we can hash from the root all the way until arriving to the tip state hash. - ### Consensus checking 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. @@ -249,7 +579,7 @@ After validating the candidate tip state, because in a previous step we verified After a Mina Proof of State was verified, it’s possible to verify a Proof of Account of some Mina account in the verified state. -Verifying that some account and its state is valid in a bridged Mina state is one of the basic components of a Mina to Ethereum bridge, as it not only allows to validate account data but also the state of a [zkApp](https://docs.minaprotocol.com/zkapps/writing-a-zkapp) tracked by this account (see [zkApp Account](https://docs.minaprotocol.com/glossary#zkapp-account)), which leverages zk-SNARKs to verify (optionally private) off-chain computation on the Mina blockchain. +Verifying that some account and its state is valid in a bridged Mina state is one of the basic components of a Mina to Ethereum bridge, as it not only allows to validate account data but also the state of a [zkApp](https://docs.minaprotocol.com/zkapps/writing-a-zkapp) tracked by this account (see [zkApp Account](https://docs.minaprotocol.com/glossary#zkapp-account)), which leverages zk-SNARKs to verify (optionally private) off-chain computation on the Mina blockchain. Account verification (paired with state verification) essentially allows to verify off-chain computation on Ethereum, after it has been validated by Mina. 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/MinaAccountValidation.json b/core/abi/MinaAccountValidation.json index 543753fa..6e98cf59 100644 --- a/core/abi/MinaAccountValidation.json +++ b/core/abi/MinaAccountValidation.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_alignedServiceAddr","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"validateAccount","inputs":[{"name":"args","type":"tuple","internalType":"struct MinaAccountValidation.AlignedArgs","components":[{"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":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"validateAccountAndReturn","inputs":[{"name":"args","type":"tuple","internalType":"struct MinaAccountValidation.AlignedArgs","components":[{"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":[{"name":"","type":"tuple","internalType":"struct MinaAccountValidation.Account","components":[{"name":"publicKey","type":"tuple","internalType":"struct MinaAccountValidation.CompressedECPoint","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"isOdd","type":"bool","internalType":"bool"}]},{"name":"tokenIdKeyHash","type":"bytes32","internalType":"bytes32"},{"name":"tokenSymbol","type":"string","internalType":"string"},{"name":"balance","type":"uint64","internalType":"uint64"},{"name":"nonce","type":"uint32","internalType":"uint32"},{"name":"receiptChainHash","type":"bytes32","internalType":"bytes32"},{"name":"delegate","type":"tuple","internalType":"struct MinaAccountValidation.CompressedECPoint","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"isOdd","type":"bool","internalType":"bool"}]},{"name":"votingFor","type":"bytes32","internalType":"bytes32"},{"name":"timing","type":"tuple","internalType":"struct MinaAccountValidation.Timing","components":[{"name":"initialMinimumBalance","type":"uint64","internalType":"uint64"},{"name":"cliffTime","type":"uint32","internalType":"uint32"},{"name":"cliffAmount","type":"uint64","internalType":"uint64"},{"name":"vestingPeriod","type":"uint32","internalType":"uint32"},{"name":"vestingIncrement","type":"uint64","internalType":"uint64"}]},{"name":"permissions","type":"tuple","internalType":"struct MinaAccountValidation.Permissions","components":[{"name":"editState","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"access","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"send","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"rreceive","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setDelegate","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setPermissions","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setVerificationKeyAuth","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setVerificationKeyUint","type":"uint32","internalType":"uint32"},{"name":"setZkappUri","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"editActionState","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setTokenSymbol","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"incrementNonce","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setVotingFor","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setTiming","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"}]},{"name":"zkapp","type":"tuple","internalType":"struct MinaAccountValidation.ZkappAccount","components":[{"name":"appState","type":"bytes32[8]","internalType":"bytes32[8]"},{"name":"verificationKey","type":"tuple","internalType":"struct MinaAccountValidation.VerificationKey","components":[{"name":"maxProofsVerified","type":"uint8","internalType":"enum MinaAccountValidation.ProofsVerified"},{"name":"actualWrapDomainSize","type":"uint8","internalType":"enum MinaAccountValidation.ProofsVerified"},{"name":"wrapIndex","type":"tuple","internalType":"struct MinaAccountValidation.WrapIndex","components":[{"name":"sigmaComm","type":"tuple[7]","internalType":"struct MinaAccountValidation.Commitment[7]","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"coefficientsComm","type":"tuple[15]","internalType":"struct MinaAccountValidation.Commitment[15]","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"genericComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"psmComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"completeAddComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"mulComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"emulComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"endomulScalarComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]}]}]},{"name":"zkappVersion","type":"uint32","internalType":"uint32"},{"name":"actionState","type":"bytes32[5]","internalType":"bytes32[5]"},{"name":"lastActionSlot","type":"uint32","internalType":"uint32"},{"name":"provedState","type":"bool","internalType":"bool"},{"name":"zkappUri","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"view"},{"type":"error","name":"MinaAccountProvingSystemIdIsNotValid","inputs":[]}],"bytecode":{"object":"0x6080604052348015600f57600080fd5b50604051611582380380611582833981016040819052602c916050565b600080546001600160a01b0319166001600160a01b0392909216919091179055607e565b600060208284031215606157600080fd5b81516001600160a01b0381168114607757600080fd5b9392505050565b6114f58061008d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80639029ad151461003b578063c647871314610063575b600080fd5b61004e6100493660046105f4565b610083565b60405190151581526020015b60405180910390f35b6100766100713660046105f4565b6101b6565b60405161005a91906109d4565b600060208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a69146100c9576040516343f3ba2360e11b815260040160405180910390fd5b60006100d860c0840184610b06565b6040516100e6929190610b53565b60408051918290039091206000549092506001600160a01b0316906306045a919085359084906020880135906101229060608a01908a01610b63565b606089013561013460808b018b610b06565b60a08c013561014a6101008e0160e08f01610b92565b6040518a63ffffffff1660e01b815260040161016e99989796959493929190610bbb565b602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190610c49565b9392505050565b6101be610326565b60208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a6914610202576040516343f3ba2360e11b815260040160405180910390fd5b600061021160c0840184610b06565b60405161021f929190610b53565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190863590859060208901359061025f9060608b01908b01610b63565b60608a013561027160808c018c610b06565b8c60a001358d60e00160208101906102899190610b92565b6040518a63ffffffff1660e01b81526004016102ad99989796959493929190610bbb565b602060405180830381865afa1580156102ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ee9190610c49565b905080156100365761030360c0850185610b06565b610311916028908290610c66565b81019061031e919061139f565b949350505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e08601859052865190810187528481529283018490529482018390528101829052928301526101008101919091526101208101610429604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161043661043b565b905290565b6040518060e0016040528061044e610488565b815260200161045b6104a7565b81526000602082015260400161046f6104c6565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016104366104e4565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806104f861058f565b81526020016105056105c8565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161059e5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161059e565b60006020828403121561060657600080fd5b81356001600160401b0381111561061c57600080fd5b820161010081850312156101af57600080fd5b6000815180845260005b8181101561065557602081850181015186830182015201610639565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b6005811061069b5761069b610675565b9052565b6106aa82825161068b565b60208101516106bc602084018261068b565b5060408101516106cf604084018261068b565b5060608101516106e2606084018261068b565b5060808101516106f5608084018261068b565b5060a081015161070860a084018261068b565b5060c081015161071b60c084018261068b565b5060e081015161073360e084018263ffffffff169052565b50610100808201516107478285018261068b565b50506101208082015161075c8285018261068b565b5050610140808201516107718285018261068b565b5050610160808201516107868285018261068b565b50506101808082015161079b8285018261068b565b50506101a0808201516107b08285018261068b565b50505050565b6003811061069b5761069b610675565b8060005b600f8110156107b0576107e884835180518252602090810151910152565b60409390930192602091909101906001016107ca565b6108098282516107b6565b60208082015161081c60208501826107b6565b50604082810151805160008684015b600782101561085b5761084981845180518252602090810151910152565b9185019160019190910190840161082b565b505050602081015192506108736102008601846107c6565b604081015180516105c08701526020908101516105e0870152606082015180516106008801528101516106208701526080820151805161064088015281015161066087015260a082015180516106808801528101516106a087015260c082015180516106c08801528101516106e087015260e09091015180516107008701529081015161072086015291506109059050565b505050565b8060005b60058110156107b057815184526020938401939091019060010161090e565b80516000906109609084835b6008811015610958578251825260209283019290910190600101610939565b505050602083015161096e6101008601826107fe565b50604083015163ffffffff16610840850152606083015161099361086086018261090a565b50608083015163ffffffff1661090085015260a0830151151561092085015260c083015161094085018290526109cb8286018261062f565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a126103e085018361062f565b91506060850151610a2e60a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610a6b81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610ae061020088018461069f565b870151868503601f1901848801529150610afc9050838261092d565b9695505050505050565b6000808335601e19843603018112610b1d57600080fd5b8301803591506001600160401b03821115610b3757600080fd5b602001915036819003821315610b4c57600080fd5b9250929050565b8183823760009101908152919050565b600060208284031215610b7557600080fd5b81356bffffffffffffffffffffffff19811681146101af57600080fd5b600060208284031215610ba457600080fd5b81356001600160a01b03811681146101af57600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610c4657600080fd5b50565b600060208284031215610c5b57600080fd5b81516101af81610c38565b60008085851115610c7657600080fd5b83861115610c8357600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610cc857610cc8610c90565b60405290565b6040516101c081016001600160401b0381118282101715610cc857610cc8610c90565b604051606081016001600160401b0381118282101715610cc857610cc8610c90565b60405161010081016001600160401b0381118282101715610cc857610cc8610c90565b60405160e081016001600160401b0381118282101715610cc857610cc8610c90565b60405161016081016001600160401b0381118282101715610cc857610cc8610c90565b8035610d8681610c38565b919050565b600060408284031215610d9d57600080fd5b610da5610ca6565b9050813581526020820135610db981610c38565b602082015292915050565b600082601f830112610dd557600080fd5b81356001600160401b0380821115610def57610def610c90565b604051601f8301601f19908116603f01168101908282118183101715610e1757610e17610c90565b81604052838152866020858801011115610e3057600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610d8657600080fd5b803563ffffffff81168114610d8657600080fd5b600060a08284031215610e8d57600080fd5b60405160a081018181106001600160401b0382111715610eaf57610eaf610c90565b604052905080610ebe83610e50565b8152610ecc60208401610e67565b6020820152610edd60408401610e50565b6040820152610eee60608401610e67565b6060820152610eff60808401610e50565b60808201525092915050565b803560058110610d8657600080fd5b60006101c08284031215610f2d57600080fd5b610f35610cce565b9050610f4082610f0b565b8152610f4e60208301610f0b565b6020820152610f5f60408301610f0b565b6040820152610f7060608301610f0b565b6060820152610f8160808301610f0b565b6080820152610f9260a08301610f0b565b60a0820152610fa360c08301610f0b565b60c0820152610fb460e08301610e67565b60e0820152610100610fc7818401610f0b565b90820152610120610fd9838201610f0b565b90820152610140610feb838201610f0b565b90820152610160610ffd838201610f0b565b9082015261018061100f838201610f0b565b908201526101a0611021838201610f0b565b9082015292915050565b600082601f83011261103c57600080fd5b611044610d13565b8061010084018581111561105757600080fd5b845b81811015611071578035845260209384019301611059565b509095945050505050565b803560038110610d8657600080fd5b60006040828403121561109d57600080fd5b6110a5610ca6565b9050813581526020820135602082015292915050565b600082601f8301126110cc57600080fd5b6110d4610d36565b806101c08401858111156110e757600080fd5b845b81811015611071576110fb878261108b565b84526020909301926040016110e9565b600082601f83011261111c57600080fd5b604080516101e081018181106001600160401b038211171561114057611140610c90565b604052806103c085018681111561115657600080fd5b855b818110156111795761116a888261108b565b83526020909201918401611158565b50919695505050505050565b600081830361074081121561119957600080fd5b6111a1610cf1565b91506111ac8361107c565b82526111ba6020840161107c565b602083015261070080603f19830112156111d357600080fd5b6111db610d13565b91506111ea85604086016110bb565b82526111fa85610200860161110b565b602083015261120d856105c0860161108b565b604083015261122085610600860161108b565b606083015261123385610640860161108b565b608083015261124685610680860161108b565b60a0830152611259856106c0860161108b565b60c083015261126a8582860161108b565b60e083015250604082015292915050565b600082601f83011261128c57600080fd5b60405160a081018181106001600160401b03821117156112ae576112ae610c90565b6040528060a08401858111156112c357600080fd5b845b818110156112dd5780358352602092830192016112c5565b509195945050505050565b600061096082840312156112fb57600080fd5b611303610d36565b905061130f838361102b565b815261131f836101008401611185565b60208201526113316108408301610e67565b604082015261134483610860840161127b565b60608201526113566109008301610e67565b60808201526113686109208301610d7b565b60a08201526109408201356001600160401b0381111561138757600080fd5b61139384828501610dc4565b60c08301525092915050565b6000602082840312156113b157600080fd5b81356001600160401b03808211156113c857600080fd5b908301906103c082860312156113dd57600080fd5b6113e5610d58565b6113ef8684610d8b565b81526040830135602082015260608301358281111561140d57600080fd5b61141987828601610dc4565b60408301525061142b60808401610e50565b606082015261143c60a08401610e67565b608082015260c083013560a08201526114588660e08501610d8b565b60c08201526101208084013560e083015261014061147888828701610e7b565b61010084015261148c886101e08701610f1a565b828401526103a08501359150838211156114a557600080fd5b6114b1888387016112e8565b90830152509594505050505056fea2646970667358221220e57347658ecfe7abcc6672d7ffeb26559f17fb079c7a17d0c32ba61d80983eb664736f6c63430008190033","sourceMap":"199:4351:38:-:0;;;844:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;903:7;:57;;-1:-1:-1;;;;;;903:57:38;-1:-1:-1;;;;;903:57:38;;;;;;;;;;199:4351;;14:298:40;92:6;145:2;133:9;124:7;120:23;116:32;113:52;;;161:1;158;151:12;113:52;187:16;;-1:-1:-1;;;;;232:31:40;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:40:o;:::-;199:4351:38;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c80639029ad151461003b578063c647871314610063575b600080fd5b61004e6100493660046105f4565b610083565b60405190151581526020015b60405180910390f35b6100766100713660046105f4565b6101b6565b60405161005a91906109d4565b600060208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a69146100c9576040516343f3ba2360e11b815260040160405180910390fd5b60006100d860c0840184610b06565b6040516100e6929190610b53565b60408051918290039091206000549092506001600160a01b0316906306045a919085359084906020880135906101229060608a01908a01610b63565b606089013561013460808b018b610b06565b60a08c013561014a6101008e0160e08f01610b92565b6040518a63ffffffff1660e01b815260040161016e99989796959493929190610bbb565b602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190610c49565b9392505050565b6101be610326565b60208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a6914610202576040516343f3ba2360e11b815260040160405180910390fd5b600061021160c0840184610b06565b60405161021f929190610b53565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190863590859060208901359061025f9060608b01908b01610b63565b60608a013561027160808c018c610b06565b8c60a001358d60e00160208101906102899190610b92565b6040518a63ffffffff1660e01b81526004016102ad99989796959493929190610bbb565b602060405180830381865afa1580156102ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ee9190610c49565b905080156100365761030360c0850185610b06565b610311916028908290610c66565b81019061031e919061139f565b949350505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e08601859052865190810187528481529283018490529482018390528101829052928301526101008101919091526101208101610429604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161043661043b565b905290565b6040518060e0016040528061044e610488565b815260200161045b6104a7565b81526000602082015260400161046f6104c6565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016104366104e4565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806104f861058f565b81526020016105056105c8565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161059e5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161059e565b60006020828403121561060657600080fd5b81356001600160401b0381111561061c57600080fd5b820161010081850312156101af57600080fd5b6000815180845260005b8181101561065557602081850181015186830182015201610639565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b6005811061069b5761069b610675565b9052565b6106aa82825161068b565b60208101516106bc602084018261068b565b5060408101516106cf604084018261068b565b5060608101516106e2606084018261068b565b5060808101516106f5608084018261068b565b5060a081015161070860a084018261068b565b5060c081015161071b60c084018261068b565b5060e081015161073360e084018263ffffffff169052565b50610100808201516107478285018261068b565b50506101208082015161075c8285018261068b565b5050610140808201516107718285018261068b565b5050610160808201516107868285018261068b565b50506101808082015161079b8285018261068b565b50506101a0808201516107b08285018261068b565b50505050565b6003811061069b5761069b610675565b8060005b600f8110156107b0576107e884835180518252602090810151910152565b60409390930192602091909101906001016107ca565b6108098282516107b6565b60208082015161081c60208501826107b6565b50604082810151805160008684015b600782101561085b5761084981845180518252602090810151910152565b9185019160019190910190840161082b565b505050602081015192506108736102008601846107c6565b604081015180516105c08701526020908101516105e0870152606082015180516106008801528101516106208701526080820151805161064088015281015161066087015260a082015180516106808801528101516106a087015260c082015180516106c08801528101516106e087015260e09091015180516107008701529081015161072086015291506109059050565b505050565b8060005b60058110156107b057815184526020938401939091019060010161090e565b80516000906109609084835b6008811015610958578251825260209283019290910190600101610939565b505050602083015161096e6101008601826107fe565b50604083015163ffffffff16610840850152606083015161099361086086018261090a565b50608083015163ffffffff1661090085015260a0830151151561092085015260c083015161094085018290526109cb8286018261062f565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a126103e085018361062f565b91506060850151610a2e60a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610a6b81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610ae061020088018461069f565b870151868503601f1901848801529150610afc9050838261092d565b9695505050505050565b6000808335601e19843603018112610b1d57600080fd5b8301803591506001600160401b03821115610b3757600080fd5b602001915036819003821315610b4c57600080fd5b9250929050565b8183823760009101908152919050565b600060208284031215610b7557600080fd5b81356bffffffffffffffffffffffff19811681146101af57600080fd5b600060208284031215610ba457600080fd5b81356001600160a01b03811681146101af57600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610c4657600080fd5b50565b600060208284031215610c5b57600080fd5b81516101af81610c38565b60008085851115610c7657600080fd5b83861115610c8357600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610cc857610cc8610c90565b60405290565b6040516101c081016001600160401b0381118282101715610cc857610cc8610c90565b604051606081016001600160401b0381118282101715610cc857610cc8610c90565b60405161010081016001600160401b0381118282101715610cc857610cc8610c90565b60405160e081016001600160401b0381118282101715610cc857610cc8610c90565b60405161016081016001600160401b0381118282101715610cc857610cc8610c90565b8035610d8681610c38565b919050565b600060408284031215610d9d57600080fd5b610da5610ca6565b9050813581526020820135610db981610c38565b602082015292915050565b600082601f830112610dd557600080fd5b81356001600160401b0380821115610def57610def610c90565b604051601f8301601f19908116603f01168101908282118183101715610e1757610e17610c90565b81604052838152866020858801011115610e3057600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610d8657600080fd5b803563ffffffff81168114610d8657600080fd5b600060a08284031215610e8d57600080fd5b60405160a081018181106001600160401b0382111715610eaf57610eaf610c90565b604052905080610ebe83610e50565b8152610ecc60208401610e67565b6020820152610edd60408401610e50565b6040820152610eee60608401610e67565b6060820152610eff60808401610e50565b60808201525092915050565b803560058110610d8657600080fd5b60006101c08284031215610f2d57600080fd5b610f35610cce565b9050610f4082610f0b565b8152610f4e60208301610f0b565b6020820152610f5f60408301610f0b565b6040820152610f7060608301610f0b565b6060820152610f8160808301610f0b565b6080820152610f9260a08301610f0b565b60a0820152610fa360c08301610f0b565b60c0820152610fb460e08301610e67565b60e0820152610100610fc7818401610f0b565b90820152610120610fd9838201610f0b565b90820152610140610feb838201610f0b565b90820152610160610ffd838201610f0b565b9082015261018061100f838201610f0b565b908201526101a0611021838201610f0b565b9082015292915050565b600082601f83011261103c57600080fd5b611044610d13565b8061010084018581111561105757600080fd5b845b81811015611071578035845260209384019301611059565b509095945050505050565b803560038110610d8657600080fd5b60006040828403121561109d57600080fd5b6110a5610ca6565b9050813581526020820135602082015292915050565b600082601f8301126110cc57600080fd5b6110d4610d36565b806101c08401858111156110e757600080fd5b845b81811015611071576110fb878261108b565b84526020909301926040016110e9565b600082601f83011261111c57600080fd5b604080516101e081018181106001600160401b038211171561114057611140610c90565b604052806103c085018681111561115657600080fd5b855b818110156111795761116a888261108b565b83526020909201918401611158565b50919695505050505050565b600081830361074081121561119957600080fd5b6111a1610cf1565b91506111ac8361107c565b82526111ba6020840161107c565b602083015261070080603f19830112156111d357600080fd5b6111db610d13565b91506111ea85604086016110bb565b82526111fa85610200860161110b565b602083015261120d856105c0860161108b565b604083015261122085610600860161108b565b606083015261123385610640860161108b565b608083015261124685610680860161108b565b60a0830152611259856106c0860161108b565b60c083015261126a8582860161108b565b60e083015250604082015292915050565b600082601f83011261128c57600080fd5b60405160a081018181106001600160401b03821117156112ae576112ae610c90565b6040528060a08401858111156112c357600080fd5b845b818110156112dd5780358352602092830192016112c5565b509195945050505050565b600061096082840312156112fb57600080fd5b611303610d36565b905061130f838361102b565b815261131f836101008401611185565b60208201526113316108408301610e67565b604082015261134483610860840161127b565b60608201526113566109008301610e67565b60808201526113686109208301610d7b565b60a08201526109408201356001600160401b0381111561138757600080fd5b61139384828501610dc4565b60c08301525092915050565b6000602082840312156113b157600080fd5b81356001600160401b03808211156113c857600080fd5b908301906103c082860312156113dd57600080fd5b6113e5610d58565b6113ef8684610d8b565b81526040830135602082015260608301358281111561140d57600080fd5b61141987828601610dc4565b60408301525061142b60808401610e50565b606082015261143c60a08401610e67565b608082015260c083013560a08201526114588660e08501610d8b565b60c08201526101208084013560e083015261014061147888828701610e7b565b61010084015261148c886101e08701610f1a565b828401526103a08501359150838211156114a557600080fd5b6114b1888387016112e8565b90830152509594505050505056fea2646970667358221220e57347658ecfe7abcc6672d7ffeb26559f17fb079c7a17d0c32ba61d80983eb664736f6c63430008190033","sourceMap":"199:4351:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:655;;;;;;:::i;:::-;;:::i;:::-;;;671:14:40;;664:22;646:41;;634:2;619:18;973:655:38;;;;;;;;1634:841;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;973:655::-;1048:4;1068:35;;;;344:66;1068:61;1064:137;;1152:38;;-1:-1:-1;;;1152:38:38;;;;;;;;;;;1064:137;1211:26;1250:13;;;;:4;:13;:::i;:::-;1240:24;;;;;;;:::i;:::-;;;;;;;;;;;1282:7;;1240:24;;-1:-1:-1;;;;;;1282:7:38;;:28;;1324:20;;;1240:24;;1390:35;;;;;1439:23;;;;;;;;;:::i;:::-;1476:20;;;;1510:16;;;;1476:4;1510:16;:::i;:::-;1540:31;;;;1585:26;;;;;;;;:::i;:::-;1282:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1275:346;973:655;-1:-1:-1;;;973:655:38:o;1634:841::-;1718:14;;:::i;:::-;1748:35;;;;344:66;1748:61;1744:137;;1832:38;;-1:-1:-1;;;1832:38:38;;;;;;;;;;;1744:137;1891:26;1930:13;;;;:4;:13;:::i;:::-;1920:24;;;;;;;:::i;:::-;;;;;;;;;;;1955:22;1980:7;;1920:24;;-1:-1:-1;1955:22:38;-1:-1:-1;;;;;1980:7:38;;;;:28;;2022:20;;;1920:24;;2088:35;;;;;2137:23;;;;;;;;;:::i;:::-;2174:20;;;;2208:16;;;;2174:4;2208:16;:::i;:::-;2238:4;:31;;;2283:4;:26;;;;;;;;;;:::i;:::-;1980:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1955:364;;2334:17;2330:139;;;2385:13;;;;:4;:13;:::i;:::-;:22;;2399:6;;2385:22;;;:::i;:::-;2374:45;;;;;;;:::i;:::-;2367:52;1634:841;-1:-1:-1;;;;1634:841:38:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:391:40;104:6;157:2;145:9;136:7;132:23;128:32;125:52;;;173:1;170;163:12;125:52;213:9;200:23;-1:-1:-1;;;;;238:6:40;235:30;232:50;;;278:1;275;268:12;232:50;301:22;;357:3;339:16;;;335:26;332:46;;;374:1;371;364:12;877:423;919:3;957:5;951:12;984:6;979:3;972:19;1009:1;1019:162;1033:6;1030:1;1027:13;1019:162;;;1095:4;1151:13;;;1147:22;;1141:29;1123:11;;;1119:20;;1112:59;1048:12;1019:162;;;1023:3;1226:1;1219:4;1210:6;1205:3;1201:16;1197:27;1190:38;1289:4;1282:2;1278:7;1273:2;1265:6;1261:15;1257:29;1252:3;1248:39;1244:50;1237:57;;;877:423;;;;:::o;1983:127::-;2044:10;2039:3;2035:20;2032:1;2025:31;2075:4;2072:1;2065:15;2099:4;2096:1;2089:15;2115:143;2199:1;2192:5;2189:12;2179:46;;2205:18;;:::i;:::-;2234;;2115:143::o;2263:1834::-;2328:47;2371:3;2363:5;2357:12;2328:47;:::i;:::-;2421:4;2414:5;2410:16;2404:23;2436:58;2488:4;2483:3;2479:14;2465:12;2436:58;:::i;:::-;;2542:4;2535:5;2531:16;2525:23;2557:60;2611:4;2606:3;2602:14;2586;2557:60;:::i;:::-;;2665:4;2658:5;2654:16;2648:23;2680:60;2734:4;2729:3;2725:14;2709;2680:60;:::i;:::-;;2788:4;2781:5;2777:16;2771:23;2803:60;2857:4;2852:3;2848:14;2832;2803:60;:::i;:::-;;2911:4;2904:5;2900:16;2894:23;2926:60;2980:4;2975:3;2971:14;2955;2926:60;:::i;:::-;;3034:4;3027:5;3023:16;3017:23;3049:60;3103:4;3098:3;3094:14;3078;3049:60;:::i;:::-;;3157:4;3150:5;3146:16;3140:23;3172:49;3215:4;3210:3;3206:14;3190;1488:10;1477:22;1465:35;;1412:94;3172:49;;3240:6;3294:2;3287:5;3283:14;3277:21;3307:58;3361:2;3356:3;3352:12;3336:14;3307:58;:::i;:::-;;;3384:6;3438:2;3431:5;3427:14;3421:21;3451:58;3505:2;3500:3;3496:12;3480:14;3451:58;:::i;:::-;;;3528:6;3582:2;3575:5;3571:14;3565:21;3595:58;3649:2;3644:3;3640:12;3624:14;3595:58;:::i;:::-;;;3672:6;3727:2;3720:5;3716:14;3710:21;3740:59;3795:2;3790:3;3786:12;3769:15;3740:59;:::i;:::-;;;3818:6;3873:2;3866:5;3862:14;3856:21;3886:59;3941:2;3936:3;3932:12;3915:15;3886:59;:::i;:::-;;;3964:6;4019:2;4012:5;4008:14;4002:21;4032:59;4087:2;4082:3;4078:12;4061:15;4032:59;:::i;:::-;;;2263:1834;;:::o;4102:145::-;4188:1;4181:5;4178:12;4168:46;;4194:18;;:::i;4408:335::-;4511:5;4534:1;4544:193;4558:4;4555:1;4552:11;4544:193;;;4605:48;4649:3;4640:6;4634:13;4328:12;;4316:25;;4390:4;4379:16;;;4373:23;4357:14;;4350:47;4252:151;4605:48;4682:4;4673:14;;;;;4722:4;4710:17;;;;;4578:1;4571:9;4544:193;;4748:1639;4817:49;4862:3;4854:5;4848:12;4817:49;:::i;:::-;4885:4;4935;4928:5;4924:16;4918:23;4950:60;5004:4;4999:3;4995:14;4981:12;4950:60;:::i;:::-;-1:-1:-1;5029:4:40;5070:16;;;5064:23;5139:21;;5247:1;5106:14;;;5257:195;5271:4;5268:1;5265:11;5257:195;;;5318:50;5362:5;5353:6;5347:13;4328:12;;4316:25;;4390:4;4379:16;;;4373:23;4357:14;;4350:47;4252:151;5318:50;5427:15;;;;5291:1;5284:9;;;;;5390:14;;5257:195;;;5261:3;;;5509:4;5493:14;5489:25;5483:32;5461:54;;5524:65;5584:3;5579;5575:13;5559:14;5524:65;:::i;:::-;5646:4;5626:25;;5620:32;4328:12;;5715:4;5706:14;;4316:25;4390:4;4379:16;;;4373:23;4357:14;;;4350:47;5778:4;5758:25;;5752:32;4328:12;;5847:4;5838:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;5910:4;5890:25;;5884:32;4328:12;;5979:4;5970:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;6042:4;6022:25;;6016:32;4328:12;;6111:4;6102:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;6174:4;6154:25;;6148:32;4328:12;;6243:4;6234:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;6306:4;6286:25;;;6280:32;4328:12;;6375:4;6366:14;;4316:25;4379:16;;;4373:23;4357:14;;;4350:47;6280:32;-1:-1:-1;6321:60:40;;-1:-1:-1;4252:151:40;6321:60;;4748:1639;;:::o;6392:326::-;6485:5;6508:1;6518:194;6532:4;6529:1;6526:11;6518:194;;;6591:13;;6579:26;;6628:4;6652:12;;;;6687:15;;;;6552:1;6545:9;6518:194;;6723:1166;6831:12;;6778:3;;6806:6;;6865:3;6778;6942:200;6956:4;6953:1;6950:11;6942:200;;;7017:13;;7003:28;;7054:4;7117:15;;;;7080:14;;;;6976:1;6969:9;6942:200;;;6946:3;;;7188:4;7181:5;7177:16;7171:23;7203:65;7260:6;7255:3;7251:16;7237:12;7203:65;:::i;:::-;-1:-1:-1;7316:4:40;7305:16;;7299:23;1488:10;1477:22;7374:6;7365:16;;1465:35;7430:4;7419:16;;7413:23;7445:58;7495:6;7486:16;;7413:23;7445:58;:::i;:::-;-1:-1:-1;7551:4:40;7540:16;;7534:23;1488:10;1477:22;7609:6;7600:16;;1465:35;7665:4;7654:16;;7648:23;480:13;473:21;7721:6;7712:16;;461:34;7777:4;7766:16;;7760:23;7808:6;7799:16;;7792:28;;;7836:47;7870:12;;;7760:23;7836:47;:::i;:::-;7829:54;6723:1166;-1:-1:-1;;;;;6723:1166:40:o;7894:1524::-;8073:2;8055:21;;;8121:13;;781:12;;8136:18;;;769:25;846:16;840:23;833:31;826:39;810:14;;;803:63;8209:2;8201:6;8197:15;8191:22;8186:2;8175:9;8171:18;8164:50;8036:4;8261;8253:6;8249:17;8243:24;8286:6;8329:2;8323:3;8312:9;8308:19;8301:31;8355:52;8402:3;8391:9;8387:19;8373:12;8355:52;:::i;:::-;8341:66;;8456:2;8448:6;8444:15;8438:22;8469:54;8518:3;8507:9;8503:19;8487:14;-1:-1:-1;;;;;1370:30:40;1358:43;;1305:102;8469:54;-1:-1:-1;8572:3:40;8560:16;;8554:23;1488:10;1477:22;;8635:3;8620:19;;1465:35;8586:54;8695:3;8687:6;8683:16;8677:23;8671:3;8660:9;8656:19;8649:52;8750:3;8742:6;8738:16;8732:23;8774:3;8786:71;8853:2;8842:9;8838:18;8822:14;781:12;;769:25;;857:4;846:16;;;840:23;833:31;826:39;810:14;;803:63;698:174;8786:71;8894:3;8882:16;;8876:23;8918:3;8937:18;;;8930:30;;;;8997:15;;;8991:22;1624:12;;-1:-1:-1;;;;;1620:21:40;;;9078:3;9063:19;;1608:34;1688:4;1677:16;;1671:23;1713:10;1755:21;;;1739:14;;;1732:45;1830:4;1819:16;;1813:23;1809:32;;1793:14;;;1786:56;1895:4;1884:16;;1878:23;1874:32;1858:14;;;1851:56;1960:4;1949:16;;;1943:23;1939:32;1923:14;;;1916:56;9132:6;9120:19;;9114:26;;-1:-1:-1;9149:66:40;9210:3;9195:19;;9114:26;9149:66;:::i;:::-;9252:15;;9246:22;9308;;;-1:-1:-1;;9304:36:40;9284:18;;;9277:64;9246:22;-1:-1:-1;9358:54:40;;-1:-1:-1;9312:6:40;9246:22;9358:54;:::i;:::-;9350:62;7894:1524;-1:-1:-1;;;;;;7894:1524:40:o;9423:521::-;9500:4;9506:6;9566:11;9553:25;9660:2;9656:7;9645:8;9629:14;9625:29;9621:43;9601:18;9597:68;9587:96;;9679:1;9676;9669:12;9587:96;9706:33;;9758:20;;;-1:-1:-1;;;;;;9790:30:40;;9787:50;;;9833:1;9830;9823:12;9787:50;9866:4;9854:17;;-1:-1:-1;9897:14:40;9893:27;;;9883:38;;9880:58;;;9934:1;9931;9924:12;9880:58;9423:521;;;;;:::o;9949:271::-;10132:6;10124;10119:3;10106:33;10088:3;10158:16;;10183:13;;;10158:16;9949:271;-1:-1:-1;9949:271:40:o;10225:298::-;10284:6;10337:2;10325:9;10316:7;10312:23;10308:32;10305:52;;;10353:1;10350;10343:12;10305:52;10379:23;;-1:-1:-1;;10431:43:40;;10421:54;;10411:82;;10489:1;10486;10479:12;10528:286;10587:6;10640:2;10628:9;10619:7;10615:23;10611:32;10608:52;;;10656:1;10653;10646:12;10608:52;10682:23;;-1:-1:-1;;;;;10734:31:40;;10724:42;;10714:70;;10780:1;10777;10770:12;10819:997;11135:4;11164:3;11194:6;11183:9;11176:25;11237:6;11232:2;11221:9;11217:18;11210:34;11280:6;11275:2;11264:9;11260:18;11253:34;11339:26;11335:31;11327:6;11323:44;11318:2;11307:9;11303:18;11296:72;11405:6;11399:3;11388:9;11384:19;11377:35;11449:2;11443:3;11432:9;11428:19;11421:31;11488:6;11483:2;11472:9;11468:18;11461:34;;11514:3;11567:6;11559;11554:2;11543:9;11539:18;11526:48;11623:1;11594:22;;;11590:31;;11583:42;11727:3;11712:19;;11705:35;;;;-1:-1:-1;;;;;;11777:32:40;;;;11771:3;11756:19;;11749:61;11686:2;11665:15;;;-1:-1:-1;;11661:29:40;11646:45;;;11642:54;;10819:997;-1:-1:-1;;;;;;10819:997:40:o;11821:118::-;11907:5;11900:13;11893:21;11886:5;11883:32;11873:60;;11929:1;11926;11919:12;11873:60;11821:118;:::o;11944:245::-;12011:6;12064:2;12052:9;12043:7;12039:23;12035:32;12032:52;;;12080:1;12077;12070:12;12032:52;12112:9;12106:16;12131:28;12153:5;12131:28;:::i;12194:331::-;12299:9;12310;12352:8;12340:10;12337:24;12334:44;;;12374:1;12371;12364:12;12334:44;12403:6;12393:8;12390:20;12387:40;;;12423:1;12420;12413:12;12387:40;-1:-1:-1;;12449:23:40;;;12494:25;;;;;-1:-1:-1;12194:331:40:o;12530:127::-;12591:10;12586:3;12582:20;12579:1;12572:31;12622:4;12619:1;12612:15;12646:4;12643:1;12636:15;12662:257;12734:4;12728:11;;;12766:17;;-1:-1:-1;;;;;12798:34:40;;12834:22;;;12795:62;12792:88;;;12860:18;;:::i;:::-;12896:4;12889:24;12662:257;:::o;12924:255::-;12996:2;12990:9;13038:6;13026:19;;-1:-1:-1;;;;;13060:34:40;;13096:22;;;13057:62;13054:88;;;13122:18;;:::i;13184:253::-;13256:2;13250:9;13298:4;13286:17;;-1:-1:-1;;;;;13318:34:40;;13354:22;;;13315:62;13312:88;;;13380:18;;:::i;13442:255::-;13514:2;13508:9;13556:6;13544:19;;-1:-1:-1;;;;;13578:34:40;;13614:22;;;13575:62;13572:88;;;13640:18;;:::i;13702:253::-;13774:2;13768:9;13816:4;13804:17;;-1:-1:-1;;;;;13836:34:40;;13872:22;;;13833:62;13830:88;;;13898:18;;:::i;13960:250::-;14027:2;14021:9;14069:6;14057:19;;-1:-1:-1;;;;;14091:34:40;;14127:22;;;14088:62;14085:88;;;14153:18;;:::i;14215:128::-;14280:20;;14309:28;14280:20;14309:28;:::i;:::-;14215:128;;;:::o;14348:362::-;14412:5;14460:4;14448:9;14443:3;14439:19;14435:30;14432:50;;;14478:1;14475;14468:12;14432:50;14500:22;;:::i;:::-;14491:31;;14558:9;14545:23;14538:5;14531:38;14621:2;14610:9;14606:18;14593:32;14634:30;14656:7;14634:30;:::i;:::-;14691:2;14680:14;;14673:31;14684:5;14348:362;-1:-1:-1;;14348:362:40:o;14715:719::-;14758:5;14811:3;14804:4;14796:6;14792:17;14788:27;14778:55;;14829:1;14826;14819:12;14778:55;14865:6;14852:20;-1:-1:-1;;;;;14928:2:40;14924;14921:10;14918:36;;;14934:18;;:::i;:::-;15009:2;15003:9;14977:2;15063:13;;-1:-1:-1;;15059:22:40;;;15083:2;15055:31;15051:40;15039:53;;;15107:18;;;15127:22;;;15104:46;15101:72;;;15153:18;;:::i;:::-;15193:10;15189:2;15182:22;15228:2;15220:6;15213:18;15274:3;15267:4;15262:2;15254:6;15250:15;15246:26;15243:35;15240:55;;;15291:1;15288;15281:12;15240:55;15355:2;15348:4;15340:6;15336:17;15329:4;15321:6;15317:17;15304:54;15402:1;15395:4;15390:2;15382:6;15378:15;15374:26;15367:37;15422:6;15413:15;;;;;;14715:719;;;;:::o;15439:171::-;15506:20;;-1:-1:-1;;;;;15555:30:40;;15545:41;;15535:69;;15600:1;15597;15590:12;15615:163;15682:20;;15742:10;15731:22;;15721:33;;15711:61;;15768:1;15765;15758:12;15783:696;15836:5;15884:4;15872:9;15867:3;15863:19;15859:30;15856:50;;;15902:1;15899;15892:12;15856:50;15935:2;15929:9;15977:4;15969:6;15965:17;16048:6;16036:10;16033:22;-1:-1:-1;;;;;16000:10:40;15997:34;15994:62;15991:88;;;16059:18;;:::i;:::-;16095:2;16088:22;16128:6;-1:-1:-1;16128:6:40;16158:28;16176:9;16158:28;:::i;:::-;16150:6;16143:44;16220:37;16253:2;16242:9;16238:18;16220:37;:::i;:::-;16215:2;16207:6;16203:15;16196:62;16291:37;16324:2;16313:9;16309:18;16291:37;:::i;:::-;16286:2;16278:6;16274:15;16267:62;16362:37;16395:2;16384:9;16380:18;16362:37;:::i;:::-;16357:2;16349:6;16345:15;16338:62;16434:38;16467:3;16456:9;16452:19;16434:38;:::i;:::-;16428:3;16420:6;16416:16;16409:64;;15783:696;;;;:::o;16484:153::-;16562:20;;16611:1;16601:12;;16591:40;;16627:1;16624;16617:12;16642:1421;16700:5;16748:6;16736:9;16731:3;16727:19;16723:32;16720:52;;;16768:1;16765;16758:12;16720:52;16790:22;;:::i;:::-;16781:31;;16835:39;16864:9;16835:39;:::i;:::-;16828:5;16821:54;16907:48;16951:2;16940:9;16936:18;16907:48;:::i;:::-;16902:2;16895:5;16891:14;16884:72;16988:48;17032:2;17021:9;17017:18;16988:48;:::i;:::-;16983:2;16976:5;16972:14;16965:72;17069:48;17113:2;17102:9;17098:18;17069:48;:::i;:::-;17064:2;17057:5;17053:14;17046:72;17151:49;17195:3;17184:9;17180:19;17151:49;:::i;:::-;17145:3;17138:5;17134:15;17127:74;17234:49;17278:3;17267:9;17263:19;17234:49;:::i;:::-;17228:3;17221:5;17217:15;17210:74;17317:49;17361:3;17350:9;17346:19;17317:49;:::i;:::-;17311:3;17304:5;17300:15;17293:74;17400:38;17433:3;17422:9;17418:19;17400:38;:::i;:::-;17394:3;17387:5;17383:15;17376:63;17458:3;17493:48;17537:2;17526:9;17522:18;17493:48;:::i;:::-;17477:14;;;17470:72;17561:3;17596:48;17625:18;;;17596:48;:::i;:::-;17580:14;;;17573:72;17664:3;17699:48;17728:18;;;17699:48;:::i;:::-;17683:14;;;17676:72;17767:3;17802:48;17831:18;;;17802:48;:::i;:::-;17786:14;;;17779:72;17870:3;17905:48;17934:18;;;17905:48;:::i;:::-;17889:14;;;17882:72;17973:3;18008:48;18037:18;;;18008:48;:::i;:::-;17992:14;;;17985:72;17996:5;16642:1421;-1:-1:-1;;16642:1421:40:o;18068:485::-;18118:5;18171:3;18164:4;18156:6;18152:17;18148:27;18138:55;;18189:1;18186;18179:12;18138:55;18213:22;;:::i;:::-;18257:3;18295;18287:6;18283:16;18322:3;18314:6;18311:15;18308:35;;;18339:1;18336;18329:12;18308:35;18363:6;18378:146;18394:6;18389:3;18386:15;18378:146;;;18462:17;;18450:30;;18509:4;18500:14;;;;18411;18378:146;;;-1:-1:-1;18542:5:40;;18068:485;-1:-1:-1;;;;;18068:485:40:o;18558:155::-;18638:20;;18687:1;18677:12;;18667:40;;18703:1;18700;18693:12;18718:285;18775:5;18823:4;18811:9;18806:3;18802:19;18798:30;18795:50;;;18841:1;18838;18831:12;18795:50;18863:22;;:::i;:::-;18854:31;;18921:9;18908:23;18901:5;18894:38;18992:2;18981:9;18977:18;18964:32;18959:2;18952:5;18948:14;18941:56;18718:285;;;;:::o;19008:538::-;19090:5;19143:3;19136:4;19128:6;19124:17;19120:27;19110:55;;19161:1;19158;19151:12;19110:55;19185:22;;:::i;:::-;19229:3;19267;19259:6;19255:16;19294:3;19286:6;19283:15;19280:35;;;19311:1;19308;19301:12;19280:35;19335:6;19350:167;19366:6;19361:3;19358:15;19350:167;;;19434:38;19468:3;19463;19434:38;:::i;:::-;19422:51;;19502:4;19493:14;;;;19392:4;19383:14;19350:167;;19551:698;19611:5;19664:3;19657:4;19649:6;19645:17;19641:27;19631:55;;19682:1;19679;19672:12;19631:55;19705:2;19736;19730:9;19778:3;19770:6;19766:16;19848:6;19836:10;19833:22;-1:-1:-1;;;;;19800:10:40;19797:34;19794:62;19791:88;;;19859:18;;:::i;:::-;19895:2;19888:22;19930:6;19971:3;19959:16;;19987:15;;;19984:35;;;20015:1;20012;20005:12;19984:35;20039:6;20054:165;20070:6;20065:3;20062:15;20054:165;;;20136:38;20170:3;20165;20136:38;:::i;:::-;20124:51;;20204:4;20195:14;;;;20087:12;;20054:165;;;-1:-1:-1;20237:6:40;;19551:698;-1:-1:-1;;;;;;19551:698:40:o;20254:1264::-;20316:5;20355:9;20350:3;20346:19;20385:6;20381:2;20377:15;20374:35;;;20405:1;20402;20395:12;20374:35;20427:22;;:::i;:::-;20418:31;;20472:41;20503:9;20472:41;:::i;:::-;20465:5;20458:56;20546:50;20592:2;20581:9;20577:18;20546:50;:::i;:::-;20541:2;20534:5;20530:14;20523:74;20616:6;20656:2;20650;20646:7;20642:2;20638:16;20634:25;20631:45;;;20672:1;20669;20662:12;20631:45;20700:22;;:::i;:::-;20685:37;;20747:81;20824:3;20819:2;20808:9;20804:18;20747:81;:::i;:::-;20738:7;20731:98;20863:60;20919:3;20913;20902:9;20898:19;20863:60;:::i;:::-;20858:2;20849:7;20845:16;20838:86;20958:55;21009:3;21002:4;20991:9;20987:20;20958:55;:::i;:::-;20953:2;20944:7;20940:16;20933:81;21050:55;21101:3;21094:4;21083:9;21079:20;21050:55;:::i;:::-;21043:4;21034:7;21030:18;21023:83;21142:55;21193:3;21186:4;21175:9;21171:20;21142:55;:::i;:::-;21135:4;21126:7;21122:18;21115:83;21234:55;21285:3;21278:4;21267:9;21263:20;21234:55;:::i;:::-;21227:4;21218:7;21214:18;21207:83;21326:55;21377:3;21370:4;21359:9;21355:20;21326:55;:::i;:::-;21319:4;21310:7;21306:18;21299:83;21418:53;21467:3;21462:2;21451:9;21447:18;21418:53;:::i;:::-;21411:4;21398:18;;21391:81;-1:-1:-1;21499:2:40;21488:14;;21481:31;21492:5;20254:1264;-1:-1:-1;;20254:1264:40:o;21523:659::-;21584:5;21637:3;21630:4;21622:6;21618:17;21614:27;21604:55;;21655:1;21652;21645:12;21604:55;21688:2;21682:9;21730:3;21722:6;21718:16;21800:6;21788:10;21785:22;-1:-1:-1;;;;;21752:10:40;21749:34;21746:62;21743:88;;;21811:18;;:::i;:::-;21847:2;21840:22;21882:6;21923:3;21911:16;;21939:15;;;21936:35;;;21967:1;21964;21957:12;21936:35;21991:6;22006:146;22022:6;22017:3;22014:15;22006:146;;;22090:17;;22078:30;;22137:4;22128:14;;;;22039;22006:146;;;-1:-1:-1;22170:6:40;;21523:659;-1:-1:-1;;;;;21523:659:40:o;22187:849::-;22246:5;22294:6;22282:9;22277:3;22273:19;22269:32;22266:52;;;22314:1;22311;22304:12;22266:52;22336:22;;:::i;:::-;22327:31;;22381:40;22417:3;22406:9;22381:40;:::i;:::-;22374:5;22367:55;22456:59;22511:3;22505;22494:9;22490:19;22456:59;:::i;:::-;22449:4;22442:5;22438:16;22431:85;22550:39;22583:4;22572:9;22568:20;22550:39;:::i;:::-;22543:4;22536:5;22532:16;22525:65;22624:62;22682:3;22675:4;22664:9;22660:20;22624:62;:::i;:::-;22617:4;22610:5;22606:16;22599:88;22721:39;22754:4;22743:9;22739:20;22721:39;:::i;:::-;22714:4;22707:5;22703:16;22696:65;22795:37;22826:4;22815:9;22811:20;22795:37;:::i;:::-;22788:4;22781:5;22777:16;22770:63;22884:4;22873:9;22869:20;22856:34;-1:-1:-1;;;;;22905:6:40;22902:30;22899:50;;;22945:1;22942;22935:12;22899:50;22983:46;23025:3;23016:6;23005:9;23001:22;22983:46;:::i;:::-;22976:4;22969:5;22965:16;22958:72;;22187:849;;;;:::o;23041:1493::-;23125:6;23178:2;23166:9;23157:7;23153:23;23149:32;23146:52;;;23194:1;23191;23184:12;23146:52;23234:9;23221:23;-1:-1:-1;;;;;23304:2:40;23296:6;23293:14;23290:34;;;23320:1;23317;23310:12;23290:34;23343:22;;;;23399:6;23381:16;;;23377:29;23374:49;;;23419:1;23416;23409:12;23374:49;23445:17;;:::i;:::-;23485:48;23525:7;23521:2;23485:48;:::i;:::-;23478:5;23471:63;23587:2;23583;23579:11;23566:25;23561:2;23554:5;23550:14;23543:49;23638:2;23634;23630:11;23617:25;23667:2;23657:8;23654:16;23651:36;;;23683:1;23680;23673:12;23651:36;23719:45;23756:7;23745:8;23741:2;23737:17;23719:45;:::i;:::-;23714:2;23707:5;23703:14;23696:69;;23797:31;23823:3;23819:2;23815:12;23797:31;:::i;:::-;23792:2;23785:5;23781:14;23774:55;23862:31;23888:3;23884:2;23880:12;23862:31;:::i;:::-;23856:3;23849:5;23845:15;23838:56;23948:3;23944:2;23940:12;23927:26;23921:3;23914:5;23910:15;23903:51;23987:58;24037:7;24031:3;24027:2;24023:12;23987:58;:::i;:::-;23981:3;23974:5;23970:15;23963:83;24065:3;24122:2;24118;24114:11;24101:25;24095:3;24088:5;24084:15;24077:50;24146:3;24185:46;24223:7;24218:2;24214;24210:11;24185:46;:::i;:::-;24176:6;24169:5;24165:18;24158:74;24264:52;24308:7;24302:3;24298:2;24294:12;24264:52;:::i;:::-;24259:2;24252:5;24248:14;24241:76;24363:3;24359:2;24355:12;24342:26;24326:42;;24393:2;24383:8;24380:16;24377:36;;;24409:1;24406;24399:12;24377:36;24445:58;24495:7;24484:8;24480:2;24476:17;24445:58;:::i;:::-;24429:14;;;24422:82;-1:-1:-1;24433:5:40;23041:1493;-1:-1:-1;;;;;23041:1493:40:o","linkReferences":{}},"methodIdentifiers":{"validateAccount((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"9029ad15","validateAccountAndReturn((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"c6478713"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"MinaAccountProvingSystemIdIsNotValid\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"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\"}],\"internalType\":\"struct MinaAccountValidation.AlignedArgs\",\"name\":\"args\",\"type\":\"tuple\"}],\"name\":\"validateAccount\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"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\"}],\"internalType\":\"struct MinaAccountValidation.AlignedArgs\",\"name\":\"args\",\"type\":\"tuple\"}],\"name\":\"validateAccountAndReturn\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isOdd\",\"type\":\"bool\"}],\"internalType\":\"struct MinaAccountValidation.CompressedECPoint\",\"name\":\"publicKey\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"tokenIdKeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"balance\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"receiptChainHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isOdd\",\"type\":\"bool\"}],\"internalType\":\"struct MinaAccountValidation.CompressedECPoint\",\"name\":\"delegate\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"votingFor\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"initialMinimumBalance\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"cliffTime\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"cliffAmount\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"vestingPeriod\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"vestingIncrement\",\"type\":\"uint64\"}],\"internalType\":\"struct MinaAccountValidation.Timing\",\"name\":\"timing\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"editState\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"access\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"send\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"rreceive\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setDelegate\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setPermissions\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setVerificationKeyAuth\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"setVerificationKeyUint\",\"type\":\"uint32\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setZkappUri\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"editActionState\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setTokenSymbol\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"incrementNonce\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setVotingFor\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setTiming\",\"type\":\"uint8\"}],\"internalType\":\"struct MinaAccountValidation.Permissions\",\"name\":\"permissions\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32[8]\",\"name\":\"appState\",\"type\":\"bytes32[8]\"},{\"components\":[{\"internalType\":\"enum MinaAccountValidation.ProofsVerified\",\"name\":\"maxProofsVerified\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.ProofsVerified\",\"name\":\"actualWrapDomainSize\",\"type\":\"uint8\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment[7]\",\"name\":\"sigmaComm\",\"type\":\"tuple[7]\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment[15]\",\"name\":\"coefficientsComm\",\"type\":\"tuple[15]\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"genericComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"psmComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"completeAddComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"mulComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"emulComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"endomulScalarComm\",\"type\":\"tuple\"}],\"internalType\":\"struct MinaAccountValidation.WrapIndex\",\"name\":\"wrapIndex\",\"type\":\"tuple\"}],\"internalType\":\"struct MinaAccountValidation.VerificationKey\",\"name\":\"verificationKey\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"zkappVersion\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[5]\",\"name\":\"actionState\",\"type\":\"bytes32[5]\"},{\"internalType\":\"uint32\",\"name\":\"lastActionSlot\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"provedState\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"zkappUri\",\"type\":\"bytes\"}],\"internalType\":\"struct MinaAccountValidation.ZkappAccount\",\"name\":\"zkapp\",\"type\":\"tuple\"}],\"internalType\":\"struct MinaAccountValidation.Account\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaAccountValidation.sol\":\"MinaAccountValidation\"},\"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/MinaAccountValidation.sol\":{\"keccak256\":\"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469\",\"dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"MinaAccountProvingSystemIdIsNotValid"},{"inputs":[{"internalType":"struct MinaAccountValidation.AlignedArgs","name":"args","type":"tuple","components":[{"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":"view","type":"function","name":"validateAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct MinaAccountValidation.AlignedArgs","name":"args","type":"tuple","components":[{"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":"view","type":"function","name":"validateAccountAndReturn","outputs":[{"internalType":"struct MinaAccountValidation.Account","name":"","type":"tuple","components":[{"internalType":"struct MinaAccountValidation.CompressedECPoint","name":"publicKey","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bool","name":"isOdd","type":"bool"}]},{"internalType":"bytes32","name":"tokenIdKeyHash","type":"bytes32"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint64","name":"balance","type":"uint64"},{"internalType":"uint32","name":"nonce","type":"uint32"},{"internalType":"bytes32","name":"receiptChainHash","type":"bytes32"},{"internalType":"struct MinaAccountValidation.CompressedECPoint","name":"delegate","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bool","name":"isOdd","type":"bool"}]},{"internalType":"bytes32","name":"votingFor","type":"bytes32"},{"internalType":"struct MinaAccountValidation.Timing","name":"timing","type":"tuple","components":[{"internalType":"uint64","name":"initialMinimumBalance","type":"uint64"},{"internalType":"uint32","name":"cliffTime","type":"uint32"},{"internalType":"uint64","name":"cliffAmount","type":"uint64"},{"internalType":"uint32","name":"vestingPeriod","type":"uint32"},{"internalType":"uint64","name":"vestingIncrement","type":"uint64"}]},{"internalType":"struct MinaAccountValidation.Permissions","name":"permissions","type":"tuple","components":[{"internalType":"enum MinaAccountValidation.AuthRequired","name":"editState","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"access","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"send","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"rreceive","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setDelegate","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setPermissions","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setVerificationKeyAuth","type":"uint8"},{"internalType":"uint32","name":"setVerificationKeyUint","type":"uint32"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setZkappUri","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"editActionState","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setTokenSymbol","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"incrementNonce","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setVotingFor","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setTiming","type":"uint8"}]},{"internalType":"struct MinaAccountValidation.ZkappAccount","name":"zkapp","type":"tuple","components":[{"internalType":"bytes32[8]","name":"appState","type":"bytes32[8]"},{"internalType":"struct MinaAccountValidation.VerificationKey","name":"verificationKey","type":"tuple","components":[{"internalType":"enum MinaAccountValidation.ProofsVerified","name":"maxProofsVerified","type":"uint8"},{"internalType":"enum MinaAccountValidation.ProofsVerified","name":"actualWrapDomainSize","type":"uint8"},{"internalType":"struct MinaAccountValidation.WrapIndex","name":"wrapIndex","type":"tuple","components":[{"internalType":"struct MinaAccountValidation.Commitment[7]","name":"sigmaComm","type":"tuple[7]","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment[15]","name":"coefficientsComm","type":"tuple[15]","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"genericComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"psmComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"completeAddComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"mulComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"emulComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"endomulScalarComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]}]}]},{"internalType":"uint32","name":"zkappVersion","type":"uint32"},{"internalType":"bytes32[5]","name":"actionState","type":"bytes32[5]"},{"internalType":"uint32","name":"lastActionSlot","type":"uint32"},{"internalType":"bool","name":"provedState","type":"bool"},{"internalType":"bytes","name":"zkappUri","type":"bytes"}]}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"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/MinaAccountValidation.sol":"MinaAccountValidation"},"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/MinaAccountValidation.sol":{"keccak256":"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a","urls":["bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469","dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA"],"license":"UNLICENSED"}},"version":1},"id":38} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_alignedServiceAddr","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"validateAccount","inputs":[{"name":"args","type":"tuple","internalType":"struct MinaAccountValidation.AlignedArgs","components":[{"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":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"validateAccountAndReturn","inputs":[{"name":"args","type":"tuple","internalType":"struct MinaAccountValidation.AlignedArgs","components":[{"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":[{"name":"","type":"tuple","internalType":"struct MinaAccountValidation.Account","components":[{"name":"publicKey","type":"tuple","internalType":"struct MinaAccountValidation.CompressedECPoint","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"isOdd","type":"bool","internalType":"bool"}]},{"name":"tokenIdKeyHash","type":"bytes32","internalType":"bytes32"},{"name":"tokenSymbol","type":"string","internalType":"string"},{"name":"balance","type":"uint64","internalType":"uint64"},{"name":"nonce","type":"uint32","internalType":"uint32"},{"name":"receiptChainHash","type":"bytes32","internalType":"bytes32"},{"name":"delegate","type":"tuple","internalType":"struct MinaAccountValidation.CompressedECPoint","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"isOdd","type":"bool","internalType":"bool"}]},{"name":"votingFor","type":"bytes32","internalType":"bytes32"},{"name":"timing","type":"tuple","internalType":"struct MinaAccountValidation.Timing","components":[{"name":"initialMinimumBalance","type":"uint64","internalType":"uint64"},{"name":"cliffTime","type":"uint32","internalType":"uint32"},{"name":"cliffAmount","type":"uint64","internalType":"uint64"},{"name":"vestingPeriod","type":"uint32","internalType":"uint32"},{"name":"vestingIncrement","type":"uint64","internalType":"uint64"}]},{"name":"permissions","type":"tuple","internalType":"struct MinaAccountValidation.Permissions","components":[{"name":"editState","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"access","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"send","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"rreceive","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setDelegate","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setPermissions","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setVerificationKeyAuth","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setVerificationKeyUint","type":"uint32","internalType":"uint32"},{"name":"setZkappUri","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"editActionState","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setTokenSymbol","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"incrementNonce","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setVotingFor","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"},{"name":"setTiming","type":"uint8","internalType":"enum MinaAccountValidation.AuthRequired"}]},{"name":"zkapp","type":"tuple","internalType":"struct MinaAccountValidation.ZkappAccount","components":[{"name":"appState","type":"bytes32[8]","internalType":"bytes32[8]"},{"name":"verificationKey","type":"tuple","internalType":"struct MinaAccountValidation.VerificationKey","components":[{"name":"maxProofsVerified","type":"uint8","internalType":"enum MinaAccountValidation.ProofsVerified"},{"name":"actualWrapDomainSize","type":"uint8","internalType":"enum MinaAccountValidation.ProofsVerified"},{"name":"wrapIndex","type":"tuple","internalType":"struct MinaAccountValidation.WrapIndex","components":[{"name":"sigmaComm","type":"tuple[7]","internalType":"struct MinaAccountValidation.Commitment[7]","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"coefficientsComm","type":"tuple[15]","internalType":"struct MinaAccountValidation.Commitment[15]","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"genericComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"psmComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"completeAddComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"mulComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"emulComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]},{"name":"endomulScalarComm","type":"tuple","internalType":"struct MinaAccountValidation.Commitment","components":[{"name":"x","type":"bytes32","internalType":"bytes32"},{"name":"y","type":"bytes32","internalType":"bytes32"}]}]}]},{"name":"zkappVersion","type":"uint32","internalType":"uint32"},{"name":"actionState","type":"bytes32[5]","internalType":"bytes32[5]"},{"name":"lastActionSlot","type":"uint32","internalType":"uint32"},{"name":"provedState","type":"bool","internalType":"bool"},{"name":"zkappUri","type":"bytes","internalType":"bytes"}]}]}],"stateMutability":"view"},{"type":"error","name":"MinaAccountProvingSystemIdIsNotValid","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161157b38038061157b83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6114e8806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80639029ad151461003b578063c647871314610063575b600080fd5b61004e6100493660046105f4565b610083565b60405190151581526020015b60405180910390f35b6100766100713660046105f4565b6101b6565b60405161005a91906109c8565b600060208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a69146100c9576040516343f3ba2360e11b815260040160405180910390fd5b60006100d860c0840184610afa565b6040516100e6929190610b47565b60408051918290039091206000549092506001600160a01b0316906306045a919085359084906020880135906101229060608a01908a01610b57565b606089013561013460808b018b610afa565b60a08c013561014a6101008e0160e08f01610b86565b6040518a63ffffffff1660e01b815260040161016e99989796959493929190610baf565b602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190610c3d565b9392505050565b6101be610326565b60208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a6914610202576040516343f3ba2360e11b815260040160405180910390fd5b600061021160c0840184610afa565b60405161021f929190610b47565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190863590859060208901359061025f9060608b01908b01610b57565b60608a013561027160808c018c610afa565b8c60a001358d60e00160208101906102899190610b86565b6040518a63ffffffff1660e01b81526004016102ad99989796959493929190610baf565b602060405180830381865afa1580156102ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ee9190610c3d565b905080156100365761030360c0850185610afa565b610311916028908290610c5a565b81019061031e9190611392565b949350505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e08601859052865190810187528481529283018490529482018390528101829052928301526101008101919091526101208101610429604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161043661043b565b905290565b6040518060e0016040528061044e610488565b815260200161045b6104a7565b81526000602082015260400161046f6104c6565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016104366104e4565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806104f861058f565b81526020016105056105c8565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161059e5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161059e565b60006020828403121561060657600080fd5b81356001600160401b0381111561061c57600080fd5b820161010081850312156101af57600080fd5b6000815180845260005b8181101561065557602081850181015186830182015201610639565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b6005811061069b5761069b610675565b9052565b6106aa82825161068b565b60208101516106bc602084018261068b565b5060408101516106cf604084018261068b565b5060608101516106e2606084018261068b565b5060808101516106f5608084018261068b565b5060a081015161070860a084018261068b565b5060c081015161071b60c084018261068b565b5060e081015161073360e084018263ffffffff169052565b50610100808201516107478285018261068b565b50506101208082015161075c8285018261068b565b5050610140808201516107718285018261068b565b5050610160808201516107868285018261068b565b50506101808082015161079b8285018261068b565b50506101a0808201516107b08285018261068b565b50505050565b6003811061069b5761069b610675565b8060005b600f8110156107b0576107e884835180518252602090810151910152565b60409390930192602091909101906001016107ca565b6108098282516107b6565b60208082015161081b828501826107b6565b50604082810151805160008684015b600782101561085a5761084881845180518252602090810151910152565b9185019160019190910190840161082a565b50505091820151916108706102008601846107c6565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b60058110156107b0578151845260209384019390910190600101610902565b80516000906109609084835b600881101561094c57825182526020928301929091019060010161092d565b50505060208301516109626101008601826107fe565b50604083015163ffffffff1661084085015260608301516109876108608601826108fe565b50608083015163ffffffff1661090085015260a0830151151561092085015260c083015161094085018290526109bf8286018261062f565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a066103e085018361062f565b91506060850151610a2260a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610a5f81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610ad461020088018461069f565b870151868503601f1901848801529150610af090508382610921565b9695505050505050565b6000808335601e19843603018112610b1157600080fd5b8301803591506001600160401b03821115610b2b57600080fd5b602001915036819003821315610b4057600080fd5b9250929050565b8183823760009101908152919050565b600060208284031215610b6957600080fd5b81356bffffffffffffffffffffffff19811681146101af57600080fd5b600060208284031215610b9857600080fd5b81356001600160a01b03811681146101af57600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610c3a57600080fd5b50565b600060208284031215610c4f57600080fd5b81516101af81610c2c565b60008085851115610c6a57600080fd5b83861115610c7757600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610cbc57610cbc610c84565b60405290565b6040516101c081016001600160401b0381118282101715610cbc57610cbc610c84565b604051606081016001600160401b0381118282101715610cbc57610cbc610c84565b60405161010081016001600160401b0381118282101715610cbc57610cbc610c84565b60405160e081016001600160401b0381118282101715610cbc57610cbc610c84565b60405161016081016001600160401b0381118282101715610cbc57610cbc610c84565b8035610d7a81610c2c565b919050565b600060408284031215610d9157600080fd5b610d99610c9a565b9050813581526020820135610dad81610c2c565b602082015292915050565b600082601f830112610dc957600080fd5b81356001600160401b0380821115610de357610de3610c84565b604051601f8301601f19908116603f01168101908282118183101715610e0b57610e0b610c84565b81604052838152866020858801011115610e2457600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610d7a57600080fd5b803563ffffffff81168114610d7a57600080fd5b600060a08284031215610e8157600080fd5b60405160a081018181106001600160401b0382111715610ea357610ea3610c84565b604052905080610eb283610e44565b8152610ec060208401610e5b565b6020820152610ed160408401610e44565b6040820152610ee260608401610e5b565b6060820152610ef360808401610e44565b60808201525092915050565b803560058110610d7a57600080fd5b60006101c08284031215610f2157600080fd5b610f29610cc2565b9050610f3482610eff565b8152610f4260208301610eff565b6020820152610f5360408301610eff565b6040820152610f6460608301610eff565b6060820152610f7560808301610eff565b6080820152610f8660a08301610eff565b60a0820152610f9760c08301610eff565b60c0820152610fa860e08301610e5b565b60e0820152610100610fbb818401610eff565b90820152610120610fcd838201610eff565b90820152610140610fdf838201610eff565b90820152610160610ff1838201610eff565b90820152610180611003838201610eff565b908201526101a0611015838201610eff565b9082015292915050565b600082601f83011261103057600080fd5b611038610d07565b8061010084018581111561104b57600080fd5b845b8181101561106557803584526020938401930161104d565b509095945050505050565b803560038110610d7a57600080fd5b60006040828403121561109157600080fd5b611099610c9a565b9050813581526020820135602082015292915050565b600082601f8301126110c057600080fd5b6110c8610d2a565b806101c08401858111156110db57600080fd5b845b81811015611065576110ef878261107f565b84526020909301926040016110dd565b600082601f83011261111057600080fd5b604080516101e081018181106001600160401b038211171561113457611134610c84565b8252806103c085018681111561114957600080fd5b855b8181101561116c5761115d888261107f565b8352602090920191840161114b565b50919695505050505050565b600081830361074081121561118c57600080fd5b611194610ce5565b915061119f83611070565b82526111ad60208401611070565b602083015261070080603f19830112156111c657600080fd5b6111ce610d07565b91506111dd85604086016110af565b82526111ed8561020086016110ff565b6020830152611200856105c0860161107f565b604083015261121385610600860161107f565b606083015261122685610640860161107f565b608083015261123985610680860161107f565b60a083015261124c856106c0860161107f565b60c083015261125d8582860161107f565b60e083015250604082015292915050565b600082601f83011261127f57600080fd5b60405160a081018181106001600160401b03821117156112a1576112a1610c84565b6040528060a08401858111156112b657600080fd5b845b818110156112d05780358352602092830192016112b8565b509195945050505050565b600061096082840312156112ee57600080fd5b6112f6610d2a565b9050611302838361101f565b8152611312836101008401611178565b60208201526113246108408301610e5b565b604082015261133783610860840161126e565b60608201526113496109008301610e5b565b608082015261135b6109208301610d6f565b60a08201526109408201356001600160401b0381111561137a57600080fd5b61138684828501610db8565b60c08301525092915050565b6000602082840312156113a457600080fd5b81356001600160401b03808211156113bb57600080fd5b908301906103c082860312156113d057600080fd5b6113d8610d4c565b6113e28684610d7f565b81526040830135602082015260608301358281111561140057600080fd5b61140c87828601610db8565b60408301525061141e60808401610e44565b606082015261142f60a08401610e5b565b608082015260c083013560a082015261144b8660e08501610d7f565b60c08201526101208084013560e083015261014061146b88828701610e6f565b61010084015261147f886101e08701610f0e565b828401526103a085013591508382111561149857600080fd5b6114a4888387016112db565b90830152509594505050505056fea264697066735822122043caced17afc14e16194f9234a758555b6f2e0da83d42eeeef6b17990bf04b8b64736f6c63430008150033","sourceMap":"199:4351:38:-:0;;;844:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;903:7;:57;;-1:-1:-1;;;;;;903:57:38;-1:-1:-1;;;;;903:57:38;;;;;;;;;;199:4351;;14:298:40;92:6;145:2;133:9;124:7;120:23;116:32;113:52;;;161:1;158;151:12;113:52;187:16;;-1:-1:-1;;;;;232:31:40;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:40:o;:::-;199:4351:38;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c80639029ad151461003b578063c647871314610063575b600080fd5b61004e6100493660046105f4565b610083565b60405190151581526020015b60405180910390f35b6100766100713660046105f4565b6101b6565b60405161005a91906109c8565b600060208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a69146100c9576040516343f3ba2360e11b815260040160405180910390fd5b60006100d860c0840184610afa565b6040516100e6929190610b47565b60408051918290039091206000549092506001600160a01b0316906306045a919085359084906020880135906101229060608a01908a01610b57565b606089013561013460808b018b610afa565b60a08c013561014a6101008e0160e08f01610b86565b6040518a63ffffffff1660e01b815260040161016e99989796959493929190610baf565b602060405180830381865afa15801561018b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101af9190610c3d565b9392505050565b6101be610326565b60208201357fd33e25809fcaa2b6900567812852539da8559dc8b76a7ce3fc5ddd77e8d19a6914610202576040516343f3ba2360e11b815260040160405180910390fd5b600061021160c0840184610afa565b60405161021f929190610b47565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190863590859060208901359061025f9060608b01908b01610b57565b60608a013561027160808c018c610afa565b8c60a001358d60e00160208101906102899190610b86565b6040518a63ffffffff1660e01b81526004016102ad99989796959493929190610baf565b602060405180830381865afa1580156102ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ee9190610c3d565b905080156100365761030360c0850185610afa565b610311916028908290610c5a565b81019061031e9190611392565b949350505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e08601859052865190810187528481529283018490529482018390528101829052928301526101008101919091526101208101610429604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161043661043b565b905290565b6040518060e0016040528061044e610488565b815260200161045b6104a7565b81526000602082015260400161046f6104c6565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016104366104e4565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806104f861058f565b81526020016105056105c8565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161059e5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161059e565b60006020828403121561060657600080fd5b81356001600160401b0381111561061c57600080fd5b820161010081850312156101af57600080fd5b6000815180845260005b8181101561065557602081850181015186830182015201610639565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b6005811061069b5761069b610675565b9052565b6106aa82825161068b565b60208101516106bc602084018261068b565b5060408101516106cf604084018261068b565b5060608101516106e2606084018261068b565b5060808101516106f5608084018261068b565b5060a081015161070860a084018261068b565b5060c081015161071b60c084018261068b565b5060e081015161073360e084018263ffffffff169052565b50610100808201516107478285018261068b565b50506101208082015161075c8285018261068b565b5050610140808201516107718285018261068b565b5050610160808201516107868285018261068b565b50506101808082015161079b8285018261068b565b50506101a0808201516107b08285018261068b565b50505050565b6003811061069b5761069b610675565b8060005b600f8110156107b0576107e884835180518252602090810151910152565b60409390930192602091909101906001016107ca565b6108098282516107b6565b60208082015161081b828501826107b6565b50604082810151805160008684015b600782101561085a5761084881845180518252602090810151910152565b9185019160019190910190840161082a565b50505091820151916108706102008601846107c6565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b60058110156107b0578151845260209384019390910190600101610902565b80516000906109609084835b600881101561094c57825182526020928301929091019060010161092d565b50505060208301516109626101008601826107fe565b50604083015163ffffffff1661084085015260608301516109876108608601826108fe565b50608083015163ffffffff1661090085015260a0830151151561092085015260c083015161094085018290526109bf8286018261062f565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a066103e085018361062f565b91506060850151610a2260a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610a5f81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610ad461020088018461069f565b870151868503601f1901848801529150610af090508382610921565b9695505050505050565b6000808335601e19843603018112610b1157600080fd5b8301803591506001600160401b03821115610b2b57600080fd5b602001915036819003821315610b4057600080fd5b9250929050565b8183823760009101908152919050565b600060208284031215610b6957600080fd5b81356bffffffffffffffffffffffff19811681146101af57600080fd5b600060208284031215610b9857600080fd5b81356001600160a01b03811681146101af57600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610c3a57600080fd5b50565b600060208284031215610c4f57600080fd5b81516101af81610c2c565b60008085851115610c6a57600080fd5b83861115610c7757600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610cbc57610cbc610c84565b60405290565b6040516101c081016001600160401b0381118282101715610cbc57610cbc610c84565b604051606081016001600160401b0381118282101715610cbc57610cbc610c84565b60405161010081016001600160401b0381118282101715610cbc57610cbc610c84565b60405160e081016001600160401b0381118282101715610cbc57610cbc610c84565b60405161016081016001600160401b0381118282101715610cbc57610cbc610c84565b8035610d7a81610c2c565b919050565b600060408284031215610d9157600080fd5b610d99610c9a565b9050813581526020820135610dad81610c2c565b602082015292915050565b600082601f830112610dc957600080fd5b81356001600160401b0380821115610de357610de3610c84565b604051601f8301601f19908116603f01168101908282118183101715610e0b57610e0b610c84565b81604052838152866020858801011115610e2457600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610d7a57600080fd5b803563ffffffff81168114610d7a57600080fd5b600060a08284031215610e8157600080fd5b60405160a081018181106001600160401b0382111715610ea357610ea3610c84565b604052905080610eb283610e44565b8152610ec060208401610e5b565b6020820152610ed160408401610e44565b6040820152610ee260608401610e5b565b6060820152610ef360808401610e44565b60808201525092915050565b803560058110610d7a57600080fd5b60006101c08284031215610f2157600080fd5b610f29610cc2565b9050610f3482610eff565b8152610f4260208301610eff565b6020820152610f5360408301610eff565b6040820152610f6460608301610eff565b6060820152610f7560808301610eff565b6080820152610f8660a08301610eff565b60a0820152610f9760c08301610eff565b60c0820152610fa860e08301610e5b565b60e0820152610100610fbb818401610eff565b90820152610120610fcd838201610eff565b90820152610140610fdf838201610eff565b90820152610160610ff1838201610eff565b90820152610180611003838201610eff565b908201526101a0611015838201610eff565b9082015292915050565b600082601f83011261103057600080fd5b611038610d07565b8061010084018581111561104b57600080fd5b845b8181101561106557803584526020938401930161104d565b509095945050505050565b803560038110610d7a57600080fd5b60006040828403121561109157600080fd5b611099610c9a565b9050813581526020820135602082015292915050565b600082601f8301126110c057600080fd5b6110c8610d2a565b806101c08401858111156110db57600080fd5b845b81811015611065576110ef878261107f565b84526020909301926040016110dd565b600082601f83011261111057600080fd5b604080516101e081018181106001600160401b038211171561113457611134610c84565b8252806103c085018681111561114957600080fd5b855b8181101561116c5761115d888261107f565b8352602090920191840161114b565b50919695505050505050565b600081830361074081121561118c57600080fd5b611194610ce5565b915061119f83611070565b82526111ad60208401611070565b602083015261070080603f19830112156111c657600080fd5b6111ce610d07565b91506111dd85604086016110af565b82526111ed8561020086016110ff565b6020830152611200856105c0860161107f565b604083015261121385610600860161107f565b606083015261122685610640860161107f565b608083015261123985610680860161107f565b60a083015261124c856106c0860161107f565b60c083015261125d8582860161107f565b60e083015250604082015292915050565b600082601f83011261127f57600080fd5b60405160a081018181106001600160401b03821117156112a1576112a1610c84565b6040528060a08401858111156112b657600080fd5b845b818110156112d05780358352602092830192016112b8565b509195945050505050565b600061096082840312156112ee57600080fd5b6112f6610d2a565b9050611302838361101f565b8152611312836101008401611178565b60208201526113246108408301610e5b565b604082015261133783610860840161126e565b60608201526113496109008301610e5b565b608082015261135b6109208301610d6f565b60a08201526109408201356001600160401b0381111561137a57600080fd5b61138684828501610db8565b60c08301525092915050565b6000602082840312156113a457600080fd5b81356001600160401b03808211156113bb57600080fd5b908301906103c082860312156113d057600080fd5b6113d8610d4c565b6113e28684610d7f565b81526040830135602082015260608301358281111561140057600080fd5b61140c87828601610db8565b60408301525061141e60808401610e44565b606082015261142f60a08401610e5b565b608082015260c083013560a082015261144b8660e08501610d7f565b60c08201526101208084013560e083015261014061146b88828701610e6f565b61010084015261147f886101e08701610f0e565b828401526103a085013591508382111561149857600080fd5b6114a4888387016112db565b90830152509594505050505056fea264697066735822122043caced17afc14e16194f9234a758555b6f2e0da83d42eeeef6b17990bf04b8b64736f6c63430008150033","sourceMap":"199:4351:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:655;;;;;;:::i;:::-;;:::i;:::-;;;671:14:40;;664:22;646:41;;634:2;619:18;973:655:38;;;;;;;;1634:841;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;973:655::-;1048:4;1068:35;;;;344:66;1068:61;1064:137;;1152:38;;-1:-1:-1;;;1152:38:38;;;;;;;;;;;1064:137;1211:26;1250:13;;;;:4;:13;:::i;:::-;1240:24;;;;;;;:::i;:::-;;;;;;;;;;;1282:7;;1240:24;;-1:-1:-1;;;;;;1282:7:38;;:28;;1324:20;;;1240:24;;1390:35;;;;;1439:23;;;;;;;;;:::i;:::-;1476:20;;;;1510:16;;;;1476:4;1510:16;:::i;:::-;1540:31;;;;1585:26;;;;;;;;:::i;:::-;1282:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1275:346;973:655;-1:-1:-1;;;973:655:38:o;1634:841::-;1718:14;;:::i;:::-;1748:35;;;;344:66;1748:61;1744:137;;1832:38;;-1:-1:-1;;;1832:38:38;;;;;;;;;;;1744:137;1891:26;1930:13;;;;:4;:13;:::i;:::-;1920:24;;;;;;;:::i;:::-;;;;;;;;;;;1955:22;1980:7;;1920:24;;-1:-1:-1;1955:22:38;-1:-1:-1;;;;;1980:7:38;;;;:28;;2022:20;;;1920:24;;2088:35;;;;;2137:23;;;;;;;;;:::i;:::-;2174:20;;;;2208:16;;;;2174:4;2208:16;:::i;:::-;2238:4;:31;;;2283:4;:26;;;;;;;;;;:::i;:::-;1980:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1955:364;;2334:17;2330:139;;;2385:13;;;;:4;:13;:::i;:::-;:22;;2399:6;;2385:22;;;:::i;:::-;2374:45;;;;;;;:::i;:::-;2367:52;1634:841;-1:-1:-1;;;;1634:841:38:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:391:40;104:6;157:2;145:9;136:7;132:23;128:32;125:52;;;173:1;170;163:12;125:52;213:9;200:23;-1:-1:-1;;;;;238:6:40;235:30;232:50;;;278:1;275;268:12;232:50;301:22;;357:3;339:16;;;335:26;332:46;;;374:1;371;364:12;877:423;919:3;957:5;951:12;984:6;979:3;972:19;1009:1;1019:162;1033:6;1030:1;1027:13;1019:162;;;1095:4;1151:13;;;1147:22;;1141:29;1123:11;;;1119:20;;1112:59;1048:12;1019:162;;;1023:3;1226:1;1219:4;1210:6;1205:3;1201:16;1197:27;1190:38;1289:4;1282:2;1278:7;1273:2;1265:6;1261:15;1257:29;1252:3;1248:39;1244:50;1237:57;;;877:423;;;;:::o;1983:127::-;2044:10;2039:3;2035:20;2032:1;2025:31;2075:4;2072:1;2065:15;2099:4;2096:1;2089:15;2115:143;2199:1;2192:5;2189:12;2179:46;;2205:18;;:::i;:::-;2234;;2115:143::o;2263:1834::-;2328:47;2371:3;2363:5;2357:12;2328:47;:::i;:::-;2421:4;2414:5;2410:16;2404:23;2436:58;2488:4;2483:3;2479:14;2465:12;2436:58;:::i;:::-;;2542:4;2535:5;2531:16;2525:23;2557:60;2611:4;2606:3;2602:14;2586;2557:60;:::i;:::-;;2665:4;2658:5;2654:16;2648:23;2680:60;2734:4;2729:3;2725:14;2709;2680:60;:::i;:::-;;2788:4;2781:5;2777:16;2771:23;2803:60;2857:4;2852:3;2848:14;2832;2803:60;:::i;:::-;;2911:4;2904:5;2900:16;2894:23;2926:60;2980:4;2975:3;2971:14;2955;2926:60;:::i;:::-;;3034:4;3027:5;3023:16;3017:23;3049:60;3103:4;3098:3;3094:14;3078;3049:60;:::i;:::-;;3157:4;3150:5;3146:16;3140:23;3172:49;3215:4;3210:3;3206:14;3190;1488:10;1477:22;1465:35;;1412:94;3172:49;;3240:6;3294:2;3287:5;3283:14;3277:21;3307:58;3361:2;3356:3;3352:12;3336:14;3307:58;:::i;:::-;;;3384:6;3438:2;3431:5;3427:14;3421:21;3451:58;3505:2;3500:3;3496:12;3480:14;3451:58;:::i;:::-;;;3528:6;3582:2;3575:5;3571:14;3565:21;3595:58;3649:2;3644:3;3640:12;3624:14;3595:58;:::i;:::-;;;3672:6;3727:2;3720:5;3716:14;3710:21;3740:59;3795:2;3790:3;3786:12;3769:15;3740:59;:::i;:::-;;;3818:6;3873:2;3866:5;3862:14;3856:21;3886:59;3941:2;3936:3;3932:12;3915:15;3886:59;:::i;:::-;;;3964:6;4019:2;4012:5;4008:14;4002:21;4032:59;4087:2;4082:3;4078:12;4061:15;4032:59;:::i;:::-;;;2263:1834;;:::o;4102:145::-;4188:1;4181:5;4178:12;4168:46;;4194:18;;:::i;4408:335::-;4511:5;4534:1;4544:193;4558:4;4555:1;4552:11;4544:193;;;4605:48;4649:3;4640:6;4634:13;4328:12;;4316:25;;4390:4;4379:16;;;4373:23;4357:14;;4350:47;4252:151;4605:48;4682:4;4673:14;;;;;4722:4;4710:17;;;;;4578:1;4571:9;4544:193;;4748:1627;4817:49;4862:3;4854:5;4848:12;4817:49;:::i;:::-;4885:4;4935:2;4928:5;4924:14;4918:21;4948:58;5002:2;4997:3;4993:12;4979;4948:58;:::i;:::-;-1:-1:-1;5025:4:40;5066:14;;;5060:21;5131;;5239:1;5100:12;;;5249:195;5263:4;5260:1;5257:11;5249:195;;;5310:50;5354:5;5345:6;5339:13;4328:12;;4316:25;;4390:4;4379:16;;;4373:23;4357:14;;4350:47;4252:151;5310:50;5419:15;;;;5283:1;5276:9;;;;;5382:14;;5249:195;;;-1:-1:-1;;;5481:23:40;;;5475:30;;5514:65;5574:3;5565:13;;5475:30;5514:65;:::i;:::-;5616:23;;;5610:30;4328:12;;5703:4;5694:14;;4316:25;4390:4;4379:16;;;4373:23;4357:14;;;4350:47;5766:4;5746:25;;5740:32;4328:12;;5835:4;5826:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;5898:4;5878:25;;5872:32;4328:12;;5967:4;5958:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;6030:4;6010:25;;6004:32;4328:12;;6099:4;6090:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;6162:4;6142:25;;6136:32;4328:12;;6231:4;6222:14;;4316:25;4379:16;;4373:23;4357:14;;;4350:47;6294:4;6274:25;;;6268:32;4328:12;;6363:4;6354:14;;4316:25;4379:16;4373:23;4357:14;;;;4350:47;;;;-1:-1:-1;;4748:1627:40:o;6380:326::-;6473:5;6496:1;6506:194;6520:4;6517:1;6514:11;6506:194;;;6579:13;;6567:26;;6616:4;6640:12;;;;6675:15;;;;6540:1;6533:9;6506:194;;6711:1166;6819:12;;6766:3;;6794:6;;6853:3;6766;6930:200;6944:4;6941:1;6938:11;6930:200;;;7005:13;;6991:28;;7042:4;7105:15;;;;7068:14;;;;6964:1;6957:9;6930:200;;;6934:3;;;7176:4;7169:5;7165:16;7159:23;7191:65;7248:6;7243:3;7239:16;7225:12;7191:65;:::i;:::-;-1:-1:-1;7304:4:40;7293:16;;7287:23;1488:10;1477:22;7362:6;7353:16;;1465:35;7418:4;7407:16;;7401:23;7433:58;7483:6;7474:16;;7401:23;7433:58;:::i;:::-;-1:-1:-1;7539:4:40;7528:16;;7522:23;1488:10;1477:22;7597:6;7588:16;;1465:35;7653:4;7642:16;;7636:23;480:13;473:21;7709:6;7700:16;;461:34;7765:4;7754:16;;7748:23;7796:6;7787:16;;7780:28;;;7824:47;7858:12;;;7748:23;7824:47;:::i;:::-;7817:54;6711:1166;-1:-1:-1;;;;;6711:1166:40:o;7882:1524::-;8061:2;8043:21;;;8109:13;;781:12;;8124:18;;;769:25;846:16;840:23;833:31;826:39;810:14;;;803:63;8197:2;8189:6;8185:15;8179:22;8174:2;8163:9;8159:18;8152:50;8024:4;8249;8241:6;8237:17;8231:24;8274:6;8317:2;8311:3;8300:9;8296:19;8289:31;8343:52;8390:3;8379:9;8375:19;8361:12;8343:52;:::i;:::-;8329:66;;8444:2;8436:6;8432:15;8426:22;8457:54;8506:3;8495:9;8491:19;8475:14;-1:-1:-1;;;;;1370:30:40;1358:43;;1305:102;8457:54;-1:-1:-1;8560:3:40;8548:16;;8542:23;1488:10;1477:22;;8623:3;8608:19;;1465:35;8574:54;8683:3;8675:6;8671:16;8665:23;8659:3;8648:9;8644:19;8637:52;8738:3;8730:6;8726:16;8720:23;8762:3;8774:71;8841:2;8830:9;8826:18;8810:14;781:12;;769:25;;857:4;846:16;;;840:23;833:31;826:39;810:14;;803:63;698:174;8774:71;8882:3;8870:16;;8864:23;8906:3;8925:18;;;8918:30;;;;8985:15;;;8979:22;1624:12;;-1:-1:-1;;;;;1620:21:40;;;9066:3;9051:19;;1608:34;1688:4;1677:16;;1671:23;1713:10;1755:21;;;1739:14;;;1732:45;1830:4;1819:16;;1813:23;1809:32;;1793:14;;;1786:56;1895:4;1884:16;;1878:23;1874:32;1858:14;;;1851:56;1960:4;1949:16;;;1943:23;1939:32;1923:14;;;1916:56;9120:6;9108:19;;9102:26;;-1:-1:-1;9137:66:40;9198:3;9183:19;;9102:26;9137:66;:::i;:::-;9240:15;;9234:22;9296;;;-1:-1:-1;;9292:36:40;9272:18;;;9265:64;9234:22;-1:-1:-1;9346:54:40;;-1:-1:-1;9300:6:40;9234:22;9346:54;:::i;:::-;9338:62;7882:1524;-1:-1:-1;;;;;;7882:1524:40:o;9411:521::-;9488:4;9494:6;9554:11;9541:25;9648:2;9644:7;9633:8;9617:14;9613:29;9609:43;9589:18;9585:68;9575:96;;9667:1;9664;9657:12;9575:96;9694:33;;9746:20;;;-1:-1:-1;;;;;;9778:30:40;;9775:50;;;9821:1;9818;9811:12;9775:50;9854:4;9842:17;;-1:-1:-1;9885:14:40;9881:27;;;9871:38;;9868:58;;;9922:1;9919;9912:12;9868:58;9411:521;;;;;:::o;9937:271::-;10120:6;10112;10107:3;10094:33;10076:3;10146:16;;10171:13;;;10146:16;9937:271;-1:-1:-1;9937:271:40:o;10213:298::-;10272:6;10325:2;10313:9;10304:7;10300:23;10296:32;10293:52;;;10341:1;10338;10331:12;10293:52;10367:23;;-1:-1:-1;;10419:43:40;;10409:54;;10399:82;;10477:1;10474;10467:12;10516:286;10575:6;10628:2;10616:9;10607:7;10603:23;10599:32;10596:52;;;10644:1;10641;10634:12;10596:52;10670:23;;-1:-1:-1;;;;;10722:31:40;;10712:42;;10702:70;;10768:1;10765;10758:12;10807:997;11123:4;11152:3;11182:6;11171:9;11164:25;11225:6;11220:2;11209:9;11205:18;11198:34;11268:6;11263:2;11252:9;11248:18;11241:34;11327:26;11323:31;11315:6;11311:44;11306:2;11295:9;11291:18;11284:72;11393:6;11387:3;11376:9;11372:19;11365:35;11437:2;11431:3;11420:9;11416:19;11409:31;11476:6;11471:2;11460:9;11456:18;11449:34;;11502:3;11555:6;11547;11542:2;11531:9;11527:18;11514:48;11611:1;11582:22;;;11578:31;;11571:42;11715:3;11700:19;;11693:35;;;;-1:-1:-1;;;;;;11765:32:40;;;;11759:3;11744:19;;11737:61;11674:2;11653:15;;;-1:-1:-1;;11649:29:40;11634:45;;;11630:54;;10807:997;-1:-1:-1;;;;;;10807:997:40:o;11809:118::-;11895:5;11888:13;11881:21;11874:5;11871:32;11861:60;;11917:1;11914;11907:12;11861:60;11809:118;:::o;11932:245::-;11999:6;12052:2;12040:9;12031:7;12027:23;12023:32;12020:52;;;12068:1;12065;12058:12;12020:52;12100:9;12094:16;12119:28;12141:5;12119:28;:::i;12182:331::-;12287:9;12298;12340:8;12328:10;12325:24;12322:44;;;12362:1;12359;12352:12;12322:44;12391:6;12381:8;12378:20;12375:40;;;12411:1;12408;12401:12;12375:40;-1:-1:-1;;12437:23:40;;;12482:25;;;;;-1:-1:-1;12182:331:40:o;12518:127::-;12579:10;12574:3;12570:20;12567:1;12560:31;12610:4;12607:1;12600:15;12634:4;12631:1;12624:15;12650:257;12722:4;12716:11;;;12754:17;;-1:-1:-1;;;;;12786:34:40;;12822:22;;;12783:62;12780:88;;;12848:18;;:::i;:::-;12884:4;12877:24;12650:257;:::o;12912:255::-;12984:2;12978:9;13026:6;13014:19;;-1:-1:-1;;;;;13048:34:40;;13084:22;;;13045:62;13042:88;;;13110:18;;:::i;13172:253::-;13244:2;13238:9;13286:4;13274:17;;-1:-1:-1;;;;;13306:34:40;;13342:22;;;13303:62;13300:88;;;13368:18;;:::i;13430:255::-;13502:2;13496:9;13544:6;13532:19;;-1:-1:-1;;;;;13566:34:40;;13602:22;;;13563:62;13560:88;;;13628:18;;:::i;13690:253::-;13762:2;13756:9;13804:4;13792:17;;-1:-1:-1;;;;;13824:34:40;;13860:22;;;13821:62;13818:88;;;13886:18;;:::i;13948:250::-;14015:2;14009:9;14057:6;14045:19;;-1:-1:-1;;;;;14079:34:40;;14115:22;;;14076:62;14073:88;;;14141:18;;:::i;14203:128::-;14268:20;;14297:28;14268:20;14297:28;:::i;:::-;14203:128;;;:::o;14336:362::-;14400:5;14448:4;14436:9;14431:3;14427:19;14423:30;14420:50;;;14466:1;14463;14456:12;14420:50;14488:22;;:::i;:::-;14479:31;;14546:9;14533:23;14526:5;14519:38;14609:2;14598:9;14594:18;14581:32;14622:30;14644:7;14622:30;:::i;:::-;14679:2;14668:14;;14661:31;14672:5;14336:362;-1:-1:-1;;14336:362:40:o;14703:719::-;14746:5;14799:3;14792:4;14784:6;14780:17;14776:27;14766:55;;14817:1;14814;14807:12;14766:55;14853:6;14840:20;-1:-1:-1;;;;;14916:2:40;14912;14909:10;14906:36;;;14922:18;;:::i;:::-;14997:2;14991:9;14965:2;15051:13;;-1:-1:-1;;15047:22:40;;;15071:2;15043:31;15039:40;15027:53;;;15095:18;;;15115:22;;;15092:46;15089:72;;;15141:18;;:::i;:::-;15181:10;15177:2;15170:22;15216:2;15208:6;15201:18;15262:3;15255:4;15250:2;15242:6;15238:15;15234:26;15231:35;15228:55;;;15279:1;15276;15269:12;15228:55;15343:2;15336:4;15328:6;15324:17;15317:4;15309:6;15305:17;15292:54;15390:1;15383:4;15378:2;15370:6;15366:15;15362:26;15355:37;15410:6;15401:15;;;;;;14703:719;;;;:::o;15427:171::-;15494:20;;-1:-1:-1;;;;;15543:30:40;;15533:41;;15523:69;;15588:1;15585;15578:12;15603:163;15670:20;;15730:10;15719:22;;15709:33;;15699:61;;15756:1;15753;15746:12;15771:696;15824:5;15872:4;15860:9;15855:3;15851:19;15847:30;15844:50;;;15890:1;15887;15880:12;15844:50;15923:2;15917:9;15965:4;15957:6;15953:17;16036:6;16024:10;16021:22;-1:-1:-1;;;;;15988:10:40;15985:34;15982:62;15979:88;;;16047:18;;:::i;:::-;16083:2;16076:22;16116:6;-1:-1:-1;16116:6:40;16146:28;16164:9;16146:28;:::i;:::-;16138:6;16131:44;16208:37;16241:2;16230:9;16226:18;16208:37;:::i;:::-;16203:2;16195:6;16191:15;16184:62;16279:37;16312:2;16301:9;16297:18;16279:37;:::i;:::-;16274:2;16266:6;16262:15;16255:62;16350:37;16383:2;16372:9;16368:18;16350:37;:::i;:::-;16345:2;16337:6;16333:15;16326:62;16422:38;16455:3;16444:9;16440:19;16422:38;:::i;:::-;16416:3;16408:6;16404:16;16397:64;;15771:696;;;;:::o;16472:153::-;16550:20;;16599:1;16589:12;;16579:40;;16615:1;16612;16605:12;16630:1421;16688:5;16736:6;16724:9;16719:3;16715:19;16711:32;16708:52;;;16756:1;16753;16746:12;16708:52;16778:22;;:::i;:::-;16769:31;;16823:39;16852:9;16823:39;:::i;:::-;16816:5;16809:54;16895:48;16939:2;16928:9;16924:18;16895:48;:::i;:::-;16890:2;16883:5;16879:14;16872:72;16976:48;17020:2;17009:9;17005:18;16976:48;:::i;:::-;16971:2;16964:5;16960:14;16953:72;17057:48;17101:2;17090:9;17086:18;17057:48;:::i;:::-;17052:2;17045:5;17041:14;17034:72;17139:49;17183:3;17172:9;17168:19;17139:49;:::i;:::-;17133:3;17126:5;17122:15;17115:74;17222:49;17266:3;17255:9;17251:19;17222:49;:::i;:::-;17216:3;17209:5;17205:15;17198:74;17305:49;17349:3;17338:9;17334:19;17305:49;:::i;:::-;17299:3;17292:5;17288:15;17281:74;17388:38;17421:3;17410:9;17406:19;17388:38;:::i;:::-;17382:3;17375:5;17371:15;17364:63;17446:3;17481:48;17525:2;17514:9;17510:18;17481:48;:::i;:::-;17465:14;;;17458:72;17549:3;17584:48;17613:18;;;17584:48;:::i;:::-;17568:14;;;17561:72;17652:3;17687:48;17716:18;;;17687:48;:::i;:::-;17671:14;;;17664:72;17755:3;17790:48;17819:18;;;17790:48;:::i;:::-;17774:14;;;17767:72;17858:3;17893:48;17922:18;;;17893:48;:::i;:::-;17877:14;;;17870:72;17961:3;17996:48;18025:18;;;17996:48;:::i;:::-;17980:14;;;17973:72;17984:5;16630:1421;-1:-1:-1;;16630:1421:40:o;18056:485::-;18106:5;18159:3;18152:4;18144:6;18140:17;18136:27;18126:55;;18177:1;18174;18167:12;18126:55;18201:22;;:::i;:::-;18245:3;18283;18275:6;18271:16;18310:3;18302:6;18299:15;18296:35;;;18327:1;18324;18317:12;18296:35;18351:6;18366:146;18382:6;18377:3;18374:15;18366:146;;;18450:17;;18438:30;;18497:4;18488:14;;;;18399;18366:146;;;-1:-1:-1;18530:5:40;;18056:485;-1:-1:-1;;;;;18056:485:40:o;18546:155::-;18626:20;;18675:1;18665:12;;18655:40;;18691:1;18688;18681:12;18706:285;18763:5;18811:4;18799:9;18794:3;18790:19;18786:30;18783:50;;;18829:1;18826;18819:12;18783:50;18851:22;;:::i;:::-;18842:31;;18909:9;18896:23;18889:5;18882:38;18980:2;18969:9;18965:18;18952:32;18947:2;18940:5;18936:14;18929:56;18706:285;;;;:::o;18996:538::-;19078:5;19131:3;19124:4;19116:6;19112:17;19108:27;19098:55;;19149:1;19146;19139:12;19098:55;19173:22;;:::i;:::-;19217:3;19255;19247:6;19243:16;19282:3;19274:6;19271:15;19268:35;;;19299:1;19296;19289:12;19268:35;19323:6;19338:167;19354:6;19349:3;19346:15;19338:167;;;19422:38;19456:3;19451;19422:38;:::i;:::-;19410:51;;19490:4;19481:14;;;;19380:4;19371:14;19338:167;;19539:698;19599:5;19652:3;19645:4;19637:6;19633:17;19629:27;19619:55;;19670:1;19667;19660:12;19619:55;19693:2;19724;19718:9;19766:3;19758:6;19754:16;19836:6;19824:10;19821:22;-1:-1:-1;;;;;19788:10:40;19785:34;19782:62;19779:88;;;19847:18;;:::i;:::-;19876:22;;19918:6;19959:3;19947:16;;19975:15;;;19972:35;;;20003:1;20000;19993:12;19972:35;20027:6;20042:165;20058:6;20053:3;20050:15;20042:165;;;20124:38;20158:3;20153;20124:38;:::i;:::-;20112:51;;20192:4;20183:14;;;;20075:12;;20042:165;;;-1:-1:-1;20225:6:40;;19539:698;-1:-1:-1;;;;;;19539:698:40:o;20242:1264::-;20304:5;20343:9;20338:3;20334:19;20373:6;20369:2;20365:15;20362:35;;;20393:1;20390;20383:12;20362:35;20415:22;;:::i;:::-;20406:31;;20460:41;20491:9;20460:41;:::i;:::-;20453:5;20446:56;20534:50;20580:2;20569:9;20565:18;20534:50;:::i;:::-;20529:2;20522:5;20518:14;20511:74;20604:6;20644:2;20638;20634:7;20630:2;20626:16;20622:25;20619:45;;;20660:1;20657;20650:12;20619:45;20688:22;;:::i;:::-;20673:37;;20735:81;20812:3;20807:2;20796:9;20792:18;20735:81;:::i;:::-;20726:7;20719:98;20851:60;20907:3;20901;20890:9;20886:19;20851:60;:::i;:::-;20846:2;20837:7;20833:16;20826:86;20946:55;20997:3;20990:4;20979:9;20975:20;20946:55;:::i;:::-;20941:2;20932:7;20928:16;20921:81;21038:55;21089:3;21082:4;21071:9;21067:20;21038:55;:::i;:::-;21031:4;21022:7;21018:18;21011:83;21130:55;21181:3;21174:4;21163:9;21159:20;21130:55;:::i;:::-;21123:4;21114:7;21110:18;21103:83;21222:55;21273:3;21266:4;21255:9;21251:20;21222:55;:::i;:::-;21215:4;21206:7;21202:18;21195:83;21314:55;21365:3;21358:4;21347:9;21343:20;21314:55;:::i;:::-;21307:4;21298:7;21294:18;21287:83;21406:53;21455:3;21450:2;21439:9;21435:18;21406:53;:::i;:::-;21399:4;21386:18;;21379:81;-1:-1:-1;21487:2:40;21476:14;;21469:31;21480:5;20242:1264;-1:-1:-1;;20242:1264:40:o;21511:659::-;21572:5;21625:3;21618:4;21610:6;21606:17;21602:27;21592:55;;21643:1;21640;21633:12;21592:55;21676:2;21670:9;21718:3;21710:6;21706:16;21788:6;21776:10;21773:22;-1:-1:-1;;;;;21740:10:40;21737:34;21734:62;21731:88;;;21799:18;;:::i;:::-;21835:2;21828:22;21870:6;21911:3;21899:16;;21927:15;;;21924:35;;;21955:1;21952;21945:12;21924:35;21979:6;21994:146;22010:6;22005:3;22002:15;21994:146;;;22078:17;;22066:30;;22125:4;22116:14;;;;22027;21994:146;;;-1:-1:-1;22158:6:40;;21511:659;-1:-1:-1;;;;;21511:659:40:o;22175:849::-;22234:5;22282:6;22270:9;22265:3;22261:19;22257:32;22254:52;;;22302:1;22299;22292:12;22254:52;22324:22;;:::i;:::-;22315:31;;22369:40;22405:3;22394:9;22369:40;:::i;:::-;22362:5;22355:55;22444:59;22499:3;22493;22482:9;22478:19;22444:59;:::i;:::-;22437:4;22430:5;22426:16;22419:85;22538:39;22571:4;22560:9;22556:20;22538:39;:::i;:::-;22531:4;22524:5;22520:16;22513:65;22612:62;22670:3;22663:4;22652:9;22648:20;22612:62;:::i;:::-;22605:4;22598:5;22594:16;22587:88;22709:39;22742:4;22731:9;22727:20;22709:39;:::i;:::-;22702:4;22695:5;22691:16;22684:65;22783:37;22814:4;22803:9;22799:20;22783:37;:::i;:::-;22776:4;22769:5;22765:16;22758:63;22872:4;22861:9;22857:20;22844:34;-1:-1:-1;;;;;22893:6:40;22890:30;22887:50;;;22933:1;22930;22923:12;22887:50;22971:46;23013:3;23004:6;22993:9;22989:22;22971:46;:::i;:::-;22964:4;22957:5;22953:16;22946:72;;22175:849;;;;:::o;23029:1493::-;23113:6;23166:2;23154:9;23145:7;23141:23;23137:32;23134:52;;;23182:1;23179;23172:12;23134:52;23222:9;23209:23;-1:-1:-1;;;;;23292:2:40;23284:6;23281:14;23278:34;;;23308:1;23305;23298:12;23278:34;23331:22;;;;23387:6;23369:16;;;23365:29;23362:49;;;23407:1;23404;23397:12;23362:49;23433:17;;:::i;:::-;23473:48;23513:7;23509:2;23473:48;:::i;:::-;23466:5;23459:63;23575:2;23571;23567:11;23554:25;23549:2;23542:5;23538:14;23531:49;23626:2;23622;23618:11;23605:25;23655:2;23645:8;23642:16;23639:36;;;23671:1;23668;23661:12;23639:36;23707:45;23744:7;23733:8;23729:2;23725:17;23707:45;:::i;:::-;23702:2;23695:5;23691:14;23684:69;;23785:31;23811:3;23807:2;23803:12;23785:31;:::i;:::-;23780:2;23773:5;23769:14;23762:55;23850:31;23876:3;23872:2;23868:12;23850:31;:::i;:::-;23844:3;23837:5;23833:15;23826:56;23936:3;23932:2;23928:12;23915:26;23909:3;23902:5;23898:15;23891:51;23975:58;24025:7;24019:3;24015:2;24011:12;23975:58;:::i;:::-;23969:3;23962:5;23958:15;23951:83;24053:3;24110:2;24106;24102:11;24089:25;24083:3;24076:5;24072:15;24065:50;24134:3;24173:46;24211:7;24206:2;24202;24198:11;24173:46;:::i;:::-;24164:6;24157:5;24153:18;24146:74;24252:52;24296:7;24290:3;24286:2;24282:12;24252:52;:::i;:::-;24247:2;24240:5;24236:14;24229:76;24351:3;24347:2;24343:12;24330:26;24314:42;;24381:2;24371:8;24368:16;24365:36;;;24397:1;24394;24387:12;24365:36;24433:58;24483:7;24472:8;24468:2;24464:17;24433:58;:::i;:::-;24417:14;;;24410:82;-1:-1:-1;24421:5:40;23029:1493;-1:-1:-1;;;;;23029:1493:40:o","linkReferences":{}},"methodIdentifiers":{"validateAccount((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"9029ad15","validateAccountAndReturn((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"c6478713"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"MinaAccountProvingSystemIdIsNotValid\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"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\"}],\"internalType\":\"struct MinaAccountValidation.AlignedArgs\",\"name\":\"args\",\"type\":\"tuple\"}],\"name\":\"validateAccount\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"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\"}],\"internalType\":\"struct MinaAccountValidation.AlignedArgs\",\"name\":\"args\",\"type\":\"tuple\"}],\"name\":\"validateAccountAndReturn\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isOdd\",\"type\":\"bool\"}],\"internalType\":\"struct MinaAccountValidation.CompressedECPoint\",\"name\":\"publicKey\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"tokenIdKeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tokenSymbol\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"balance\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"nonce\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"receiptChainHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isOdd\",\"type\":\"bool\"}],\"internalType\":\"struct MinaAccountValidation.CompressedECPoint\",\"name\":\"delegate\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"votingFor\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"initialMinimumBalance\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"cliffTime\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"cliffAmount\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"vestingPeriod\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"vestingIncrement\",\"type\":\"uint64\"}],\"internalType\":\"struct MinaAccountValidation.Timing\",\"name\":\"timing\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"editState\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"access\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"send\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"rreceive\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setDelegate\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setPermissions\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setVerificationKeyAuth\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"setVerificationKeyUint\",\"type\":\"uint32\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setZkappUri\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"editActionState\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setTokenSymbol\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"incrementNonce\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setVotingFor\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.AuthRequired\",\"name\":\"setTiming\",\"type\":\"uint8\"}],\"internalType\":\"struct MinaAccountValidation.Permissions\",\"name\":\"permissions\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32[8]\",\"name\":\"appState\",\"type\":\"bytes32[8]\"},{\"components\":[{\"internalType\":\"enum MinaAccountValidation.ProofsVerified\",\"name\":\"maxProofsVerified\",\"type\":\"uint8\"},{\"internalType\":\"enum MinaAccountValidation.ProofsVerified\",\"name\":\"actualWrapDomainSize\",\"type\":\"uint8\"},{\"components\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment[7]\",\"name\":\"sigmaComm\",\"type\":\"tuple[7]\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment[15]\",\"name\":\"coefficientsComm\",\"type\":\"tuple[15]\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"genericComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"psmComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"completeAddComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"mulComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"emulComm\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"x\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"y\",\"type\":\"bytes32\"}],\"internalType\":\"struct MinaAccountValidation.Commitment\",\"name\":\"endomulScalarComm\",\"type\":\"tuple\"}],\"internalType\":\"struct MinaAccountValidation.WrapIndex\",\"name\":\"wrapIndex\",\"type\":\"tuple\"}],\"internalType\":\"struct MinaAccountValidation.VerificationKey\",\"name\":\"verificationKey\",\"type\":\"tuple\"},{\"internalType\":\"uint32\",\"name\":\"zkappVersion\",\"type\":\"uint32\"},{\"internalType\":\"bytes32[5]\",\"name\":\"actionState\",\"type\":\"bytes32[5]\"},{\"internalType\":\"uint32\",\"name\":\"lastActionSlot\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"provedState\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"zkappUri\",\"type\":\"bytes\"}],\"internalType\":\"struct MinaAccountValidation.ZkappAccount\",\"name\":\"zkapp\",\"type\":\"tuple\"}],\"internalType\":\"struct MinaAccountValidation.Account\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaAccountValidation.sol\":\"MinaAccountValidation\"},\"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/MinaAccountValidation.sol\":{\"keccak256\":\"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469\",\"dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"MinaAccountProvingSystemIdIsNotValid"},{"inputs":[{"internalType":"struct MinaAccountValidation.AlignedArgs","name":"args","type":"tuple","components":[{"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":"view","type":"function","name":"validateAccount","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct MinaAccountValidation.AlignedArgs","name":"args","type":"tuple","components":[{"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":"view","type":"function","name":"validateAccountAndReturn","outputs":[{"internalType":"struct MinaAccountValidation.Account","name":"","type":"tuple","components":[{"internalType":"struct MinaAccountValidation.CompressedECPoint","name":"publicKey","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bool","name":"isOdd","type":"bool"}]},{"internalType":"bytes32","name":"tokenIdKeyHash","type":"bytes32"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"uint64","name":"balance","type":"uint64"},{"internalType":"uint32","name":"nonce","type":"uint32"},{"internalType":"bytes32","name":"receiptChainHash","type":"bytes32"},{"internalType":"struct MinaAccountValidation.CompressedECPoint","name":"delegate","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bool","name":"isOdd","type":"bool"}]},{"internalType":"bytes32","name":"votingFor","type":"bytes32"},{"internalType":"struct MinaAccountValidation.Timing","name":"timing","type":"tuple","components":[{"internalType":"uint64","name":"initialMinimumBalance","type":"uint64"},{"internalType":"uint32","name":"cliffTime","type":"uint32"},{"internalType":"uint64","name":"cliffAmount","type":"uint64"},{"internalType":"uint32","name":"vestingPeriod","type":"uint32"},{"internalType":"uint64","name":"vestingIncrement","type":"uint64"}]},{"internalType":"struct MinaAccountValidation.Permissions","name":"permissions","type":"tuple","components":[{"internalType":"enum MinaAccountValidation.AuthRequired","name":"editState","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"access","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"send","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"rreceive","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setDelegate","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setPermissions","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setVerificationKeyAuth","type":"uint8"},{"internalType":"uint32","name":"setVerificationKeyUint","type":"uint32"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setZkappUri","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"editActionState","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setTokenSymbol","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"incrementNonce","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setVotingFor","type":"uint8"},{"internalType":"enum MinaAccountValidation.AuthRequired","name":"setTiming","type":"uint8"}]},{"internalType":"struct MinaAccountValidation.ZkappAccount","name":"zkapp","type":"tuple","components":[{"internalType":"bytes32[8]","name":"appState","type":"bytes32[8]"},{"internalType":"struct MinaAccountValidation.VerificationKey","name":"verificationKey","type":"tuple","components":[{"internalType":"enum MinaAccountValidation.ProofsVerified","name":"maxProofsVerified","type":"uint8"},{"internalType":"enum MinaAccountValidation.ProofsVerified","name":"actualWrapDomainSize","type":"uint8"},{"internalType":"struct MinaAccountValidation.WrapIndex","name":"wrapIndex","type":"tuple","components":[{"internalType":"struct MinaAccountValidation.Commitment[7]","name":"sigmaComm","type":"tuple[7]","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment[15]","name":"coefficientsComm","type":"tuple[15]","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"genericComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"psmComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"completeAddComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"mulComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"emulComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]},{"internalType":"struct MinaAccountValidation.Commitment","name":"endomulScalarComm","type":"tuple","components":[{"internalType":"bytes32","name":"x","type":"bytes32"},{"internalType":"bytes32","name":"y","type":"bytes32"}]}]}]},{"internalType":"uint32","name":"zkappVersion","type":"uint32"},{"internalType":"bytes32[5]","name":"actionState","type":"bytes32[5]"},{"internalType":"uint32","name":"lastActionSlot","type":"uint32"},{"internalType":"bool","name":"provedState","type":"bool"},{"internalType":"bytes","name":"zkappUri","type":"bytes"}]}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"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/MinaAccountValidation.sol":"MinaAccountValidation"},"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/MinaAccountValidation.sol":{"keccak256":"0x0f795ac102619781a548b05ce8698c06db0e585b51d806436e09a38a8c609c3a","urls":["bzz-raw://e555b739c5b6b06e90a382935fc4a1bc66310b9f6db80a717a4a5105ce704469","dweb:/ipfs/QmYiqznaArFFvmfztwY8WcqLpT5227a1qsfbyx1kyxx5rA"],"license":"UNLICENSED"}},"version":1},"id":38} \ No newline at end of file diff --git a/core/abi/MinaStateSettlement.json b/core/abi/MinaStateSettlement.json index 0588c07b..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":"0x6080604052348015600f57600080fd5b506040516107d03803806107d0833981016040819052602c91606a565b602080546001600160a01b0319166001600160a01b03841617905580600060546001601060a2565b60108110606157606160c8565b01555060de9050565b60008060408385031215607c57600080fd5b82516001600160a01b0381168114609257600080fd5b6020939093015192949293505050565b8181038181111560c257634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6106e3806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633886c09b1161005b5780633886c09b146100bd5780633e16b011146100d3578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a057806337baff0f146100a8575b600080fd5b61008a610106565b60405161009791906103d5565b60405180910390f35b61008a610142565b6100bb6100b63660046104c6565b610178565b005b6100c561032a565b604051908152602001610097565b6100e66100e1366004610586565b610350565b6040519015158152602001610097565b6100c56103a7565b6100c5601081565b61010e6103b6565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a6103b6565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b7fee2a4bc7db81da2b7164e56b3649b1e2a09c58c455b15dabddd9146c7582cebc87146101c05760405163c35f1ecd60e01b8152600481018890526024015b60405180910390fd5b602082015160006101d36001601061059f565b601081106101e3576101e36105c6565b0154811461022e578060006101fa6001601061059f565b6010811061020a5761020a6105c6565b015460405163177b002560e31b8152600481019290925260248201526044016101b7565b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a9190610277908e9086908f908f908f908f908f908e906004016105dc565b602060405180830381865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610684565b905080156103045760006010604087016102408801835b60108110156102fa5782518555815184556001948501949384019360209384019390920191016102cf565b505050505061031d565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b6000601061033960018261059f565b60108110610349576103496105c6565b0154905090565b6000805b601081101561039e578260108261036c60018361059f565b610376919061059f565b60108110610386576103866105c6565b0154036103965750600192915050565b600101610354565b50600092915050565b6000806103396001601061059f565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103fe5781518352602092830192909101906001016103df565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261042e57600080fd5b813567ffffffffffffffff8082111561044957610449610407565b604051601f8301601f19908116603f0116810190828211818310171561047157610471610407565b8160405283815286602085880101111561048a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146104c157600080fd5b919050565b600080600080600080600080610100898b0312156104e357600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461050e57600080fd5b955060608901359450608089013567ffffffffffffffff8082111561053257600080fd5b61053e8c838d0161041d565b955060a08b0135945060c08b013591508082111561055b57600080fd5b506105688b828c0161041d565b92505061057760e08a016104aa565b90509295985092959890939650565b60006020828403121561059857600080fd5b5035919050565b818103818111156105c057634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a60208501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561063e5787830182015185840161012001529181019161061f565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261067760e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561069657600080fd5b815180151581146106a657600080fd5b939250505056fea2646970667358221220a29b80757367527662e0b8b0382a899722378cafab642bbe60eb1cf263a0c23064736f6c63430008190033","sourceMap":"473:4848:38:-:0;;;1363:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1445:7;:57;;-1:-1:-1;;;;;;1445:57:38;-1:-1:-1;;;;;1445:57:38;;;;;1567:13;-1:-1:-1;1529:34:38;-1:-1:-1;858:2:38;1529:34;:::i;:::-;1512:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;473:4848:38;;-1:-1:-1;473:4848:38;14:359:39;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:39;;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:39: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:38;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633886c09b1161005b5780633886c09b146100bd5780633e16b011146100d3578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a057806337baff0f146100a8575b600080fd5b61008a610106565b60405161009791906103d5565b60405180910390f35b61008a610142565b6100bb6100b63660046104c6565b610178565b005b6100c561032a565b604051908152602001610097565b6100e66100e1366004610586565b610350565b6040519015158152602001610097565b6100c56103a7565b6100c5601081565b61010e6103b6565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a6103b6565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b7fee2a4bc7db81da2b7164e56b3649b1e2a09c58c455b15dabddd9146c7582cebc87146101c05760405163c35f1ecd60e01b8152600481018890526024015b60405180910390fd5b602082015160006101d36001601061059f565b601081106101e3576101e36105c6565b0154811461022e578060006101fa6001601061059f565b6010811061020a5761020a6105c6565b015460405163177b002560e31b8152600481019290925260248201526044016101b7565b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a9190610277908e9086908f908f908f908f908f908e906004016105dc565b602060405180830381865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190610684565b905080156103045760006010604087016102408801835b60108110156102fa5782518555815184556001948501949384019360209384019390920191016102cf565b505050505061031d565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b6000601061033960018261059f565b60108110610349576103496105c6565b0154905090565b6000805b601081101561039e578260108261036c60018361059f565b610376919061059f565b60108110610386576103866105c6565b0154036103965750600192915050565b600101610354565b50600092915050565b6000806103396001601061059f565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103fe5781518352602092830192909101906001016103df565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261042e57600080fd5b813567ffffffffffffffff8082111561044957610449610407565b604051601f8301601f19908116603f0116810190828211818310171561047157610471610407565b8160405283815286602085880101111561048a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146104c157600080fd5b919050565b600080600080600080600080610100898b0312156104e357600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461050e57600080fd5b955060608901359450608089013567ffffffffffffffff8082111561053257600080fd5b61053e8c838d0161041d565b955060a08b0135945060c08b013591508082111561055b57600080fd5b506105688b828c0161041d565b92505061057760e08a016104aa565b90509295985092959890939650565b60006020828403121561059857600080fd5b5035919050565b818103818111156105c057634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a60208501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561063e5787830182015185840161012001529181019161061f565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261067760e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561069657600080fd5b815180151581146106a657600080fd5b939250505056fea2646970667358221220a29b80757367527662e0b8b0382a899722378cafab642bbe60eb1cf263a0c23064736f6c63430008190033","sourceMap":"473:4848:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2050:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2263:144;;;:::i;2808:2511::-;;;;;;:::i;:::-;;:::i;:::-;;1843:137;;;:::i;:::-;;;2776:25:39;;;2764:2;2749:18;1843:137:38;2630:177:39;2483:319:38;;;;;;:::i;:::-;;:::i;:::-;;;3162:14:39;;3155:22;3137:41;;3125:2;3110:18;2483:319:38;2997:187:39;1647:135:38;;;:::i;801:59::-;;858:2;801:59;;2050:142;2104:46;;:::i;:::-;2162:23;;;;;;;;;;;-1:-1:-1;;2162:23:38;;-1:-1:-1;2162:23:38;;;;;;;;;;;;;;;;;;;;;;;;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:38;;;;;2776:25:39;;;2749:18;;3235:61:38;;;;;;;;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:38;;;;;3907:25:39;;;;3948:18;;;3941:34;3880:18;;3569:97:38;3733:248:39;3460:217:38;3716:19;;;;;;;;;;3772:7;;:304;;-1:-1:-1;;;3772:304:38;;3687:26;;-1:-1:-1;;;;;3772:7:38;;: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:38;;;;;;;;;;;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:38;;2483:319;-1:-1:-1;;2483:319:38:o;2643:121::-;2624:3;;2568:206;;;-1:-1:-1;2790:5:38;;2483:319;-1:-1:-1;;2483:319:38:o;1647:135::-;1697:7;;1740:34;1773:1;858:2;1740: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:225::-;3438:9;;;3459:11;;;3456:134;;;3512:10;3507:3;3503:20;3500:1;3493:31;3547:4;3544:1;3537:15;3575:4;3572:1;3565:15;3456:134;3371:225;;;;:::o;3601:127::-;3662:10;3657:3;3653:20;3650:1;3643:31;3693:4;3690:1;3683:15;3717:4;3714:1;3707:15;4095:1142;4401:4;4430:3;4460:6;4449:9;4442:25;4486:2;4524:6;4519:2;4508:9;4504:18;4497:34;4567:6;4562:2;4551:9;4547:18;4540:34;4626:26;4622:31;4614:6;4610:44;4605:2;4594:9;4590:18;4583:72;4692:6;4686:3;4675:9;4671:19;4664:35;4736:2;4730:3;4719:9;4715:19;4708:31;4768:6;4762:13;4811:6;4806:2;4795:9;4791:18;4784:34;4836:1;4827:10;;4846:141;4860:6;4857:1;4854:13;4846:141;;;4956:14;;;4952:23;;4946:30;4921:17;;;4940:3;4917:27;4910:67;4875:10;;;;4846:141;;;5006:3;4996:13;;5058:1;5053:2;5044:6;5033:9;5029:22;5025:31;5018:42;5128:2;5121;5117:7;5112:2;5104:6;5100:15;5096:29;5085:9;5081:45;5077:54;5069:62;;;;;5168:6;5162:3;5151:9;5147:19;5140:35;5184:47;5226:3;5215:9;5211:19;5203:6;-1:-1:-1;;;;;4052:31:39;4040:44;;3986:104;5184:47;4095:1142;;;;;;;;;;;:::o;5242:277::-;5309:6;5362:2;5350:9;5341:7;5337:23;5333:32;5330:52;;;5378:1;5375;5368:12;5330:52;5410:9;5404:16;5463:5;5456:13;5449:21;5442:5;5439:32;5429:60;;5485:1;5482;5475:12;5429:60;5508:5;5242:277;-1:-1:-1;;;5242:277:39: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.25+commit.b61c2a91\"},\"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.25+commit.b61c2a91"},"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":38} \ 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 4e6bfc0d..bef6ef29 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 f7f9e9c2..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,18 +48,26 @@ 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?; if pub_input.candidate_chain_state_hashes - == get_bridge_chain_state_hashes(chain, eth_rpc_url).await? + == 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()); @@ -82,6 +91,7 @@ pub async fn update_bridge_chain( chain, eth_rpc_url, wallet, + state_settlement_addr, batcher_payment_service, ) .await?; @@ -95,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, @@ -120,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 28962480..464cea95 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":"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":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x60806040526000600255348015601457600080fd5b50604051611027380380611027833981016040819052603191607c565b600080546001600160a01b039384166001600160a01b0319918216179091556001805492909316911617905560aa565b80516001600160a01b0381168114607757600080fd5b919050565b60008060408385031215608e57600080fd5b6095836061565b915060a1602084016061565b90509250929050565b610f6e806100b96000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630edb27121461003b578063c681e9a314610050575b600080fd5b61004e6100493660046104e2565b610065565b005b60025460405190815260200160405180910390f35b600061007460208285876105a7565b61007d916105d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100eb9190610601565b61011057604051633b78a2f560e11b8152600481018290526024015b60405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101c790849060040161066b565b602060405180830381865afa1580156101e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102089190610601565b6102255760405163f281a18360e01b815260040160405180910390fd5b366000610235866028818a6105a7565b9092509050600061024883830184610ca1565b90506000816101400151602001516040516020016102669190610e21565b6040516020818303038152906040528051906020012090507fdc9c283f73ce17466a01b90d36141b848805a3db129b6b80d581adca52c9b6f360001b81146102c45760405163170e89eb60e01b815260048101829052602401610107565b6101408201515160200151156102dd57426002556102f6565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561033f5761033f610307565b60405290565b6040516101c081016001600160401b038111828210171561033f5761033f610307565b604051606081016001600160401b038111828210171561033f5761033f610307565b60405161010081016001600160401b038111828210171561033f5761033f610307565b60405160e081016001600160401b038111828210171561033f5761033f610307565b60405161016081016001600160401b038111828210171561033f5761033f610307565b600082601f83011261040357600080fd5b81356001600160401b038082111561041d5761041d610307565b604051601f8301601f19908116603f0116810190828211818310171561044557610445610307565b8160405283815286602085880101111561045e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261049057600080fd5b5081356001600160401b038111156104a757600080fd5b6020830191508360208285010111156104bf57600080fd5b9250929050565b80356001600160a01b03811681146104dd57600080fd5b919050565b60008060008060008060008060006101008a8c03121561050157600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff198116811461052c57600080fd5b965060608a0135955060808a01356001600160401b038082111561054f57600080fd5b61055b8d838e016103f2565b965060a08c0135955060c08c013591508082111561057857600080fd5b506105858c828d0161047e565b9094509250610598905060e08b016104c6565b90509295985092959850929598565b600080858511156105b757600080fd5b838611156105c457600080fd5b5050820193919092039150565b803560208310156105ea57600019602084900360031b1b165b92915050565b80151581146105fe57600080fd5b50565b60006020828403121561061357600080fd5b815161061e816105f0565b9392505050565b6000815180845260005b8181101561064b5760208185018101518683018201520161062f565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a08501526106c1610120850183610625565b915060a085015160c085015260c0850151601f198584030160e08601526106e88382610625565b92505060e0850151610704828601826001600160a01b03169052565b5090949350505050565b80356104dd816105f0565b60006040828403121561072b57600080fd5b61073361031d565b9050813581526020820135610747816105f0565b602082015292915050565b80356001600160401b03811681146104dd57600080fd5b803563ffffffff811681146104dd57600080fd5b600060a0828403121561078f57600080fd5b60405160a081018181106001600160401b03821117156107b1576107b1610307565b6040529050806107c083610752565b81526107ce60208401610769565b60208201526107df60408401610752565b60408201526107f060608401610769565b606082015261080160808401610752565b60808201525092915050565b8035600581106104dd57600080fd5b60006101c0828403121561082f57600080fd5b610837610345565b90506108428261080d565b81526108506020830161080d565b60208201526108616040830161080d565b60408201526108726060830161080d565b60608201526108836080830161080d565b608082015261089460a0830161080d565b60a08201526108a560c0830161080d565b60c08201526108b660e08301610769565b60e08201526101006108c981840161080d565b908201526101206108db83820161080d565b908201526101406108ed83820161080d565b908201526101606108ff83820161080d565b9082015261018061091183820161080d565b908201526101a061092383820161080d565b9082015292915050565b600082601f83011261093e57600080fd5b61094661038a565b8061010084018581111561095957600080fd5b845b8181101561097357803584526020938401930161095b565b509095945050505050565b8035600381106104dd57600080fd5b60006040828403121561099f57600080fd5b6109a761031d565b9050813581526020820135602082015292915050565b600082601f8301126109ce57600080fd5b6109d66103ad565b806101c08401858111156109e957600080fd5b845b81811015610973576109fd878261098d565b84526020909301926040016109eb565b600082601f830112610a1e57600080fd5b604080516101e081018181106001600160401b0382111715610a4257610a42610307565b604052806103c0850186811115610a5857600080fd5b855b81811015610a7b57610a6c888261098d565b83526020909201918401610a5a565b50919695505050505050565b6000818303610740811215610a9b57600080fd5b610aa3610368565b9150610aae8361097e565b8252610abc6020840161097e565b602083015261070080603f1983011215610ad557600080fd5b610add61038a565b9150610aec85604086016109bd565b8252610afc856102008601610a0d565b6020830152610b0f856105c0860161098d565b6040830152610b2285610600860161098d565b6060830152610b3585610640860161098d565b6080830152610b4885610680860161098d565b60a0830152610b5b856106c0860161098d565b60c0830152610b6c8582860161098d565b60e083015250604082015292915050565b600082601f830112610b8e57600080fd5b60405160a081018181106001600160401b0382111715610bb057610bb0610307565b6040528060a0840185811115610bc557600080fd5b845b81811015610bdf578035835260209283019201610bc7565b509195945050505050565b60006109608284031215610bfd57600080fd5b610c056103ad565b9050610c11838361092d565b8152610c21836101008401610a87565b6020820152610c336108408301610769565b6040820152610c46836108608401610b7d565b6060820152610c586109008301610769565b6080820152610c6a610920830161070e565b60a08201526109408201356001600160401b03811115610c8957600080fd5b610c95848285016103f2565b60c08301525092915050565b600060208284031215610cb357600080fd5b81356001600160401b0380821115610cca57600080fd5b908301906103c08286031215610cdf57600080fd5b610ce76103cf565b610cf18684610719565b815260408301356020820152606083013582811115610d0f57600080fd5b610d1b878286016103f2565b604083015250610d2d60808401610752565b6060820152610d3e60a08401610769565b608082015260c083013560a0820152610d5a8660e08501610719565b60c08201526101208084013560e0830152610140610d7a8882870161077d565b610100840152610d8e886101e0870161081c565b828401526103a0850135915083821115610da757600080fd5b610db388838701610bea565b908301525095945050505050565b60038110610ddf57634e487b7160e01b600052602160045260246000fd5b9052565b8060005b600f811015610e1b57610e0584835180518252602090810151910152565b6040939093019260209190910190600101610de7565b50505050565b600061074082019050610e35828451610dc1565b602080840151610e486020850182610dc1565b50604084810151805160008684015b6007821015610e8757610e7581845180518252602090810151910152565b91850191600191909101908401610e57565b50505060208101519250610e9f610200860184610de3565b604081015180516105c08701526020908101516105e0870152606082015180516106008801528101516106208701526080820151805161064088015281015161066087015260a082015180516106808801528101516106a087015260c082015180516106c08801528101516106e087015260e0909101518051610700870152908101516107208601529150610f319050565b509291505056fea264697066735822122035355e3a6dd9df6773969d9cbd558de08195ee430aea89dc01616cfd391cd51064736f6c63430008190033","sourceMap":"186:2995:40:-:0;;;1008:1;971:38;;1016:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1100:15;:59;;-1:-1:-1;;;;;1100:59:40;;;-1:-1:-1;;;;;;1100:59:40;;;;;;;;1169:65;;;;;;;;;;;186:2995;;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:2995:40;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630edb27121461003b578063c681e9a314610050575b600080fd5b61004e6100493660046104e2565b610065565b005b60025460405190815260200160405180910390f35b600061007460208285876105a7565b61007d916105d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100eb9190610601565b61011057604051633b78a2f560e11b8152600481018290526024015b60405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101c790849060040161066b565b602060405180830381865afa1580156101e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102089190610601565b6102255760405163f281a18360e01b815260040160405180910390fd5b366000610235866028818a6105a7565b9092509050600061024883830184610ca1565b90506000816101400151602001516040516020016102669190610e21565b6040516020818303038152906040528051906020012090507fdc9c283f73ce17466a01b90d36141b848805a3db129b6b80d581adca52c9b6f360001b81146102c45760405163170e89eb60e01b815260048101829052602401610107565b6101408201515160200151156102dd57426002556102f6565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561033f5761033f610307565b60405290565b6040516101c081016001600160401b038111828210171561033f5761033f610307565b604051606081016001600160401b038111828210171561033f5761033f610307565b60405161010081016001600160401b038111828210171561033f5761033f610307565b60405160e081016001600160401b038111828210171561033f5761033f610307565b60405161016081016001600160401b038111828210171561033f5761033f610307565b600082601f83011261040357600080fd5b81356001600160401b038082111561041d5761041d610307565b604051601f8301601f19908116603f0116810190828211818310171561044557610445610307565b8160405283815286602085880101111561045e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261049057600080fd5b5081356001600160401b038111156104a757600080fd5b6020830191508360208285010111156104bf57600080fd5b9250929050565b80356001600160a01b03811681146104dd57600080fd5b919050565b60008060008060008060008060006101008a8c03121561050157600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff198116811461052c57600080fd5b965060608a0135955060808a01356001600160401b038082111561054f57600080fd5b61055b8d838e016103f2565b965060a08c0135955060c08c013591508082111561057857600080fd5b506105858c828d0161047e565b9094509250610598905060e08b016104c6565b90509295985092959850929598565b600080858511156105b757600080fd5b838611156105c457600080fd5b5050820193919092039150565b803560208310156105ea57600019602084900360031b1b165b92915050565b80151581146105fe57600080fd5b50565b60006020828403121561061357600080fd5b815161061e816105f0565b9392505050565b6000815180845260005b8181101561064b5760208185018101518683018201520161062f565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a08501526106c1610120850183610625565b915060a085015160c085015260c0850151601f198584030160e08601526106e88382610625565b92505060e0850151610704828601826001600160a01b03169052565b5090949350505050565b80356104dd816105f0565b60006040828403121561072b57600080fd5b61073361031d565b9050813581526020820135610747816105f0565b602082015292915050565b80356001600160401b03811681146104dd57600080fd5b803563ffffffff811681146104dd57600080fd5b600060a0828403121561078f57600080fd5b60405160a081018181106001600160401b03821117156107b1576107b1610307565b6040529050806107c083610752565b81526107ce60208401610769565b60208201526107df60408401610752565b60408201526107f060608401610769565b606082015261080160808401610752565b60808201525092915050565b8035600581106104dd57600080fd5b60006101c0828403121561082f57600080fd5b610837610345565b90506108428261080d565b81526108506020830161080d565b60208201526108616040830161080d565b60408201526108726060830161080d565b60608201526108836080830161080d565b608082015261089460a0830161080d565b60a08201526108a560c0830161080d565b60c08201526108b660e08301610769565b60e08201526101006108c981840161080d565b908201526101206108db83820161080d565b908201526101406108ed83820161080d565b908201526101606108ff83820161080d565b9082015261018061091183820161080d565b908201526101a061092383820161080d565b9082015292915050565b600082601f83011261093e57600080fd5b61094661038a565b8061010084018581111561095957600080fd5b845b8181101561097357803584526020938401930161095b565b509095945050505050565b8035600381106104dd57600080fd5b60006040828403121561099f57600080fd5b6109a761031d565b9050813581526020820135602082015292915050565b600082601f8301126109ce57600080fd5b6109d66103ad565b806101c08401858111156109e957600080fd5b845b81811015610973576109fd878261098d565b84526020909301926040016109eb565b600082601f830112610a1e57600080fd5b604080516101e081018181106001600160401b0382111715610a4257610a42610307565b604052806103c0850186811115610a5857600080fd5b855b81811015610a7b57610a6c888261098d565b83526020909201918401610a5a565b50919695505050505050565b6000818303610740811215610a9b57600080fd5b610aa3610368565b9150610aae8361097e565b8252610abc6020840161097e565b602083015261070080603f1983011215610ad557600080fd5b610add61038a565b9150610aec85604086016109bd565b8252610afc856102008601610a0d565b6020830152610b0f856105c0860161098d565b6040830152610b2285610600860161098d565b6060830152610b3585610640860161098d565b6080830152610b4885610680860161098d565b60a0830152610b5b856106c0860161098d565b60c0830152610b6c8582860161098d565b60e083015250604082015292915050565b600082601f830112610b8e57600080fd5b60405160a081018181106001600160401b0382111715610bb057610bb0610307565b6040528060a0840185811115610bc557600080fd5b845b81811015610bdf578035835260209283019201610bc7565b509195945050505050565b60006109608284031215610bfd57600080fd5b610c056103ad565b9050610c11838361092d565b8152610c21836101008401610a87565b6020820152610c336108408301610769565b6040820152610c46836108608401610b7d565b6060820152610c586109008301610769565b6080820152610c6a610920830161070e565b60a08201526109408201356001600160401b03811115610c8957600080fd5b610c95848285016103f2565b60c08301525092915050565b600060208284031215610cb357600080fd5b81356001600160401b0380821115610cca57600080fd5b908301906103c08286031215610cdf57600080fd5b610ce76103cf565b610cf18684610719565b815260408301356020820152606083013582811115610d0f57600080fd5b610d1b878286016103f2565b604083015250610d2d60808401610752565b6060820152610d3e60a08401610769565b608082015260c083013560a0820152610d5a8660e08501610719565b60c08201526101208084013560e0830152610140610d7a8882870161077d565b610100840152610d8e886101e0870161081c565b828401526103a0850135915083821115610da757600080fd5b610db388838701610bea565b908301525095945050505050565b60038110610ddf57634e487b7160e01b600052602160045260246000fd5b9052565b8060005b600f811015610e1b57610e0584835180518252602090810151910152565b6040939093019260209190910190600101610de7565b50505050565b600061074082019050610e35828451610dc1565b602080840151610e486020850182610dc1565b50604084810151805160008684015b6007821015610e8757610e7581845180518252602090810151910152565b91850191600191909101908401610e57565b50505060208101519250610e9f610200860184610de3565b604081015180516105c08701526020908101516105e0870152606082015180516106008801528101516106208701526080820151805161064088015281015161066087015260a082015180516106808801528101516106a087015260c082015180516106c08801528101516106e087015260e0909101518051610700870152908101516107208601529150610f319050565b509291505056fea264697066735822122035355e3a6dd9df6773969d9cbd558de08195ee430aea89dc01616cfd391cd51064736f6c63430008190033","sourceMap":"186:2995:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:1683;;;;;;:::i;:::-;;:::i;:::-;;1247:120;1334:26;;1247:120;;4268:25:41;;;4256:2;4241:18;1247:120:40;;;;;;;1496:1683;1847:18;1876:13;1886:2;1847:18;1876:8;;:13;:::i;:::-;1868:22;;;:::i;:::-;1905:15;;:44;;-1:-1:-1;;;1905:44:40;;;;;4268:25:41;;;1847:43:40;;-1:-1:-1;;;;;;1905:15:40;;:32;;4241:18:41;;1905:44:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1900:108;;1972:25;;-1:-1:-1;;;1972:25:40;;;;;4268::41;;;4241:18;;1972:25:40;;;;;;;;1900:108;2018:45;2066:299;;;;;;;;2113:15;2066:299;;;;2142:30;2066:299;;;;2186:18;2066:299;;;;;;;2218:15;2066:299;;;;2247:11;2066:299;;;;2272:26;2066:299;;;;2312:8;;2066:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2066:299:40;;;-1:-1:-1;;;;;;2066:299:40;;;;;;;;;;;2381:17;;:39;;-1:-1:-1;;;2381:39:40;;2018:347;;-1:-1:-1;2381:17:40;;:33;;:39;;2018:347;;2381:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2376:99;;2443:21;;-1:-1:-1;;;2443:21:40;;;;;;;;;;;2376:99;2485:29;;2517:17;:8;2526:6;2517:8;;:17;:::i;:::-;2485:49;;-1:-1:-1;2485:49:40;-1:-1:-1;2544:44:40;2591:59;;;;2485:49;2591:59;:::i;:::-;2544:106;;2729:27;2793:7;:13;;;:29;;;2782:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;2759:74;;;;;;2729:104;;544:66;2870:27;;2847:19;:50;2843:130;;2920:42;;-1:-1:-1;;;2920:42:40;;;;;4268:25:41;;;4241:18;;2920:42:40;4122:177:41;2843:130:40;3018:13;;;;:22;:25;;;:30;3014:159;;3093:15;3064:26;:44;3014:159;;;3146:16;;-1:-1:-1;;;3146:16:40;;;;;;;;;;;3014:159;1837:1342;;;;;;1496:1683;;;;;;;;;:::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:253::-;1258:2;1252:9;1300:4;1288:17;;-1:-1:-1;;;;;1320:34:41;;1356:22;;;1317:62;1314:88;;;1382:18;;:::i;1444:250::-;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:538::-;11192:5;11245:3;11238:4;11230:6;11226:17;11222:27;11212:55;;11263:1;11260;11253:12;11212:55;11287:22;;:::i;:::-;11331:3;11369;11361:6;11357:16;11396:3;11388:6;11385:15;11382:35;;;11413:1;11410;11403:12;11382:35;11437:6;11452:167;11468:6;11463:3;11460:15;11452:167;;;11536:38;11570:3;11565;11536:38;:::i;:::-;11524:51;;11604:4;11595:14;;;;11494:4;11485:14;11452:167;;11653:698;11713:5;11766:3;11759:4;11751:6;11747:17;11743:27;11733:55;;11784:1;11781;11774:12;11733:55;11807:2;11838;11832:9;11880:3;11872:6;11868:16;11950:6;11938:10;11935:22;-1:-1:-1;;;;;11902:10:41;11899:34;11896:62;11893:88;;;11961:18;;:::i;:::-;11997:2;11990:22;12032:6;12073:3;12061:16;;12089:15;;;12086:35;;;12117:1;12114;12107:12;12086:35;12141:6;12156:165;12172:6;12167:3;12164:15;12156:165;;;12238:38;12272:3;12267;12238:38;:::i;:::-;12226:51;;12306:4;12297:14;;;;12189:12;;12156:165;;;-1:-1:-1;12339:6:41;;11653:698;-1:-1:-1;;;;;;11653:698:41:o;12356:1264::-;12418:5;12457:9;12452:3;12448:19;12487:6;12483:2;12479:15;12476:35;;;12507:1;12504;12497:12;12476:35;12529:22;;:::i;:::-;12520:31;;12574:41;12605:9;12574:41;:::i;:::-;12567:5;12560:56;12648:50;12694:2;12683:9;12679:18;12648:50;:::i;:::-;12643:2;12636:5;12632:14;12625:74;12718:6;12758:2;12752;12748:7;12744:2;12740:16;12736:25;12733:45;;;12774:1;12771;12764:12;12733:45;12802:22;;:::i;:::-;12787:37;;12849:81;12926:3;12921:2;12910:9;12906:18;12849:81;:::i;:::-;12840:7;12833:98;12965:60;13021:3;13015;13004:9;13000:19;12965:60;:::i;:::-;12960:2;12951:7;12947:16;12940:86;13060:55;13111:3;13104:4;13093:9;13089:20;13060:55;:::i;:::-;13055:2;13046:7;13042:16;13035:81;13152:55;13203:3;13196:4;13185:9;13181:20;13152:55;:::i;:::-;13145:4;13136:7;13132:18;13125:83;13244:55;13295:3;13288:4;13277:9;13273:20;13244:55;:::i;:::-;13237:4;13228:7;13224:18;13217:83;13336:55;13387:3;13380:4;13369:9;13365:20;13336:55;:::i;:::-;13329:4;13320:7;13316:18;13309:83;13428:55;13479:3;13472:4;13461:9;13457:20;13428:55;:::i;:::-;13421:4;13412:7;13408:18;13401:83;13520:53;13569:3;13564:2;13553:9;13549:18;13520:53;:::i;:::-;13513:4;13500:18;;13493:81;-1:-1:-1;13601:2:41;13590:14;;13583:31;13594:5;12356:1264;-1:-1:-1;;12356:1264:41:o;13625:659::-;13686:5;13739:3;13732:4;13724:6;13720:17;13716:27;13706:55;;13757:1;13754;13747:12;13706:55;13790:2;13784:9;13832:3;13824:6;13820:16;13902:6;13890:10;13887:22;-1:-1:-1;;;;;13854:10:41;13851:34;13848:62;13845:88;;;13913:18;;:::i;:::-;13949:2;13942:22;13984:6;14025:3;14013:16;;14041:15;;;14038:35;;;14069:1;14066;14059:12;14038:35;14093:6;14108:146;14124:6;14119:3;14116:15;14108:146;;;14192:17;;14180:30;;14239:4;14230:14;;;;14141;14108:146;;;-1:-1:-1;14272:6:41;;13625:659;-1:-1:-1;;;;;13625:659:41:o;14289:848::-;14348:5;14396:6;14384:9;14379:3;14375:19;14371:32;14368:52;;;14416:1;14413;14406:12;14368:52;14438:22;;:::i;:::-;14429:31;;14483:40;14519:3;14508:9;14483:40;:::i;:::-;14476:5;14469:55;14558:59;14613:3;14607;14596:9;14592:19;14558:59;:::i;:::-;14551:4;14544:5;14540:16;14533:85;14652:39;14685:4;14674:9;14670:20;14652:39;:::i;:::-;14645:4;14638:5;14634:16;14627:65;14726:62;14784:3;14777:4;14766:9;14762:20;14726:62;:::i;:::-;14719:4;14712:5;14708:16;14701:88;14823:39;14856:4;14845:9;14841:20;14823:39;:::i;:::-;14816:4;14809:5;14805:16;14798:65;14897:37;14928:4;14917:9;14913:20;14897:37;:::i;:::-;14890:4;14883:5;14879:16;14872:63;14986:4;14975:9;14971:20;14958:34;-1:-1:-1;;;;;15007:6:41;15004:30;15001:50;;;15047:1;15044;15037:12;15001:50;15085:45;15126:3;15117:6;15106:9;15102:22;15085:45;:::i;:::-;15078:4;15071:5;15067:16;15060:71;;14289:848;;;;:::o;15142:1492::-;15226:6;15279:2;15267:9;15258:7;15254:23;15250:32;15247:52;;;15295:1;15292;15285:12;15247:52;15335:9;15322:23;-1:-1:-1;;;;;15405:2:41;15397:6;15394:14;15391:34;;;15421:1;15418;15411:12;15391:34;15444:22;;;;15500:6;15482:16;;;15478:29;15475:49;;;15520:1;15517;15510:12;15475:49;15546:17;;:::i;:::-;15586:48;15626:7;15622:2;15586:48;:::i;:::-;15579:5;15572:63;15688:2;15684;15680:11;15667:25;15662:2;15655:5;15651:14;15644:49;15739:2;15735;15731:11;15718:25;15768:2;15758:8;15755:16;15752:36;;;15784:1;15781;15774:12;15752:36;15820:44;15856:7;15845:8;15841:2;15837:17;15820:44;:::i;:::-;15815:2;15808:5;15804:14;15797:68;;15897:31;15923:3;15919:2;15915:12;15897:31;:::i;:::-;15892:2;15885:5;15881:14;15874:55;15962:31;15988:3;15984:2;15980:12;15962:31;:::i;:::-;15956:3;15949:5;15945:15;15938:56;16048:3;16044:2;16040:12;16027:26;16021:3;16014:5;16010:15;16003:51;16087:58;16137:7;16131:3;16127:2;16123:12;16087:58;:::i;:::-;16081:3;16074:5;16070:15;16063:83;16165:3;16222:2;16218;16214:11;16201:25;16195:3;16188:5;16184:15;16177:50;16246:3;16285:46;16323:7;16318:2;16314;16310:11;16285:46;:::i;:::-;16276:6;16269:5;16265:18;16258:74;16364:52;16408:7;16402:3;16398:2;16394:12;16364:52;:::i;:::-;16359:2;16352:5;16348:14;16341:76;16463:3;16459:2;16455:12;16442:26;16426:42;;16493:2;16483:8;16480:16;16477:36;;;16509:1;16506;16499:12;16477:36;16545:58;16595:7;16584:8;16580:2;16576:17;16545:58;:::i;:::-;16529:14;;;16522:82;-1:-1:-1;16533:5:41;15142:1492;-1:-1:-1;;;;;15142:1492:41:o;16639:242::-;16725:1;16718:5;16715:12;16705:143;;16770:10;16765:3;16761:20;16758:1;16751:31;16805:4;16802:1;16795:15;16833:4;16830:1;16823:15;16705:143;16857:18;;16639:242::o;17042:335::-;17145:5;17168:1;17178:193;17192:4;17189:1;17186:11;17178:193;;;17239:48;17283:3;17274:6;17268:13;16962:12;;16950:25;;17024:4;17013:16;;;17007:23;16991:14;;16984:47;16886:151;17239:48;17316:4;17307:14;;;;;17356:4;17344:17;;;;;17212:1;17205:9;17178:193;;;17182:3;;17042:335;;:::o;17382:1837::-;17540:4;17582;17571:9;17567:20;17559:28;;17596:56;17642:9;17633:6;17627:13;17596:56;:::i;:::-;17671:4;17722;17714:6;17710:17;17704:24;17737:66;17797:4;17786:9;17782:20;17768:12;17737:66;:::i;:::-;-1:-1:-1;17822:4:41;17863:17;;;17857:24;17939:21;;18043:1;17900:20;;;18053:189;18067:4;18064:1;18061:11;18053:189;;;18114:48;18158:3;18149:6;18143:13;16962:12;;16950:25;;17024:4;17013:16;;;17007:23;16991:14;;16984:47;16886:151;18114:48;18217:15;;;;18087:1;18080:9;;;;;18182:12;;18053:189;;;18057:3;;;18299:4;18283:14;18279:25;18273:32;18251:54;;18314:71;18380:3;18369:9;18365:19;18349:14;18314:71;:::i;:::-;18442:4;18422:25;;18416:32;16962:12;;18517:4;18502:20;;16950:25;17024:4;17013:16;;;17007:23;16991:14;;;16984:47;18580:4;18560:25;;18554:32;16962:12;;18655:4;18640:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;18718:4;18698:25;;18692:32;16962:12;;18793:4;18778:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;18856:4;18836:25;;18830:32;16962:12;;18931:4;18916:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;18994:4;18974:25;;18968:32;16962:12;;19069:4;19054:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;19132:4;19112:25;;;19106:32;16962:12;;19207:4;19192:20;;16950:25;17013:16;;;17007:23;16991:14;;;16984:47;19106:32;-1:-1:-1;19147:66:41;;-1:-1:-1;16886:151:41;19147:66;;17382:1837;;;;:::o","linkReferences":{}},"methodIdentifiers":{"getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"0edb2712"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"verificationKeyHash\",\"type\":\"bytes32\"}],\"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\":\"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\":{\"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\":\"0x6b0abe00126fe228ec83554cad3f443fe6e8308992700ee77d06bf684317a9a5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://368911bf2b52433a1bb05f31f68b6a40c910c652f85c39e2cd0a2dd6b6f8f6bf\",\"dweb:/ipfs/QmQdc4VjfzxEJSTyczAn1KgFZW6ESjgqy8ezefM4Gb5fWe\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"verificationKeyHash","type":"bytes32"}],"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":"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":{"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":"0x6b0abe00126fe228ec83554cad3f443fe6e8308992700ee77d06bf684317a9a5","urls":["bzz-raw://368911bf2b52433a1bb05f31f68b6a40c910c652f85c39e2cd0a2dd6b6f8f6bf","dweb:/ipfs/QmQdc4VjfzxEJSTyczAn1KgFZW6ESjgqy8ezefM4Gb5fWe"],"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":"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":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x60806040526000600255348015601457600080fd5b50604051611027380380611027833981016040819052603191607c565b600080546001600160a01b039384166001600160a01b0319918216179091556001805492909316911617905560aa565b80516001600160a01b0381168114607757600080fd5b919050565b60008060408385031215608e57600080fd5b6095836061565b915060a1602084016061565b90509250929050565b610f6e806100b96000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630edb27121461003b578063c681e9a314610050575b600080fd5b61004e6100493660046104e2565b610065565b005b60025460405190815260200160405180910390f35b600061007460208285876105a7565b61007d916105d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100eb9190610601565b61011057604051633b78a2f560e11b8152600481018290526024015b60405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101c790849060040161066b565b602060405180830381865afa1580156101e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102089190610601565b6102255760405163f281a18360e01b815260040160405180910390fd5b366000610235866028818a6105a7565b9092509050600061024883830184610ca1565b90506000816101400151602001516040516020016102669190610e21565b6040516020818303038152906040528051906020012090507fdc9c283f73ce17466a01b90d36141b848805a3db129b6b80d581adca52c9b6f360001b81146102c45760405163170e89eb60e01b815260048101829052602401610107565b6101408201515160200151156102dd57426002556102f6565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561033f5761033f610307565b60405290565b6040516101c081016001600160401b038111828210171561033f5761033f610307565b604051606081016001600160401b038111828210171561033f5761033f610307565b60405161010081016001600160401b038111828210171561033f5761033f610307565b60405160e081016001600160401b038111828210171561033f5761033f610307565b60405161016081016001600160401b038111828210171561033f5761033f610307565b600082601f83011261040357600080fd5b81356001600160401b038082111561041d5761041d610307565b604051601f8301601f19908116603f0116810190828211818310171561044557610445610307565b8160405283815286602085880101111561045e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261049057600080fd5b5081356001600160401b038111156104a757600080fd5b6020830191508360208285010111156104bf57600080fd5b9250929050565b80356001600160a01b03811681146104dd57600080fd5b919050565b60008060008060008060008060006101008a8c03121561050157600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff198116811461052c57600080fd5b965060608a0135955060808a01356001600160401b038082111561054f57600080fd5b61055b8d838e016103f2565b965060a08c0135955060c08c013591508082111561057857600080fd5b506105858c828d0161047e565b9094509250610598905060e08b016104c6565b90509295985092959850929598565b600080858511156105b757600080fd5b838611156105c457600080fd5b5050820193919092039150565b803560208310156105ea57600019602084900360031b1b165b92915050565b80151581146105fe57600080fd5b50565b60006020828403121561061357600080fd5b815161061e816105f0565b9392505050565b6000815180845260005b8181101561064b5760208185018101518683018201520161062f565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a08501526106c1610120850183610625565b915060a085015160c085015260c0850151601f198584030160e08601526106e88382610625565b92505060e0850151610704828601826001600160a01b03169052565b5090949350505050565b80356104dd816105f0565b60006040828403121561072b57600080fd5b61073361031d565b9050813581526020820135610747816105f0565b602082015292915050565b80356001600160401b03811681146104dd57600080fd5b803563ffffffff811681146104dd57600080fd5b600060a0828403121561078f57600080fd5b60405160a081018181106001600160401b03821117156107b1576107b1610307565b6040529050806107c083610752565b81526107ce60208401610769565b60208201526107df60408401610752565b60408201526107f060608401610769565b606082015261080160808401610752565b60808201525092915050565b8035600581106104dd57600080fd5b60006101c0828403121561082f57600080fd5b610837610345565b90506108428261080d565b81526108506020830161080d565b60208201526108616040830161080d565b60408201526108726060830161080d565b60608201526108836080830161080d565b608082015261089460a0830161080d565b60a08201526108a560c0830161080d565b60c08201526108b660e08301610769565b60e08201526101006108c981840161080d565b908201526101206108db83820161080d565b908201526101406108ed83820161080d565b908201526101606108ff83820161080d565b9082015261018061091183820161080d565b908201526101a061092383820161080d565b9082015292915050565b600082601f83011261093e57600080fd5b61094661038a565b8061010084018581111561095957600080fd5b845b8181101561097357803584526020938401930161095b565b509095945050505050565b8035600381106104dd57600080fd5b60006040828403121561099f57600080fd5b6109a761031d565b9050813581526020820135602082015292915050565b600082601f8301126109ce57600080fd5b6109d66103ad565b806101c08401858111156109e957600080fd5b845b81811015610973576109fd878261098d565b84526020909301926040016109eb565b600082601f830112610a1e57600080fd5b604080516101e081018181106001600160401b0382111715610a4257610a42610307565b604052806103c0850186811115610a5857600080fd5b855b81811015610a7b57610a6c888261098d565b83526020909201918401610a5a565b50919695505050505050565b6000818303610740811215610a9b57600080fd5b610aa3610368565b9150610aae8361097e565b8252610abc6020840161097e565b602083015261070080603f1983011215610ad557600080fd5b610add61038a565b9150610aec85604086016109bd565b8252610afc856102008601610a0d565b6020830152610b0f856105c0860161098d565b6040830152610b2285610600860161098d565b6060830152610b3585610640860161098d565b6080830152610b4885610680860161098d565b60a0830152610b5b856106c0860161098d565b60c0830152610b6c8582860161098d565b60e083015250604082015292915050565b600082601f830112610b8e57600080fd5b60405160a081018181106001600160401b0382111715610bb057610bb0610307565b6040528060a0840185811115610bc557600080fd5b845b81811015610bdf578035835260209283019201610bc7565b509195945050505050565b60006109608284031215610bfd57600080fd5b610c056103ad565b9050610c11838361092d565b8152610c21836101008401610a87565b6020820152610c336108408301610769565b6040820152610c46836108608401610b7d565b6060820152610c586109008301610769565b6080820152610c6a610920830161070e565b60a08201526109408201356001600160401b03811115610c8957600080fd5b610c95848285016103f2565b60c08301525092915050565b600060208284031215610cb357600080fd5b81356001600160401b0380821115610cca57600080fd5b908301906103c08286031215610cdf57600080fd5b610ce76103cf565b610cf18684610719565b815260408301356020820152606083013582811115610d0f57600080fd5b610d1b878286016103f2565b604083015250610d2d60808401610752565b6060820152610d3e60a08401610769565b608082015260c083013560a0820152610d5a8660e08501610719565b60c08201526101208084013560e0830152610140610d7a8882870161077d565b610100840152610d8e886101e0870161081c565b828401526103a0850135915083821115610da757600080fd5b610db388838701610bea565b908301525095945050505050565b60038110610ddf57634e487b7160e01b600052602160045260246000fd5b9052565b8060005b600f811015610e1b57610e0584835180518252602090810151910152565b6040939093019260209190910190600101610de7565b50505050565b600061074082019050610e35828451610dc1565b602080840151610e486020850182610dc1565b50604084810151805160008684015b6007821015610e8757610e7581845180518252602090810151910152565b91850191600191909101908401610e57565b50505060208101519250610e9f610200860184610de3565b604081015180516105c08701526020908101516105e0870152606082015180516106008801528101516106208701526080820151805161064088015281015161066087015260a082015180516106808801528101516106a087015260c082015180516106c08801528101516106e087015260e0909101518051610700870152908101516107208601529150610f319050565b509291505056fea2646970667358221220d2ec8db8cb9ca22c115a1decafb4d7d3d596412dde2bc7ca8e795bb0305990d964736f6c63430008190033","sourceMap":"186:2995:40:-:0;;;1008:1;971:38;;1016:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1100:15;:59;;-1:-1:-1;;;;;1100:59:40;;;-1:-1:-1;;;;;;1100:59:40;;;;;;;;1169:65;;;;;;;;;;;186:2995;;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:2995:40;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630edb27121461003b578063c681e9a314610050575b600080fd5b61004e6100493660046104e2565b610065565b005b60025460405190815260200160405180910390f35b600061007460208285876105a7565b61007d916105d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100eb9190610601565b61011057604051633b78a2f560e11b8152600481018290526024015b60405180910390fd5b60006040518061010001604052808c81526020018b81526020018a6bffffffffffffffffffffffff1916815260200189815260200188815260200187815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506001600160a01b03808616602090920191909152600154604051639029ad1560e01b81529293501690639029ad15906101c790849060040161066b565b602060405180830381865afa1580156101e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102089190610601565b6102255760405163f281a18360e01b815260040160405180910390fd5b366000610235866028818a6105a7565b9092509050600061024883830184610ca1565b90506000816101400151602001516040516020016102669190610e21565b6040516020818303038152906040528051906020012090507fdc9c283f73ce17466a01b90d36141b848805a3db129b6b80d581adca52c9b6f360001b81146102c45760405163170e89eb60e01b815260048101829052602401610107565b6101408201515160200151156102dd57426002556102f6565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561033f5761033f610307565b60405290565b6040516101c081016001600160401b038111828210171561033f5761033f610307565b604051606081016001600160401b038111828210171561033f5761033f610307565b60405161010081016001600160401b038111828210171561033f5761033f610307565b60405160e081016001600160401b038111828210171561033f5761033f610307565b60405161016081016001600160401b038111828210171561033f5761033f610307565b600082601f83011261040357600080fd5b81356001600160401b038082111561041d5761041d610307565b604051601f8301601f19908116603f0116810190828211818310171561044557610445610307565b8160405283815286602085880101111561045e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008083601f84011261049057600080fd5b5081356001600160401b038111156104a757600080fd5b6020830191508360208285010111156104bf57600080fd5b9250929050565b80356001600160a01b03811681146104dd57600080fd5b919050565b60008060008060008060008060006101008a8c03121561050157600080fd5b8935985060208a0135975060408a01356bffffffffffffffffffffffff198116811461052c57600080fd5b965060608a0135955060808a01356001600160401b038082111561054f57600080fd5b61055b8d838e016103f2565b965060a08c0135955060c08c013591508082111561057857600080fd5b506105858c828d0161047e565b9094509250610598905060e08b016104c6565b90509295985092959850929598565b600080858511156105b757600080fd5b838611156105c457600080fd5b5050820193919092039150565b803560208310156105ea57600019602084900360031b1b165b92915050565b80151581146105fe57600080fd5b50565b60006020828403121561061357600080fd5b815161061e816105f0565b9392505050565b6000815180845260005b8181101561064b5760208185018101518683018201520161062f565b506000602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201526bffffffffffffffffffffffff19604083015116606082015260608201516080820152600060808301516101008060a08501526106c1610120850183610625565b915060a085015160c085015260c0850151601f198584030160e08601526106e88382610625565b92505060e0850151610704828601826001600160a01b03169052565b5090949350505050565b80356104dd816105f0565b60006040828403121561072b57600080fd5b61073361031d565b9050813581526020820135610747816105f0565b602082015292915050565b80356001600160401b03811681146104dd57600080fd5b803563ffffffff811681146104dd57600080fd5b600060a0828403121561078f57600080fd5b60405160a081018181106001600160401b03821117156107b1576107b1610307565b6040529050806107c083610752565b81526107ce60208401610769565b60208201526107df60408401610752565b60408201526107f060608401610769565b606082015261080160808401610752565b60808201525092915050565b8035600581106104dd57600080fd5b60006101c0828403121561082f57600080fd5b610837610345565b90506108428261080d565b81526108506020830161080d565b60208201526108616040830161080d565b60408201526108726060830161080d565b60608201526108836080830161080d565b608082015261089460a0830161080d565b60a08201526108a560c0830161080d565b60c08201526108b660e08301610769565b60e08201526101006108c981840161080d565b908201526101206108db83820161080d565b908201526101406108ed83820161080d565b908201526101606108ff83820161080d565b9082015261018061091183820161080d565b908201526101a061092383820161080d565b9082015292915050565b600082601f83011261093e57600080fd5b61094661038a565b8061010084018581111561095957600080fd5b845b8181101561097357803584526020938401930161095b565b509095945050505050565b8035600381106104dd57600080fd5b60006040828403121561099f57600080fd5b6109a761031d565b9050813581526020820135602082015292915050565b600082601f8301126109ce57600080fd5b6109d66103ad565b806101c08401858111156109e957600080fd5b845b81811015610973576109fd878261098d565b84526020909301926040016109eb565b600082601f830112610a1e57600080fd5b604080516101e081018181106001600160401b0382111715610a4257610a42610307565b604052806103c0850186811115610a5857600080fd5b855b81811015610a7b57610a6c888261098d565b83526020909201918401610a5a565b50919695505050505050565b6000818303610740811215610a9b57600080fd5b610aa3610368565b9150610aae8361097e565b8252610abc6020840161097e565b602083015261070080603f1983011215610ad557600080fd5b610add61038a565b9150610aec85604086016109bd565b8252610afc856102008601610a0d565b6020830152610b0f856105c0860161098d565b6040830152610b2285610600860161098d565b6060830152610b3585610640860161098d565b6080830152610b4885610680860161098d565b60a0830152610b5b856106c0860161098d565b60c0830152610b6c8582860161098d565b60e083015250604082015292915050565b600082601f830112610b8e57600080fd5b60405160a081018181106001600160401b0382111715610bb057610bb0610307565b6040528060a0840185811115610bc557600080fd5b845b81811015610bdf578035835260209283019201610bc7565b509195945050505050565b60006109608284031215610bfd57600080fd5b610c056103ad565b9050610c11838361092d565b8152610c21836101008401610a87565b6020820152610c336108408301610769565b6040820152610c46836108608401610b7d565b6060820152610c586109008301610769565b6080820152610c6a610920830161070e565b60a08201526109408201356001600160401b03811115610c8957600080fd5b610c95848285016103f2565b60c08301525092915050565b600060208284031215610cb357600080fd5b81356001600160401b0380821115610cca57600080fd5b908301906103c08286031215610cdf57600080fd5b610ce76103cf565b610cf18684610719565b815260408301356020820152606083013582811115610d0f57600080fd5b610d1b878286016103f2565b604083015250610d2d60808401610752565b6060820152610d3e60a08401610769565b608082015260c083013560a0820152610d5a8660e08501610719565b60c08201526101208084013560e0830152610140610d7a8882870161077d565b610100840152610d8e886101e0870161081c565b828401526103a0850135915083821115610da757600080fd5b610db388838701610bea565b908301525095945050505050565b60038110610ddf57634e487b7160e01b600052602160045260246000fd5b9052565b8060005b600f811015610e1b57610e0584835180518252602090810151910152565b6040939093019260209190910190600101610de7565b50505050565b600061074082019050610e35828451610dc1565b602080840151610e486020850182610dc1565b50604084810151805160008684015b6007821015610e8757610e7581845180518252602090810151910152565b91850191600191909101908401610e57565b50505060208101519250610e9f610200860184610de3565b604081015180516105c08701526020908101516105e0870152606082015180516106008801528101516106208701526080820151805161064088015281015161066087015260a082015180516106808801528101516106a087015260c082015180516106c08801528101516106e087015260e0909101518051610700870152908101516107208601529150610f319050565b509291505056fea2646970667358221220d2ec8db8cb9ca22c115a1decafb4d7d3d596412dde2bc7ca8e795bb0305990d964736f6c63430008190033","sourceMap":"186:2995:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1496:1683;;;;;;:::i;:::-;;:::i;:::-;;1247:120;1334:26;;1247:120;;4268:25:41;;;4256:2;4241:18;1247:120:40;;;;;;;1496:1683;1847:18;1876:13;1886:2;1847:18;1876:8;;:13;:::i;:::-;1868:22;;;:::i;:::-;1905:15;;:44;;-1:-1:-1;;;1905:44:40;;;;;4268:25:41;;;1847:43:40;;-1:-1:-1;;;;;;1905:15:40;;:32;;4241:18:41;;1905:44:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1900:108;;1972:25;;-1:-1:-1;;;1972:25:40;;;;;4268::41;;;4241:18;;1972:25:40;;;;;;;;1900:108;2018:45;2066:299;;;;;;;;2113:15;2066:299;;;;2142:30;2066:299;;;;2186:18;2066:299;;;;;;;2218:15;2066:299;;;;2247:11;2066:299;;;;2272:26;2066:299;;;;2312:8;;2066:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2066:299:40;;;-1:-1:-1;;;;;;2066:299:40;;;;;;;;;;;2381:17;;:39;;-1:-1:-1;;;2381:39:40;;2018:347;;-1:-1:-1;2381:17:40;;:33;;:39;;2018:347;;2381:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2376:99;;2443:21;;-1:-1:-1;;;2443:21:40;;;;;;;;;;;2376:99;2485:29;;2517:17;:8;2526:6;2517:8;;:17;:::i;:::-;2485:49;;-1:-1:-1;2485:49:40;-1:-1:-1;2544:44:40;2591:59;;;;2485:49;2591:59;:::i;:::-;2544:106;;2729:27;2793:7;:13;;;:29;;;2782:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;2759:74;;;;;;2729:104;;544:66;2870:27;;2847:19;:50;2843:130;;2920:42;;-1:-1:-1;;;2920:42:40;;;;;4268:25:41;;;4241:18;;2920:42:40;4122:177:41;2843:130:40;3018:13;;;;:22;:25;;;:30;3014:159;;3093:15;3064:26;:44;3014:159;;;3146:16;;-1:-1:-1;;;3146:16:40;;;;;;;;;;;3014:159;1837:1342;;;;;;1496:1683;;;;;;;;;:::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:253::-;1258:2;1252:9;1300:4;1288:17;;-1:-1:-1;;;;;1320:34:41;;1356:22;;;1317:62;1314:88;;;1382:18;;:::i;1444:250::-;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:538::-;11192:5;11245:3;11238:4;11230:6;11226:17;11222:27;11212:55;;11263:1;11260;11253:12;11212:55;11287:22;;:::i;:::-;11331:3;11369;11361:6;11357:16;11396:3;11388:6;11385:15;11382:35;;;11413:1;11410;11403:12;11382:35;11437:6;11452:167;11468:6;11463:3;11460:15;11452:167;;;11536:38;11570:3;11565;11536:38;:::i;:::-;11524:51;;11604:4;11595:14;;;;11494:4;11485:14;11452:167;;11653:698;11713:5;11766:3;11759:4;11751:6;11747:17;11743:27;11733:55;;11784:1;11781;11774:12;11733:55;11807:2;11838;11832:9;11880:3;11872:6;11868:16;11950:6;11938:10;11935:22;-1:-1:-1;;;;;11902:10:41;11899:34;11896:62;11893:88;;;11961:18;;:::i;:::-;11997:2;11990:22;12032:6;12073:3;12061:16;;12089:15;;;12086:35;;;12117:1;12114;12107:12;12086:35;12141:6;12156:165;12172:6;12167:3;12164:15;12156:165;;;12238:38;12272:3;12267;12238:38;:::i;:::-;12226:51;;12306:4;12297:14;;;;12189:12;;12156:165;;;-1:-1:-1;12339:6:41;;11653:698;-1:-1:-1;;;;;;11653:698:41:o;12356:1264::-;12418:5;12457:9;12452:3;12448:19;12487:6;12483:2;12479:15;12476:35;;;12507:1;12504;12497:12;12476:35;12529:22;;:::i;:::-;12520:31;;12574:41;12605:9;12574:41;:::i;:::-;12567:5;12560:56;12648:50;12694:2;12683:9;12679:18;12648:50;:::i;:::-;12643:2;12636:5;12632:14;12625:74;12718:6;12758:2;12752;12748:7;12744:2;12740:16;12736:25;12733:45;;;12774:1;12771;12764:12;12733:45;12802:22;;:::i;:::-;12787:37;;12849:81;12926:3;12921:2;12910:9;12906:18;12849:81;:::i;:::-;12840:7;12833:98;12965:60;13021:3;13015;13004:9;13000:19;12965:60;:::i;:::-;12960:2;12951:7;12947:16;12940:86;13060:55;13111:3;13104:4;13093:9;13089:20;13060:55;:::i;:::-;13055:2;13046:7;13042:16;13035:81;13152:55;13203:3;13196:4;13185:9;13181:20;13152:55;:::i;:::-;13145:4;13136:7;13132:18;13125:83;13244:55;13295:3;13288:4;13277:9;13273:20;13244:55;:::i;:::-;13237:4;13228:7;13224:18;13217:83;13336:55;13387:3;13380:4;13369:9;13365:20;13336:55;:::i;:::-;13329:4;13320:7;13316:18;13309:83;13428:55;13479:3;13472:4;13461:9;13457:20;13428:55;:::i;:::-;13421:4;13412:7;13408:18;13401:83;13520:53;13569:3;13564:2;13553:9;13549:18;13520:53;:::i;:::-;13513:4;13500:18;;13493:81;-1:-1:-1;13601:2:41;13590:14;;13583:31;13594:5;12356:1264;-1:-1:-1;;12356:1264:41:o;13625:659::-;13686:5;13739:3;13732:4;13724:6;13720:17;13716:27;13706:55;;13757:1;13754;13747:12;13706:55;13790:2;13784:9;13832:3;13824:6;13820:16;13902:6;13890:10;13887:22;-1:-1:-1;;;;;13854:10:41;13851:34;13848:62;13845:88;;;13913:18;;:::i;:::-;13949:2;13942:22;13984:6;14025:3;14013:16;;14041:15;;;14038:35;;;14069:1;14066;14059:12;14038:35;14093:6;14108:146;14124:6;14119:3;14116:15;14108:146;;;14192:17;;14180:30;;14239:4;14230:14;;;;14141;14108:146;;;-1:-1:-1;14272:6:41;;13625:659;-1:-1:-1;;;;;13625:659:41:o;14289:848::-;14348:5;14396:6;14384:9;14379:3;14375:19;14371:32;14368:52;;;14416:1;14413;14406:12;14368:52;14438:22;;:::i;:::-;14429:31;;14483:40;14519:3;14508:9;14483:40;:::i;:::-;14476:5;14469:55;14558:59;14613:3;14607;14596:9;14592:19;14558:59;:::i;:::-;14551:4;14544:5;14540:16;14533:85;14652:39;14685:4;14674:9;14670:20;14652:39;:::i;:::-;14645:4;14638:5;14634:16;14627:65;14726:62;14784:3;14777:4;14766:9;14762:20;14726:62;:::i;:::-;14719:4;14712:5;14708:16;14701:88;14823:39;14856:4;14845:9;14841:20;14823:39;:::i;:::-;14816:4;14809:5;14805:16;14798:65;14897:37;14928:4;14917:9;14913:20;14897:37;:::i;:::-;14890:4;14883:5;14879:16;14872:63;14986:4;14975:9;14971:20;14958:34;-1:-1:-1;;;;;15007:6:41;15004:30;15001:50;;;15047:1;15044;15037:12;15001:50;15085:45;15126:3;15117:6;15106:9;15102:22;15085:45;:::i;:::-;15078:4;15071:5;15067:16;15060:71;;14289:848;;;;:::o;15142:1492::-;15226:6;15279:2;15267:9;15258:7;15254:23;15250:32;15247:52;;;15295:1;15292;15285:12;15247:52;15335:9;15322:23;-1:-1:-1;;;;;15405:2:41;15397:6;15394:14;15391:34;;;15421:1;15418;15411:12;15391:34;15444:22;;;;15500:6;15482:16;;;15478:29;15475:49;;;15520:1;15517;15510:12;15475:49;15546:17;;:::i;:::-;15586:48;15626:7;15622:2;15586:48;:::i;:::-;15579:5;15572:63;15688:2;15684;15680:11;15667:25;15662:2;15655:5;15651:14;15644:49;15739:2;15735;15731:11;15718:25;15768:2;15758:8;15755:16;15752:36;;;15784:1;15781;15774:12;15752:36;15820:44;15856:7;15845:8;15841:2;15837:17;15820:44;:::i;:::-;15815:2;15808:5;15804:14;15797:68;;15897:31;15923:3;15919:2;15915:12;15897:31;:::i;:::-;15892:2;15885:5;15881:14;15874:55;15962:31;15988:3;15984:2;15980:12;15962:31;:::i;:::-;15956:3;15949:5;15945:15;15938:56;16048:3;16044:2;16040:12;16027:26;16021:3;16014:5;16010:15;16003:51;16087:58;16137:7;16131:3;16127:2;16123:12;16087:58;:::i;:::-;16081:3;16074:5;16070:15;16063:83;16165:3;16222:2;16218;16214:11;16201:25;16195:3;16188:5;16184:15;16177:50;16246:3;16285:46;16323:7;16318:2;16314;16310:11;16285:46;:::i;:::-;16276:6;16269:5;16265:18;16258:74;16364:52;16408:7;16402:3;16398:2;16394:12;16364:52;:::i;:::-;16359:2;16352:5;16348:14;16341:76;16463:3;16459:2;16455:12;16442:26;16426:42;;16493:2;16483:8;16480:16;16477:36;;;16509:1;16506;16499:12;16477:36;16545:58;16595:7;16584:8;16580:2;16576:17;16545:58;:::i;:::-;16529:14;;;16522:82;-1:-1:-1;16533:5:41;15142:1492;-1:-1:-1;;;;;15142:1492:41:o;16639:242::-;16725:1;16718:5;16715:12;16705:143;;16770:10;16765:3;16761:20;16758:1;16751:31;16805:4;16802:1;16795:15;16833:4;16830:1;16823:15;16705:143;16857:18;;16639:242::o;17042:335::-;17145:5;17168:1;17178:193;17192:4;17189:1;17186:11;17178:193;;;17239:48;17283:3;17274:6;17268:13;16962:12;;16950:25;;17024:4;17013:16;;;17007:23;16991:14;;16984:47;16886:151;17239:48;17316:4;17307:14;;;;;17356:4;17344:17;;;;;17212:1;17205:9;17178:193;;;17182:3;;17042:335;;:::o;17382:1837::-;17540:4;17582;17571:9;17567:20;17559:28;;17596:56;17642:9;17633:6;17627:13;17596:56;:::i;:::-;17671:4;17722;17714:6;17710:17;17704:24;17737:66;17797:4;17786:9;17782:20;17768:12;17737:66;:::i;:::-;-1:-1:-1;17822:4:41;17863:17;;;17857:24;17939:21;;18043:1;17900:20;;;18053:189;18067:4;18064:1;18061:11;18053:189;;;18114:48;18158:3;18149:6;18143:13;16962:12;;16950:25;;17024:4;17013:16;;;17007:23;16991:14;;16984:47;16886:151;18114:48;18217:15;;;;18087:1;18080:9;;;;;18182:12;;18053:189;;;18057:3;;;18299:4;18283:14;18279:25;18273:32;18251:54;;18314:71;18380:3;18369:9;18365:19;18349:14;18314:71;:::i;:::-;18442:4;18422:25;;18416:32;16962:12;;18517:4;18502:20;;16950:25;17024:4;17013:16;;;17007:23;16991:14;;;16984:47;18580:4;18560:25;;18554:32;16962:12;;18655:4;18640:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;18718:4;18698:25;;18692:32;16962:12;;18793:4;18778:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;18856:4;18836:25;;18830:32;16962:12;;18931:4;18916:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;18994:4;18974:25;;18968:32;16962:12;;19069:4;19054:20;;16950:25;17013:16;;17007:23;16991:14;;;16984:47;19132:4;19112:25;;;19106:32;16962:12;;19207:4;19192:20;;16950:25;17013:16;;;17007:23;16991:14;;;16984:47;19106:32;-1:-1:-1;19147:66:41;;-1:-1:-1;16886:151:41;19147:66;;17382:1837;;;;:::o","linkReferences":{}},"methodIdentifiers":{"getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"0edb2712"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"verificationKeyHash\",\"type\":\"bytes32\"}],\"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\":\"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\":{\"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\":\"0x6b0abe00126fe228ec83554cad3f443fe6e8308992700ee77d06bf684317a9a5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://368911bf2b52433a1bb05f31f68b6a40c910c652f85c39e2cd0a2dd6b6f8f6bf\",\"dweb:/ipfs/QmQdc4VjfzxEJSTyczAn1KgFZW6ESjgqy8ezefM4Gb5fWe\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"verificationKeyHash","type":"bytes32"}],"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":"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":{"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":"0x6b0abe00126fe228ec83554cad3f443fe6e8308992700ee77d06bf684317a9a5","urls":["bzz-raw://368911bf2b52433a1bb05f31f68b6a40c910c652f85c39e2cd0a2dd6b6f8f6bf","dweb:/ipfs/QmQdc4VjfzxEJSTyczAn1KgFZW6ESjgqy8ezefM4Gb5fWe"],"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 bb1d9534..2b1196b0 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -11,11 +11,7 @@ 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}; @@ -51,6 +47,8 @@ async fn main() { let EnvironmentVariables { rpc_url, chain, + state_settlement_addr, + account_validation_addr, batcher_addr, batcher_eth_addr, eth_rpc_url, @@ -62,6 +60,24 @@ 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 sudoku_address = match chain { + Chain::Devnet => SUDOKU_VALIDITY_DEVNET_ADDRESS.to_string(), + Chain::Holesky => std::env::var("SUDOKU_VALIDITY_HOLESKY_ADDRESS").unwrap_or_else(|_| { + error!("Error getting Sudoku vality contract address"); + process::exit(1); + }), + _ => todo!() + }; + let wallet_alloy = wallet_alloy::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) .unwrap_or_else(|err| { @@ -82,9 +98,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, @@ -106,7 +119,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); @@ -126,12 +139,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; @@ -148,12 +163,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, @@ -168,6 +186,7 @@ async fn main() { &tip_state_hash, &rpc_url, &chain, + &account_validation_addr, &batcher_addr, &batcher_eth_addr, ð_rpc_url, @@ -183,6 +202,7 @@ async fn main() { }); debug!("Creating contract instance"); +<<<<<<< HEAD let sudoku_address = match chain { Chain::Devnet => SUDOKU_VALIDITY_DEVNET_ADDRESS, Chain::Holesky => { @@ -193,8 +213,10 @@ async fn main() { } _ => todo!(), }; +======= +>>>>>>> aligned let contract = - SudokuValidity::new(Address::from_str(sudoku_address).unwrap(), provider); + SudokuValidity::new(Address::from_str(&sudoku_address).unwrap(), provider); let call = contract.validateSolution( proof_commitment.into(),