From 24f5c8bd4f3c35392259d2f28b2f466160a04c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 13 Sep 2024 18:39:03 -0300 Subject: [PATCH 01/48] Init bun project --- example_app/.gitignore | 175 ++++++++++++++++++++++++++++++++++++++ example_app/README.md | 15 ++++ example_app/bun.lockb | Bin 0 -> 3135 bytes example_app/index.ts | 1 + example_app/package.json | 11 +++ example_app/tsconfig.json | 27 ++++++ 6 files changed, 229 insertions(+) create mode 100644 example_app/.gitignore create mode 100644 example_app/README.md create mode 100755 example_app/bun.lockb create mode 100644 example_app/index.ts create mode 100644 example_app/package.json create mode 100644 example_app/tsconfig.json diff --git a/example_app/.gitignore b/example_app/.gitignore new file mode 100644 index 00000000..9b1ee42e --- /dev/null +++ b/example_app/.gitignore @@ -0,0 +1,175 @@ +# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore + +# Logs + +logs +_.log +npm-debug.log_ +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Caches + +.cache + +# Diagnostic reports (https://nodejs.org/api/report.html) + +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# Runtime data + +pids +_.pid +_.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover + +lib-cov + +# Coverage directory used by tools like istanbul + +coverage +*.lcov + +# nyc test coverage + +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) + +.grunt + +# Bower dependency directory (https://bower.io/) + +bower_components + +# node-waf configuration + +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) + +build/Release + +# Dependency directories + +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) + +web_modules/ + +# TypeScript cache + +*.tsbuildinfo + +# Optional npm cache directory + +.npm + +# Optional eslint cache + +.eslintcache + +# Optional stylelint cache + +.stylelintcache + +# Microbundle cache + +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history + +.node_repl_history + +# Output of 'npm pack' + +*.tgz + +# Yarn Integrity file + +.yarn-integrity + +# dotenv environment variable files + +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) + +.parcel-cache + +# Next.js build output + +.next +out + +# Nuxt.js build / generate output + +.nuxt +dist + +# Gatsby files + +# Comment in the public line in if your project uses Gatsby and not Next.js + +# https://nextjs.org/blog/next-9-1#public-directory-support + +# public + +# vuepress build output + +.vuepress/dist + +# vuepress v2.x temp and cache directory + +.temp + +# Docusaurus cache and generated files + +.docusaurus + +# Serverless directories + +.serverless/ + +# FuseBox cache + +.fusebox/ + +# DynamoDB Local files + +.dynamodb/ + +# TernJS port file + +.tern-port + +# Stores VSCode versions used for testing VSCode extensions + +.vscode-test + +# yarn v2 + +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/example_app/README.md b/example_app/README.md new file mode 100644 index 00000000..33050c0f --- /dev/null +++ b/example_app/README.md @@ -0,0 +1,15 @@ +# example_app + +To install dependencies: + +```bash +bun install +``` + +To run: + +```bash +bun run index.ts +``` + +This project was created using `bun init` in bun v1.1.27. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime. diff --git a/example_app/bun.lockb b/example_app/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..9013443fbf2e788fe95b5efdaa5860de31d6f7a4 GIT binary patch literal 3135 zcmd5;4Nz276n+Z};#T|^*d#VAhRy`++aK6vg>Atf3}Qxw7%~!Kfw#+(Wp{b+Eq|Iq z1F;##kF7D(i~~YySV=QD3?^X)sen{-%rBc{XR@m;raM0+oB(rRZEk1t!RCG z;3g&y@q&qqsY>SmXnmBQ7LJqdEVgAF|3?ALl)J-=;o`S`#WOWV5CUhAA1%KFy#Hu*-4bS4Hb5jguT zj=p6XeS*i!kEigEwbNES^!#^=CdN}k`?A-n0vi(6DIeNgzN5G;z>;gPJE&^yke8^s z>-~QH{OKc_^EZF6+hQBi>@hLrz3+ej0*@EPn-gKnsS_6m$h1gncR|o9r|zl^?FlUd zkzqTDEM0|n-36xcLsdV$L)*+``Nzw;1l1>KZDlPP>a5-4lAoI#RLA2La-^VzD>ha{ zT&!nSi{6UQ-QD1qRP3FU74maeL~rEq^*p9I>_ChE$VU76z5wa5(%NSVT{cT?+up13 zzcKtloR5CAsFBCZzt_T{v!B*XtUVHS`OGFo&@xS9wri%K(yM9cXw;d?s*_*UB;QCH z6qKi=<#j%=*yrutUOCr0&ZTZTZe0^-TN5xKujcV`_YAo$RGI~+%U8$rA0{sOR}5Yn zvyZFeuZ63_TlQyozNvn3r0{(B>&q1e_gA)W@YrS#ZohEO{PIhaTebQxucUl4{%{ZQ z&X;g;=k&e!F^}%wi@WoMIm~{GK4P^kPO`@8)FG zF$B$E7}qOswckk~$K|*p48yo?fvf&bg6(QtiOXeJJ@|+E3a(FpHwqapSK#Uqc!N3( zu5*AlN?f7BL;nF22)0OU> zM}Y)^I{@*P-!9x3QJ~AQ7>Va}77J5oA?OT>v@lVQM=3ObSqx*L!=+M+FpxAu72+mK z&K4RsQwHgbkyL_AB`D}CamG-DCJu&K(9 Date: Mon, 16 Sep 2024 17:54:24 -0300 Subject: [PATCH 02/48] Refactor --- app/sudoku/.eslintrc.cjs | 23 + app/sudoku/.gitattributes | 3 + app/sudoku/.github/workflows/ci.yml | 28 + app/sudoku/.gitignore | 13 + app/sudoku/.npmignore | 14 + app/sudoku/.prettierignore | 14 + app/sudoku/.prettierrc | 6 + app/sudoku/LICENSE | 199 + app/sudoku/README.md | 26 + app/sudoku/babel.config.cjs | 3 + app/sudoku/config.json | 14 + app/sudoku/jest-resolver.cjs | 21 + app/sudoku/jest.config.js | 24 + app/sudoku/package-lock.json | 9032 +++++++++++++++++++++++++++ app/sudoku/package.json | 45 + app/sudoku/src/index.ts | 3 + app/sudoku/src/run.ts | 75 + app/sudoku/src/sudoku-lib.js | 199 + app/sudoku/src/sudoku.test.ts | 84 + app/sudoku/src/sudoku.ts | 114 + app/sudoku/tsconfig.json | 24 + example_app/.gitignore | 175 - example_app/README.md | 15 - example_app/bun.lockb | Bin 3135 -> 0 bytes example_app/index.ts | 1 - example_app/package.json | 11 - example_app/tsconfig.json | 27 - 27 files changed, 9964 insertions(+), 229 deletions(-) create mode 100644 app/sudoku/.eslintrc.cjs create mode 100644 app/sudoku/.gitattributes create mode 100644 app/sudoku/.github/workflows/ci.yml create mode 100644 app/sudoku/.gitignore create mode 100644 app/sudoku/.npmignore create mode 100644 app/sudoku/.prettierignore create mode 100644 app/sudoku/.prettierrc create mode 100644 app/sudoku/LICENSE create mode 100644 app/sudoku/README.md create mode 100644 app/sudoku/babel.config.cjs create mode 100644 app/sudoku/config.json create mode 100644 app/sudoku/jest-resolver.cjs create mode 100644 app/sudoku/jest.config.js create mode 100644 app/sudoku/package-lock.json create mode 100644 app/sudoku/package.json create mode 100644 app/sudoku/src/index.ts create mode 100644 app/sudoku/src/run.ts create mode 100644 app/sudoku/src/sudoku-lib.js create mode 100644 app/sudoku/src/sudoku.test.ts create mode 100644 app/sudoku/src/sudoku.ts create mode 100644 app/sudoku/tsconfig.json delete mode 100644 example_app/.gitignore delete mode 100644 example_app/README.md delete mode 100755 example_app/bun.lockb delete mode 100644 example_app/index.ts delete mode 100644 example_app/package.json delete mode 100644 example_app/tsconfig.json diff --git a/app/sudoku/.eslintrc.cjs b/app/sudoku/.eslintrc.cjs new file mode 100644 index 00000000..71f0aea1 --- /dev/null +++ b/app/sudoku/.eslintrc.cjs @@ -0,0 +1,23 @@ +module.exports = { + root: true, + env: { + browser: true, + node: true, + jest: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:o1js/recommended', + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 'latest', + }, + plugins: ['@typescript-eslint', 'o1js'], + rules: { + 'no-constant-condition': 'off', + 'prefer-const': 'off', + }, +}; diff --git a/app/sudoku/.gitattributes b/app/sudoku/.gitattributes new file mode 100644 index 00000000..ca46ad74 --- /dev/null +++ b/app/sudoku/.gitattributes @@ -0,0 +1,3 @@ +# Use line endings appropriate for the system. This prevents Git from +# complaining about project template line endings when committing on Windows. +* text=auto eol=lf diff --git a/app/sudoku/.github/workflows/ci.yml b/app/sudoku/.github/workflows/ci.yml new file mode 100644 index 00000000..51866e8b --- /dev/null +++ b/app/sudoku/.github/workflows/ci.yml @@ -0,0 +1,28 @@ +name: zkApp tests +on: + push: + pull_request: + workflow_dispatch: {} +jobs: + test: + timeout-minutes: 30 + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + node: [18, 20] + os: [ubuntu-latest] + steps: + - name: Set up NodeJS + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + - name: Git checkout + uses: actions/checkout@v4 + - name: NPM ci, build, & test + run: | + npm ci + npm run build --if-present + npm test + env: + CI: true diff --git a/app/sudoku/.gitignore b/app/sudoku/.gitignore new file mode 100644 index 00000000..c4c7e97f --- /dev/null +++ b/app/sudoku/.gitignore @@ -0,0 +1,13 @@ +# NodeJS +build +node_modules +coverage + +# Editor +.vscode + +# System +.DS_Store + +# Never commit keys to Git! +keys diff --git a/app/sudoku/.npmignore b/app/sudoku/.npmignore new file mode 100644 index 00000000..3e739079 --- /dev/null +++ b/app/sudoku/.npmignore @@ -0,0 +1,14 @@ +# Source files +src + +node_modules +coverage + +# Editor +.vscode + +# System +.DS_Store + +# Never reveal your keys! +keys diff --git a/app/sudoku/.prettierignore b/app/sudoku/.prettierignore new file mode 100644 index 00000000..4601a6f1 --- /dev/null +++ b/app/sudoku/.prettierignore @@ -0,0 +1,14 @@ +# NodeJS +node_modules +build +coverage +.husky + +# Editor +.vscode + +# System +.DS_Store + +# Misc +LICENSE diff --git a/app/sudoku/.prettierrc b/app/sudoku/.prettierrc new file mode 100644 index 00000000..92f97e75 --- /dev/null +++ b/app/sudoku/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "es5" +} diff --git a/app/sudoku/LICENSE b/app/sudoku/LICENSE new file mode 100644 index 00000000..6e3b8403 --- /dev/null +++ b/app/sudoku/LICENSE @@ -0,0 +1,199 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/app/sudoku/README.md b/app/sudoku/README.md new file mode 100644 index 00000000..5bf6bb5e --- /dev/null +++ b/app/sudoku/README.md @@ -0,0 +1,26 @@ +# Mina zkApp: Sudoku + +This template uses TypeScript. + +## How to build + +```sh +npm run build +``` + +## How to run tests + +```sh +npm run test +npm run testw # watch mode +``` + +## How to run coverage + +```sh +npm run coverage +``` + +## License + +[Apache-2.0](LICENSE) diff --git a/app/sudoku/babel.config.cjs b/app/sudoku/babel.config.cjs new file mode 100644 index 00000000..c74fb53e --- /dev/null +++ b/app/sudoku/babel.config.cjs @@ -0,0 +1,3 @@ +module.exports = { + presets: [['@babel/preset-env', { targets: { node: 'current' } }]], +}; diff --git a/app/sudoku/config.json b/app/sudoku/config.json new file mode 100644 index 00000000..d7f389f7 --- /dev/null +++ b/app/sudoku/config.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "deployAliases": { + "devnet": { + "networkId": "testnet", + "url": "https://api.minascan.io/node/devnet/v1/graphql", + "keyPath": "keys/devnet.json", + "feepayerKeyPath": "/Users/xqft/.cache/zkapp-cli/keys/xqft-fee-payer.json", + "feepayerAlias": "xqft-fee-payer", + "fee": "0.1", + "smartContract": "SudokuZkApp" + } + } +} diff --git a/app/sudoku/jest-resolver.cjs b/app/sudoku/jest-resolver.cjs new file mode 100644 index 00000000..11c8fc28 --- /dev/null +++ b/app/sudoku/jest-resolver.cjs @@ -0,0 +1,21 @@ +module.exports = (request, options) => { + return options.defaultResolver(request, { + ...options, + packageFilter: (pkg) => { + // When importing o1js, we specify the Node ESM import as Jest by default imports the web version + if (pkg.name === 'o1js') { + return { + ...pkg, + main: pkg.exports.node.import, + }; + } + if (pkg.name === 'node-fetch') { + return { ...pkg, main: pkg.main }; + } + return { + ...pkg, + main: pkg.module || pkg.main, + }; + }, + }); +}; diff --git a/app/sudoku/jest.config.js b/app/sudoku/jest.config.js new file mode 100644 index 00000000..616cdef5 --- /dev/null +++ b/app/sudoku/jest.config.js @@ -0,0 +1,24 @@ +/** @type {import('@ts-jest/dist/types').InitialOptionsTsJest} */ +export default { + verbose: true, + preset: 'ts-jest/presets/default-esm', + testEnvironment: 'node', + globals: { + 'ts-jest': { + useESM: true, + }, + }, + testTimeout: 1_000_000, + transform: { + '^.+\\.(t)s$': 'ts-jest', + '^.+\\.(j)s$': 'babel-jest', + }, + resolver: '/jest-resolver.cjs', + transformIgnorePatterns: [ + '/node_modules/(?!(tslib|o1js/node_modules/tslib))', + ], + modulePathIgnorePatterns: ['/build/'], + moduleNameMapper: { + '^(\\.{1,2}/.+)\\.js$': '$1', + }, +}; diff --git a/app/sudoku/package-lock.json b/app/sudoku/package-lock.json new file mode 100644 index 00000000..be4d5fd2 --- /dev/null +++ b/app/sudoku/package-lock.json @@ -0,0 +1,9032 @@ +{ + "name": "package-name", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "package-name", + "version": "0.1.0", + "license": "Apache-2.0", + "devDependencies": { + "@babel/preset-env": "^7.16.4", + "@babel/preset-typescript": "^7.16.0", + "@types/jest": "^27.0.3", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "eslint": "^8.7.0", + "eslint-plugin-o1js": "^0.4.0", + "jest": "^28.1.3", + "prettier": "^2.3.2", + "ts-jest": "^28.0.8", + "typescript": "^5.1" + }, + "engines": { + "node": ">=18.14.0" + }, + "peerDependencies": { + "o1js": "^1.*" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.4.tgz", + "integrity": "sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/runtime": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-28.1.3.tgz", + "integrity": "sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/reporters": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^28.1.3", + "jest-config": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-resolve-dependencies": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "jest-watcher": "^28.1.3", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/core/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-28.1.3.tgz", + "integrity": "sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^28.1.3", + "jest-snapshot": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", + "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^28.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-28.1.3.tgz", + "integrity": "sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-28.1.3.tgz", + "integrity": "sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/types": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-28.1.3.tgz", + "integrity": "sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "28.1.2", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-28.1.2.tgz", + "integrity": "sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.13", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz", + "integrity": "sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", + "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^28.1.3", + "@jridgewell/trace-mapping": "^0.3.13", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.5.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", + "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.3.tgz", + "integrity": "sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^28.1.3", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^28.1.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz", + "integrity": "sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz", + "integrity": "sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^28.1.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "license": "MIT", + "peer": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.23", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz", + "integrity": "sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-o1js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-o1js/-/eslint-plugin-o1js-0.4.0.tgz", + "integrity": "sha512-12qI6OvAMtUIh8x9lB5uVzJbRMSR6tGrbCRM98fcCmll1FNvVSUIaat3CWhH17tkcjoyVSaFy0I/WzZcqPqaUA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", + "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/expect/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/expect/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/expect/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/expect/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "license": "MIT", + "peer": true, + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest/-/jest-28.1.3.tgz", + "integrity": "sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^28.1.3", + "@jest/types": "^28.1.3", + "import-local": "^3.0.2", + "jest-cli": "^28.1.3" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-28.1.3.tgz", + "integrity": "sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-28.1.3.tgz", + "integrity": "sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/expect": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "p-limit": "^3.1.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-circus/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-28.1.3.tgz", + "integrity": "sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-28.1.3.tgz", + "integrity": "sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^28.1.3", + "@jest/types": "^28.1.3", + "babel-jest": "^28.1.3", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^28.1.3", + "jest-environment-node": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-runner": "^28.1.3", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-config/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-docblock": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-28.1.1.tgz", + "integrity": "sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-each": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-28.1.3.tgz", + "integrity": "sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "jest-util": "^28.1.3", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-each/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-28.1.3.tgz", + "integrity": "sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "jest-mock": "^28.1.3", + "jest-util": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", + "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", + "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^28.0.2", + "jest-util": "^28.1.3", + "jest-worker": "^28.1.3", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz", + "integrity": "sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-leak-detector/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-mock": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-28.1.3.tgz", + "integrity": "sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", + "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^28.1.3", + "jest-validate": "^28.1.3", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz", + "integrity": "sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^28.0.2", + "jest-snapshot": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-28.1.3.tgz", + "integrity": "sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/environment": "^28.1.3", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^28.1.1", + "jest-environment-node": "^28.1.3", + "jest-haste-map": "^28.1.3", + "jest-leak-detector": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-resolve": "^28.1.3", + "jest-runtime": "^28.1.3", + "jest-util": "^28.1.3", + "jest-watcher": "^28.1.3", + "jest-worker": "^28.1.3", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-28.1.3.tgz", + "integrity": "sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^28.1.3", + "@jest/fake-timers": "^28.1.3", + "@jest/globals": "^28.1.3", + "@jest/source-map": "^28.1.2", + "@jest/test-result": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-mock": "^28.1.3", + "jest-regex-util": "^28.0.2", + "jest-resolve": "^28.1.3", + "jest-snapshot": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", + "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^28.1.3", + "@jest/transform": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^28.1.3", + "graceful-fs": "^4.2.9", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "jest-haste-map": "^28.1.3", + "jest-matcher-utils": "^28.1.3", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "natural-compare": "^1.4.0", + "pretty-format": "^28.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "28.1.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", + "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", + "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^28.1.1", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", + "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^28.1.3", + "jest-get-type": "^28.0.2", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", + "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^28.0.2", + "leven": "^3.1.0", + "pretty-format": "^28.1.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-validate/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-sha256": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", + "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==", + "license": "MIT", + "peer": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/o1js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/o1js/-/o1js-1.7.0.tgz", + "integrity": "sha512-/gQKJLRuqDrArdU/QkaU0F1lQl/K6/170U01JeU2xIpryN6vBwENfEHWpHt1FXOmGwyTsQHmrJLWfyFLjQOkeA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "blakejs": "1.2.1", + "cachedir": "^2.4.0", + "isomorphic-fetch": "^3.0.0", + "js-sha256": "^0.9.0", + "reflect-metadata": "^0.1.13", + "tslib": "^2.3.0" + }, + "bin": { + "snarky-run": "src/build/run.js" + }, + "engines": { + "node": ">=18.14.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, + "node_modules/reflect-metadata": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", + "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT", + "peer": true + }, + "node_modules/ts-jest": { + "version": "28.0.8", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.8.tgz", + "integrity": "sha512-5FaG0lXmRPzApix8oFG8RKjAz4ehtm8yMKOTy5HX3fY6W8kmvOrmcY0hKDElW52FJov+clhUbrKAqofnj4mXTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^28.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^28.0.0", + "babel-jest": "^28.0.0", + "jest": "^28.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD", + "peer": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT", + "peer": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/app/sudoku/package.json b/app/sudoku/package.json new file mode 100644 index 00000000..a06651b9 --- /dev/null +++ b/app/sudoku/package.json @@ -0,0 +1,45 @@ +{ + "name": "sudoku", + "version": "0.1.0", + "description": "", + "author": "", + "license": "Apache-2.0", + "keywords": [ + "mina-zkapp", + "mina-zk-app", + "mina-dapp", + "zkapp" + ], + "type": "module", + "main": "build/src/index.js", + "types": "build/src/index.d.ts", + "scripts": { + "build": "tsc", + "buildw": "tsc --watch", + "coverage": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage", + "format": "prettier --write --ignore-unknown **/*", + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", + "testw": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watch", + "lint": "npx eslint src/* --fix", + "start": "node build/src/run.js" + }, + "devDependencies": { + "@babel/preset-env": "^7.16.4", + "@babel/preset-typescript": "^7.16.0", + "@types/jest": "^27.0.3", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "eslint": "^8.7.0", + "eslint-plugin-o1js": "^0.4.0", + "jest": "^28.1.3", + "prettier": "^2.3.2", + "ts-jest": "^28.0.8", + "typescript": "^5.1" + }, + "peerDependencies": { + "o1js": "^1.*" + }, + "engines": { + "node": ">=18.14.0" + } +} diff --git a/app/sudoku/src/index.ts b/app/sudoku/src/index.ts new file mode 100644 index 00000000..531cd026 --- /dev/null +++ b/app/sudoku/src/index.ts @@ -0,0 +1,3 @@ +import { SudokuZkApp } from './sudoku.js'; + +export { SudokuZkApp }; diff --git a/app/sudoku/src/run.ts b/app/sudoku/src/run.ts new file mode 100644 index 00000000..7b0c61dd --- /dev/null +++ b/app/sudoku/src/run.ts @@ -0,0 +1,75 @@ +/** + * This file specifies how to run the `SudokuZkApp` smart contract locally using the `Mina.LocalBlockchain()` method. + * The `Mina.LocalBlockchain()` method specifies a ledger of accounts and contains logic for updating the ledger. + * + * Please note that this deployment is local and does not deploy to a live network. + * If you wish to deploy to a live network, please use the zkapp-cli to deploy. + * + * To run locally: + * Build the project: `$ npm run build` + * Run with node: `$ node build/src/run.js`. + */ +import { Sudoku, SudokuZkApp } from './sudoku.js'; +import { cloneSudoku, generateSudoku, solveSudoku } from './sudoku-lib.js'; +import { AccountUpdate, Mina, PrivateKey } from 'o1js'; + +// setup +const Devnet = await Mina.Network("https://api.minascan.io/node/devnet/v1/graphql"); +Mina.setActiveInstance(Devnet); + +const sender = Local.testAccounts[0]; +const senderKey = sender.key; +const sudoku = generateSudoku(0.5); +const zkAppPrivateKey = PrivateKey.random(); +const zkAppAddress = zkAppPrivateKey.toPublicKey(); +// create an instance of the smart contract +const zkApp = new SudokuZkApp(zkAppAddress); + +console.log('Deploying and initializing Sudoku...'); +await SudokuZkApp.compile(); +let tx = await Mina.transaction(sender, async () => { + AccountUpdate.fundNewAccount(sender); + await zkApp.deploy(); + await zkApp.update(Sudoku.from(sudoku)); +}); +await tx.prove(); +/** + * note: this tx needs to be signed with `tx.sign()`, because `deploy` uses `requireSignature()` under the hood, + * so one of the account updates in this tx has to be authorized with a signature (vs proof). + * this is necessary for the deploy tx because the initial permissions for all account fields are "signature". + * (but `deploy()` changes some of those permissions to "proof" and adds the verification key that enables proofs. + * that's why we don't need `tx.sign()` for the later transactions.) + */ +await tx.sign([zkAppPrivateKey, senderKey]).send(); + +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); + +let solution = solveSudoku(sudoku); +if (solution === undefined) throw Error('cannot happen'); + +// submit a wrong solution +let noSolution = cloneSudoku(solution); +noSolution[0][0] = (noSolution[0][0] % 9) + 1; + +console.log('Submitting wrong solution...'); +try { + let tx = await Mina.transaction(sender, async () => { + await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(noSolution)); + }); + await tx.prove(); + await tx.sign([senderKey]).send(); +} catch { + console.log('There was an error submitting the solution, as expected'); +} + +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); + +// submit the actual solution +console.log('Submitting solution...'); +tx = await Mina.transaction(sender, async () => { + await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(solution!)); +}); +await tx.prove(); +await tx.sign([senderKey]).send(); + +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); diff --git a/app/sudoku/src/sudoku-lib.js b/app/sudoku/src/sudoku-lib.js new file mode 100644 index 00000000..03567d01 --- /dev/null +++ b/app/sudoku/src/sudoku-lib.js @@ -0,0 +1,199 @@ +export { generateSudoku, solveSudoku, cloneSudoku }; + +/** + * Generates a random 9x9 sudoku. Cells are either filled out (1,...,9) or empty (0). + * + * @param {number?} difficulty number between 0 (easiest = full sudoku) and 1 (hardest = empty sudoku) + * @returns {number[][]} the sudoku + */ +function generateSudoku(difficulty = 0.5) { + let solution = solveSudokuInternal(emptySudoku(), false); + let partial = deleteRandomValues(solution, difficulty); + return partial; +} + +function deleteRandomValues(sudoku, p) { + // p \in [0,1] ... probability to delete a value + return sudoku.map((row) => row.map((x) => (Math.random() < p ? 0 : x))); +} + +// sudoku = {0,...,9}^(9x9) matrix, 0 means empty cell +function emptySudoku() { + return Array.from({ length: 9 }, () => Array(9).fill(0)); +} + +/** + * Solve a given sudoku. Returns undefined if there is no solution. + * + * @param {number[][]} sudoku - The input sudoku with some cell values equal to zero + * @returns {number[][] | undefined} - The full sudoku, or undefined if no solution exists + */ +function solveSudoku(sudoku) { + return solveSudokuInternal(sudoku, true); +} + +function solveSudokuInternal(sudoku, deterministic, possible) { + // find *a* compatible solution to the sudoku - not checking for uniqueness + // if deterministic = true: always take the smallest possible cell value + // if deterministic = false: take random compatible values + if (possible === undefined) { + possible = possibleFromSudoku(sudoku); + sudoku = cloneSudoku(sudoku); + } + while (true) { + let [i, j, n] = cellWithFewestPossible(sudoku, possible); + + // no free values => sudoku is solved! + if (n === Infinity) return sudoku; + + if (n === 1) { + let x = chooseFirstPossible(i, j, possible); + // console.log('determined', x, 'at', i, j); + sudoku[i][j] = x; + fixValue(i, j, x, possible); + continue; + } + + while (true) { + let x = deterministic + ? chooseFirstPossible(i, j, possible) + : chooseRandomPossible(i, j, possible); + + // no values possible! we failed to get a solution + if (x === 0) return; + + let sudoku_ = cloneSudoku(sudoku); + let possible_ = cloneSudoku(possible); + sudoku_[i][j] = x; + fixValue(i, j, x, possible_); + + let solution = solveSudokuInternal(sudoku_, deterministic, possible_); + + // found a solution? return it! + if (solution !== undefined) return solution; + + // there is no solution with x at i, j! + // mark this value as impossible and try again + possible[i][j][x - 1] = 0; + } + } +} + +// possible = {0,1}^(9x9x9) tensor of possibilities +// possible[i][j][x] contains a 1 if entry x \in {1,...,9} is possible in sudoku[i][j], 0 otherwise +// => allows us to quickly determine cells where few values are possible +function possibleFromSudoku(sudoku) { + let possible = Array.from({ length: 9 }, () => + Array.from({ length: 9 }, () => Array(9).fill(1)) + ); + for (let i = 0; i < 9; i++) { + for (let j = 0; j < 9; j++) { + let x = sudoku[i][j]; + if (x !== 0) { + fixValue(i, j, x, possible); + } + } + } + return possible; +} + +function chooseFirstPossible(i, j, possible) { + let possibleIJ = possible[i][j]; + let x = 0; + for (let k = 0; k < 9; k++) { + if (possibleIJ[k] === 1) { + x = k + 1; + break; + } + } + return x; +} + +function chooseRandomPossible(i, j, possible) { + let possibleValues = possible[i][j] + .map((b, m) => b && m + 1) + .filter((b) => b); + let n = possibleValues.length; + if (n === 0) return 0; + let k = Math.floor(Math.random() * n); + return possibleValues[k]; +} + +function fixValue(i, j, x, possible) { + // mark the value as impossible in the same row + for (let k = 0; k < 9; k++) { + if (k === j) { + possible[i][k][x - 1] = 1; + } else { + possible[i][k][x - 1] = 0; + } + } + // mark the value as impossible in the same column + for (let k = 0; k < 9; k++) { + if (k === i) { + possible[k][j][x - 1] = 1; + } else { + possible[k][j][x - 1] = 0; + } + } + // mark the value as impossible in the same square + let [i0, i1] = divmod(i, 3); + let [j0, j1] = divmod(j, 3); + for (let k = 0; k < 9; k++) { + let [ii, jj] = divmod(k, 3); + if (ii === i1 && jj === j1) { + possible[3 * i0 + ii][3 * j0 + jj][x - 1] = 1; + } else { + possible[3 * i0 + ii][3 * j0 + jj][x - 1] = 0; + } + } + // mark all other values as impossible in the same cell + for (let k = 0; k < 9; k++) { + if (k === x - 1) { + possible[i][j][k] = 1; + } else { + possible[i][j][k] = 0; + } + } +} + +function cellWithFewestPossible(sudoku, possible) { + let i0, j0; + let fewest = Infinity; + for (let i = 0; i < 9; i++) { + for (let j = 0; j < 9; j++) { + if (sudoku[i][j] !== 0) continue; + let possibleIJ = possible[i][j]; + let n = 0; + for (let k = 0; k < 9; k++) { + if (possibleIJ[k] === 1) n++; + } + if (n < fewest) { + if (n === 1 || n === 0) return [i, j, n]; + fewest = n; + [i0, j0] = [i, j]; + } + } + } + return [i0, j0, fewest]; +} + +function divmod(k, n) { + let q = Math.floor(k / n); + return [q, k - q * n]; +} + +/** + * Clones a sudoku. + * + * @template T + * @param {T[]} sudoku + * @returns {T[]} + */ +function cloneSudoku(sudoku) { + if (Array.isArray(sudoku[0])) { + return sudoku.map((x) => cloneSudoku(x)); + } else { + return [...sudoku]; + } +} diff --git a/app/sudoku/src/sudoku.test.ts b/app/sudoku/src/sudoku.test.ts new file mode 100644 index 00000000..d4911351 --- /dev/null +++ b/app/sudoku/src/sudoku.test.ts @@ -0,0 +1,84 @@ +import { Sudoku, SudokuZkApp } from './sudoku'; +import { cloneSudoku, generateSudoku, solveSudoku } from './sudoku-lib'; +import { PrivateKey, PublicKey, Mina, AccountUpdate } from 'o1js'; + +describe('sudoku', () => { + let zkApp: SudokuZkApp, + zkAppPrivateKey: PrivateKey, + zkAppAddress: PublicKey, + sudoku: number[][], + sender: Mina.TestPublicKey, + senderKey: PrivateKey; + + beforeEach(async () => { + let Local = await Mina.LocalBlockchain({ proofsEnabled: false }); + Mina.setActiveInstance(Local); + sender = Local.testAccounts[0]; + senderKey = sender.key; + zkAppPrivateKey = PrivateKey.random(); + zkAppAddress = zkAppPrivateKey.toPublicKey(); + zkApp = new SudokuZkApp(zkAppAddress); + sudoku = generateSudoku(0.5); + }); + + it('accepts a correct solution', async () => { + await deploy(zkApp, zkAppPrivateKey, sudoku, sender, senderKey); + + let isSolved = zkApp.isSolved.get().toBoolean(); + expect(isSolved).toBe(false); + + let solution = solveSudoku(sudoku); + if (solution === undefined) throw Error('cannot happen'); + let tx = await Mina.transaction(sender, async () => { + let zkApp = new SudokuZkApp(zkAppAddress); + await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(solution!)); + }); + await tx.prove(); + await tx.sign([senderKey]).send(); + + isSolved = zkApp.isSolved.get().toBoolean(); + expect(isSolved).toBe(true); + }); + + it('rejects an incorrect solution', async () => { + await deploy(zkApp, zkAppPrivateKey, sudoku, sender, senderKey); + + let solution = solveSudoku(sudoku); + if (solution === undefined) throw Error('cannot happen'); + + let noSolution = cloneSudoku(solution); + noSolution[0][0] = (noSolution[0][0] % 9) + 1; + + await expect(async () => { + let tx = await Mina.transaction(sender, async () => { + let zkApp = new SudokuZkApp(zkAppAddress); + await zkApp.submitSolution( + Sudoku.from(sudoku), + Sudoku.from(noSolution) + ); + }); + await tx.prove(); + await tx.sign([senderKey]).send(); + }).rejects.toThrow(/array contains the numbers 1...9/); + + let isSolved = zkApp.isSolved.get().toBoolean(); + expect(isSolved).toBe(false); + }); +}); + +async function deploy( + zkApp: SudokuZkApp, + zkAppPrivateKey: PrivateKey, + sudoku: number[][], + sender: PublicKey, + senderKey: PrivateKey +) { + let tx = await Mina.transaction(sender, async () => { + AccountUpdate.fundNewAccount(sender); + await zkApp.deploy(); + await zkApp.update(Sudoku.from(sudoku)); + }); + await tx.prove(); + // this tx needs .sign(), because `deploy()` adds an account update that requires signature authorization + await tx.sign([zkAppPrivateKey, senderKey]).send(); +} diff --git a/app/sudoku/src/sudoku.ts b/app/sudoku/src/sudoku.ts new file mode 100644 index 00000000..9b624f86 --- /dev/null +++ b/app/sudoku/src/sudoku.ts @@ -0,0 +1,114 @@ +import { + Field, + SmartContract, + method, + Bool, + state, + State, + Poseidon, + Struct, + Provable, +} from 'o1js'; + +export { Sudoku, SudokuZkApp }; + +class Sudoku extends Struct({ + value: Provable.Array(Provable.Array(Field, 9), 9), +}) { + static from(value: number[][]) { + return new Sudoku({ value: value.map((row) => row.map(Field)) }); + } + + hash() { + return Poseidon.hash(this.value.flat()); + } +} + +class SudokuZkApp extends SmartContract { + @state(Field) sudokuHash = State(); + @state(Bool) isSolved = State(); + + /** + * by making this a `@method`, we ensure that a proof is created for the state initialization. + * alternatively (and, more efficiently), we could have used `super.init()` inside `update()` below, + * to ensure the entire state is overwritten. + * however, it's good to have an example which tests the CLI's ability to handle init() decorated with `@method`. + */ + @method async init() { + super.init(); + } + + @method async update(sudokuInstance: Sudoku) { + this.sudokuHash.set(sudokuInstance.hash()); + this.isSolved.set(Bool(false)); + } + + @method async submitSolution( + sudokuInstance: Sudoku, + solutionInstance: Sudoku + ) { + let sudoku = sudokuInstance.value; + let solution = solutionInstance.value; + + // first, we check that the passed solution is a valid sudoku + + // define helpers + let range9 = Array.from({ length: 9 }, (_, i) => i); + let oneTo9 = range9.map((i) => Field(i + 1)); + + function assertHas1To9(array: Field[]) { + oneTo9 + .map((k) => range9.map((i) => array[i].equals(k)).reduce(Bool.or)) + .reduce(Bool.and) + .assertTrue('array contains the numbers 1...9'); + } + + // check all rows + for (let i = 0; i < 9; i++) { + let row = solution[i]; + assertHas1To9(row); + } + // check all columns + for (let j = 0; j < 9; j++) { + let column = solution.map((row) => row[j]); + assertHas1To9(column); + } + // check 3x3 squares + for (let k = 0; k < 9; k++) { + let [i0, j0] = divmod(k, 3); + let square = range9.map((m) => { + let [i1, j1] = divmod(m, 3); + return solution[3 * i0 + i1][3 * j0 + j1]; + }); + assertHas1To9(square); + } + + // next, we check that the solution extends the initial sudoku + for (let i = 0; i < 9; i++) { + for (let j = 0; j < 9; j++) { + let cell = sudoku[i][j]; + let solutionCell = solution[i][j]; + // either the sudoku has nothing in it (indicated by a cell value of 0), + // or it is equal to the solution + Bool.or(cell.equals(0), cell.equals(solutionCell)).assertTrue( + `solution cell (${i + 1},${j + 1}) matches the original sudoku` + ); + } + } + + // finally, we check that the sudoku is the one that was originally deployed + let sudokuHash = this.sudokuHash.getAndRequireEquals(); + + sudokuInstance + .hash() + .assertEquals(sudokuHash, 'sudoku matches the one committed on-chain'); + + // all checks passed => the sudoku is solved! + this.isSolved.set(Bool(true)); + } +} + +function divmod(k: number, n: number) { + let q = Math.floor(k / n); + return [q, k - q * n]; +} diff --git a/app/sudoku/tsconfig.json b/app/sudoku/tsconfig.json new file mode 100644 index 00000000..9cb138e2 --- /dev/null +++ b/app/sudoku/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "es2022", + "lib": ["dom", "esnext"], + "outDir": "./build", + "rootDir": ".", + "strict": true, + "strictPropertyInitialization": false, // to enable generic constructors, e.g. on CircuitValue + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "esModuleInterop": true, + "moduleResolution": "node", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "allowJs": true, + "declaration": true, + "sourceMap": true, + "noFallthroughCasesInSwitch": true, + "allowSyntheticDefaultImports": true, + "useDefineForClassFields": false, + }, + "include": ["./src"], +} diff --git a/example_app/.gitignore b/example_app/.gitignore deleted file mode 100644 index 9b1ee42e..00000000 --- a/example_app/.gitignore +++ /dev/null @@ -1,175 +0,0 @@ -# Based on https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore - -# Logs - -logs -_.log -npm-debug.log_ -yarn-debug.log* -yarn-error.log* -lerna-debug.log* -.pnpm-debug.log* - -# Caches - -.cache - -# Diagnostic reports (https://nodejs.org/api/report.html) - -report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json - -# Runtime data - -pids -_.pid -_.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover - -lib-cov - -# Coverage directory used by tools like istanbul - -coverage -*.lcov - -# nyc test coverage - -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) - -.grunt - -# Bower dependency directory (https://bower.io/) - -bower_components - -# node-waf configuration - -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) - -build/Release - -# Dependency directories - -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) - -web_modules/ - -# TypeScript cache - -*.tsbuildinfo - -# Optional npm cache directory - -.npm - -# Optional eslint cache - -.eslintcache - -# Optional stylelint cache - -.stylelintcache - -# Microbundle cache - -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history - -.node_repl_history - -# Output of 'npm pack' - -*.tgz - -# Yarn Integrity file - -.yarn-integrity - -# dotenv environment variable files - -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) - -.parcel-cache - -# Next.js build output - -.next -out - -# Nuxt.js build / generate output - -.nuxt -dist - -# Gatsby files - -# Comment in the public line in if your project uses Gatsby and not Next.js - -# https://nextjs.org/blog/next-9-1#public-directory-support - -# public - -# vuepress build output - -.vuepress/dist - -# vuepress v2.x temp and cache directory - -.temp - -# Docusaurus cache and generated files - -.docusaurus - -# Serverless directories - -.serverless/ - -# FuseBox cache - -.fusebox/ - -# DynamoDB Local files - -.dynamodb/ - -# TernJS port file - -.tern-port - -# Stores VSCode versions used for testing VSCode extensions - -.vscode-test - -# yarn v2 - -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -# IntelliJ based IDEs -.idea - -# Finder (MacOS) folder config -.DS_Store diff --git a/example_app/README.md b/example_app/README.md deleted file mode 100644 index 33050c0f..00000000 --- a/example_app/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# example_app - -To install dependencies: - -```bash -bun install -``` - -To run: - -```bash -bun run index.ts -``` - -This project was created using `bun init` in bun v1.1.27. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime. diff --git a/example_app/bun.lockb b/example_app/bun.lockb deleted file mode 100755 index 9013443fbf2e788fe95b5efdaa5860de31d6f7a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3135 zcmd5;4Nz276n+Z};#T|^*d#VAhRy`++aK6vg>Atf3}Qxw7%~!Kfw#+(Wp{b+Eq|Iq z1F;##kF7D(i~~YySV=QD3?^X)sen{-%rBc{XR@m;raM0+oB(rRZEk1t!RCG z;3g&y@q&qqsY>SmXnmBQ7LJqdEVgAF|3?ALl)J-=;o`S`#WOWV5CUhAA1%KFy#Hu*-4bS4Hb5jguT zj=p6XeS*i!kEigEwbNES^!#^=CdN}k`?A-n0vi(6DIeNgzN5G;z>;gPJE&^yke8^s z>-~QH{OKc_^EZF6+hQBi>@hLrz3+ej0*@EPn-gKnsS_6m$h1gncR|o9r|zl^?FlUd zkzqTDEM0|n-36xcLsdV$L)*+``Nzw;1l1>KZDlPP>a5-4lAoI#RLA2La-^VzD>ha{ zT&!nSi{6UQ-QD1qRP3FU74maeL~rEq^*p9I>_ChE$VU76z5wa5(%NSVT{cT?+up13 zzcKtloR5CAsFBCZzt_T{v!B*XtUVHS`OGFo&@xS9wri%K(yM9cXw;d?s*_*UB;QCH z6qKi=<#j%=*yrutUOCr0&ZTZTZe0^-TN5xKujcV`_YAo$RGI~+%U8$rA0{sOR}5Yn zvyZFeuZ63_TlQyozNvn3r0{(B>&q1e_gA)W@YrS#ZohEO{PIhaTebQxucUl4{%{ZQ z&X;g;=k&e!F^}%wi@WoMIm~{GK4P^kPO`@8)FG zF$B$E7}qOswckk~$K|*p48yo?fvf&bg6(QtiOXeJJ@|+E3a(FpHwqapSK#Uqc!N3( zu5*AlN?f7BL;nF22)0OU> zM}Y)^I{@*P-!9x3QJ~AQ7>Va}77J5oA?OT>v@lVQM=3ObSqx*L!=+M+FpxAu72+mK z&K4RsQwHgbkyL_AB`D}CamG-DCJu&K(9 Date: Mon, 16 Sep 2024 17:54:56 -0300 Subject: [PATCH 03/48] chore: forge init --- app/eth_contract/.github/workflows/test.yml | 45 ++++++++++++++ app/eth_contract/.gitignore | 14 +++++ app/eth_contract/README.md | 66 +++++++++++++++++++++ app/eth_contract/foundry.toml | 6 ++ app/eth_contract/script/Counter.s.sol | 19 ++++++ app/eth_contract/src/Counter.sol | 14 +++++ app/eth_contract/test/Counter.t.sol | 24 ++++++++ 7 files changed, 188 insertions(+) create mode 100644 app/eth_contract/.github/workflows/test.yml create mode 100644 app/eth_contract/.gitignore create mode 100644 app/eth_contract/README.md create mode 100644 app/eth_contract/foundry.toml create mode 100644 app/eth_contract/script/Counter.s.sol create mode 100644 app/eth_contract/src/Counter.sol create mode 100644 app/eth_contract/test/Counter.t.sol diff --git a/app/eth_contract/.github/workflows/test.yml b/app/eth_contract/.github/workflows/test.yml new file mode 100644 index 00000000..762a2966 --- /dev/null +++ b/app/eth_contract/.github/workflows/test.yml @@ -0,0 +1,45 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + +env: + FOUNDRY_PROFILE: ci + +jobs: + check: + strategy: + fail-fast: true + + name: Foundry project + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Show Forge version + run: | + forge --version + + - name: Run Forge fmt + run: | + forge fmt --check + id: fmt + + - name: Run Forge build + run: | + forge build --sizes + id: build + + - name: Run Forge tests + run: | + forge test -vvv + id: test diff --git a/app/eth_contract/.gitignore b/app/eth_contract/.gitignore new file mode 100644 index 00000000..85198aaa --- /dev/null +++ b/app/eth_contract/.gitignore @@ -0,0 +1,14 @@ +# Compiler files +cache/ +out/ + +# Ignores development broadcast logs +!/broadcast +/broadcast/*/31337/ +/broadcast/**/dry-run/ + +# Docs +docs/ + +# Dotenv file +.env diff --git a/app/eth_contract/README.md b/app/eth_contract/README.md new file mode 100644 index 00000000..9265b455 --- /dev/null +++ b/app/eth_contract/README.md @@ -0,0 +1,66 @@ +## Foundry + +**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.** + +Foundry consists of: + +- **Forge**: Ethereum testing framework (like Truffle, Hardhat and DappTools). +- **Cast**: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data. +- **Anvil**: Local Ethereum node, akin to Ganache, Hardhat Network. +- **Chisel**: Fast, utilitarian, and verbose solidity REPL. + +## Documentation + +https://book.getfoundry.sh/ + +## Usage + +### Build + +```shell +$ forge build +``` + +### Test + +```shell +$ forge test +``` + +### Format + +```shell +$ forge fmt +``` + +### Gas Snapshots + +```shell +$ forge snapshot +``` + +### Anvil + +```shell +$ anvil +``` + +### Deploy + +```shell +$ forge script script/Counter.s.sol:CounterScript --rpc-url --private-key +``` + +### Cast + +```shell +$ cast +``` + +### Help + +```shell +$ forge --help +$ anvil --help +$ cast --help +``` diff --git a/app/eth_contract/foundry.toml b/app/eth_contract/foundry.toml new file mode 100644 index 00000000..25b918f9 --- /dev/null +++ b/app/eth_contract/foundry.toml @@ -0,0 +1,6 @@ +[profile.default] +src = "src" +out = "out" +libs = ["lib"] + +# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options diff --git a/app/eth_contract/script/Counter.s.sol b/app/eth_contract/script/Counter.s.sol new file mode 100644 index 00000000..cdc1fe9a --- /dev/null +++ b/app/eth_contract/script/Counter.s.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Script, console} from "forge-std/Script.sol"; +import {Counter} from "../src/Counter.sol"; + +contract CounterScript is Script { + Counter public counter; + + function setUp() public {} + + function run() public { + vm.startBroadcast(); + + counter = new Counter(); + + vm.stopBroadcast(); + } +} diff --git a/app/eth_contract/src/Counter.sol b/app/eth_contract/src/Counter.sol new file mode 100644 index 00000000..aded7997 --- /dev/null +++ b/app/eth_contract/src/Counter.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +contract Counter { + uint256 public number; + + function setNumber(uint256 newNumber) public { + number = newNumber; + } + + function increment() public { + number++; + } +} diff --git a/app/eth_contract/test/Counter.t.sol b/app/eth_contract/test/Counter.t.sol new file mode 100644 index 00000000..54b724f7 --- /dev/null +++ b/app/eth_contract/test/Counter.t.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Test, console} from "forge-std/Test.sol"; +import {Counter} from "../src/Counter.sol"; + +contract CounterTest is Test { + Counter public counter; + + function setUp() public { + counter = new Counter(); + counter.setNumber(0); + } + + function test_Increment() public { + counter.increment(); + assertEq(counter.number(), 1); + } + + function testFuzz_SetNumber(uint256 x) public { + counter.setNumber(x); + assertEq(counter.number(), x); + } +} From 4620db5312e2aa787d42ebf01d6b35a589938b09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 16 Sep 2024 17:55:04 -0300 Subject: [PATCH 04/48] forge install: forge-std v1.9.2 --- .gitmodules | 3 +++ app/eth_contract/lib/forge-std | 1 + 2 files changed, 4 insertions(+) create mode 160000 app/eth_contract/lib/forge-std diff --git a/.gitmodules b/.gitmodules index 15ed80bc..83d35f38 100644 --- a/.gitmodules +++ b/.gitmodules @@ -11,3 +11,6 @@ [submodule "contract/lib/aligned_layer"] path = contract/lib/aligned_layer url = https://github.com/lambdaclass/aligned_layer +[submodule "app/eth_contract/lib/forge-std"] + path = app/eth_contract/lib/forge-std + url = https://github.com/foundry-rs/forge-std diff --git a/app/eth_contract/lib/forge-std b/app/eth_contract/lib/forge-std new file mode 160000 index 00000000..1714bee7 --- /dev/null +++ b/app/eth_contract/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 1714bee72e286e73f76e320d110e0eaf5c4e649d From f2c5af6f9933f6885523021c79a6a24c4c9601a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 16 Sep 2024 18:10:48 -0300 Subject: [PATCH 05/48] Rename Counter to Sudoku --- app/eth_contract/src/Counter.sol | 14 -------------- app/eth_contract/src/Sudoku.sol | 11 +++++++++++ 2 files changed, 11 insertions(+), 14 deletions(-) delete mode 100644 app/eth_contract/src/Counter.sol create mode 100644 app/eth_contract/src/Sudoku.sol diff --git a/app/eth_contract/src/Counter.sol b/app/eth_contract/src/Counter.sol deleted file mode 100644 index aded7997..00000000 --- a/app/eth_contract/src/Counter.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -contract Counter { - uint256 public number; - - function setNumber(uint256 newNumber) public { - number = newNumber; - } - - function increment() public { - number++; - } -} diff --git a/app/eth_contract/src/Sudoku.sol b/app/eth_contract/src/Sudoku.sol new file mode 100644 index 00000000..ba5ea7a9 --- /dev/null +++ b/app/eth_contract/src/Sudoku.sol @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +contract Sudoku { + /// @notice The Sudoku zkApp verification key hash. + uint256 public constant ZKAPP_VERIFICATION_KEY_HASH = + 19387792026269240922986233885372582803610254872042773421723960761233199555267; + + /// @notice Validates a Sudoku solution by bridging from Mina + function validateSolution() external {} +} From 5d951e6d221f38870d695b561d84672db9b1b79b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 16 Sep 2024 18:18:46 -0300 Subject: [PATCH 06/48] forge install: mina_bridge 132e4ea --- .gitmodules | 3 +++ app/eth_contract/lib/mina_bridge | 1 + 2 files changed, 4 insertions(+) create mode 160000 app/eth_contract/lib/mina_bridge diff --git a/.gitmodules b/.gitmodules index 83d35f38..c1daa30c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,6 @@ [submodule "app/eth_contract/lib/forge-std"] path = app/eth_contract/lib/forge-std url = https://github.com/foundry-rs/forge-std +[submodule "app/eth_contract/lib/mina_bridge"] + path = app/eth_contract/lib/mina_bridge + url = https://github.com/lambdaclass/mina_bridge diff --git a/app/eth_contract/lib/mina_bridge b/app/eth_contract/lib/mina_bridge new file mode 160000 index 00000000..132e4ea6 --- /dev/null +++ b/app/eth_contract/lib/mina_bridge @@ -0,0 +1 @@ +Subproject commit 132e4ea6db567d2ab4eb6dd92058a0fce221b4f8 From 0100e5cf89762a77d67dfe8b3dbdad8938c99594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 16 Sep 2024 18:49:22 -0300 Subject: [PATCH 07/48] Contract mockup --- app/eth_contract/remappings.txt | 0 .../script/{Counter.s.sol => Sudoku.s.sol} | 8 +++---- app/eth_contract/src/Sudoku.sol | 23 ++++++++++++++++-- app/eth_contract/test/Counter.t.sol | 24 ------------------- app/eth_contract/test/Sudoku.t.sol | 13 ++++++++++ 5 files changed, 38 insertions(+), 30 deletions(-) create mode 100644 app/eth_contract/remappings.txt rename app/eth_contract/script/{Counter.s.sol => Sudoku.s.sol} (63%) delete mode 100644 app/eth_contract/test/Counter.t.sol create mode 100644 app/eth_contract/test/Sudoku.t.sol diff --git a/app/eth_contract/remappings.txt b/app/eth_contract/remappings.txt new file mode 100644 index 00000000..e69de29b diff --git a/app/eth_contract/script/Counter.s.sol b/app/eth_contract/script/Sudoku.s.sol similarity index 63% rename from app/eth_contract/script/Counter.s.sol rename to app/eth_contract/script/Sudoku.s.sol index cdc1fe9a..d3602f45 100644 --- a/app/eth_contract/script/Counter.s.sol +++ b/app/eth_contract/script/Sudoku.s.sol @@ -2,17 +2,17 @@ pragma solidity ^0.8.13; import {Script, console} from "forge-std/Script.sol"; -import {Counter} from "../src/Counter.sol"; +import {Sudoku} from "../src/Sudoku.sol"; -contract CounterScript is Script { - Counter public counter; +contract SudokuScript is Script { + Sudoku public sudoku; function setUp() public {} function run() public { vm.startBroadcast(); - counter = new Counter(); + sudoku = new Sudoku(); vm.stopBroadcast(); } diff --git a/app/eth_contract/src/Sudoku.sol b/app/eth_contract/src/Sudoku.sol index ba5ea7a9..73852915 100644 --- a/app/eth_contract/src/Sudoku.sol +++ b/app/eth_contract/src/Sudoku.sol @@ -1,11 +1,30 @@ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; +import "mina_bridge/contract/src/MinaBridge.sol"; +import "mina_bridge/contract/src/MinaAccountValidation.sol"; + contract Sudoku { /// @notice The Sudoku zkApp verification key hash. uint256 public constant ZKAPP_VERIFICATION_KEY_HASH = 19387792026269240922986233885372582803610254872042773421723960761233199555267; - /// @notice Validates a Sudoku solution by bridging from Mina - function validateSolution() external {} + /// @notice Mina bridge contract that validates and stores Mina states. + MinaBridge stateSettlement; + + /// @notice Mina bridge contract that validates accounts + MinaAccountValidation accountValidation; + + uint64 latestSolutionValidationAt = 0; + + /// @notice Validates a Sudoku solution by bridging from Mina, and stores + /// the last Unix time it was solved at. + function validateSolution() external { + // 1. take the zkApp account of Sudoku. + // 2. take a relatively finalized state's ledger hash from + // the stateSettlement contract. + // 3. verify the account for ledger hash (this involves calling the bridge core) + // 4. if the account is valid, extract the zkApp state it + // 5. if the isSolved bool is true, latestSolutionValidationAt = block.timestamp + } } diff --git a/app/eth_contract/test/Counter.t.sol b/app/eth_contract/test/Counter.t.sol deleted file mode 100644 index 54b724f7..00000000 --- a/app/eth_contract/test/Counter.t.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import {Test, console} from "forge-std/Test.sol"; -import {Counter} from "../src/Counter.sol"; - -contract CounterTest is Test { - Counter public counter; - - function setUp() public { - counter = new Counter(); - counter.setNumber(0); - } - - function test_Increment() public { - counter.increment(); - assertEq(counter.number(), 1); - } - - function testFuzz_SetNumber(uint256 x) public { - counter.setNumber(x); - assertEq(counter.number(), x); - } -} diff --git a/app/eth_contract/test/Sudoku.t.sol b/app/eth_contract/test/Sudoku.t.sol new file mode 100644 index 00000000..7a4cdf6d --- /dev/null +++ b/app/eth_contract/test/Sudoku.t.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Test, console} from "forge-std/Test.sol"; +import {Sudoku} from "../src/Sudoku.sol"; + +contract SudokuTest is Test { + Sudoku public sudoku; + + function setUp() public { + sudoku = new Sudoku(); + } +} From 049fd8030ca5a752ced36f861427924ce83c8196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 11:06:07 -0300 Subject: [PATCH 08/48] Add remappings, fix version --- app/eth_contract/remappings.txt | 23 +++++++++++++++++++++++ app/eth_contract/script/Sudoku.s.sol | 2 +- app/eth_contract/src/Sudoku.sol | 2 +- app/eth_contract/test/Sudoku.t.sol | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/eth_contract/remappings.txt b/app/eth_contract/remappings.txt index e69de29b..86479700 100644 --- a/app/eth_contract/remappings.txt +++ b/app/eth_contract/remappings.txt @@ -0,0 +1,23 @@ +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-middleware/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/src +eigenlayer-core/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/ +eigenlayer-core-contracts/=lib/mina_bridge/contract/lib/aligned_layer/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core +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/ + +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/ + +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/ + +@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/ + +forge-std/=lib/forge-std/src/ diff --git a/app/eth_contract/script/Sudoku.s.sol b/app/eth_contract/script/Sudoku.s.sol index d3602f45..ebdcbbb8 100644 --- a/app/eth_contract/script/Sudoku.s.sol +++ b/app/eth_contract/script/Sudoku.s.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; +pragma solidity ^0.8.12; import {Script, console} from "forge-std/Script.sol"; import {Sudoku} from "../src/Sudoku.sol"; diff --git a/app/eth_contract/src/Sudoku.sol b/app/eth_contract/src/Sudoku.sol index 73852915..aee132b6 100644 --- a/app/eth_contract/src/Sudoku.sol +++ b/app/eth_contract/src/Sudoku.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; +pragma solidity ^0.8.12; import "mina_bridge/contract/src/MinaBridge.sol"; import "mina_bridge/contract/src/MinaAccountValidation.sol"; diff --git a/app/eth_contract/test/Sudoku.t.sol b/app/eth_contract/test/Sudoku.t.sol index 7a4cdf6d..e8924d00 100644 --- a/app/eth_contract/test/Sudoku.t.sol +++ b/app/eth_contract/test/Sudoku.t.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; +pragma solidity ^0.8.12; import {Test, console} from "forge-std/Test.sol"; import {Sudoku} from "../src/Sudoku.sol"; From 5f68c5543691398704c7a84b401cf964346f00ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 11:16:34 -0300 Subject: [PATCH 09/48] Remove unused files, add contract constructor --- app/eth_contract/script/Sudoku.s.sol | 19 ------------------- app/eth_contract/src/Sudoku.sol | 6 +++++- app/eth_contract/test/Sudoku.t.sol | 13 ------------- 3 files changed, 5 insertions(+), 33 deletions(-) delete mode 100644 app/eth_contract/script/Sudoku.s.sol delete mode 100644 app/eth_contract/test/Sudoku.t.sol diff --git a/app/eth_contract/script/Sudoku.s.sol b/app/eth_contract/script/Sudoku.s.sol deleted file mode 100644 index ebdcbbb8..00000000 --- a/app/eth_contract/script/Sudoku.s.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.12; - -import {Script, console} from "forge-std/Script.sol"; -import {Sudoku} from "../src/Sudoku.sol"; - -contract SudokuScript is Script { - Sudoku public sudoku; - - function setUp() public {} - - function run() public { - vm.startBroadcast(); - - sudoku = new Sudoku(); - - vm.stopBroadcast(); - } -} diff --git a/app/eth_contract/src/Sudoku.sol b/app/eth_contract/src/Sudoku.sol index aee132b6..57e526f8 100644 --- a/app/eth_contract/src/Sudoku.sol +++ b/app/eth_contract/src/Sudoku.sol @@ -11,12 +11,16 @@ contract Sudoku { /// @notice Mina bridge contract that validates and stores Mina states. MinaBridge stateSettlement; - /// @notice Mina bridge contract that validates accounts MinaAccountValidation accountValidation; uint64 latestSolutionValidationAt = 0; + constructor(address _stateSettlementAddr, address _accountValidationAddr) { + stateSettlement = MinaBridge(_stateSettlementAddr); + accountValidation = AlignedLayerServiceManager(_accountValidationAddr); + } + /// @notice Validates a Sudoku solution by bridging from Mina, and stores /// the last Unix time it was solved at. function validateSolution() external { diff --git a/app/eth_contract/test/Sudoku.t.sol b/app/eth_contract/test/Sudoku.t.sol deleted file mode 100644 index e8924d00..00000000 --- a/app/eth_contract/test/Sudoku.t.sol +++ /dev/null @@ -1,13 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.12; - -import {Test, console} from "forge-std/Test.sol"; -import {Sudoku} from "../src/Sudoku.sol"; - -contract SudokuTest is Test { - Sudoku public sudoku; - - function setUp() public { - sudoku = new Sudoku(); - } -} From 6369e7bf0b6d80973c00ca5bcb0a1137bf1f336b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 12:20:11 -0300 Subject: [PATCH 10/48] Remove mina_bridge submodule --- .gitmodules | 3 --- app/eth_contract/lib/mina_bridge | 2 +- app/eth_contract/src/Sudoku.sol | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) mode change 160000 => 120000 app/eth_contract/lib/mina_bridge diff --git a/.gitmodules b/.gitmodules index c1daa30c..83d35f38 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,6 +14,3 @@ [submodule "app/eth_contract/lib/forge-std"] path = app/eth_contract/lib/forge-std url = https://github.com/foundry-rs/forge-std -[submodule "app/eth_contract/lib/mina_bridge"] - path = app/eth_contract/lib/mina_bridge - url = https://github.com/lambdaclass/mina_bridge diff --git a/app/eth_contract/lib/mina_bridge b/app/eth_contract/lib/mina_bridge deleted file mode 160000 index 132e4ea6..00000000 --- a/app/eth_contract/lib/mina_bridge +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 132e4ea6db567d2ab4eb6dd92058a0fce221b4f8 diff --git a/app/eth_contract/lib/mina_bridge b/app/eth_contract/lib/mina_bridge new file mode 120000 index 00000000..a8a4f8c2 --- /dev/null +++ b/app/eth_contract/lib/mina_bridge @@ -0,0 +1 @@ +../../.. \ No newline at end of file diff --git a/app/eth_contract/src/Sudoku.sol b/app/eth_contract/src/Sudoku.sol index 57e526f8..3b15422e 100644 --- a/app/eth_contract/src/Sudoku.sol +++ b/app/eth_contract/src/Sudoku.sol @@ -18,7 +18,7 @@ contract Sudoku { constructor(address _stateSettlementAddr, address _accountValidationAddr) { stateSettlement = MinaBridge(_stateSettlementAddr); - accountValidation = AlignedLayerServiceManager(_accountValidationAddr); + accountValidation = MinaAccountValidation(_accountValidationAddr); } /// @notice Validates a Sudoku solution by bridging from Mina, and stores From bd6428fc771262881d0a7ee992355d743cfe17e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 12:33:58 -0300 Subject: [PATCH 11/48] Rename zkapp --- app/{sudoku => mina_contract}/.eslintrc.cjs | 0 app/{sudoku => mina_contract}/.gitattributes | 0 app/{sudoku => mina_contract}/.github/workflows/ci.yml | 0 app/{sudoku => mina_contract}/.gitignore | 0 app/{sudoku => mina_contract}/.npmignore | 0 app/{sudoku => mina_contract}/.prettierignore | 0 app/{sudoku => mina_contract}/.prettierrc | 0 app/{sudoku => mina_contract}/LICENSE | 0 app/{sudoku => mina_contract}/README.md | 0 app/{sudoku => mina_contract}/babel.config.cjs | 0 app/{sudoku => mina_contract}/config.json | 0 app/{sudoku => mina_contract}/jest-resolver.cjs | 0 app/{sudoku => mina_contract}/jest.config.js | 0 app/{sudoku => mina_contract}/package-lock.json | 0 app/{sudoku => mina_contract}/package.json | 0 app/{sudoku => mina_contract}/src/index.ts | 0 app/{sudoku => mina_contract}/src/run.ts | 0 app/{sudoku => mina_contract}/src/sudoku-lib.js | 0 app/{sudoku => mina_contract}/src/sudoku.test.ts | 0 app/{sudoku => mina_contract}/src/sudoku.ts | 0 app/{sudoku => mina_contract}/tsconfig.json | 0 21 files changed, 0 insertions(+), 0 deletions(-) rename app/{sudoku => mina_contract}/.eslintrc.cjs (100%) rename app/{sudoku => mina_contract}/.gitattributes (100%) rename app/{sudoku => mina_contract}/.github/workflows/ci.yml (100%) rename app/{sudoku => mina_contract}/.gitignore (100%) rename app/{sudoku => mina_contract}/.npmignore (100%) rename app/{sudoku => mina_contract}/.prettierignore (100%) rename app/{sudoku => mina_contract}/.prettierrc (100%) rename app/{sudoku => mina_contract}/LICENSE (100%) rename app/{sudoku => mina_contract}/README.md (100%) rename app/{sudoku => mina_contract}/babel.config.cjs (100%) rename app/{sudoku => mina_contract}/config.json (100%) rename app/{sudoku => mina_contract}/jest-resolver.cjs (100%) rename app/{sudoku => mina_contract}/jest.config.js (100%) rename app/{sudoku => mina_contract}/package-lock.json (100%) rename app/{sudoku => mina_contract}/package.json (100%) rename app/{sudoku => mina_contract}/src/index.ts (100%) rename app/{sudoku => mina_contract}/src/run.ts (100%) rename app/{sudoku => mina_contract}/src/sudoku-lib.js (100%) rename app/{sudoku => mina_contract}/src/sudoku.test.ts (100%) rename app/{sudoku => mina_contract}/src/sudoku.ts (100%) rename app/{sudoku => mina_contract}/tsconfig.json (100%) diff --git a/app/sudoku/.eslintrc.cjs b/app/mina_contract/.eslintrc.cjs similarity index 100% rename from app/sudoku/.eslintrc.cjs rename to app/mina_contract/.eslintrc.cjs diff --git a/app/sudoku/.gitattributes b/app/mina_contract/.gitattributes similarity index 100% rename from app/sudoku/.gitattributes rename to app/mina_contract/.gitattributes diff --git a/app/sudoku/.github/workflows/ci.yml b/app/mina_contract/.github/workflows/ci.yml similarity index 100% rename from app/sudoku/.github/workflows/ci.yml rename to app/mina_contract/.github/workflows/ci.yml diff --git a/app/sudoku/.gitignore b/app/mina_contract/.gitignore similarity index 100% rename from app/sudoku/.gitignore rename to app/mina_contract/.gitignore diff --git a/app/sudoku/.npmignore b/app/mina_contract/.npmignore similarity index 100% rename from app/sudoku/.npmignore rename to app/mina_contract/.npmignore diff --git a/app/sudoku/.prettierignore b/app/mina_contract/.prettierignore similarity index 100% rename from app/sudoku/.prettierignore rename to app/mina_contract/.prettierignore diff --git a/app/sudoku/.prettierrc b/app/mina_contract/.prettierrc similarity index 100% rename from app/sudoku/.prettierrc rename to app/mina_contract/.prettierrc diff --git a/app/sudoku/LICENSE b/app/mina_contract/LICENSE similarity index 100% rename from app/sudoku/LICENSE rename to app/mina_contract/LICENSE diff --git a/app/sudoku/README.md b/app/mina_contract/README.md similarity index 100% rename from app/sudoku/README.md rename to app/mina_contract/README.md diff --git a/app/sudoku/babel.config.cjs b/app/mina_contract/babel.config.cjs similarity index 100% rename from app/sudoku/babel.config.cjs rename to app/mina_contract/babel.config.cjs diff --git a/app/sudoku/config.json b/app/mina_contract/config.json similarity index 100% rename from app/sudoku/config.json rename to app/mina_contract/config.json diff --git a/app/sudoku/jest-resolver.cjs b/app/mina_contract/jest-resolver.cjs similarity index 100% rename from app/sudoku/jest-resolver.cjs rename to app/mina_contract/jest-resolver.cjs diff --git a/app/sudoku/jest.config.js b/app/mina_contract/jest.config.js similarity index 100% rename from app/sudoku/jest.config.js rename to app/mina_contract/jest.config.js diff --git a/app/sudoku/package-lock.json b/app/mina_contract/package-lock.json similarity index 100% rename from app/sudoku/package-lock.json rename to app/mina_contract/package-lock.json diff --git a/app/sudoku/package.json b/app/mina_contract/package.json similarity index 100% rename from app/sudoku/package.json rename to app/mina_contract/package.json diff --git a/app/sudoku/src/index.ts b/app/mina_contract/src/index.ts similarity index 100% rename from app/sudoku/src/index.ts rename to app/mina_contract/src/index.ts diff --git a/app/sudoku/src/run.ts b/app/mina_contract/src/run.ts similarity index 100% rename from app/sudoku/src/run.ts rename to app/mina_contract/src/run.ts diff --git a/app/sudoku/src/sudoku-lib.js b/app/mina_contract/src/sudoku-lib.js similarity index 100% rename from app/sudoku/src/sudoku-lib.js rename to app/mina_contract/src/sudoku-lib.js diff --git a/app/sudoku/src/sudoku.test.ts b/app/mina_contract/src/sudoku.test.ts similarity index 100% rename from app/sudoku/src/sudoku.test.ts rename to app/mina_contract/src/sudoku.test.ts diff --git a/app/sudoku/src/sudoku.ts b/app/mina_contract/src/sudoku.ts similarity index 100% rename from app/sudoku/src/sudoku.ts rename to app/mina_contract/src/sudoku.ts diff --git a/app/sudoku/tsconfig.json b/app/mina_contract/tsconfig.json similarity index 100% rename from app/sudoku/tsconfig.json rename to app/mina_contract/tsconfig.json From 6f4a99c575af1a70762a9cd297fe4ac423d83a7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 14:35:19 -0300 Subject: [PATCH 12/48] Rename app to example --- app/eth_contract/lib/forge-std | 1 - {app => example}/eth_contract/.github/workflows/test.yml | 0 {app => example}/eth_contract/.gitignore | 0 {app => example}/eth_contract/README.md | 0 {app => example}/eth_contract/foundry.toml | 0 {app => example}/eth_contract/lib/mina_bridge | 0 {app => example}/eth_contract/remappings.txt | 0 {app => example}/eth_contract/src/Sudoku.sol | 0 {app => example}/mina_contract/.eslintrc.cjs | 0 {app => example}/mina_contract/.gitattributes | 0 {app => example}/mina_contract/.github/workflows/ci.yml | 0 {app => example}/mina_contract/.gitignore | 0 {app => example}/mina_contract/.npmignore | 0 {app => example}/mina_contract/.prettierignore | 0 {app => example}/mina_contract/.prettierrc | 0 {app => example}/mina_contract/LICENSE | 0 {app => example}/mina_contract/README.md | 0 {app => example}/mina_contract/babel.config.cjs | 0 {app => example}/mina_contract/config.json | 0 {app => example}/mina_contract/jest-resolver.cjs | 0 {app => example}/mina_contract/jest.config.js | 0 {app => example}/mina_contract/package-lock.json | 0 {app => example}/mina_contract/package.json | 0 {app => example}/mina_contract/src/index.ts | 0 {app => example}/mina_contract/src/run.ts | 0 {app => example}/mina_contract/src/sudoku-lib.js | 0 {app => example}/mina_contract/src/sudoku.test.ts | 0 {app => example}/mina_contract/src/sudoku.ts | 0 {app => example}/mina_contract/tsconfig.json | 0 29 files changed, 1 deletion(-) delete mode 160000 app/eth_contract/lib/forge-std rename {app => example}/eth_contract/.github/workflows/test.yml (100%) rename {app => example}/eth_contract/.gitignore (100%) rename {app => example}/eth_contract/README.md (100%) rename {app => example}/eth_contract/foundry.toml (100%) rename {app => example}/eth_contract/lib/mina_bridge (100%) rename {app => example}/eth_contract/remappings.txt (100%) rename {app => example}/eth_contract/src/Sudoku.sol (100%) rename {app => example}/mina_contract/.eslintrc.cjs (100%) rename {app => example}/mina_contract/.gitattributes (100%) rename {app => example}/mina_contract/.github/workflows/ci.yml (100%) rename {app => example}/mina_contract/.gitignore (100%) rename {app => example}/mina_contract/.npmignore (100%) rename {app => example}/mina_contract/.prettierignore (100%) rename {app => example}/mina_contract/.prettierrc (100%) rename {app => example}/mina_contract/LICENSE (100%) rename {app => example}/mina_contract/README.md (100%) rename {app => example}/mina_contract/babel.config.cjs (100%) rename {app => example}/mina_contract/config.json (100%) rename {app => example}/mina_contract/jest-resolver.cjs (100%) rename {app => example}/mina_contract/jest.config.js (100%) rename {app => example}/mina_contract/package-lock.json (100%) rename {app => example}/mina_contract/package.json (100%) rename {app => example}/mina_contract/src/index.ts (100%) rename {app => example}/mina_contract/src/run.ts (100%) rename {app => example}/mina_contract/src/sudoku-lib.js (100%) rename {app => example}/mina_contract/src/sudoku.test.ts (100%) rename {app => example}/mina_contract/src/sudoku.ts (100%) rename {app => example}/mina_contract/tsconfig.json (100%) diff --git a/app/eth_contract/lib/forge-std b/app/eth_contract/lib/forge-std deleted file mode 160000 index 1714bee7..00000000 --- a/app/eth_contract/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1714bee72e286e73f76e320d110e0eaf5c4e649d diff --git a/app/eth_contract/.github/workflows/test.yml b/example/eth_contract/.github/workflows/test.yml similarity index 100% rename from app/eth_contract/.github/workflows/test.yml rename to example/eth_contract/.github/workflows/test.yml diff --git a/app/eth_contract/.gitignore b/example/eth_contract/.gitignore similarity index 100% rename from app/eth_contract/.gitignore rename to example/eth_contract/.gitignore diff --git a/app/eth_contract/README.md b/example/eth_contract/README.md similarity index 100% rename from app/eth_contract/README.md rename to example/eth_contract/README.md diff --git a/app/eth_contract/foundry.toml b/example/eth_contract/foundry.toml similarity index 100% rename from app/eth_contract/foundry.toml rename to example/eth_contract/foundry.toml diff --git a/app/eth_contract/lib/mina_bridge b/example/eth_contract/lib/mina_bridge similarity index 100% rename from app/eth_contract/lib/mina_bridge rename to example/eth_contract/lib/mina_bridge diff --git a/app/eth_contract/remappings.txt b/example/eth_contract/remappings.txt similarity index 100% rename from app/eth_contract/remappings.txt rename to example/eth_contract/remappings.txt diff --git a/app/eth_contract/src/Sudoku.sol b/example/eth_contract/src/Sudoku.sol similarity index 100% rename from app/eth_contract/src/Sudoku.sol rename to example/eth_contract/src/Sudoku.sol diff --git a/app/mina_contract/.eslintrc.cjs b/example/mina_contract/.eslintrc.cjs similarity index 100% rename from app/mina_contract/.eslintrc.cjs rename to example/mina_contract/.eslintrc.cjs diff --git a/app/mina_contract/.gitattributes b/example/mina_contract/.gitattributes similarity index 100% rename from app/mina_contract/.gitattributes rename to example/mina_contract/.gitattributes diff --git a/app/mina_contract/.github/workflows/ci.yml b/example/mina_contract/.github/workflows/ci.yml similarity index 100% rename from app/mina_contract/.github/workflows/ci.yml rename to example/mina_contract/.github/workflows/ci.yml diff --git a/app/mina_contract/.gitignore b/example/mina_contract/.gitignore similarity index 100% rename from app/mina_contract/.gitignore rename to example/mina_contract/.gitignore diff --git a/app/mina_contract/.npmignore b/example/mina_contract/.npmignore similarity index 100% rename from app/mina_contract/.npmignore rename to example/mina_contract/.npmignore diff --git a/app/mina_contract/.prettierignore b/example/mina_contract/.prettierignore similarity index 100% rename from app/mina_contract/.prettierignore rename to example/mina_contract/.prettierignore diff --git a/app/mina_contract/.prettierrc b/example/mina_contract/.prettierrc similarity index 100% rename from app/mina_contract/.prettierrc rename to example/mina_contract/.prettierrc diff --git a/app/mina_contract/LICENSE b/example/mina_contract/LICENSE similarity index 100% rename from app/mina_contract/LICENSE rename to example/mina_contract/LICENSE diff --git a/app/mina_contract/README.md b/example/mina_contract/README.md similarity index 100% rename from app/mina_contract/README.md rename to example/mina_contract/README.md diff --git a/app/mina_contract/babel.config.cjs b/example/mina_contract/babel.config.cjs similarity index 100% rename from app/mina_contract/babel.config.cjs rename to example/mina_contract/babel.config.cjs diff --git a/app/mina_contract/config.json b/example/mina_contract/config.json similarity index 100% rename from app/mina_contract/config.json rename to example/mina_contract/config.json diff --git a/app/mina_contract/jest-resolver.cjs b/example/mina_contract/jest-resolver.cjs similarity index 100% rename from app/mina_contract/jest-resolver.cjs rename to example/mina_contract/jest-resolver.cjs diff --git a/app/mina_contract/jest.config.js b/example/mina_contract/jest.config.js similarity index 100% rename from app/mina_contract/jest.config.js rename to example/mina_contract/jest.config.js diff --git a/app/mina_contract/package-lock.json b/example/mina_contract/package-lock.json similarity index 100% rename from app/mina_contract/package-lock.json rename to example/mina_contract/package-lock.json diff --git a/app/mina_contract/package.json b/example/mina_contract/package.json similarity index 100% rename from app/mina_contract/package.json rename to example/mina_contract/package.json diff --git a/app/mina_contract/src/index.ts b/example/mina_contract/src/index.ts similarity index 100% rename from app/mina_contract/src/index.ts rename to example/mina_contract/src/index.ts diff --git a/app/mina_contract/src/run.ts b/example/mina_contract/src/run.ts similarity index 100% rename from app/mina_contract/src/run.ts rename to example/mina_contract/src/run.ts diff --git a/app/mina_contract/src/sudoku-lib.js b/example/mina_contract/src/sudoku-lib.js similarity index 100% rename from app/mina_contract/src/sudoku-lib.js rename to example/mina_contract/src/sudoku-lib.js diff --git a/app/mina_contract/src/sudoku.test.ts b/example/mina_contract/src/sudoku.test.ts similarity index 100% rename from app/mina_contract/src/sudoku.test.ts rename to example/mina_contract/src/sudoku.test.ts diff --git a/app/mina_contract/src/sudoku.ts b/example/mina_contract/src/sudoku.ts similarity index 100% rename from app/mina_contract/src/sudoku.ts rename to example/mina_contract/src/sudoku.ts diff --git a/app/mina_contract/tsconfig.json b/example/mina_contract/tsconfig.json similarity index 100% rename from app/mina_contract/tsconfig.json rename to example/mina_contract/tsconfig.json From 526c0fd443a6c05d6b8440e5dc89eb97b49ba077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 14:35:36 -0300 Subject: [PATCH 13/48] forge install: forge-std v1.9.2 --- .gitmodules | 3 +++ example/eth_contract/lib/forge-std | 1 + 2 files changed, 4 insertions(+) create mode 160000 example/eth_contract/lib/forge-std diff --git a/.gitmodules b/.gitmodules index 83d35f38..fce16b81 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,6 @@ [submodule "app/eth_contract/lib/forge-std"] path = app/eth_contract/lib/forge-std url = https://github.com/foundry-rs/forge-std +[submodule "example/eth_contract/lib/forge-std"] + path = example/eth_contract/lib/forge-std + url = https://github.com/foundry-rs/forge-std diff --git a/example/eth_contract/lib/forge-std b/example/eth_contract/lib/forge-std new file mode 160000 index 00000000..1714bee7 --- /dev/null +++ b/example/eth_contract/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 1714bee72e286e73f76e320d110e0eaf5c4e649d From 9d1b9974371448e51acb69147780a76c6b1922b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 15:32:18 -0300 Subject: [PATCH 14/48] Created Rust app project --- example/app/Cargo.toml | 6 ++++++ example/app/src/main.rs | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 example/app/Cargo.toml create mode 100644 example/app/src/main.rs diff --git a/example/app/Cargo.toml b/example/app/Cargo.toml new file mode 100644 index 00000000..211d3b2a --- /dev/null +++ b/example/app/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "app" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/example/app/src/main.rs b/example/app/src/main.rs new file mode 100644 index 00000000..e7a11a96 --- /dev/null +++ b/example/app/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +} From b54823595e024679899c30046f3d7509abe44ddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 17 Sep 2024 17:56:06 -0300 Subject: [PATCH 15/48] zkApp script --- example/mina_contract/package-lock.json | 6 +- example/mina_contract/src/run.ts | 129 ++++++++++++++++-------- 2 files changed, 88 insertions(+), 47 deletions(-) diff --git a/example/mina_contract/package-lock.json b/example/mina_contract/package-lock.json index be4d5fd2..63d84c4b 100644 --- a/example/mina_contract/package-lock.json +++ b/example/mina_contract/package-lock.json @@ -4074,9 +4074,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.23", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz", - "integrity": "sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==", + "version": "1.5.24", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.24.tgz", + "integrity": "sha512-0x0wLCmpdKFCi9ulhvYZebgcPmHTkFVUfU2wzDykadkslKwT4oAmDTHEKLnlrDsMGZe4B+ksn8quZfZjYsBetA==", "dev": true, "license": "ISC" }, diff --git a/example/mina_contract/src/run.ts b/example/mina_contract/src/run.ts index 7b0c61dd..5de31251 100644 --- a/example/mina_contract/src/run.ts +++ b/example/mina_contract/src/run.ts @@ -9,67 +9,108 @@ * Build the project: `$ npm run build` * Run with node: `$ node build/src/run.js`. */ +import fs from 'fs/promises'; import { Sudoku, SudokuZkApp } from './sudoku.js'; import { cloneSudoku, generateSudoku, solveSudoku } from './sudoku-lib.js'; -import { AccountUpdate, Mina, PrivateKey } from 'o1js'; +import { AccountUpdate, Mina, PrivateKey, NetworkId } from 'o1js'; -// setup -const Devnet = await Mina.Network("https://api.minascan.io/node/devnet/v1/graphql"); -Mina.setActiveInstance(Devnet); +const deployAlias = "devnet"; -const sender = Local.testAccounts[0]; -const senderKey = sender.key; -const sudoku = generateSudoku(0.5); -const zkAppPrivateKey = PrivateKey.random(); -const zkAppAddress = zkAppPrivateKey.toPublicKey(); -// create an instance of the smart contract -const zkApp = new SudokuZkApp(zkAppAddress); +// parse config and private key from file +type Config = { + deployAliases: Record< + string, + { + networkId?: string; + url: string; + keyPath: string; + fee: string; + feepayerKeyPath: string; + feepayerAlias: string; + } + >; +}; +let configJson: Config = JSON.parse(await fs.readFile('config.json', 'utf8')); +let config = configJson.deployAliases[deployAlias]; +let feepayerKeysBase58: { privateKey: string; publicKey: string } = JSON.parse( + await fs.readFile(config.feepayerKeyPath, 'utf8') +); +let zkAppKeysBase58: { privateKey: string; publicKey: string } = JSON.parse( + await fs.readFile(config.keyPath, 'utf8') +); +let feepayerKey = PrivateKey.fromBase58(feepayerKeysBase58.privateKey); +let zkAppKey = PrivateKey.fromBase58(zkAppKeysBase58.privateKey); +let feepayerAddress = feepayerKey.toPublicKey(); +let zkAppAddress = zkAppKey.toPublicKey(); -console.log('Deploying and initializing Sudoku...'); -await SudokuZkApp.compile(); -let tx = await Mina.transaction(sender, async () => { - AccountUpdate.fundNewAccount(sender); - await zkApp.deploy(); - await zkApp.update(Sudoku.from(sudoku)); +// define network (devnet) +const Network = Mina.Network({ + // We need to default to the testnet networkId if none is specified for this deploy alias in config.json + // This is to ensure the backward compatibility. + networkId: config.networkId as NetworkId, + mina: config.url, }); -await tx.prove(); -/** - * note: this tx needs to be signed with `tx.sign()`, because `deploy` uses `requireSignature()` under the hood, - * so one of the account updates in this tx has to be authorized with a signature (vs proof). - * this is necessary for the deploy tx because the initial permissions for all account fields are "signature". - * (but `deploy()` changes some of those permissions to "proof" and adds the verification key that enables proofs. - * that's why we don't need `tx.sign()` for the later transactions.) - */ -await tx.sign([zkAppPrivateKey, senderKey]).send(); - -console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); +const fee = Number(config.fee) * 1e9; // in nanomina (1 billion = 1.0 mina) +Mina.setActiveInstance(Network); -let solution = solveSudoku(sudoku); -if (solution === undefined) throw Error('cannot happen'); +// define zkapp and create sudoku to upload +const zkApp = new SudokuZkApp(zkAppAddress); +const sudoku = generateSudoku(0.5); -// submit a wrong solution -let noSolution = cloneSudoku(solution); -noSolution[0][0] = (noSolution[0][0] % 9) + 1; +console.log('compiling Sudoku...'); +await SudokuZkApp.compile(); -console.log('Submitting wrong solution...'); +console.log('updating sudoku to solve'); try { - let tx = await Mina.transaction(sender, async () => { - await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(noSolution)); - }); + // call update() and send transaction + console.log('build transaction and create proof...'); + let tx = await Mina.transaction( + { sender: feepayerAddress, fee }, + async () => { + await zkApp.update(Sudoku.from(sudoku)); + } + ); await tx.prove(); - await tx.sign([senderKey]).send(); -} catch { - console.log('There was an error submitting the solution, as expected'); + + console.log('send transaction...'); + const sentTx = await tx.sign([feepayerKey]).send(); + if (sentTx.status === 'pending') { + console.log( + '\nSuccess! Update transaction sent.\n' + + '\nYour smart contract state will be updated' + + '\nas soon as the transaction is included in a block:' + + `\n${getTxnUrl(config.url, sentTx.hash)}` + ); + } +} catch (err) { + console.log(err); } -console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); +console.log('Is the sudoku solved? (should be false)', zkApp.isSolved.get().toBoolean()); -// submit the actual solution +let solution = solveSudoku(sudoku); +if (solution === undefined) throw Error('cannot happen'); + +// submit the solution console.log('Submitting solution...'); -tx = await Mina.transaction(sender, async () => { +let tx = await Mina.transaction({ sender: feepayerAddress, fee }, async () => { await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(solution!)); }); await tx.prove(); -await tx.sign([senderKey]).send(); +await tx.sign([feepayerKey]).send(); console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); + +function getTxnUrl(graphQlUrl: string, txnHash: string | undefined) { + const hostName = new URL(graphQlUrl).hostname; + const txnBroadcastServiceName = hostName + .split('.') + .filter((item) => item === 'minascan')?.[0]; + const networkName = graphQlUrl + .split('/') + .filter((item) => item === 'mainnet' || item === 'devnet')?.[0]; + if (txnBroadcastServiceName && networkName) { + return `https://minascan.io/${networkName}/tx/${txnHash}?type=zk-tx`; + } + return `Transaction hash: ${txnHash}`; +} From de8c28a4b23b3d13ad8cc8ac741420d43894641d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Wed, 18 Sep 2024 12:50:15 -0300 Subject: [PATCH 16/48] Fiz zkapp script --- example/mina_contract/src/run.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/example/mina_contract/src/run.ts b/example/mina_contract/src/run.ts index 5de31251..80b42e65 100644 --- a/example/mina_contract/src/run.ts +++ b/example/mina_contract/src/run.ts @@ -9,10 +9,11 @@ * Build the project: `$ npm run build` * Run with node: `$ node build/src/run.js`. */ +import { setTimeout } from "timers/promises"; import fs from 'fs/promises'; import { Sudoku, SudokuZkApp } from './sudoku.js'; import { cloneSudoku, generateSudoku, solveSudoku } from './sudoku-lib.js'; -import { AccountUpdate, Mina, PrivateKey, NetworkId } from 'o1js'; +import { AccountUpdate, Mina, PrivateKey, PublicKey, NetworkId, fetchAccount } from 'o1js'; const deployAlias = "devnet"; @@ -35,13 +36,9 @@ let config = configJson.deployAliases[deployAlias]; let feepayerKeysBase58: { privateKey: string; publicKey: string } = JSON.parse( await fs.readFile(config.feepayerKeyPath, 'utf8') ); -let zkAppKeysBase58: { privateKey: string; publicKey: string } = JSON.parse( - await fs.readFile(config.keyPath, 'utf8') -); let feepayerKey = PrivateKey.fromBase58(feepayerKeysBase58.privateKey); -let zkAppKey = PrivateKey.fromBase58(zkAppKeysBase58.privateKey); let feepayerAddress = feepayerKey.toPublicKey(); -let zkAppAddress = zkAppKey.toPublicKey(); +let zkAppAddress = PublicKey.fromBase58("B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"); // define network (devnet) const Network = Mina.Network({ @@ -60,6 +57,9 @@ const sudoku = generateSudoku(0.5); console.log('compiling Sudoku...'); await SudokuZkApp.compile(); +await fetchAccount({ publicKey: zkAppAddress }); +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); + console.log('updating sudoku to solve'); try { // call update() and send transaction @@ -82,12 +82,17 @@ try { `\n${getTxnUrl(config.url, sentTx.hash)}` ); } + } catch (err) { console.log(err); } console.log('Is the sudoku solved? (should be false)', zkApp.isSolved.get().toBoolean()); +console.log("Waiting 4 min..."); +await setTimeout(1000 * 60 * 4); +console.log("Done"); + let solution = solveSudoku(sudoku); if (solution === undefined) throw Error('cannot happen'); @@ -99,7 +104,7 @@ let tx = await Mina.transaction({ sender: feepayerAddress, fee }, async () => { await tx.prove(); await tx.sign([feepayerKey]).send(); -console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); +console.log('Is the sudoku solved? (should be true)', zkApp.isSolved.get().toBoolean()); function getTxnUrl(graphQlUrl: string, txnHash: string | undefined) { const hostName = new URL(graphQlUrl).hostname; From 075f441902434c2d6367ecacf51e8ef00cdb9442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Wed, 18 Sep 2024 17:12:18 -0300 Subject: [PATCH 17/48] Core refactor --- core/Cargo.lock | 2 +- core/{src => }/graphql/account_query.graphql | 0 .../graphql/best_chain_query.graphql | 0 core/{src => }/graphql/mina_schema.json | 0 core/{src => }/graphql/state_query.graphql | 0 ...{aligned_polling_service.rs => aligned.rs} | 0 .../src/{smart_contract_utility.rs => eth.rs} | 0 core/src/lib.rs | 25 ++++------ core/src/main.rs | 49 +++++++------------ core/src/{mina_polling_service.rs => mina.rs} | 14 +++--- core/src/sdk.rs | 0 11 files changed, 36 insertions(+), 54 deletions(-) rename core/{src => }/graphql/account_query.graphql (100%) rename core/{src => }/graphql/best_chain_query.graphql (100%) rename core/{src => }/graphql/mina_schema.json (100%) rename core/{src => }/graphql/state_query.graphql (100%) rename core/src/{aligned_polling_service.rs => aligned.rs} (100%) rename core/src/{smart_contract_utility.rs => eth.rs} (100%) rename core/src/{mina_polling_service.rs => mina.rs} (96%) create mode 100644 core/src/sdk.rs diff --git a/core/Cargo.lock b/core/Cargo.lock index ed53eb8d..bd0ee290 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_6#f815d62b48f9679f61fad20f1d63425865674b93" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=mina#7a2b55567656308606fba20db3cef69dcd433926" dependencies = [ "ciborium", "ethers", diff --git a/core/src/graphql/account_query.graphql b/core/graphql/account_query.graphql similarity index 100% rename from core/src/graphql/account_query.graphql rename to core/graphql/account_query.graphql diff --git a/core/src/graphql/best_chain_query.graphql b/core/graphql/best_chain_query.graphql similarity index 100% rename from core/src/graphql/best_chain_query.graphql rename to core/graphql/best_chain_query.graphql diff --git a/core/src/graphql/mina_schema.json b/core/graphql/mina_schema.json similarity index 100% rename from core/src/graphql/mina_schema.json rename to core/graphql/mina_schema.json diff --git a/core/src/graphql/state_query.graphql b/core/graphql/state_query.graphql similarity index 100% rename from core/src/graphql/state_query.graphql rename to core/graphql/state_query.graphql diff --git a/core/src/aligned_polling_service.rs b/core/src/aligned.rs similarity index 100% rename from core/src/aligned_polling_service.rs rename to core/src/aligned.rs diff --git a/core/src/smart_contract_utility.rs b/core/src/eth.rs similarity index 100% rename from core/src/smart_contract_utility.rs rename to core/src/eth.rs diff --git a/core/src/lib.rs b/core/src/lib.rs index f7a4ccd5..7323cb80 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -1,19 +1,14 @@ -/// Service that polls a Mina node for a state proof and serializes it in an Aligned-friendly -/// format. -pub mod mina_polling_service; - -/// Service that sends a Mina proof to Aligned and awaits a response. Returns the verification -/// data. -pub mod aligned_polling_service; - -/// Utility for updating the bridge's smart contract with a new, verified state. -pub mod smart_contract_utility; - -/// Internal utils. -pub mod utils; - +/// Sends Mina proofs to AlignedLayer. +pub mod aligned; +/// Interacts with the bridge's smart contracts on Ethereum. +pub mod eth; +/// Interacts with a Mina node for requesting proofs and data. +pub mod mina; /// Mina Proof of State/Account definitions and (de)serialization. pub mod proof; - +/// High level abstractions for the bridge. +pub mod sdk; /// Solidity-friendly data structures and serialization. pub mod sol; +/// Internal utils. +pub mod utils; diff --git a/core/src/main.rs b/core/src/main.rs index bc31cc26..3bfb25eb 100644 --- a/core/src/main.rs +++ b/core/src/main.rs @@ -1,9 +1,8 @@ use clap::{Parser, Subcommand}; use log::{error, info}; use mina_bridge_core::{ - aligned_polling_service, mina_polling_service, + aligned, eth, mina, proof::MinaProof, - smart_contract_utility, utils::{env::EnvironmentVariables, wallet::get_wallet}, }; use std::{process, time::SystemTime}; @@ -61,15 +60,14 @@ async fn main() { match cli.command { Command::SubmitState { save_proof } => { - let (proof, pub_input) = - mina_polling_service::get_mina_proof_of_state(&rpc_url, &chain, ð_rpc_url) - .await - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); + 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); + }); - let verification_data = aligned_polling_service::submit( + let verification_data = aligned::submit( MinaProof::State((proof, pub_input.clone())), &chain, &proof_generator_addr, @@ -85,18 +83,12 @@ async fn main() { process::exit(1); }); - smart_contract_utility::update_chain( - verification_data, - &pub_input, - &chain, - ð_rpc_url, - wallet, - ) - .await - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); + eth::update_chain(verification_data, &pub_input, &chain, ð_rpc_url, wallet) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); } Command::SubmitAccount { save_proof, @@ -104,14 +96,14 @@ async fn main() { state_hash, } => { let (proof, pub_input) = - mina_polling_service::get_mina_proof_of_account(&public_key, &state_hash, &rpc_url) + mina::get_mina_proof_of_account(&public_key, &state_hash, &rpc_url) .await .unwrap_or_else(|err| { error!("{}", err); process::exit(1); }); - let verification_data = aligned_polling_service::submit( + let verification_data = aligned::submit( MinaProof::Account((proof, pub_input.clone())), &chain, &proof_generator_addr, @@ -127,13 +119,8 @@ async fn main() { process::exit(1); }); - if let Err(err) = smart_contract_utility::validate_account( - verification_data, - &pub_input, - &chain, - ð_rpc_url, - ) - .await + if let Err(err) = + eth::validate_account(verification_data, &pub_input, &chain, ð_rpc_url).await { error!("Mina account {public_key} was not validated: {err}",); } else { diff --git a/core/src/mina_polling_service.rs b/core/src/mina.rs similarity index 96% rename from core/src/mina_polling_service.rs rename to core/src/mina.rs index 0c14c075..931a8f8b 100644 --- a/core/src/mina_polling_service.rs +++ b/core/src/mina.rs @@ -19,11 +19,11 @@ use mina_p2p_messages::{ }; use crate::{ + eth::get_bridge_tip_hash, proof::{ account_proof::{MerkleNode, MinaAccountProof, MinaAccountPubInputs}, state_proof::{MinaStateProof, MinaStatePubInputs}, }, - smart_contract_utility::get_bridge_tip_hash, sol::account::MinaAccountValidation, utils::constants::BRIDGE_TRANSITION_FRONTIER_LEN, }; @@ -34,24 +34,24 @@ type FieldElem = String; #[derive(GraphQLQuery)] #[graphql( - schema_path = "src/graphql/mina_schema.json", - query_path = "src/graphql/state_query.graphql" + schema_path = "graphql/mina_schema.json", + query_path = "graphql/state_query.graphql" )] /// A query for a protocol state given some state hash (non-field). struct StateQuery; #[derive(GraphQLQuery)] #[graphql( - schema_path = "src/graphql/mina_schema.json", - query_path = "src/graphql/best_chain_query.graphql" + schema_path = "graphql/mina_schema.json", + query_path = "graphql/best_chain_query.graphql" )] /// A query for the state hashes and proofs of the transition frontier. struct BestChainQuery; #[derive(GraphQLQuery)] #[graphql( - schema_path = "src/graphql/mina_schema.json", - query_path = "src/graphql/account_query.graphql" + schema_path = "graphql/mina_schema.json", + query_path = "graphql/account_query.graphql" )] /// A query for retrieving an a Mina account state at some block, along with its ledger hash and /// merkle path. diff --git a/core/src/sdk.rs b/core/src/sdk.rs new file mode 100644 index 00000000..e69de29b From 75b004271a8d137b888c5ac8e72ad78640e90d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Thu, 19 Sep 2024 12:41:33 -0300 Subject: [PATCH 18/48] Add sdk --- core/src/sdk.rs | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/core/src/sdk.rs b/core/src/sdk.rs index e69de29b..1acc545b 100644 --- a/core/src/sdk.rs +++ b/core/src/sdk.rs @@ -0,0 +1,86 @@ +use std::str::FromStr; + +use aligned_sdk::core::types::Chain; +use ethers::core::k256::ecdsa::SigningKey; +use ethers_signers::Wallet; +use mina_p2p_messages::v2::{MinaBaseAccountBinableArgStableV2 as MinaAccount, StateHash}; + +use crate::{ + aligned::submit, + eth::{self, get_bridge_chain_state_hashes, update_chain}, + mina::{get_mina_proof_of_account, get_mina_proof_of_state}, + proof::MinaProof, +}; + +pub async fn is_state_verified( + hash: &str, + chain: &Chain, + eth_rpc_url: &str, +) -> Result { + let chain_state_hashes = get_bridge_chain_state_hashes(chain, 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 verify_state( + rpc_url: &str, + chain: &Chain, + batcher_addr: &str, + batcher_eth_addr: &str, + eth_rpc_url: &str, + proof_generator_addr: &str, + wallet: Wallet, + save_proof: bool, +) -> Result<(), String> { + let (proof, pub_input) = get_mina_proof_of_state(&rpc_url, &chain, ð_rpc_url).await?; + + let verification_data = submit( + MinaProof::State((proof, pub_input.clone())), + chain, + proof_generator_addr, + batcher_addr, + batcher_eth_addr, + eth_rpc_url, + wallet.clone(), + save_proof, + ) + .await?; + + update_chain(verification_data, &pub_input, chain, eth_rpc_url, wallet).await?; + + Ok(()) +} + +pub async fn validate_account( + public_key: &str, + state_hash: &str, + rpc_url: &str, + chain: &Chain, + batcher_addr: &str, + batcher_eth_addr: &str, + eth_rpc_url: &str, + proof_generator_addr: &str, + wallet: Wallet, + save_proof: bool, +) -> Result { + let (proof, pub_input) = get_mina_proof_of_account(public_key, state_hash, rpc_url).await?; + + let account = proof.account.clone(); + + let verification_data = submit( + MinaProof::Account((proof, pub_input.clone())), + chain, + proof_generator_addr, + batcher_addr, + batcher_eth_addr, + eth_rpc_url, + wallet.clone(), + save_proof, + ) + .await?; + + eth::validate_account(verification_data, &pub_input, chain, eth_rpc_url).await?; + + Ok(account) +} From ac8bcedd3fec554e3d0ab3593fcff05d6c9445e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Thu, 19 Sep 2024 12:41:52 -0300 Subject: [PATCH 19/48] Complete app --- example/app/.gitignore | 1 + example/app/Cargo.lock | 6688 +++++++++++++++++++++++++++++++++++++++ example/app/Cargo.toml | 10 + example/app/src/main.rs | 88 +- 4 files changed, 6785 insertions(+), 2 deletions(-) create mode 100644 example/app/.gitignore create mode 100644 example/app/Cargo.lock diff --git a/example/app/.gitignore b/example/app/.gitignore new file mode 100644 index 00000000..2f7896d1 --- /dev/null +++ b/example/app/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/example/app/Cargo.lock b/example/app/Cargo.lock new file mode 100644 index 00000000..b6b42af0 --- /dev/null +++ b/example/app/Cargo.lock @@ -0,0 +1,6688 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "aligned-sdk" +version = "0.1.0" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=mina#7a2b55567656308606fba20db3cef69dcd433926" +dependencies = [ + "ciborium", + "ethers", + "futures-util", + "hex", + "lambdaworks-crypto", + "log", + "serde", + "serde_json", + "serde_repr", + "sha3", + "tokio", + "tokio-tungstenite 0.23.1", + "url", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "alloy" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8367891bf380210abb0d6aa30c5f85a9080cb4a066c4d5c5acadad630823751b" +dependencies = [ + "alloy-consensus", + "alloy-contract", + "alloy-core", + "alloy-eips", + "alloy-genesis", + "alloy-network", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types", + "alloy-serde", + "alloy-signer", + "alloy-signer-local", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", +] + +[[package]] +name = "alloy-chains" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68b94c159bcc2ca5f758b8663d7b00fc7c5e40569984595ddf2221b0f7f7f6e" +dependencies = [ + "num_enum", + "strum 0.26.3", +] + +[[package]] +name = "alloy-consensus" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629b62e38d471cc15fea534eb7283d2f8a4e8bdb1811bcc5d66dda6cfce6fae1" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "serde", +] + +[[package]] +name = "alloy-contract" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eefe64fd344cffa9cf9e3435ec4e93e6e9c3481bc37269af988bf497faf4a6a" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-types-eth", + "alloy-sol-types", + "alloy-transport", + "futures", + "futures-util", + "thiserror", +] + +[[package]] +name = "alloy-core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b095eb0533144b4497e84a9cc3e44a5c2e3754a3983c0376a55a2f9183a53e" +dependencies = [ + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", +] + +[[package]] +name = "alloy-dyn-abi" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4004925bff5ba0a11739ae84dbb6601a981ea692f3bd45b626935ee90a6b8471" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "const-hex", + "itoa", + "serde", + "serde_json", + "winnow", +] + +[[package]] +name = "alloy-eip2930" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d319bb544ca6caeab58c39cea8921c55d924d4f68f2c60f24f914673f9a74a" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "k256", + "serde", +] + +[[package]] +name = "alloy-eips" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f923dd5fca5f67a43d81ed3ebad0880bd41f6dd0ada930030353ac356c54cd0f" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "c-kzg", + "derive_more 1.0.0", + "once_cell", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "alloy-genesis" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a7a18afb0b318616b6b2b0e2e7ac5529d32a966c673b48091c9919e284e6aca" +dependencies = [ + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-json-abi" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9996daf962fd0a90d3c93b388033228865953b92de7bb1959b891d78750a4091" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3c717b5298fad078cd3a418335b266eba91b511383ca9bd497f742d5975d5ab" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb3705ce7d8602132bcf5ac7a1dd293a42adc2f183abf5907c30ac535ceca049" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "thiserror", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ad40869867ed2d9cd3842b1e800889e5b49e6b92da346e93862b4a741bedf3" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-primitives" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "411aff151f2a73124ee473708e82ed51b2535f68928b6a1caa8bc1246ae6f7cd" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more 1.0.0", + "hex-literal", + "itoa", + "k256", + "keccak-asm", + "proptest", + "rand", + "ruint", + "serde", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927f708dd457ed63420400ee5f06945df9632d5d101851952056840426a10dc5" +dependencies = [ + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types-eth", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "futures", + "futures-utils-wasm", + "lru", + "pin-project", + "reqwest 0.12.7", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "alloy-pubsub" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d05f63677e210d758cd5d6d1ce10f20c980c3560ccfbe79ba1997791862a04f" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-transport", + "bimap", + "futures", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.5.1", + "tracing", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +dependencies = [ + "alloy-rlp-derive", + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d82952dca71173813d4e5733e2c986d8b04aea9e0f3b0a576664c232ad050a5" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-pubsub", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "futures", + "pin-project", + "reqwest 0.12.7", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.5.1", + "tracing", + "url", +] + +[[package]] +name = "alloy-rpc-types" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64333d639f2a0cf73491813c629a405744e16343a4bc5640931be707c345ecc5" +dependencies = [ + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-rpc-types-engine" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1464c4dd646e1bdfde86ae65ce5ba168dbb29180b478011fe87117ae46b1629b" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "derive_more 1.0.0", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83aa984386deda02482660aa31cb8ca1e63d533f1c31a52d7d181ac5ec68e9b8" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "cfg-if", + "derive_more 1.0.0", + "hashbrown 0.14.5", + "itertools 0.13.0", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "731f75ec5d383107fd745d781619bd9cedf145836c51ecb991623d41278e71fa" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "307324cca94354cd654d6713629f0383ec037e1ff9e3e3d547212471209860c0" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror", +] + +[[package]] +name = "alloy-signer-local" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fabe917ab1778e760b4701628d1cae8e028ee9d52ac6307de4e1e9286ab6b5f" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "elliptic-curve", + "eth-keystore", + "k256", + "rand", + "thiserror", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0458ccb02a564228fcd76efb8eb5a520521a8347becde37b402afec9a1b83859" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc65475025fc1e84bf86fc840f04f63fcccdcf3cf12053c99918e4054dfbc69" +dependencies = [ + "alloy-json-abi", + "alloy-sol-macro-input", + "const-hex", + "heck 0.5.0", + "indexmap 2.5.0", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.77", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed10f0715a0b69fde3236ff3b9ae5f6f7c97db5a387747100070d3016b9266b" +dependencies = [ + "alloy-json-abi", + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.77", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3edae8ea1de519ccba896b6834dec874230f72fe695ff3c9c118e90ec7cff783" +dependencies = [ + "serde", + "winnow", +] + +[[package]] +name = "alloy-sol-types" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1eb88e4da0a1b697ed6a9f811fdba223cf4d5c21410804fd1707836af73a462b" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33616b2edf7454302a1d48084db185e52c309f73f6c10be99b0fe39354b3f1e9" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror", + "tokio", + "tower 0.5.1", + "tracing", + "url", +] + +[[package]] +name = "alloy-transport-http" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a944f5310c690b62bbb3e7e5ce34527cbd36b2d18532a797af123271ce595a49" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.7", + "serde_json", + "tower 0.5.1", + "tracing", + "url", +] + +[[package]] +name = "alloy-transport-ipc" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fd8491249f74d16ec979b1f5672377b12ebb818e6056478ffa386954dbd350" +dependencies = [ + "alloy-json-rpc", + "alloy-pubsub", + "alloy-transport", + "bytes", + "futures", + "interprocess", + "pin-project", + "serde_json", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "alloy-transport-ws" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9704761f6297fe482276bee7f77a93cb42bd541c2bd6c1c560b6f3a9ece672e" +dependencies = [ + "alloy-pubsub", + "alloy-transport", + "futures", + "http 1.1.0", + "rustls 0.23.13", + "serde_json", + "tokio", + "tokio-tungstenite 0.23.1", + "tracing", + "ws_stream_wasm", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" + +[[package]] +name = "anstyle-parse" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" + +[[package]] +name = "app" +version = "0.1.0" +dependencies = [ + "env_logger", + "log", + "mina_bridge_core", + "tokio", +] + +[[package]] +name = "ark-ec" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "ark-ff 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-traits", + "rayon", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rayon", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-poly" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "ark-ff 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "hashbrown 0.11.2", + "rayon", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "ark-serialize-derive", + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.3.0" +source = "git+https://github.com/openmina/algebra?branch=openmina#017531e7aaa15a2c856532b0843876e371b01122" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand", + "rayon", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "ascii" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "async-channel" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "async-trait" +version = "0.1.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.1", +] + +[[package]] +name = "atomic-polyfill" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" +dependencies = [ + "critical-section", +] + +[[package]] +name = "auto_impl" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bcs" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b6598a2f5d564fb7855dc6b06fd1c38cff5a72bd8b863a4d021938497b440a" +dependencies = [ + "serde", + "thiserror", +] + +[[package]] +name = "bech32" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" + +[[package]] +name = "bimap" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" + +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + +[[package]] +name = "binprot" +version = "0.1.8" +source = "git+https://github.com/openmina/binprot-rs?rev=2b5a909#2b5a9099a1c5640559d04e39899da301aebc8023" +dependencies = [ + "binprot_derive", + "byteorder", + "md5", +] + +[[package]] +name = "binprot_derive" +version = "0.1.7" +source = "git+https://github.com/openmina/binprot-rs?rev=2b5a909#2b5a9099a1c5640559d04e39899da301aebc8023" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "blake2b_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "blake2s_simd" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94230421e395b9920d23df13ea5d77a20e1725331f90fbbf6df6040b33f756ae" +dependencies = [ + "arrayref", + "arrayvec", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "blake3" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq 0.3.1", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blst" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "bs58" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +dependencies = [ + "sha2 0.9.9", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "sha2 0.10.8", + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byte-slice-cast" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +dependencies = [ + "serde", +] + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "c-kzg" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] + +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "4.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim 0.11.1", +] + +[[package]] +name = "clap_derive" +version = "4.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "clap_lex" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" + +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + +[[package]] +name = "coins-bip32" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" +dependencies = [ + "bs58 0.5.1", + "coins-core", + "digest 0.10.7", + "hmac", + "k256", + "serde", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "coins-bip39" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" +dependencies = [ + "bitvec", + "coins-bip32", + "hmac", + "once_cell", + "pbkdf2 0.12.2", + "rand", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "coins-core" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" +dependencies = [ + "base64 0.21.7", + "bech32", + "bs58 0.5.1", + "digest 0.10.7", + "generic-array", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2 0.10.8", + "sha3", + "thiserror", +] + +[[package]] +name = "colorchoice" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" + +[[package]] +name = "combine" +version = "3.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" +dependencies = [ + "ascii", + "byteorder", + "either", + "memchr", + "unreachable", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-hex" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" +dependencies = [ + "memchr", +] + +[[package]] +name = "cpufeatures" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "critical-section" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64009896348fc5af4222e9cf7d7d82a95a256c634ebcf61c53e4ea461422242" + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "darling" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core 0.13.4", + "darling_macro 0.13.4", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core 0.20.10", + "darling_macro 0.20.10", +] + +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 1.0.109", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.77", +] + +[[package]] +name = "darling_macro" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core 0.13.4", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core 0.20.10", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", +] + +[[package]] +name = "data-encoding" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.1", + "syn 2.0.77", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "unicode-xid", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "disjoint-set" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d102f1a462fdcdddce88d6d46c06c074a2d2749b262230333726b06c52bb7585" + +[[package]] +name = "doctest-file" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enr" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" +dependencies = [ + "base64 0.21.7", + "bytes", + "hex", + "k256", + "log", + "rand", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "enum_dispatch" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "env_filter" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "eth-keystore" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +dependencies = [ + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac", + "pbkdf2 0.11.0", + "rand", + "scrypt", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "thiserror", + "uuid 0.8.2", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror", + "uint", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", + "ethers-solc", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "ethers-core", + "once_cell", + "serde", + "serde_json", +] + +[[package]] +name = "ethers-contract" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", + "once_cell", + "pin-project", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "ethers-contract-abigen" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "ethers-etherscan", + "eyre", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "reqwest 0.11.27", + "serde", + "serde_json", + "syn 2.0.77", + "toml 0.8.19", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.77", +] + +[[package]] +name = "ethers-core" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "arrayvec", + "bytes", + "cargo_metadata", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array", + "k256", + "num_enum", + "once_cell", + "open-fastrlp", + "rand", + "rlp", + "serde", + "serde_json", + "strum 0.26.3", + "syn 2.0.77", + "tempfile", + "thiserror", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "chrono", + "ethers-core", + "ethers-solc", + "reqwest 0.11.27", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", + "tracing-futures", + "url", +] + +[[package]] +name = "ethers-providers" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.22.1", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-channel", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http 0.2.12", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror", + "tokio", + "tokio-tungstenite 0.20.1", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "ethers-signers" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand", + "sha2 0.10.8", + "thiserror", + "tracing", +] + +[[package]] +name = "ethers-solc" +version = "2.0.14" +source = "git+https://github.com/yetanotherco/ethers-rs.git?tag=v2.0.15-fix-reconnections#69bba841ff352cf27b014d4fbb7985a180d88e25" +dependencies = [ + "cfg-if", + "const-hex", + "dirs", + "dunce", + "ethers-core", + "glob", + "home", + "md-5", + "num_cpus", + "once_cell", + "path-slash", + "rayon", + "regex", + "semver 1.0.23", + "serde", + "serde_json", + "solang-parser", + "svm-rs", + "thiserror", + "tiny-keccak", + "tokio", + "tracing", + "walkdir", + "yansi", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core", + "subtle", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-locks" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "graphql-introspection-query" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" +dependencies = [ + "serde", +] + +[[package]] +name = "graphql-parser" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" +dependencies = [ + "combine", + "thiserror", +] + +[[package]] +name = "graphql_client" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50cfdc7f34b7f01909d55c2dcb71d4c13cbcbb4a1605d6c8bd760d654c1144b" +dependencies = [ + "graphql_query_derive", + "reqwest 0.11.27", + "serde", + "serde_json", +] + +[[package]] +name = "graphql_client_codegen" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e27ed0c2cf0c0cc52c6bcf3b45c907f433015e580879d14005386251842fb0a" +dependencies = [ + "graphql-introspection-query", + "graphql-parser", + "heck 0.4.1", + "lazy_static", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 1.0.109", +] + +[[package]] +name = "graphql_query_derive" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83febfa838f898cfa73dfaa7a8eb69ff3409021ac06ee94cfb3d622f6eeb1a97" +dependencies = [ + "graphql_client_codegen", + "proc-macro2", + "syn 1.0.109", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core", + "subtle", +] + +[[package]] +name = "groupmap" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "rand", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap 2.5.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hash32" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" +dependencies = [ + "byteorder", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash 0.7.8", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash 0.8.11", + "allocator-api2", + "serde", +] + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "heapless" +version = "0.7.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" +dependencies = [ + "atomic-polyfill", + "hash32", + "rustc_version 0.4.1", + "serde", + "spin 0.9.8", + "stable_deref_trait", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.30", + "rustls 0.21.12", + "tokio", + "tokio-rustls 0.24.1", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.30", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "socket2", + "tokio", + "tower 0.4.13", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "interprocess" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f4e4a06d42fab3e85ab1b419ad32b09eab58b901d40c57935ff92db3287a13" +dependencies = [ + "doctest-file", + "futures-core", + "libc", + "recvmsg", + "tokio", + "widestring", + "windows-sys 0.52.0", +] + +[[package]] +name = "ipnet" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jobserver" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.8", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "kimchi" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "ark-serialize 0.3.0", + "blake2", + "disjoint-set", + "groupmap", + "hex", + "itertools 0.10.5", + "mina-curves", + "mina-poseidon", + "num-bigint", + "num-derive", + "num-integer", + "num-traits", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "once_cell", + "poly-commitment", + "rand", + "rand_core", + "rayon", + "rmp-serde", + "serde", + "serde_with 1.14.0", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", + "turshi", +] + +[[package]] +name = "lalrpop" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" +dependencies = [ + "ascii-canvas", + "bit-set", + "ena", + "itertools 0.11.0", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", + "walkdir", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "lambdaworks-crypto" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fb5d4f22241504f7c7b8d2c3a7d7835d7c07117f10bff2a7d96a9ef6ef217c3" +dependencies = [ + "lambdaworks-math", + "serde", + "sha2 0.10.8", + "sha3", +] + +[[package]] +name = "lambdaworks-math" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "358e172628e713b80a530a59654154bfc45783a6ed70ea284839800cebdf8f97" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.158" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + +[[package]] +name = "linkme" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c943daedff228392b791b33bba32e75737756e80a613e32e246c6ce9cbab20a" +dependencies = [ + "linkme-impl", +] + +[[package]] +name = "linkme-impl" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb26336e6dc7cc76e7927d2c9e7e3bb376d7af65a6f56a0b16c47d18a9b1abc5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "lru" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "md5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mina-curves" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", +] + +[[package]] +name = "mina-hasher" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ff 0.3.0", + "bitvec", + "mina-curves", + "mina-poseidon", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "serde", +] + +[[package]] +name = "mina-p2p-messages" +version = "0.6.4" +source = "git+https://github.com/lambdaclass/openmina/?branch=mina_bridge#fb6768dffc184e10d47f1082e800e79b8a5b68a4" +dependencies = [ + "ark-ff 0.3.0", + "base64 0.13.1", + "binprot", + "binprot_derive", + "blake2", + "bs58 0.4.0", + "derive_more 0.99.18", + "hex", + "mina-curves", + "mina-hasher", + "mina-poseidon", + "mina-signer", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "rsexp", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "time", +] + +[[package]] +name = "mina-poseidon" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "mina-curves", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "once_cell", + "rand", + "rayon", + "serde", + "serde_with 1.14.0", +] + +[[package]] +name = "mina-signer" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "bitvec", + "blake2", + "bs58 0.4.0", + "hex", + "mina-curves", + "mina-hasher", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "rand", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "mina-tree" +version = "0.6.0" +source = "git+https://github.com/lambdaclass/openmina/?branch=mina_bridge#fb6768dffc184e10d47f1082e800e79b8a5b68a4" +dependencies = [ + "anyhow", + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "ark-serialize 0.3.0", + "backtrace", + "base64 0.13.1", + "bitvec", + "blake2", + "bs58 0.4.0", + "chrono", + "crc32fast", + "derive_more 0.99.18", + "getrandom", + "hex", + "itertools 0.10.5", + "kimchi", + "lazy_static", + "libc", + "mina-curves", + "mina-hasher", + "mina-p2p-messages", + "mina-poseidon", + "mina-signer", + "num-bigint", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "once_cell", + "openmina-core", + "poly-commitment", + "postcard", + "rand", + "rand_pcg", + "rand_seeder", + "rayon", + "serde", + "serde_json", + "serde_with 3.9.0", + "sha2 0.10.8", + "static_assertions", + "thiserror", + "tuple-map", + "uuid 1.10.0", + "wasm-bindgen", + "wasm_thread", +] + +[[package]] +name = "mina_bridge_core" +version = "0.1.0" +dependencies = [ + "aligned-sdk", + "alloy", + "alloy-contract", + "alloy-sol-types", + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "ark-serialize 0.3.0", + "base64 0.22.1", + "bincode", + "clap", + "dotenv", + "env_logger", + "ethers", + "ethers-signers", + "futures", + "graphql_client", + "hex", + "kimchi", + "log", + "mina-curves", + "mina-p2p-messages", + "mina-signer", + "mina-tree", + "num-bigint", + "num-traits", + "o1-utils 0.1.0 (git+https://github.com/lambdaclass/proof-systems?branch=add-verifier-serializations)", + "poly-commitment", + "reqwest 0.11.27", + "rmp-serde", + "rpassword", + "serde", + "serde_json", + "serde_with 3.9.0", + "sha3", + "tokio", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +dependencies = [ + "hermit-abi", + "libc", + "wasi", + "windows-sys 0.52.0", +] + +[[package]] +name = "multihash" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfd8a792c1694c6da4f68db0a9d707c72bd260994da179e6030a5dcee00bb815" +dependencies = [ + "blake2b_simd", + "blake2s_simd", + "blake3", + "core2", + "digest 0.10.7", + "multihash-derive", + "sha2 0.10.8", + "sha3", + "unsigned-varint", +] + +[[package]] +name = "multihash-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" +dependencies = [ + "proc-macro-crate 1.1.3", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", + "synstructure", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", + "rand", + "serde", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "o1-utils" +version = "0.1.0" +source = "git+https://github.com/lambdaclass/proof-systems?branch=add-verifier-serializations#5bdeab3c2a43a671645952f63b9354b7a20b2326" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "ark-serialize 0.3.0", + "bcs", + "hex", + "num-bigint", + "num-integer", + "num-traits", + "rand", + "rand_core", + "rayon", + "serde", + "serde_with 3.9.0", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "o1-utils" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "ark-serialize 0.3.0", + "bcs", + "hex", + "num-bigint", + "num-integer", + "num-traits", + "rand", + "rand_core", + "rayon", + "serde", + "serde_with 1.14.0", + "sha2 0.10.8", + "thiserror", +] + +[[package]] +name = "object" +version = "0.36.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "openmina-core" +version = "0.6.0" +source = "git+https://github.com/lambdaclass/openmina/?branch=mina_bridge#fb6768dffc184e10d47f1082e800e79b8a5b68a4" +dependencies = [ + "ark-ff 0.3.0", + "binprot", + "binprot_derive", + "hex", + "lazy_static", + "md5", + "mina-hasher", + "mina-p2p-messages", + "multihash", + "openmina-macros", + "redux", + "serde", + "sha2 0.10.8", + "slab", + "time", + "tokio", + "tracing", +] + +[[package]] +name = "openmina-macros" +version = "0.6.0" +source = "git+https://github.com/lambdaclass/openmina/?branch=mina_bridge#fb6768dffc184e10d47f1082e800e79b8a5b68a4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "parity-scale-codec" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.10", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.4", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "path-slash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.7", + "hmac", + "password-hash", + "sha2 0.10.8", +] + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap 2.5.0", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.1", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "poly-commitment" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ec", + "ark-ff 0.3.0", + "ark-poly", + "ark-serialize 0.3.0", + "blake2", + "groupmap", + "itertools 0.10.5", + "mina-curves", + "mina-poseidon", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", + "once_cell", + "rand", + "rand_core", + "rayon", + "serde", + "serde_with 1.14.0", + "thiserror", +] + +[[package]] +name = "postcard" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "heapless", + "serde", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +dependencies = [ + "proc-macro2", + "syn 2.0.77", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" +dependencies = [ + "thiserror", + "toml 0.5.11", +] + +[[package]] +name = "proc-macro-crate" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" +dependencies = [ + "bit-set", + "bit-vec", + "bitflags 2.6.0", + "lazy_static", + "num-traits", + "rand", + "rand_chacha", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_pcg" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_seeder" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf2890aaef0aa82719a50e808de264f9484b74b442e1a3a0e5ee38243ac40bdb" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "recvmsg" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "redux" +version = "0.1.0" +source = "git+https://github.com/openmina/redux-rs.git?rev=2d1d8db#2d1d8dbd7239c0aec91db8f11126b90068dc848b" +dependencies = [ + "enum_dispatch", + "linkme", + "paste", + "serde", + "wasm-timer", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-rustls", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls 0.21.12", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.24.1", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots 0.25.4", + "winreg", +] + +[[package]] +name = "reqwest" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-tls 0.6.0", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.1.3", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-registry", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rmp" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +dependencies = [ + "byteorder", + "num-traits", + "paste", +] + +[[package]] +name = "rmp-serde" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +dependencies = [ + "byteorder", + "rmp", + "serde", +] + +[[package]] +name = "rpassword" +version = "7.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" +dependencies = [ + "libc", + "rtoolbox", + "windows-sys 0.48.0", +] + +[[package]] +name = "rsexp" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3df9a9b6491d42c0fc527e92a87525c17e45c6b9c22345702a6dc0400320bf1" + +[[package]] +name = "rtoolbox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ruint" +version = "1.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver 1.0.23", +] + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-webpki 0.101.7", + "sct", +] + +[[package]] +name = "rustls" +version = "0.23.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +dependencies = [ + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.8", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scale-info" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +dependencies = [ + "cfg-if", + "derive_more 0.99.18", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +dependencies = [ + "proc-macro-crate 3.2.0", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "schannel" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac", + "pbkdf2 0.11.0", + "salsa20", + "sha2 0.10.8", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "serde_json" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "serde_spanned" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" +dependencies = [ + "serde", + "serde_with_macros 1.5.2", +] + +[[package]] +name = "serde_with" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.5.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros 3.9.0", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +dependencies = [ + "darling 0.13.4", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "serde_with_macros" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core", +] + +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", + "serde", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "solang-parser" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +dependencies = [ + "itertools 0.11.0", + "lalrpop", + "lalrpop-util", + "phf", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot 0.12.3", + "phf_shared 0.10.0", + "precomputed-hash", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros 0.26.4", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.77", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "svm-rs" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest 0.11.27", + "semver 1.0.23", + "serde", + "serde_json", + "sha2 0.10.8", + "thiserror", + "url", + "zip", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b95156f8b577cb59dc0b1df15c6f29a10afc5f8a7ac9786b0b5c68c19149278" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "unicode-xid", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "thiserror" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls 0.21.12", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls 0.23.13", + "rustls-pki-types", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls 0.21.12", + "tokio", + "tokio-rustls 0.24.1", + "tungstenite 0.20.1", + "webpki-roots 0.25.4", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +dependencies = [ + "futures-util", + "log", + "native-tls", + "rustls 0.23.13", + "rustls-pki-types", + "tokio", + "tokio-native-tls", + "tokio-rustls 0.26.0", + "tungstenite 0.23.0", + "webpki-roots 0.26.5", +] + +[[package]] +name = "tokio-util" +version = "0.7.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf" +dependencies = [ + "indexmap 2.5.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", + "log", + "rand", + "rustls 0.21.12", + "sha1", + "thiserror", + "url", + "utf-8", +] + +[[package]] +name = "tungstenite" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "native-tls", + "rand", + "rustls 0.23.13", + "rustls-pki-types", + "sha1", + "thiserror", + "utf-8", +] + +[[package]] +name = "tuple-map" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d5919d7121237af683b7fa982450597b1eaa2643e597aec3b519e4e5ab3d62" + +[[package]] +name = "turshi" +version = "0.1.0" +source = "git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf#44e0d3b98b8747de54e595f53d97c035ff43167c" +dependencies = [ + "ark-ff 0.3.0", + "hex", + "o1-utils 0.1.0 (git+https://github.com/openmina/proof-systems?branch=ledger-newtypes-rampup4-vrf)", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-xid" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" + +[[package]] +name = "unreachable" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" +dependencies = [ + "void", +] + +[[package]] +name = "unsigned-varint" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", + "serde", +] + +[[package]] +name = "uuid" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +dependencies = [ + "getrandom", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.77", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" + +[[package]] +name = "wasm-timer" +version = "0.2.5" +source = "git+https://github.com/fusetim/wasm-timer?branch=tim-add-missing-methods#39e1c2818944f804d68d64dae0d5639d22b0e59e" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.11.2", + "pin-utils", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasm_thread" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a52fc987e67957cab58160d1ea273a2886972ef6f59c7fa0c02e9fe2c8e11706" +dependencies = [ + "async-channel", + "futures", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "widestring" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "winnow" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.1", + "send_wrapper 0.6.0", + "thiserror", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq 0.1.5", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2 0.11.0", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.13+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/example/app/Cargo.toml b/example/app/Cargo.toml index 211d3b2a..28fb6b58 100644 --- a/example/app/Cargo.toml +++ b/example/app/Cargo.toml @@ -4,3 +4,13 @@ version = "0.1.0" edition = "2021" [dependencies] +env_logger = "0.11.5" +log = "0.4.22" +mina_bridge_core = { path = "../../core/" } +tokio = "1.40.0" + +[patch.crates-io] +ark-ff = { git = "https://github.com/openmina/algebra", branch = "openmina" } +ark-ec = { git = "https://github.com/openmina/algebra", branch = "openmina" } +ark-poly = { git = "https://github.com/openmina/algebra", branch = "openmina" } +ark-serialize = { git = "https://github.com/openmina/algebra", branch = "openmina" } diff --git a/example/app/src/main.rs b/example/app/src/main.rs index e7a11a96..7b47b299 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -1,3 +1,87 @@ -fn main() { - println!("Hello, world!"); +use log::{error, info}; +use mina_bridge_core::{ + sdk::{is_state_verified, validate_account, verify_state}, + utils::{env::EnvironmentVariables, wallet::get_wallet}, +}; +use std::process; + +const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; + +#[tokio::main] +async fn main() { + let mut args = std::env::args().collect::>(); + + // state that includes the zkApp update transaction + let state_hash = if args.is_empty() { + error!("Missing state hash argument"); + process::exit(1); + } else { + args.remove(0) + }; + + env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init(); + + let EnvironmentVariables { + rpc_url, + chain, + batcher_addr, + batcher_eth_addr, + eth_rpc_url, + proof_generator_addr, + keystore_path, + private_key, + } = EnvironmentVariables::new().unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + + let wallet = get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + + let is_state_verified = is_state_verified(&state_hash, &chain, ð_rpc_url) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + + if !is_state_verified { + info!("State that includes the zkApp tx isn't verified. Bridging latest chain..."); + verify_state( + &rpc_url, + &chain, + &batcher_addr, + &batcher_eth_addr, + ð_rpc_url, + &proof_generator_addr, + wallet.clone(), + false, + ) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + } + + validate_account( + MINA_ZKAPP_ADDRESS, + &state_hash, + &rpc_url, + &chain, + &batcher_addr, + &batcher_eth_addr, + ð_rpc_url, + &proof_generator_addr, + wallet, + false, + ) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); } From d111d6ab4add678116e82c6747a366dd7fe06985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Thu, 19 Sep 2024 12:42:39 -0300 Subject: [PATCH 20/48] Change zkapp address to constant --- example/mina_contract/src/run.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/example/mina_contract/src/run.ts b/example/mina_contract/src/run.ts index 80b42e65..8000fce2 100644 --- a/example/mina_contract/src/run.ts +++ b/example/mina_contract/src/run.ts @@ -12,10 +12,11 @@ import { setTimeout } from "timers/promises"; import fs from 'fs/promises'; import { Sudoku, SudokuZkApp } from './sudoku.js'; -import { cloneSudoku, generateSudoku, solveSudoku } from './sudoku-lib.js'; -import { AccountUpdate, Mina, PrivateKey, PublicKey, NetworkId, fetchAccount } from 'o1js'; +import { generateSudoku, solveSudoku } from './sudoku-lib.js'; +import { Mina, PrivateKey, PublicKey, NetworkId, fetchAccount } from 'o1js'; const deployAlias = "devnet"; +const ZKAPP_ADDRESS = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; // parse config and private key from file type Config = { @@ -38,7 +39,7 @@ let feepayerKeysBase58: { privateKey: string; publicKey: string } = JSON.parse( ); let feepayerKey = PrivateKey.fromBase58(feepayerKeysBase58.privateKey); let feepayerAddress = feepayerKey.toPublicKey(); -let zkAppAddress = PublicKey.fromBase58("B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"); +let zkAppAddress = PublicKey.fromBase58(ZKAPP_ADDRESS); // define network (devnet) const Network = Mina.Network({ From 74ba553731b3c4a279270c46cd72843d7f5c7348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Thu, 19 Sep 2024 15:40:05 -0300 Subject: [PATCH 21/48] Updated rust app --- core/src/sdk.rs | 16 ++++++++++- example/app/src/main.rs | 64 ++++++++++++++++++++++------------------- 2 files changed, 50 insertions(+), 30 deletions(-) diff --git a/core/src/sdk.rs b/core/src/sdk.rs index 1acc545b..1f427a79 100644 --- a/core/src/sdk.rs +++ b/core/src/sdk.rs @@ -23,7 +23,16 @@ pub async fn is_state_verified( Ok(chain_state_hashes.contains(&hash)) } -pub async fn verify_state( +pub async fn get_bridged_chain_tip_state_hash( + chain: &Chain, + eth_rpc_url: &str, +) -> Result { + get_bridge_chain_state_hashes(chain, eth_rpc_url) + .await + .map(|hashes| hashes.last().unwrap().to_string()) +} + +pub async fn update_bridge_chain( rpc_url: &str, chain: &Chain, batcher_addr: &str, @@ -35,6 +44,11 @@ pub async fn verify_state( ) -> Result<(), String> { let (proof, pub_input) = get_mina_proof_of_state(&rpc_url, &chain, ð_rpc_url).await?; + let candidate_root_state_hash = pub_input.candidate_chain_state_hashes.first().unwrap(); + if is_state_verified(&candidate_root_state_hash.to_string(), chain, eth_rpc_url).await? { + return Err("Latest chain is already verified".to_string()); + } + let verification_data = submit( MinaProof::State((proof, pub_input.clone())), chain, diff --git a/example/app/src/main.rs b/example/app/src/main.rs index 7b47b299..735e540a 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -1,6 +1,6 @@ use log::{error, info}; use mina_bridge_core::{ - sdk::{is_state_verified, validate_account, verify_state}, + sdk::{get_bridged_chain_tip_state_hash, update_bridge_chain, validate_account}, utils::{env::EnvironmentVariables, wallet::get_wallet}, }; use std::process; @@ -9,16 +9,6 @@ const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZX #[tokio::main] async fn main() { - let mut args = std::env::args().collect::>(); - - // state that includes the zkApp update transaction - let state_hash = if args.is_empty() { - error!("Missing state hash argument"); - process::exit(1); - } else { - args.remove(0) - }; - env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init(); let EnvironmentVariables { @@ -41,35 +31,51 @@ async fn main() { process::exit(1); }); - let is_state_verified = is_state_verified(&state_hash, &chain, ð_rpc_url) - .await - .unwrap_or_else(|err| { + // 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) + // .await + // .unwrap_or_else(|err| { + // error!("{}", err); + // process::exit(1); + // }); + + // if !is_state_verified { + // info!("State that includes the zkApp tx isn't verified. Bridging latest chain..."); + let state_verification_result = update_bridge_chain( + &rpc_url, + &chain, + &batcher_addr, + &batcher_eth_addr, + ð_rpc_url, + &proof_generator_addr, + wallet.clone(), + false, + ) + .await; + + match state_verification_result { + Err(err) if err == "Latest chain is already verified" => { + info!("Bridge chain is up to date, won't verify new states.") + } + Err(err) => { error!("{}", err); process::exit(1); - }); + } + _ => {} + } + // } - if !is_state_verified { - info!("State that includes the zkApp tx isn't verified. Bridging latest chain..."); - verify_state( - &rpc_url, - &chain, - &batcher_addr, - &batcher_eth_addr, - ð_rpc_url, - &proof_generator_addr, - wallet.clone(), - false, - ) + let tip_state_hash = get_bridged_chain_tip_state_hash(&chain, ð_rpc_url) .await .unwrap_or_else(|err| { error!("{}", err); process::exit(1); }); - } validate_account( MINA_ZKAPP_ADDRESS, - &state_hash, + &tip_state_hash, &rpc_url, &chain, &batcher_addr, From 4569fd9fcda413647e417cf4f09dbca534e24ba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Thu, 19 Sep 2024 16:52:26 -0300 Subject: [PATCH 22/48] Rename mina_contract to mina_zkapp --- example/{mina_contract => mina_zkapp}/.eslintrc.cjs | 0 example/{mina_contract => mina_zkapp}/.gitattributes | 0 example/{mina_contract => mina_zkapp}/.github/workflows/ci.yml | 0 example/{mina_contract => mina_zkapp}/.gitignore | 0 example/{mina_contract => mina_zkapp}/.npmignore | 0 example/{mina_contract => mina_zkapp}/.prettierignore | 0 example/{mina_contract => mina_zkapp}/.prettierrc | 0 example/{mina_contract => mina_zkapp}/LICENSE | 0 example/{mina_contract => mina_zkapp}/README.md | 0 example/{mina_contract => mina_zkapp}/babel.config.cjs | 0 example/{mina_contract => mina_zkapp}/config.json | 0 example/{mina_contract => mina_zkapp}/jest-resolver.cjs | 0 example/{mina_contract => mina_zkapp}/jest.config.js | 0 example/{mina_contract => mina_zkapp}/package-lock.json | 0 example/{mina_contract => mina_zkapp}/package.json | 0 example/{mina_contract => mina_zkapp}/src/index.ts | 0 example/{mina_contract => mina_zkapp}/src/run.ts | 0 example/{mina_contract => mina_zkapp}/src/sudoku-lib.js | 0 example/{mina_contract => mina_zkapp}/src/sudoku.test.ts | 0 example/{mina_contract => mina_zkapp}/src/sudoku.ts | 0 example/{mina_contract => mina_zkapp}/tsconfig.json | 0 21 files changed, 0 insertions(+), 0 deletions(-) rename example/{mina_contract => mina_zkapp}/.eslintrc.cjs (100%) rename example/{mina_contract => mina_zkapp}/.gitattributes (100%) rename example/{mina_contract => mina_zkapp}/.github/workflows/ci.yml (100%) rename example/{mina_contract => mina_zkapp}/.gitignore (100%) rename example/{mina_contract => mina_zkapp}/.npmignore (100%) rename example/{mina_contract => mina_zkapp}/.prettierignore (100%) rename example/{mina_contract => mina_zkapp}/.prettierrc (100%) rename example/{mina_contract => mina_zkapp}/LICENSE (100%) rename example/{mina_contract => mina_zkapp}/README.md (100%) rename example/{mina_contract => mina_zkapp}/babel.config.cjs (100%) rename example/{mina_contract => mina_zkapp}/config.json (100%) rename example/{mina_contract => mina_zkapp}/jest-resolver.cjs (100%) rename example/{mina_contract => mina_zkapp}/jest.config.js (100%) rename example/{mina_contract => mina_zkapp}/package-lock.json (100%) rename example/{mina_contract => mina_zkapp}/package.json (100%) rename example/{mina_contract => mina_zkapp}/src/index.ts (100%) rename example/{mina_contract => mina_zkapp}/src/run.ts (100%) rename example/{mina_contract => mina_zkapp}/src/sudoku-lib.js (100%) rename example/{mina_contract => mina_zkapp}/src/sudoku.test.ts (100%) rename example/{mina_contract => mina_zkapp}/src/sudoku.ts (100%) rename example/{mina_contract => mina_zkapp}/tsconfig.json (100%) diff --git a/example/mina_contract/.eslintrc.cjs b/example/mina_zkapp/.eslintrc.cjs similarity index 100% rename from example/mina_contract/.eslintrc.cjs rename to example/mina_zkapp/.eslintrc.cjs diff --git a/example/mina_contract/.gitattributes b/example/mina_zkapp/.gitattributes similarity index 100% rename from example/mina_contract/.gitattributes rename to example/mina_zkapp/.gitattributes diff --git a/example/mina_contract/.github/workflows/ci.yml b/example/mina_zkapp/.github/workflows/ci.yml similarity index 100% rename from example/mina_contract/.github/workflows/ci.yml rename to example/mina_zkapp/.github/workflows/ci.yml diff --git a/example/mina_contract/.gitignore b/example/mina_zkapp/.gitignore similarity index 100% rename from example/mina_contract/.gitignore rename to example/mina_zkapp/.gitignore diff --git a/example/mina_contract/.npmignore b/example/mina_zkapp/.npmignore similarity index 100% rename from example/mina_contract/.npmignore rename to example/mina_zkapp/.npmignore diff --git a/example/mina_contract/.prettierignore b/example/mina_zkapp/.prettierignore similarity index 100% rename from example/mina_contract/.prettierignore rename to example/mina_zkapp/.prettierignore diff --git a/example/mina_contract/.prettierrc b/example/mina_zkapp/.prettierrc similarity index 100% rename from example/mina_contract/.prettierrc rename to example/mina_zkapp/.prettierrc diff --git a/example/mina_contract/LICENSE b/example/mina_zkapp/LICENSE similarity index 100% rename from example/mina_contract/LICENSE rename to example/mina_zkapp/LICENSE diff --git a/example/mina_contract/README.md b/example/mina_zkapp/README.md similarity index 100% rename from example/mina_contract/README.md rename to example/mina_zkapp/README.md diff --git a/example/mina_contract/babel.config.cjs b/example/mina_zkapp/babel.config.cjs similarity index 100% rename from example/mina_contract/babel.config.cjs rename to example/mina_zkapp/babel.config.cjs diff --git a/example/mina_contract/config.json b/example/mina_zkapp/config.json similarity index 100% rename from example/mina_contract/config.json rename to example/mina_zkapp/config.json diff --git a/example/mina_contract/jest-resolver.cjs b/example/mina_zkapp/jest-resolver.cjs similarity index 100% rename from example/mina_contract/jest-resolver.cjs rename to example/mina_zkapp/jest-resolver.cjs diff --git a/example/mina_contract/jest.config.js b/example/mina_zkapp/jest.config.js similarity index 100% rename from example/mina_contract/jest.config.js rename to example/mina_zkapp/jest.config.js diff --git a/example/mina_contract/package-lock.json b/example/mina_zkapp/package-lock.json similarity index 100% rename from example/mina_contract/package-lock.json rename to example/mina_zkapp/package-lock.json diff --git a/example/mina_contract/package.json b/example/mina_zkapp/package.json similarity index 100% rename from example/mina_contract/package.json rename to example/mina_zkapp/package.json diff --git a/example/mina_contract/src/index.ts b/example/mina_zkapp/src/index.ts similarity index 100% rename from example/mina_contract/src/index.ts rename to example/mina_zkapp/src/index.ts diff --git a/example/mina_contract/src/run.ts b/example/mina_zkapp/src/run.ts similarity index 100% rename from example/mina_contract/src/run.ts rename to example/mina_zkapp/src/run.ts diff --git a/example/mina_contract/src/sudoku-lib.js b/example/mina_zkapp/src/sudoku-lib.js similarity index 100% rename from example/mina_contract/src/sudoku-lib.js rename to example/mina_zkapp/src/sudoku-lib.js diff --git a/example/mina_contract/src/sudoku.test.ts b/example/mina_zkapp/src/sudoku.test.ts similarity index 100% rename from example/mina_contract/src/sudoku.test.ts rename to example/mina_zkapp/src/sudoku.test.ts diff --git a/example/mina_contract/src/sudoku.ts b/example/mina_zkapp/src/sudoku.ts similarity index 100% rename from example/mina_contract/src/sudoku.ts rename to example/mina_zkapp/src/sudoku.ts diff --git a/example/mina_contract/tsconfig.json b/example/mina_zkapp/tsconfig.json similarity index 100% rename from example/mina_contract/tsconfig.json rename to example/mina_zkapp/tsconfig.json From be56c385b602e581ebfa2b7a757cdd6d5e5310ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Thu, 19 Sep 2024 17:44:43 -0300 Subject: [PATCH 23/48] Completed sudoku eth contract --- contract/src/MinaAccountValidation.sol | 33 +++++--------- contract/src/MinaBridge.sol | 22 +++++++++- example/eth_contract/src/Sudoku.sol | 61 +++++++++++++++++++++++--- 3 files changed, 86 insertions(+), 30 deletions(-) diff --git a/contract/src/MinaAccountValidation.sol b/contract/src/MinaAccountValidation.sol index 75f54e40..d1acc6e8 100644 --- a/contract/src/MinaAccountValidation.sol +++ b/contract/src/MinaAccountValidation.sol @@ -3,8 +3,6 @@ pragma solidity ^0.8.12; import "aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol"; -error AccountIsNotVerified(); - contract MinaAccountValidation { /// @notice Reference to the AlignedLayerServiceManager contract. AlignedLayerServiceManager aligned; @@ -21,27 +19,20 @@ contract MinaAccountValidation { bytes memory merkleProof, uint256 verificationDataBatchIndex, bytes calldata pubInput - ) external view returns (Account memory) { - bytes calldata encodedAccount = pubInput[32 + 8:]; - + ) external view returns (bool) { bytes32 pubInputCommitment = keccak256(pubInput); - bool isAccountVerified = aligned.verifyBatchInclusion( - proofCommitment, - pubInputCommitment, - provingSystemAuxDataCommitment, - proofGeneratorAddr, - batchMerkleRoot, - merkleProof, - verificationDataBatchIndex, - address(0) - ); - - if (isAccountVerified) { - return abi.decode(encodedAccount, (Account)); - } else { - revert AccountIsNotVerified(); - } + return + aligned.verifyBatchInclusion( + proofCommitment, + pubInputCommitment, + provingSystemAuxDataCommitment, + proofGeneratorAddr, + batchMerkleRoot, + merkleProof, + verificationDataBatchIndex, + address(0) + ); } struct Account { diff --git a/contract/src/MinaBridge.sol b/contract/src/MinaBridge.sol index 14029cdf..309180a4 100644 --- a/contract/src/MinaBridge.sol +++ b/contract/src/MinaBridge.sol @@ -39,15 +39,33 @@ contract MinaBridge { } /// @notice Returns the latest verified chain state hashes. - function getChainStateHashes() external view returns (bytes32[BRIDGE_TRANSITION_FRONTIER_LEN] memory) { + function getChainStateHashes() + external + view + returns (bytes32[BRIDGE_TRANSITION_FRONTIER_LEN] memory) + { return chainStateHashes; } /// @notice Returns the latest verified chain ledger hashes. - function getChainLedgerHashes() external view returns (bytes32[BRIDGE_TRANSITION_FRONTIER_LEN] memory) { + function getChainLedgerHashes() + external + view + returns (bytes32[BRIDGE_TRANSITION_FRONTIER_LEN] memory) + { return chainLedgerHashes; } + /// @notice Returns true if this snarked ledger hash was bridged. + function isLedgerVerified(bytes32 ledgerHash) external view returns (bool) { + for (uint256 i = BRIDGE_TRANSITION_FRONTIER_LEN - 1; i >= 0; i++) { + if (chainLedgerHashes[i] == ledgerHash) { + return true; + } + } + return false; + } + function updateChain( bytes32 proofCommitment, bytes32 provingSystemAuxDataCommitment, diff --git a/example/eth_contract/src/Sudoku.sol b/example/eth_contract/src/Sudoku.sol index 3b15422e..2b6b8385 100644 --- a/example/eth_contract/src/Sudoku.sol +++ b/example/eth_contract/src/Sudoku.sol @@ -5,6 +5,11 @@ import "mina_bridge/contract/src/MinaBridge.sol"; import "mina_bridge/contract/src/MinaAccountValidation.sol"; contract Sudoku { + error InvalidZkappAccount(); + error InvalidLedger(bytes32 ledgerHash); + error IncorrectZkappAccount(uint256 verificationKeyHash); + error UnsolvedSudoku(); + /// @notice The Sudoku zkApp verification key hash. uint256 public constant ZKAPP_VERIFICATION_KEY_HASH = 19387792026269240922986233885372582803610254872042773421723960761233199555267; @@ -14,6 +19,8 @@ contract Sudoku { /// @notice Mina bridge contract that validates accounts MinaAccountValidation accountValidation; + /// @notice Latest timestamp (Unix time) at which the contract determined that a + // Sudoku was solved in the Mina ZkApp. uint64 latestSolutionValidationAt = 0; constructor(address _stateSettlementAddr, address _accountValidationAddr) { @@ -23,12 +30,52 @@ contract Sudoku { /// @notice Validates a Sudoku solution by bridging from Mina, and stores /// the last Unix time it was solved at. - function validateSolution() external { - // 1. take the zkApp account of Sudoku. - // 2. take a relatively finalized state's ledger hash from - // the stateSettlement contract. - // 3. verify the account for ledger hash (this involves calling the bridge core) - // 4. if the account is valid, extract the zkApp state it - // 5. if the isSolved bool is true, latestSolutionValidationAt = block.timestamp + function validateSolution( + bytes32 proofCommitment, + bytes32 provingSystemAuxDataCommitment, + bytes20 proofGeneratorAddr, + bytes32 batchMerkleRoot, + bytes memory merkleProof, + uint256 verificationDataBatchIndex, + bytes calldata pubInput + ) external { + bytes32 ledgerHash = bytes32(pubInput[8:8 + 32]); + if (!stateSettlement.isLedgerVerified()) { + revert InvalidLedger(ledgerHash); + } + + bytes32 pubInputCommitment = keccak256(pubInput); + + if ( + !accountValidation.validateAccount( + proofCommitment, + provingSystemAuxDataCommitment, + proofGeneratorAddr, + batchMerkleRoot, + merkleProof, + verificationDataBatchIndex, + pubInput + ) + ) { + revert InvalidZkappAccount(); + } + + bytes calldata encodedAccount = pubInput[32 + 8:]; + MinaAccountValidation.Account memory account = abi.decode( + encodedAccount, + (MinaAccountValidation.Account) + ); + + // TODO(xqft): check verification key, it may be a poseidon hash so we should + // need to change it to a keccak hash. + // if (account.verificationKeyKash != ZKAPP_VERIFICATION_KEY_HASH) { + // revert IncorrectZkappAccount(account.verificationKeyHash); + // } + + if (account.zkapp.appState[1] == 0) { + latestSolutionValidationAt = block.timestamp; + } else { + revert UnsolvedSudoku(); + } } } From f838916ea5571177df73743e58fbdf16ef390c6a Mon Sep 17 00:00:00 2001 From: gabrielbosio Date: Thu, 19 Sep 2024 19:03:45 -0300 Subject: [PATCH 24/48] [WIP] Update Aligned to 0.7.0 We must wait until Aligned uploads the release for 0.7.0. Once it's uploaded we need to add a batcher payment service arg to the `updateChain` call in the Aligned polling service. --- contract/lib/aligned_layer | 2 +- contract/src/MinaBridge.sol | 9 +++++---- contract_deployer/Cargo.lock | 10 +++++----- contract_deployer/Cargo.toml | 2 +- core/Cargo.lock | 10 +++++----- core/Cargo.toml | 2 +- core/abi/MinaAccountValidation.json | 2 +- core/abi/MinaBridge.json | 2 +- core/src/aligned_polling_service.rs | 4 ++++ 9 files changed, 24 insertions(+), 19 deletions(-) diff --git a/contract/lib/aligned_layer b/contract/lib/aligned_layer index 7a2b5556..73fb1ad2 160000 --- a/contract/lib/aligned_layer +++ b/contract/lib/aligned_layer @@ -1 +1 @@ -Subproject commit 7a2b55567656308606fba20db3cef69dcd433926 +Subproject commit 73fb1ad290f8855fb7b9b86360c65396f5f5ec31 diff --git a/contract/src/MinaBridge.sol b/contract/src/MinaBridge.sol index 14029cdf..a9025a4c 100644 --- a/contract/src/MinaBridge.sol +++ b/contract/src/MinaBridge.sol @@ -3,8 +3,8 @@ pragma solidity ^0.8.12; import "aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol"; -error NewStateIsNotValid(); -error TipStateIsWrong(bytes32 pubInputTipStateHash, bytes32 tipStatehash); +error NewStateIsNotValid(); // 114602f0 +error TipStateIsWrong(bytes32 pubInputTipStateHash, bytes32 tipStatehash); // bbd80128 error AccountIsNotValid(bytes32 accountIdHash); /// @title Mina to Ethereum Bridge's smart contract. @@ -55,7 +55,8 @@ contract MinaBridge { bytes32 batchMerkleRoot, bytes memory merkleProof, uint256 verificationDataBatchIndex, - bytes memory pubInput + bytes memory pubInput, + address batcherPaymentService ) external { bytes32 pubInputBridgeTipStateHash; assembly { @@ -76,7 +77,7 @@ contract MinaBridge { batchMerkleRoot, merkleProof, verificationDataBatchIndex, - address(0) + batcherPaymentService ); if (isNewStateVerified) { diff --git a/contract_deployer/Cargo.lock b/contract_deployer/Cargo.lock index ee453281..38fbfb4c 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=mina#7a2b55567656308606fba20db3cef69dcd433926" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7#73fb1ad290f8855fb7b9b86360c65396f5f5ec31" dependencies = [ "ciborium", "ethers", @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68b94c159bcc2ca5f758b8663d7b00fc7c5e40569984595ddf2221b0f7f7f6e" +checksum = "abf770dad29577cd3580f3dd09005799224a912b8cdfdd6dc04d030d42b3df4e" dependencies = [ "num_enum", "strum 0.26.3", @@ -6079,9 +6079,9 @@ dependencies = [ [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unreachable" diff --git a/contract_deployer/Cargo.toml b/contract_deployer/Cargo.toml index c3936919..2a735447 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 = "mina" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7" } 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/core/Cargo.lock b/core/Cargo.lock index 2809311a..519013cf 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=mina#7a2b55567656308606fba20db3cef69dcd433926" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7#73fb1ad290f8855fb7b9b86360c65396f5f5ec31" dependencies = [ "ciborium", "ethers", @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68b94c159bcc2ca5f758b8663d7b00fc7c5e40569984595ddf2221b0f7f7f6e" +checksum = "abf770dad29577cd3580f3dd09005799224a912b8cdfdd6dc04d030d42b3df4e" dependencies = [ "num_enum", "strum 0.26.3", @@ -6060,9 +6060,9 @@ dependencies = [ [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unreachable" diff --git a/core/Cargo.toml b/core/Cargo.toml index c10d7ec1..e861c5ed 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 = "mina" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7" } ethers = { tag = "v2.0.15-fix-reconnections", features = [ "ws", "rustls", diff --git a/core/abi/MinaAccountValidation.json b/core/abi/MinaAccountValidation.json index 08c45984..f694aee5 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":"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"}],"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516113e23803806113e283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61134f806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a2d565b60405180910390f35b610061610167565b3660006100718460288188610b5f565b9150915060008585604051610087929190610b89565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b99565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c11565b9050801561014257610137838501856111f9565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b818111156106c5576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60058110610700576107006106da565b9052565b61070f8282516106f0565b602081015161072160208401826106f0565b50604081015161073460408401826106f0565b50606081015161074760608401826106f0565b50608081015161075a60808401826106f0565b5060a081015161076d60a08401826106f0565b5060c081015161078060c08401826106f0565b5060e081015161079860e084018263ffffffff169052565b50610100808201516107ac828501826106f0565b5050610120808201516107c1828501826106f0565b5050610140808201516107d6828501826106f0565b5050610160808201516107eb828501826106f0565b505061018080820151610800828501826106f0565b50506101a080820151610815828501826106f0565b50505050565b60038110610700576107006106da565b8060005b600f8110156108155761084d84835180518252602090810151910152565b604093909301926020919091019060010161082f565b61086e82825161081b565b6020808201516108808285018261081b565b50604082810151805160008684015b60078210156108bf576108ad81845180518252602090810151910152565b9185019160019190910190840161088f565b50505091820151916108d561020086018461082b565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b6005811015610815578151845260209384019390910190600101610967565b80516000906109609084835b60088110156109b1578251825260209283019290910190600101610992565b50505060208301516109c7610100860182610863565b50604083015163ffffffff1661084085015260608301516109ec610860860182610963565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a248286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a6b6103e085018361068d565b91506060850151610a8760a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610ac481870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b39610200880184610704565b870151868503601f1901848801529150610b5590508382610986565b9695505050505050565b60008085851115610b6f57600080fd5b83861115610b7c57600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bda8184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0e57600080fd5b50565b600060208284031215610c2357600080fd5b8151610c2e81610c00565b9392505050565b8035610c4081610c00565b919050565b600060408284031215610c5757600080fd5b610c5f61044b565b9050813581526020820135610c7381610c00565b602082015292915050565b80356001600160401b0381168114610c4057600080fd5b803563ffffffff81168114610c4057600080fd5b600060a08284031215610cbb57600080fd5b60405160a081018181106001600160401b0382111715610cdd57610cdd610435565b604052905080610cec83610c7e565b8152610cfa60208401610c95565b6020820152610d0b60408401610c7e565b6040820152610d1c60608401610c95565b6060820152610d2d60808401610c7e565b60808201525092915050565b803560058110610c4057600080fd5b60006101c08284031215610d5b57600080fd5b610d63610473565b9050610d6e82610d39565b8152610d7c60208301610d39565b6020820152610d8d60408301610d39565b6040820152610d9e60608301610d39565b6060820152610daf60808301610d39565b6080820152610dc060a08301610d39565b60a0820152610dd160c08301610d39565b60c0820152610de260e08301610c95565b60e0820152610100610df5818401610d39565b90820152610120610e07838201610d39565b90820152610140610e19838201610d39565b90820152610160610e2b838201610d39565b90820152610180610e3d838201610d39565b908201526101a0610e4f838201610d39565b9082015292915050565b600082601f830112610e6a57600080fd5b6040516101008082018281106001600160401b0382111715610e8e57610e8e610435565b60405283018185821115610ea157600080fd5b845b82811015610ebb578035825260209182019101610ea3565b509195945050505050565b803560038110610c4057600080fd5b600060408284031215610ee757600080fd5b610eef61044b565b9050813581526020820135602082015292915050565b600082601f830112610f1657600080fd5b6040805160e081018181106001600160401b0382111715610f3957610f39610435565b8252806101c0850186811115610f4e57600080fd5b855b81811015610f7157610f628882610ed5565b83526020909201918401610f50565b50919695505050505050565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610435565b8252806103c0850186811115610fc757600080fd5b855b81811015610f7157610fdb8882610ed5565b83526020909201918401610fc9565b6000818303610740811215610ffe57600080fd5b611006610496565b915061101183610ec6565b825261101f60208401610ec6565b602083015261070080603f198301121561103857600080fd5b6110406104b8565b915061104f8560408601610f05565b825261105f856102008601610f7d565b6020830152611072856105c08601610ed5565b6040830152611085856106008601610ed5565b6060830152611098856106408601610ed5565b60808301526110ab856106808601610ed5565b60a08301526110be856106c08601610ed5565b60c08301526110cf85828601610ed5565b60e083015250604082015292915050565b600082601f8301126110f157600080fd5b60405160a081018181106001600160401b038211171561111357611113610435565b6040528060a084018581111561112857600080fd5b845b81811015610ebb57803583526020928301920161112a565b6000610960828403121561115557600080fd5b61115d6104db565b90506111698383610e59565b8152611179836101008401610fea565b602082015261118b6108408301610c95565b604082015261119e8361086084016110e0565b60608201526111b06109008301610c95565b60808201526111c26109208301610c35565b60a08201526109408201356001600160401b038111156111e157600080fd5b6111ed84828501610520565b60c08301525092915050565b60006020828403121561120b57600080fd5b81356001600160401b038082111561122257600080fd5b908301906103c0828603121561123757600080fd5b61123f6104fd565b6112498684610c45565b81526040830135602082015260608301358281111561126757600080fd5b61127387828601610520565b60408301525061128560808401610c7e565b606082015261129660a08401610c95565b608082015260c083013560a08201526112b28660e08501610c45565b60c08201526101208084013560e08301526101406112d288828701610ca9565b6101008401526112e6886101e08701610d48565b828401526103a08501359150838211156112ff57600080fd5b61130b88838701611142565b90830152509594505050505056fea2646970667358221220cfd5c1ec1bbcb05bb24264ce63ee1bbd9517c996ae09f85fc78461d6174475e664736f6c634300080c0033","sourceMap":"171:3299:64:-:0;;;319:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:7;:57;;-1:-1:-1;;;;;;378:57:64;-1:-1:-1;;;;;378:57:64;;;;;;;;;;171:3299;;14:298:67;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:67;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:67:o;:::-;171:3299:64;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a2d565b60405180910390f35b610061610167565b3660006100718460288188610b5f565b9150915060008585604051610087929190610b89565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b99565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c11565b9050801561014257610137838501856111f9565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b818111156106c5576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60058110610700576107006106da565b9052565b61070f8282516106f0565b602081015161072160208401826106f0565b50604081015161073460408401826106f0565b50606081015161074760608401826106f0565b50608081015161075a60808401826106f0565b5060a081015161076d60a08401826106f0565b5060c081015161078060c08401826106f0565b5060e081015161079860e084018263ffffffff169052565b50610100808201516107ac828501826106f0565b5050610120808201516107c1828501826106f0565b5050610140808201516107d6828501826106f0565b5050610160808201516107eb828501826106f0565b505061018080820151610800828501826106f0565b50506101a080820151610815828501826106f0565b50505050565b60038110610700576107006106da565b8060005b600f8110156108155761084d84835180518252602090810151910152565b604093909301926020919091019060010161082f565b61086e82825161081b565b6020808201516108808285018261081b565b50604082810151805160008684015b60078210156108bf576108ad81845180518252602090810151910152565b9185019160019190910190840161088f565b50505091820151916108d561020086018461082b565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b6005811015610815578151845260209384019390910190600101610967565b80516000906109609084835b60088110156109b1578251825260209283019290910190600101610992565b50505060208301516109c7610100860182610863565b50604083015163ffffffff1661084085015260608301516109ec610860860182610963565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a248286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a6b6103e085018361068d565b91506060850151610a8760a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610ac481870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b39610200880184610704565b870151868503601f1901848801529150610b5590508382610986565b9695505050505050565b60008085851115610b6f57600080fd5b83861115610b7c57600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bda8184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0e57600080fd5b50565b600060208284031215610c2357600080fd5b8151610c2e81610c00565b9392505050565b8035610c4081610c00565b919050565b600060408284031215610c5757600080fd5b610c5f61044b565b9050813581526020820135610c7381610c00565b602082015292915050565b80356001600160401b0381168114610c4057600080fd5b803563ffffffff81168114610c4057600080fd5b600060a08284031215610cbb57600080fd5b60405160a081018181106001600160401b0382111715610cdd57610cdd610435565b604052905080610cec83610c7e565b8152610cfa60208401610c95565b6020820152610d0b60408401610c7e565b6040820152610d1c60608401610c95565b6060820152610d2d60808401610c7e565b60808201525092915050565b803560058110610c4057600080fd5b60006101c08284031215610d5b57600080fd5b610d63610473565b9050610d6e82610d39565b8152610d7c60208301610d39565b6020820152610d8d60408301610d39565b6040820152610d9e60608301610d39565b6060820152610daf60808301610d39565b6080820152610dc060a08301610d39565b60a0820152610dd160c08301610d39565b60c0820152610de260e08301610c95565b60e0820152610100610df5818401610d39565b90820152610120610e07838201610d39565b90820152610140610e19838201610d39565b90820152610160610e2b838201610d39565b90820152610180610e3d838201610d39565b908201526101a0610e4f838201610d39565b9082015292915050565b600082601f830112610e6a57600080fd5b6040516101008082018281106001600160401b0382111715610e8e57610e8e610435565b60405283018185821115610ea157600080fd5b845b82811015610ebb578035825260209182019101610ea3565b509195945050505050565b803560038110610c4057600080fd5b600060408284031215610ee757600080fd5b610eef61044b565b9050813581526020820135602082015292915050565b600082601f830112610f1657600080fd5b6040805160e081018181106001600160401b0382111715610f3957610f39610435565b8252806101c0850186811115610f4e57600080fd5b855b81811015610f7157610f628882610ed5565b83526020909201918401610f50565b50919695505050505050565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610435565b8252806103c0850186811115610fc757600080fd5b855b81811015610f7157610fdb8882610ed5565b83526020909201918401610fc9565b6000818303610740811215610ffe57600080fd5b611006610496565b915061101183610ec6565b825261101f60208401610ec6565b602083015261070080603f198301121561103857600080fd5b6110406104b8565b915061104f8560408601610f05565b825261105f856102008601610f7d565b6020830152611072856105c08601610ed5565b6040830152611085856106008601610ed5565b6060830152611098856106408601610ed5565b60808301526110ab856106808601610ed5565b60a08301526110be856106c08601610ed5565b60c08301526110cf85828601610ed5565b60e083015250604082015292915050565b600082601f8301126110f157600080fd5b60405160a081018181106001600160401b038211171561111357611113610435565b6040528060a084018581111561112857600080fd5b845b81811015610ebb57803583526020928301920161112a565b6000610960828403121561115557600080fd5b61115d6104db565b90506111698383610e59565b8152611179836101008401610fea565b602082015261118b6108408301610c95565b604082015261119e8361086084016110e0565b60608201526111b06109008301610c95565b60808201526111c26109208301610c35565b60a08201526109408201356001600160401b038111156111e157600080fd5b6111ed84828501610520565b60c08301525092915050565b60006020828403121561120b57600080fd5b81356001600160401b038082111561122257600080fd5b908301906103c0828603121561123757600080fd5b61123f6104fd565b6112498684610c45565b81526040830135602082015260608301358281111561126757600080fd5b61127387828601610520565b60408301525061128560808401610c7e565b606082015261129660a08401610c95565b608082015260c083013560a08201526112b28660e08501610c45565b60c08201526101208084013560e08301526101406112d288828701610ca9565b6101008401526112e6886101e08701610d48565b828401526103a08501359150838211156112ff57600080fd5b61130b88838701611142565b90830152509594505050505056fea2646970667358221220cfd5c1ec1bbcb05bb24264ce63ee1bbd9517c996ae09f85fc78461d6174475e664736f6c634300080c0033","sourceMap":"171:3299:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:947;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;763:14;;:::i;:::-;789:29;;821:17;:8;830:6;821:8;;:17;:::i;:::-;789:49;;;;849:26;888:8;;878:19;;;;;;;:::i;:::-;;;;;;;;849:48;;908:22;933:7;;;;;;;;;-1:-1:-1;;;;;933:7:64;-1:-1:-1;;;;;933:28:64;;975:15;1004:18;1036:30;1080:18;1112:15;1141:11;1166:26;1214:1;933:293;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;908:318;;1241:17;1237:152;;;1281:37;;;;1292:14;1281:37;:::i;:::-;1274:44;;;;;;;;1237:152;1356:22;;-1:-1:-1;;;1356:22:64;;;;;;;;;;;448:947;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:127:67;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:67;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:250::-;475:2;469:9;517:6;505:19;;-1:-1:-1;;;;;539:34:67;;575:22;;;536:62;533:88;;;601:18;;:::i;663:253::-;735:2;729:9;777:4;765:17;;-1:-1:-1;;;;;797:34:67;;833:22;;;794:62;791:88;;;859:18;;:::i;921:255::-;993:2;987:9;1035:6;1023:19;;-1:-1:-1;;;;;1057:34:67;;1093:22;;;1054:62;1051:88;;;1119:18;;:::i;1181:253::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:67;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:67;;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:67;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:67;;;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:1251::-;2555:6;2563;2571;2579;2587;2595;2603;2611;2664:3;2652:9;2643:7;2639:23;2635:33;2632:53;;;2681:1;2678;2671:12;2632:53;2704:23;;;-1:-1:-1;2774:2:67;2759:18;;2746:32;;-1:-1:-1;2828:2:67;2813:18;;2800:32;-1:-1:-1;;2861:43:67;;2851:54;;2841:82;;2919:1;2916;2909:12;2841:82;2942:5;-1:-1:-1;2994:2:67;2979:18;;2966:32;;-1:-1:-1;3049:3:67;3034:19;;3021:33;-1:-1:-1;;;;;3103:14:67;;;3100:34;;;3130:1;3127;3120:12;3100:34;3153:49;3194:7;3185:6;3174:9;3170:22;3153:49;:::i;:::-;3143:59;;3249:3;3238:9;3234:19;3221:33;3211:43;;3307:3;3296:9;3292:19;3279:33;3263:49;;3337:2;3327:8;3324:16;3321:36;;;3353:1;3350;3343:12;3321:36;3391:8;3380:9;3376:24;3366:34;;3438:7;3431:4;3427:2;3423:13;3419:27;3409:55;;3460:1;3457;3450:12;3409:55;3500:2;3487:16;3526:2;3518:6;3515:14;3512:34;;;3542:1;3539;3532:12;3512:34;3587:7;3582:2;3573:6;3569:2;3565:15;3561:24;3558:37;3555:57;;;3608:1;3605;3598:12;3555:57;3639:2;3635;3631:11;3621:21;;3661:6;3651:16;;;;;2422:1251;;;;;;;;;;;:::o;3953:472::-;3995:3;4033:5;4027:12;4060:6;4055:3;4048:19;4085:1;4095:162;4109:6;4106:1;4103:13;4095:162;;;4171:4;4227:13;;;4223:22;;4217:29;4199:11;;;4195:20;;4188:59;4124:12;4095:162;;;4275:6;4272:1;4269:13;4266:87;;;4341:1;4334:4;4325:6;4320:3;4316:16;4312:27;4305:38;4266:87;-1:-1:-1;4407:2:67;4386:15;-1:-1:-1;;4382:29:67;4373:39;;;;4414:4;4369:50;;3953:472;-1:-1:-1;;3953:472:67:o;5108:127::-;5169:10;5164:3;5160:20;5157:1;5150:31;5200:4;5197:1;5190:15;5224:4;5221:1;5214:15;5240:143;5324:1;5317:5;5314:12;5304:46;;5330:18;;:::i;:::-;5359;;5240:143::o;5388:1834::-;5453:47;5496:3;5488:5;5482:12;5453:47;:::i;:::-;5546:4;5539:5;5535:16;5529:23;5561:58;5613:4;5608:3;5604:14;5590:12;5561:58;:::i;:::-;;5667:4;5660:5;5656:16;5650:23;5682:60;5736:4;5731:3;5727:14;5711;5682:60;:::i;:::-;;5790:4;5783:5;5779:16;5773:23;5805:60;5859:4;5854:3;5850:14;5834;5805:60;:::i;:::-;;5913:4;5906:5;5902:16;5896:23;5928:60;5982:4;5977:3;5973:14;5957;5928:60;:::i;:::-;;6036:4;6029:5;6025:16;6019:23;6051:60;6105:4;6100:3;6096:14;6080;6051:60;:::i;:::-;;6159:4;6152:5;6148:16;6142:23;6174:60;6228:4;6223:3;6219:14;6203;6174:60;:::i;:::-;;6282:4;6275:5;6271:16;6265:23;6297:49;6340:4;6335:3;6331:14;6315;4613:10;4602:22;4590:35;;4537:94;6297:49;;6365:6;6419:2;6412:5;6408:14;6402:21;6432:58;6486:2;6481:3;6477:12;6461:14;6432:58;:::i;:::-;;;6509:6;6563:2;6556:5;6552:14;6546:21;6576:58;6630:2;6625:3;6621:12;6605:14;6576:58;:::i;:::-;;;6653:6;6707:2;6700:5;6696:14;6690:21;6720:58;6774:2;6769:3;6765:12;6749:14;6720:58;:::i;:::-;;;6797:6;6852:2;6845:5;6841:14;6835:21;6865:59;6920:2;6915:3;6911:12;6894:15;6865:59;:::i;:::-;;;6943:6;6998:2;6991:5;6987:14;6981:21;7011:59;7066:2;7061:3;7057:12;7040:15;7011:59;:::i;:::-;;;7089:6;7144:2;7137:5;7133:14;7127:21;7157:59;7212:2;7207:3;7203:12;7186:15;7157:59;:::i;:::-;;;5388:1834;;:::o;7227:145::-;7313:1;7306:5;7303:12;7293:46;;7319:18;;:::i;7533:335::-;7636:5;7659:1;7669:193;7683:4;7680:1;7677:11;7669:193;;;7730:48;7774:3;7765:6;7759:13;7453:12;;7441:25;;7515:4;7504:16;;;7498:23;7482:14;;7475:47;7377:151;7730:48;7807:4;7798:14;;;;;7847:4;7835:17;;;;;7703:1;7696:9;7669:193;;7873:1627;7942:49;7987:3;7979:5;7973:12;7942:49;:::i;:::-;8010:4;8060:2;8053:5;8049:14;8043:21;8073:58;8127:2;8122:3;8118:12;8104;8073:58;:::i;:::-;-1:-1:-1;8150:4:67;8191:14;;;8185:21;8256;;8364:1;8225:12;;;8374:195;8388:4;8385:1;8382:11;8374:195;;;8435:50;8479:5;8470:6;8464:13;7453:12;;7441:25;;7515:4;7504:16;;;7498:23;7482:14;;7475:47;7377:151;8435:50;8544:15;;;;8408:1;8401:9;;;;;8507:14;;8374:195;;;-1:-1:-1;;;8606:23:67;;;8600:30;;8639:65;8699:3;8690:13;;8600:30;8639:65;:::i;:::-;8741:23;;;8735:30;7453:12;;8828:4;8819:14;;7441:25;7515:4;7504:16;;;7498:23;7482:14;;;7475:47;8891:4;8871:25;;8865:32;7453:12;;8960:4;8951:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9023:4;9003:25;;8997:32;7453:12;;9092:4;9083:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9155:4;9135:25;;9129:32;7453:12;;9224:4;9215:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9287:4;9267:25;;9261:32;7453:12;;9356:4;9347:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9419:4;9399:25;;;9393:32;7453:12;;9488:4;9479:14;;7441:25;7504:16;7498:23;7482:14;;;;7475:47;;;;-1:-1:-1;;7873:1627:67:o;9505:326::-;9598:5;9621:1;9631:194;9645:4;9642:1;9639:11;9631:194;;;9704:13;;9692:26;;9741:4;9765:12;;;;9800:15;;;;9665:1;9658:9;9631:194;;9836:1166;9944:12;;9891:3;;9919:6;;9978:3;9891;10055:200;10069:4;10066:1;10063:11;10055:200;;;10130:13;;10116:28;;10167:4;10230:15;;;;10193:14;;;;10089:1;10082:9;10055:200;;;10059:3;;;10301:4;10294:5;10290:16;10284:23;10316:65;10373:6;10368:3;10364:16;10350:12;10316:65;:::i;:::-;-1:-1:-1;10429:4:67;10418:16;;10412:23;4613:10;4602:22;10487:6;10478:16;;4590:35;10543:4;10532:16;;10526:23;10558:58;10608:6;10599:16;;10526:23;10558:58;:::i;:::-;-1:-1:-1;10664:4:67;10653:16;;10647:23;4613:10;4602:22;10722:6;10713:16;;4590:35;10778:4;10767:16;;10761:23;3748:13;3741:21;10834:6;10825:16;;3729:34;10890:4;10879:16;;10873:23;10921:6;10912:16;;10905:28;;;10949:47;10983:12;;;10873:23;10949:47;:::i;:::-;10942:54;9836:1166;-1:-1:-1;;;;;9836:1166:67:o;11007:1526::-;11188:2;11170:21;;;11236:13;;3857:12;;11251:18;;;3845:25;3922:16;3916:23;3909:31;3902:39;3886:14;;;3879:63;11324:2;11316:6;11312:15;11306:22;11301:2;11290:9;11286:18;11279:50;11151:4;11376;11368:6;11364:17;11358:24;11401:6;11444:2;11438:3;11427:9;11423:19;11416:31;11470:52;11517:3;11506:9;11502:19;11488:12;11470:52;:::i;:::-;11456:66;;11571:2;11563:6;11559:15;11553:22;11584:54;11633:3;11622:9;11618:19;11602:14;-1:-1:-1;;;;;4495:30:67;4483:43;;4430:102;11584:54;-1:-1:-1;11687:3:67;11675:16;;11669:23;4613:10;4602:22;;11750:3;11735:19;;4590:35;11701:54;11810:3;11802:6;11798:16;11792:23;11786:3;11775:9;11771:19;11764:52;11865:3;11857:6;11853:16;11847:23;11889:3;11901:71;11968:2;11957:9;11953:18;11937:14;3857:12;;3845:25;;3933:4;3922:16;;;3916:23;3909:31;3902:39;3886:14;;3879:63;3774:174;11901:71;12009:3;11997:16;;11991:23;12033:3;12052:18;;;12045:30;;;;12112:15;;;12106:22;4749:12;;-1:-1:-1;;;;;4745:21:67;;;12193:3;12178:19;;4733:34;4813:4;4802:16;;4796:23;4838:10;4880:21;;;4864:14;;;4857:45;4955:4;4944:16;;4938:23;4934:32;;4918:14;;;4911:56;5020:4;5009:16;;5003:23;4999:32;4983:14;;;4976:56;5085:4;5074:16;;;5068:23;5064:32;5048:14;;;5041:56;12247:6;12235:19;;12229:26;;-1:-1:-1;12264:66:67;12325:3;12310:19;;12229:26;12264:66;:::i;:::-;12367:15;;12361:22;12423;;;-1:-1:-1;;12419:36:67;12399:18;;;12392:64;12361:22;-1:-1:-1;12473:54:67;;-1:-1:-1;12427:6:67;12361:22;12473:54;:::i;:::-;12465:62;11007:1526;-1:-1:-1;;;;;;11007:1526:67:o;12538:331::-;12643:9;12654;12696:8;12684:10;12681:24;12678:44;;;12718:1;12715;12708:12;12678:44;12747:6;12737:8;12734:20;12731:40;;;12767:1;12764;12757:12;12731:40;-1:-1:-1;;12793:23:67;;;12838:25;;;;;-1:-1:-1;12538:331:67:o;12874:271::-;13057:6;13049;13044:3;13031:33;13013:3;13083:16;;13108:13;;;13083:16;12874:271;-1:-1:-1;12874:271:67:o;13150:805::-;13456:4;13485:3;13515:6;13504:9;13497:25;13558:6;13553:2;13542:9;13538:18;13531:34;13601:6;13596:2;13585:9;13581:18;13574:34;13660:26;13656:31;13648:6;13644:44;13639:2;13628:9;13624:18;13617:72;13726:6;13720:3;13709:9;13705:19;13698:35;13770:2;13764:3;13753:9;13749:19;13742:31;13790:45;13831:2;13820:9;13816:18;13808:6;13790:45;:::i;:::-;13866:3;13851:19;;13844:35;;;;-1:-1:-1;;;;;;;13916:32:67;;;;13910:3;13895:19;;;13888:61;13782:53;13150:805;-1:-1:-1;;;;;;13150:805:67:o;13960:118::-;14046:5;14039:13;14032:21;14025:5;14022:32;14012:60;;14068:1;14065;14058:12;14012:60;13960:118;:::o;14083:245::-;14150:6;14203:2;14191:9;14182:7;14178:23;14174:32;14171:52;;;14219:1;14216;14209:12;14171:52;14251:9;14245:16;14270:28;14292:5;14270:28;:::i;:::-;14317:5;14083:245;-1:-1:-1;;;14083:245:67:o;14333:128::-;14398:20;;14427:28;14398:20;14427:28;:::i;:::-;14333:128;;;:::o;14466:362::-;14530:5;14578:4;14566:9;14561:3;14557:19;14553:30;14550:50;;;14596:1;14593;14586:12;14550:50;14618:22;;:::i;:::-;14609:31;;14676:9;14663:23;14656:5;14649:38;14739:2;14728:9;14724:18;14711:32;14752:30;14774:7;14752:30;:::i;:::-;14809:2;14798:14;;14791:31;14802:5;14466:362;-1:-1:-1;;14466:362:67:o;14833:171::-;14900:20;;-1:-1:-1;;;;;14949:30:67;;14939:41;;14929:69;;14994:1;14991;14984:12;15009:163;15076:20;;15136:10;15125:22;;15115:33;;15105:61;;15162:1;15159;15152:12;15177:696;15230:5;15278:4;15266:9;15261:3;15257:19;15253:30;15250:50;;;15296:1;15293;15286:12;15250:50;15329:2;15323:9;15371:4;15363:6;15359:17;15442:6;15430:10;15427:22;-1:-1:-1;;;;;15394:10:67;15391:34;15388:62;15385:88;;;15453:18;;:::i;:::-;15489:2;15482:22;15522:6;-1:-1:-1;15522:6:67;15552:28;15570:9;15552:28;:::i;:::-;15544:6;15537:44;15614:37;15647:2;15636:9;15632:18;15614:37;:::i;:::-;15609:2;15601:6;15597:15;15590:62;15685:37;15718:2;15707:9;15703:18;15685:37;:::i;:::-;15680:2;15672:6;15668:15;15661:62;15756:37;15789:2;15778:9;15774:18;15756:37;:::i;:::-;15751:2;15743:6;15739:15;15732:62;15828:38;15861:3;15850:9;15846:19;15828:38;:::i;:::-;15822:3;15814:6;15810:16;15803:64;;15177:696;;;;:::o;15878:153::-;15956:20;;16005:1;15995:12;;15985:40;;16021:1;16018;16011:12;16036:1416;16094:5;16142:6;16130:9;16125:3;16121:19;16117:32;16114:52;;;16162:1;16159;16152:12;16114:52;16184:17;;:::i;:::-;16175:26;;16224:39;16253:9;16224:39;:::i;:::-;16217:5;16210:54;16296:48;16340:2;16329:9;16325:18;16296:48;:::i;:::-;16291:2;16284:5;16280:14;16273:72;16377:48;16421:2;16410:9;16406:18;16377:48;:::i;:::-;16372:2;16365:5;16361:14;16354:72;16458:48;16502:2;16491:9;16487:18;16458:48;:::i;:::-;16453:2;16446:5;16442:14;16435:72;16540:49;16584:3;16573:9;16569:19;16540:49;:::i;:::-;16534:3;16527:5;16523:15;16516:74;16623:49;16667:3;16656:9;16652:19;16623:49;:::i;:::-;16617:3;16610:5;16606:15;16599:74;16706:49;16750:3;16739:9;16735:19;16706:49;:::i;:::-;16700:3;16693:5;16689:15;16682:74;16789:38;16822:3;16811:9;16807:19;16789:38;:::i;:::-;16783:3;16776:5;16772:15;16765:63;16847:3;16882:48;16926:2;16915:9;16911:18;16882:48;:::i;:::-;16866:14;;;16859:72;16950:3;16985:48;17014:18;;;16985:48;:::i;:::-;16969:14;;;16962:72;17053:3;17088:48;17117:18;;;17088:48;:::i;:::-;17072:14;;;17065:72;17156:3;17191:48;17220:18;;;17191:48;:::i;:::-;17175:14;;;17168:72;17259:3;17294:48;17323:18;;;17294:48;:::i;:::-;17278:14;;;17271:72;17362:3;17397:48;17426:18;;;17397:48;:::i;:::-;17381:14;;;17374:72;17385:5;16036:1416;-1:-1:-1;;16036:1416:67:o;17457:668::-;17507:5;17560:3;17553:4;17545:6;17541:17;17537:27;17527:55;;17578:1;17575;17568:12;17527:55;17611:2;17605:9;17633:3;17675:2;17667:6;17663:15;17744:6;17732:10;17729:22;-1:-1:-1;;;;;17696:10:67;17693:34;17690:62;17687:88;;;17755:18;;:::i;:::-;17791:2;17784:22;17855:15;;17826:6;17882:15;;;17879:35;;;17910:1;17907;17900:12;17879:35;17934:6;17949:146;17965:6;17960:3;17957:15;17949:146;;;18033:17;;18021:30;;18080:4;18071:14;;;;17982;17949:146;;;-1:-1:-1;18113:6:67;;17457:668;-1:-1:-1;;;;;17457:668:67:o;18130:155::-;18210:20;;18259:1;18249:12;;18239:40;;18275:1;18272;18265:12;18290:285;18347:5;18395:4;18383:9;18378:3;18374:19;18370:30;18367:50;;;18413:1;18410;18403:12;18367:50;18435:22;;:::i;:::-;18426:31;;18493:9;18480:23;18473:5;18466:38;18564:2;18553:9;18549:18;18536:32;18531:2;18524:5;18520:14;18513:56;18290:285;;;;:::o;18580:698::-;18640:5;18693:3;18686:4;18678:6;18674:17;18670:27;18660:55;;18711:1;18708;18701:12;18660:55;18734:2;18765;18759:9;18807:3;18799:6;18795:16;18877:6;18865:10;18862:22;-1:-1:-1;;;;;18829:10:67;18826:34;18823:62;18820:88;;;18888:18;;:::i;:::-;18917:22;;18959:6;19000:3;18988:16;;19016:15;;;19013:35;;;19044:1;19041;19034:12;19013:35;19068:6;19083:165;19099:6;19094:3;19091:15;19083:165;;;19165:38;19199:3;19194;19165:38;:::i;:::-;19153:51;;19233:4;19224:14;;;;19116:12;;19083:165;;;-1:-1:-1;19266:6:67;;18580:698;-1:-1:-1;;;;;;18580:698:67:o;19283:720::-;19365:5;19418:3;19411:4;19403:6;19399:17;19395:27;19385:55;;19436:1;19433;19426:12;19385:55;19459:2;19490;19484:9;19532:3;19524:6;19520:16;19602:6;19590:10;19587:22;-1:-1:-1;;;;;19554:10:67;19551:34;19548:62;19545:88;;;19613:18;;:::i;:::-;19642:22;;19684:6;19725:3;19713:16;;19741:15;;;19738:35;;;19769:1;19766;19759:12;19738:35;19793:6;19808:165;19824:6;19819:3;19816:15;19808:165;;;19890:38;19924:3;19919;19890:38;:::i;:::-;19878:51;;19958:4;19949:14;;;;19841:12;;19808:165;;20008:1264;20070:5;20109:9;20104:3;20100:19;20139:6;20135:2;20131:15;20128:35;;;20159:1;20156;20149:12;20128:35;20181:22;;:::i;:::-;20172:31;;20226:41;20257:9;20226:41;:::i;:::-;20219:5;20212:56;20300:50;20346:2;20335:9;20331:18;20300:50;:::i;:::-;20295:2;20288:5;20284:14;20277:74;20370:6;20410:2;20404;20400:7;20396:2;20392:16;20388:25;20385:45;;;20426:1;20423;20416:12;20385:45;20454:22;;:::i;:::-;20439:37;;20501:59;20556:3;20551:2;20540:9;20536:18;20501:59;:::i;:::-;20492:7;20485:76;20595:82;20673:3;20667;20656:9;20652:19;20595:82;:::i;:::-;20590:2;20581:7;20577:16;20570:108;20712:55;20763:3;20756:4;20745:9;20741:20;20712:55;:::i;:::-;20707:2;20698:7;20694:16;20687:81;20804:55;20855:3;20848:4;20837:9;20833:20;20804:55;:::i;:::-;20797:4;20788:7;20784:18;20777:83;20896:55;20947:3;20940:4;20929:9;20925:20;20896:55;:::i;:::-;20889:4;20880:7;20876:18;20869:83;20988:55;21039:3;21032:4;21021:9;21017:20;20988:55;:::i;:::-;20981:4;20972:7;20968:18;20961:83;21080:55;21131:3;21124:4;21113:9;21109:20;21080:55;:::i;:::-;21073:4;21064:7;21060:18;21053:83;21172:53;21221:3;21216:2;21205:9;21201:18;21172:53;:::i;:::-;21165:4;21152:18;;21145:81;-1:-1:-1;21253:2:67;21242:14;;21235:31;21246:5;20008:1264;-1:-1:-1;;20008:1264:67:o;21277:659::-;21338:5;21391:3;21384:4;21376:6;21372:17;21368:27;21358:55;;21409:1;21406;21399:12;21358:55;21442:2;21436:9;21484:3;21476:6;21472:16;21554:6;21542:10;21539:22;-1:-1:-1;;;;;21506:10:67;21503:34;21500:62;21497:88;;;21565:18;;:::i;:::-;21601:2;21594:22;21636:6;21677:3;21665:16;;21693:15;;;21690:35;;;21721:1;21718;21711:12;21690:35;21745:6;21760:146;21776:6;21771:3;21768:15;21760:146;;;21844:17;;21832:30;;21891:4;21882:14;;;;21793;21760:146;;21941:848;22000:5;22048:6;22036:9;22031:3;22027:19;22023:32;22020:52;;;22068:1;22065;22058:12;22020:52;22090:22;;:::i;:::-;22081:31;;22135:40;22171:3;22160:9;22135:40;:::i;:::-;22128:5;22121:55;22210:59;22265:3;22259;22248:9;22244:19;22210:59;:::i;:::-;22203:4;22196:5;22192:16;22185:85;22304:39;22337:4;22326:9;22322:20;22304:39;:::i;:::-;22297:4;22290:5;22286:16;22279:65;22378:62;22436:3;22429:4;22418:9;22414:20;22378:62;:::i;:::-;22371:4;22364:5;22360:16;22353:88;22475:39;22508:4;22497:9;22493:20;22475:39;:::i;:::-;22468:4;22461:5;22457:16;22450:65;22549:37;22580:4;22569:9;22565:20;22549:37;:::i;:::-;22542:4;22535:5;22531:16;22524:63;22638:4;22627:9;22623:20;22610:34;-1:-1:-1;;;;;22659:6:67;22656:30;22653:50;;;22699:1;22696;22689:12;22653:50;22737:45;22778:3;22769:6;22758:9;22754:22;22737:45;:::i;:::-;22730:4;22723:5;22719:16;22712:71;;21941:848;;;;:::o;22794:1498::-;22879:6;22932:2;22920:9;22911:7;22907:23;22903:32;22900:52;;;22948:1;22945;22938:12;22900:52;22988:9;22975:23;-1:-1:-1;;;;;23058:2:67;23050:6;23047:14;23044:34;;;23074:1;23071;23064:12;23044:34;23097:22;;;;23153:6;23135:16;;;23131:29;23128:49;;;23173:1;23170;23163:12;23128:49;23199:22;;:::i;:::-;23244:48;23284:7;23280:2;23244:48;:::i;:::-;23237:5;23230:63;23346:2;23342;23338:11;23325:25;23320:2;23313:5;23309:14;23302:49;23397:2;23393;23389:11;23376:25;23426:2;23416:8;23413:16;23410:36;;;23442:1;23439;23432:12;23410:36;23478:44;23514:7;23503:8;23499:2;23495:17;23478:44;:::i;:::-;23473:2;23466:5;23462:14;23455:68;;23555:31;23581:3;23577:2;23573:12;23555:31;:::i;:::-;23550:2;23543:5;23539:14;23532:55;23620:31;23646:3;23642:2;23638:12;23620:31;:::i;:::-;23614:3;23607:5;23603:15;23596:56;23706:3;23702:2;23698:12;23685:26;23679:3;23672:5;23668:15;23661:51;23745:58;23795:7;23789:3;23785:2;23781:12;23745:58;:::i;:::-;23739:3;23732:5;23728:15;23721:83;23823:3;23880:2;23876;23872:11;23859:25;23853:3;23846:5;23842:15;23835:50;23904:3;23943:46;23981:7;23976:2;23972;23968:11;23943:46;:::i;:::-;23934:6;23927:5;23923:18;23916:74;24022:52;24066:7;24060:3;24056:2;24052:12;24022:52;:::i;:::-;24017:2;24010:5;24006:14;23999:76;24121:3;24117:2;24113:12;24100:26;24084:42;;24151:2;24141:8;24138:16;24135:36;;;24167:1;24164;24157:12;24135:36;24203:58;24253:7;24242:8;24238:2;24234:17;24203:58;:::i;:::-;24187:14;;;24180:82;-1:-1:-1;24191:5:67;22794:1498;-1:-1:-1;;;;;22794:1498:67:o","linkReferences":{}},"methodIdentifiers":{"validateAccount(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"f4c7c1fa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountIsNotVerified\",\"type\":\"error\"},{\"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\"}],\"name\":\"validateAccount\",\"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\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaAccountValidation.sol\":{\"keccak256\":\"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc\",\"dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccountIsNotVerified"},{"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"}],"stateMutability":"view","type":"function","name":"validateAccount","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":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaAccountValidation.sol":{"keccak256":"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385","urls":["bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc","dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q"],"license":"UNLICENSED"}},"version":1},"id":64} \ 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":"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"}],"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516113ae3803806113ae83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61131b806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a26565b60405180910390f35b610061610167565b3660006100718460288188610b58565b9150915060008585604051610087929190610b82565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b92565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c0a565b9050801561014257610137838501856111c5565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b600581106106f9576106f96106d3565b9052565b6107088282516106e9565b602081015161071a60208401826106e9565b50604081015161072d60408401826106e9565b50606081015161074060608401826106e9565b50608081015161075360808401826106e9565b5060a081015161076660a08401826106e9565b5060c081015161077960c08401826106e9565b5060e081015161079160e084018263ffffffff169052565b50610100808201516107a5828501826106e9565b5050610120808201516107ba828501826106e9565b5050610140808201516107cf828501826106e9565b5050610160808201516107e4828501826106e9565b5050610180808201516107f9828501826106e9565b50506101a08082015161080e828501826106e9565b50505050565b600381106106f9576106f96106d3565b8060005b600f81101561080e5761084684835180518252602090810151910152565b6040939093019260209190910190600101610828565b610867828251610814565b60208082015161087982850182610814565b50604082810151805160008684015b60078210156108b8576108a681845180518252602090810151910152565b91850191600191909101908401610888565b50505091820151916108ce610200860184610824565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561080e578151845260209384019390910190600101610960565b80516000906109609084835b60088110156109aa57825182526020928301929091019060010161098b565b50505060208301516109c061010086018261085c565b50604083015163ffffffff1661084085015260608301516109e561086086018261095c565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a1d8286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a646103e085018361068d565b91506060850151610a8060a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610abd81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b326102008801846106fd565b870151868503601f1901848801529150610b4e9050838261097f565b9695505050505050565b60008085851115610b6857600080fd5b83861115610b7557600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bd38184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0757600080fd5b50565b600060208284031215610c1c57600080fd5b8151610c2781610bf9565b9392505050565b8035610c3981610bf9565b919050565b600060408284031215610c5057600080fd5b610c5861044b565b9050813581526020820135610c6c81610bf9565b602082015292915050565b80356001600160401b0381168114610c3957600080fd5b803563ffffffff81168114610c3957600080fd5b600060a08284031215610cb457600080fd5b60405160a081018181106001600160401b0382111715610cd657610cd6610435565b604052905080610ce583610c77565b8152610cf360208401610c8e565b6020820152610d0460408401610c77565b6040820152610d1560608401610c8e565b6060820152610d2660808401610c77565b60808201525092915050565b803560058110610c3957600080fd5b60006101c08284031215610d5457600080fd5b610d5c610473565b9050610d6782610d32565b8152610d7560208301610d32565b6020820152610d8660408301610d32565b6040820152610d9760608301610d32565b6060820152610da860808301610d32565b6080820152610db960a08301610d32565b60a0820152610dca60c08301610d32565b60c0820152610ddb60e08301610c8e565b60e0820152610100610dee818401610d32565b90820152610120610e00838201610d32565b90820152610140610e12838201610d32565b90820152610160610e24838201610d32565b90820152610180610e36838201610d32565b908201526101a0610e48838201610d32565b9082015292915050565b600082601f830112610e6357600080fd5b610e6b6104b8565b80610100840185811115610e7e57600080fd5b845b81811015610e98578035845260209384019301610e80565b509095945050505050565b803560038110610c3957600080fd5b600060408284031215610ec457600080fd5b610ecc61044b565b9050813581526020820135602082015292915050565b600082601f830112610ef357600080fd5b610efb6104db565b806101c0840185811115610f0e57600080fd5b845b81811015610e9857610f228782610eb2565b8452602090930192604001610f10565b600082601f830112610f4357600080fd5b604080516101e081018181106001600160401b0382111715610f6757610f67610435565b8252806103c0850186811115610f7c57600080fd5b855b81811015610f9f57610f908882610eb2565b83526020909201918401610f7e565b50919695505050505050565b6000818303610740811215610fbf57600080fd5b610fc7610496565b9150610fd283610ea3565b8252610fe060208401610ea3565b602083015261070080603f1983011215610ff957600080fd5b6110016104b8565b91506110108560408601610ee2565b8252611020856102008601610f32565b6020830152611033856105c08601610eb2565b6040830152611046856106008601610eb2565b6060830152611059856106408601610eb2565b608083015261106c856106808601610eb2565b60a083015261107f856106c08601610eb2565b60c083015261109085828601610eb2565b60e083015250604082015292915050565b600082601f8301126110b257600080fd5b60405160a081018181106001600160401b03821117156110d4576110d4610435565b6040528060a08401858111156110e957600080fd5b845b818110156111035780358352602092830192016110eb565b509195945050505050565b6000610960828403121561112157600080fd5b6111296104db565b90506111358383610e52565b8152611145836101008401610fab565b60208201526111576108408301610c8e565b604082015261116a8361086084016110a1565b606082015261117c6109008301610c8e565b608082015261118e6109208301610c2e565b60a08201526109408201356001600160401b038111156111ad57600080fd5b6111b984828501610520565b60c08301525092915050565b6000602082840312156111d757600080fd5b81356001600160401b03808211156111ee57600080fd5b908301906103c0828603121561120357600080fd5b61120b6104fd565b6112158684610c3e565b81526040830135602082015260608301358281111561123357600080fd5b61123f87828601610520565b60408301525061125160808401610c77565b606082015261126260a08401610c8e565b608082015260c083013560a082015261127e8660e08501610c3e565b60c08201526101208084013560e083015261014061129e88828701610ca2565b6101008401526112b2886101e08701610d41565b828401526103a08501359150838211156112cb57600080fd5b6112d78883870161110e565b90830152509594505050505056fea2646970667358221220c61482ea7bab881a22960ccfe2f518fcf3d1ae6a1a87b54eee59ecbe68749afb64736f6c63430008150033","sourceMap":"171:3299:63:-:0;;;319:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:7;:57;;-1:-1:-1;;;;;;378:57:63;-1:-1:-1;;;;;378:57:63;;;;;;;;;;171:3299;;14:298:66;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:66;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:66:o;:::-;171:3299:63;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a26565b60405180910390f35b610061610167565b3660006100718460288188610b58565b9150915060008585604051610087929190610b82565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b92565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c0a565b9050801561014257610137838501856111c5565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b600581106106f9576106f96106d3565b9052565b6107088282516106e9565b602081015161071a60208401826106e9565b50604081015161072d60408401826106e9565b50606081015161074060608401826106e9565b50608081015161075360808401826106e9565b5060a081015161076660a08401826106e9565b5060c081015161077960c08401826106e9565b5060e081015161079160e084018263ffffffff169052565b50610100808201516107a5828501826106e9565b5050610120808201516107ba828501826106e9565b5050610140808201516107cf828501826106e9565b5050610160808201516107e4828501826106e9565b5050610180808201516107f9828501826106e9565b50506101a08082015161080e828501826106e9565b50505050565b600381106106f9576106f96106d3565b8060005b600f81101561080e5761084684835180518252602090810151910152565b6040939093019260209190910190600101610828565b610867828251610814565b60208082015161087982850182610814565b50604082810151805160008684015b60078210156108b8576108a681845180518252602090810151910152565b91850191600191909101908401610888565b50505091820151916108ce610200860184610824565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561080e578151845260209384019390910190600101610960565b80516000906109609084835b60088110156109aa57825182526020928301929091019060010161098b565b50505060208301516109c061010086018261085c565b50604083015163ffffffff1661084085015260608301516109e561086086018261095c565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a1d8286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a646103e085018361068d565b91506060850151610a8060a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610abd81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b326102008801846106fd565b870151868503601f1901848801529150610b4e9050838261097f565b9695505050505050565b60008085851115610b6857600080fd5b83861115610b7557600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bd38184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0757600080fd5b50565b600060208284031215610c1c57600080fd5b8151610c2781610bf9565b9392505050565b8035610c3981610bf9565b919050565b600060408284031215610c5057600080fd5b610c5861044b565b9050813581526020820135610c6c81610bf9565b602082015292915050565b80356001600160401b0381168114610c3957600080fd5b803563ffffffff81168114610c3957600080fd5b600060a08284031215610cb457600080fd5b60405160a081018181106001600160401b0382111715610cd657610cd6610435565b604052905080610ce583610c77565b8152610cf360208401610c8e565b6020820152610d0460408401610c77565b6040820152610d1560608401610c8e565b6060820152610d2660808401610c77565b60808201525092915050565b803560058110610c3957600080fd5b60006101c08284031215610d5457600080fd5b610d5c610473565b9050610d6782610d32565b8152610d7560208301610d32565b6020820152610d8660408301610d32565b6040820152610d9760608301610d32565b6060820152610da860808301610d32565b6080820152610db960a08301610d32565b60a0820152610dca60c08301610d32565b60c0820152610ddb60e08301610c8e565b60e0820152610100610dee818401610d32565b90820152610120610e00838201610d32565b90820152610140610e12838201610d32565b90820152610160610e24838201610d32565b90820152610180610e36838201610d32565b908201526101a0610e48838201610d32565b9082015292915050565b600082601f830112610e6357600080fd5b610e6b6104b8565b80610100840185811115610e7e57600080fd5b845b81811015610e98578035845260209384019301610e80565b509095945050505050565b803560038110610c3957600080fd5b600060408284031215610ec457600080fd5b610ecc61044b565b9050813581526020820135602082015292915050565b600082601f830112610ef357600080fd5b610efb6104db565b806101c0840185811115610f0e57600080fd5b845b81811015610e9857610f228782610eb2565b8452602090930192604001610f10565b600082601f830112610f4357600080fd5b604080516101e081018181106001600160401b0382111715610f6757610f67610435565b8252806103c0850186811115610f7c57600080fd5b855b81811015610f9f57610f908882610eb2565b83526020909201918401610f7e565b50919695505050505050565b6000818303610740811215610fbf57600080fd5b610fc7610496565b9150610fd283610ea3565b8252610fe060208401610ea3565b602083015261070080603f1983011215610ff957600080fd5b6110016104b8565b91506110108560408601610ee2565b8252611020856102008601610f32565b6020830152611033856105c08601610eb2565b6040830152611046856106008601610eb2565b6060830152611059856106408601610eb2565b608083015261106c856106808601610eb2565b60a083015261107f856106c08601610eb2565b60c083015261109085828601610eb2565b60e083015250604082015292915050565b600082601f8301126110b257600080fd5b60405160a081018181106001600160401b03821117156110d4576110d4610435565b6040528060a08401858111156110e957600080fd5b845b818110156111035780358352602092830192016110eb565b509195945050505050565b6000610960828403121561112157600080fd5b6111296104db565b90506111358383610e52565b8152611145836101008401610fab565b60208201526111576108408301610c8e565b604082015261116a8361086084016110a1565b606082015261117c6109008301610c8e565b608082015261118e6109208301610c2e565b60a08201526109408201356001600160401b038111156111ad57600080fd5b6111b984828501610520565b60c08301525092915050565b6000602082840312156111d757600080fd5b81356001600160401b03808211156111ee57600080fd5b908301906103c0828603121561120357600080fd5b61120b6104fd565b6112158684610c3e565b81526040830135602082015260608301358281111561123357600080fd5b61123f87828601610520565b60408301525061125160808401610c77565b606082015261126260a08401610c8e565b608082015260c083013560a082015261127e8660e08501610c3e565b60c08201526101208084013560e083015261014061129e88828701610ca2565b6101008401526112b2886101e08701610d41565b828401526103a08501359150838211156112cb57600080fd5b6112d78883870161110e565b90830152509594505050505056fea2646970667358221220c61482ea7bab881a22960ccfe2f518fcf3d1ae6a1a87b54eee59ecbe68749afb64736f6c63430008150033","sourceMap":"171:3299:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:947;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;763:14;;:::i;:::-;789:29;;821:17;:8;830:6;821:8;;:17;:::i;:::-;789:49;;;;849:26;888:8;;878:19;;;;;;;:::i;:::-;;;;;;;;849:48;;908:22;933:7;;;;;;;;;-1:-1:-1;;;;;933:7:63;-1:-1:-1;;;;;933:28:63;;975:15;1004:18;1036:30;1080:18;1112:15;1141:11;1166:26;1214:1;933:293;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;908:318;;1241:17;1237:152;;;1281:37;;;;1292:14;1281:37;:::i;:::-;1274:44;;;;;;;;1237:152;1356:22;;-1:-1:-1;;;1356:22:63;;;;;;;;;;;448:947;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:127:66;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:252;213:4;207:11;;;245:17;;-1:-1:-1;;;;;277:34:66;;313:22;;;274:62;271:88;;;339:18;;:::i;:::-;375:4;368:24;146:252;:::o;403:255::-;475:2;469:9;517:6;505:19;;-1:-1:-1;;;;;539:34:66;;575:22;;;536:62;533:88;;;601:18;;:::i;663:253::-;735:2;729:9;777:4;765:17;;-1:-1:-1;;;;;797:34:66;;833:22;;;794:62;791:88;;;859:18;;:::i;921:255::-;993:2;987:9;1035:6;1023:19;;-1:-1:-1;;;;;1057:34:66;;1093:22;;;1054:62;1051:88;;;1119:18;;:::i;1181:253::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:66;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:66;;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:66;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:66;;;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:1251::-;2555:6;2563;2571;2579;2587;2595;2603;2611;2664:3;2652:9;2643:7;2639:23;2635:33;2632:53;;;2681:1;2678;2671:12;2632:53;2704:23;;;-1:-1:-1;2774:2:66;2759:18;;2746:32;;-1:-1:-1;2828:2:66;2813:18;;2800:32;-1:-1:-1;;2861:43:66;;2851:54;;2841:82;;2919:1;2916;2909:12;2841:82;2942:5;-1:-1:-1;2994:2:66;2979:18;;2966:32;;-1:-1:-1;3049:3:66;3034:19;;3021:33;-1:-1:-1;;;;;3103:14:66;;;3100:34;;;3130:1;3127;3120:12;3100:34;3153:49;3194:7;3185:6;3174:9;3170:22;3153:49;:::i;:::-;3143:59;;3249:3;3238:9;3234:19;3221:33;3211:43;;3307:3;3296:9;3292:19;3279:33;3263:49;;3337:2;3327:8;3324:16;3321:36;;;3353:1;3350;3343:12;3321:36;3391:8;3380:9;3376:24;3366:34;;3438:7;3431:4;3427:2;3423:13;3419:27;3409:55;;3460:1;3457;3450:12;3409:55;3500:2;3487:16;3526:2;3518:6;3515:14;3512:34;;;3542:1;3539;3532:12;3512:34;3587:7;3582:2;3573:6;3569:2;3565:15;3561:24;3558:37;3555:57;;;3608:1;3605;3598:12;3555:57;3639:2;3635;3631:11;3621:21;;3661:6;3651:16;;;;;2422:1251;;;;;;;;;;;:::o;3953:423::-;3995:3;4033:5;4027:12;4060:6;4055:3;4048:19;4085:1;4095:162;4109:6;4106:1;4103:13;4095:162;;;4171:4;4227:13;;;4223:22;;4217:29;4199:11;;;4195:20;;4188:59;4124:12;4095:162;;;4099:3;4302:1;4295:4;4286:6;4281:3;4277:16;4273:27;4266:38;4365:4;4358:2;4354:7;4349:2;4341:6;4337:15;4333:29;4328:3;4324:39;4320:50;4313:57;;;3953:423;;;;:::o;5059:127::-;5120:10;5115:3;5111:20;5108:1;5101:31;5151:4;5148:1;5141:15;5175:4;5172:1;5165:15;5191:143;5275:1;5268:5;5265:12;5255:46;;5281:18;;:::i;:::-;5310;;5191:143::o;5339:1834::-;5404:47;5447:3;5439:5;5433:12;5404:47;:::i;:::-;5497:4;5490:5;5486:16;5480:23;5512:58;5564:4;5559:3;5555:14;5541:12;5512:58;:::i;:::-;;5618:4;5611:5;5607:16;5601:23;5633:60;5687:4;5682:3;5678:14;5662;5633:60;:::i;:::-;;5741:4;5734:5;5730:16;5724:23;5756:60;5810:4;5805:3;5801:14;5785;5756:60;:::i;:::-;;5864:4;5857:5;5853:16;5847:23;5879:60;5933:4;5928:3;5924:14;5908;5879:60;:::i;:::-;;5987:4;5980:5;5976:16;5970:23;6002:60;6056:4;6051:3;6047:14;6031;6002:60;:::i;:::-;;6110:4;6103:5;6099:16;6093:23;6125:60;6179:4;6174:3;6170:14;6154;6125:60;:::i;:::-;;6233:4;6226:5;6222:16;6216:23;6248:49;6291:4;6286:3;6282:14;6266;4564:10;4553:22;4541:35;;4488:94;6248:49;;6316:6;6370:2;6363:5;6359:14;6353:21;6383:58;6437:2;6432:3;6428:12;6412:14;6383:58;:::i;:::-;;;6460:6;6514:2;6507:5;6503:14;6497:21;6527:58;6581:2;6576:3;6572:12;6556:14;6527:58;:::i;:::-;;;6604:6;6658:2;6651:5;6647:14;6641:21;6671:58;6725:2;6720:3;6716:12;6700:14;6671:58;:::i;:::-;;;6748:6;6803:2;6796:5;6792:14;6786:21;6816:59;6871:2;6866:3;6862:12;6845:15;6816:59;:::i;:::-;;;6894:6;6949:2;6942:5;6938:14;6932:21;6962:59;7017:2;7012:3;7008:12;6991:15;6962:59;:::i;:::-;;;7040:6;7095:2;7088:5;7084:14;7078:21;7108:59;7163:2;7158:3;7154:12;7137:15;7108:59;:::i;:::-;;;5339:1834;;:::o;7178:145::-;7264:1;7257:5;7254:12;7244:46;;7270:18;;:::i;7484:335::-;7587:5;7610:1;7620:193;7634:4;7631:1;7628:11;7620:193;;;7681:48;7725:3;7716:6;7710:13;7404:12;;7392:25;;7466:4;7455:16;;;7449:23;7433:14;;7426:47;7328:151;7681:48;7758:4;7749:14;;;;;7798:4;7786:17;;;;;7654:1;7647:9;7620:193;;7824:1627;7893:49;7938:3;7930:5;7924:12;7893:49;:::i;:::-;7961:4;8011:2;8004:5;8000:14;7994:21;8024:58;8078:2;8073:3;8069:12;8055;8024:58;:::i;:::-;-1:-1:-1;8101:4:66;8142:14;;;8136:21;8207;;8315:1;8176:12;;;8325:195;8339:4;8336:1;8333:11;8325:195;;;8386:50;8430:5;8421:6;8415:13;7404:12;;7392:25;;7466:4;7455:16;;;7449:23;7433:14;;7426:47;7328:151;8386:50;8495:15;;;;8359:1;8352:9;;;;;8458:14;;8325:195;;;-1:-1:-1;;;8557:23:66;;;8551:30;;8590:65;8650:3;8641:13;;8551:30;8590:65;:::i;:::-;8692:23;;;8686:30;7404:12;;8779:4;8770:14;;7392:25;7466:4;7455:16;;;7449:23;7433:14;;;7426:47;8842:4;8822:25;;8816:32;7404:12;;8911:4;8902:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;8974:4;8954:25;;8948:32;7404:12;;9043:4;9034:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;9106:4;9086:25;;9080:32;7404:12;;9175:4;9166:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;9238:4;9218:25;;9212:32;7404:12;;9307:4;9298:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;9370:4;9350:25;;;9344:32;7404:12;;9439:4;9430:14;;7392:25;7455:16;7449:23;7433:14;;;;7426:47;;;;-1:-1:-1;;7824:1627:66:o;9456:326::-;9549:5;9572:1;9582:194;9596:4;9593:1;9590:11;9582:194;;;9655:13;;9643:26;;9692:4;9716:12;;;;9751:15;;;;9616:1;9609:9;9582:194;;9787:1166;9895:12;;9842:3;;9870:6;;9929:3;9842;10006:200;10020:4;10017:1;10014:11;10006:200;;;10081:13;;10067:28;;10118:4;10181:15;;;;10144:14;;;;10040:1;10033:9;10006:200;;;10010:3;;;10252:4;10245:5;10241:16;10235:23;10267:65;10324:6;10319:3;10315:16;10301:12;10267:65;:::i;:::-;-1:-1:-1;10380:4:66;10369:16;;10363:23;4564:10;4553:22;10438:6;10429:16;;4541:35;10494:4;10483:16;;10477:23;10509:58;10559:6;10550:16;;10477:23;10509:58;:::i;:::-;-1:-1:-1;10615:4:66;10604:16;;10598:23;4564:10;4553:22;10673:6;10664:16;;4541:35;10729:4;10718:16;;10712:23;3748:13;3741:21;10785:6;10776:16;;3729:34;10841:4;10830:16;;10824:23;10872:6;10863:16;;10856:28;;;10900:47;10934:12;;;10824:23;10900:47;:::i;:::-;10893:54;9787:1166;-1:-1:-1;;;;;9787:1166:66:o;10958:1526::-;11139:2;11121:21;;;11187:13;;3857:12;;11202:18;;;3845:25;3922:16;3916:23;3909:31;3902:39;3886:14;;;3879:63;11275:2;11267:6;11263:15;11257:22;11252:2;11241:9;11237:18;11230:50;11102:4;11327;11319:6;11315:17;11309:24;11352:6;11395:2;11389:3;11378:9;11374:19;11367:31;11421:52;11468:3;11457:9;11453:19;11439:12;11421:52;:::i;:::-;11407:66;;11522:2;11514:6;11510:15;11504:22;11535:54;11584:3;11573:9;11569:19;11553:14;-1:-1:-1;;;;;4446:30:66;4434:43;;4381:102;11535:54;-1:-1:-1;11638:3:66;11626:16;;11620:23;4564:10;4553:22;;11701:3;11686:19;;4541:35;11652:54;11761:3;11753:6;11749:16;11743:23;11737:3;11726:9;11722:19;11715:52;11816:3;11808:6;11804:16;11798:23;11840:3;11852:71;11919:2;11908:9;11904:18;11888:14;3857:12;;3845:25;;3933:4;3922:16;;;3916:23;3909:31;3902:39;3886:14;;3879:63;3774:174;11852:71;11960:3;11948:16;;11942:23;11984:3;12003:18;;;11996:30;;;;12063:15;;;12057:22;4700:12;;-1:-1:-1;;;;;4696:21:66;;;12144:3;12129:19;;4684:34;4764:4;4753:16;;4747:23;4789:10;4831:21;;;4815:14;;;4808:45;4906:4;4895:16;;4889:23;4885:32;;4869:14;;;4862:56;4971:4;4960:16;;4954:23;4950:32;4934:14;;;4927:56;5036:4;5025:16;;;5019:23;5015:32;4999:14;;;4992:56;12198:6;12186:19;;12180:26;;-1:-1:-1;12215:66:66;12276:3;12261:19;;12180:26;12215:66;:::i;:::-;12318:15;;12312:22;12374;;;-1:-1:-1;;12370:36:66;12350:18;;;12343:64;12312:22;-1:-1:-1;12424:54:66;;-1:-1:-1;12378:6:66;12312:22;12424:54;:::i;:::-;12416:62;10958:1526;-1:-1:-1;;;;;;10958:1526:66:o;12489:331::-;12594:9;12605;12647:8;12635:10;12632:24;12629:44;;;12669:1;12666;12659:12;12629:44;12698:6;12688:8;12685:20;12682:40;;;12718:1;12715;12708:12;12682:40;-1:-1:-1;;12744:23:66;;;12789:25;;;;;-1:-1:-1;12489:331:66:o;12825:271::-;13008:6;13000;12995:3;12982:33;12964:3;13034:16;;13059:13;;;13034:16;12825:271;-1:-1:-1;12825:271:66:o;13101:805::-;13407:4;13436:3;13466:6;13455:9;13448:25;13509:6;13504:2;13493:9;13489:18;13482:34;13552:6;13547:2;13536:9;13532:18;13525:34;13611:26;13607:31;13599:6;13595:44;13590:2;13579:9;13575:18;13568:72;13677:6;13671:3;13660:9;13656:19;13649:35;13721:2;13715:3;13704:9;13700:19;13693:31;13741:45;13782:2;13771:9;13767:18;13759:6;13741:45;:::i;:::-;13817:3;13802:19;;13795:35;;;;-1:-1:-1;;;;;;;13867:32:66;;;;13861:3;13846:19;;;13839:61;13733:53;13101:805;-1:-1:-1;;;;;;13101:805:66:o;13911:118::-;13997:5;13990:13;13983:21;13976:5;13973:32;13963:60;;14019:1;14016;14009:12;13963:60;13911:118;:::o;14034:245::-;14101:6;14154:2;14142:9;14133:7;14129:23;14125:32;14122:52;;;14170:1;14167;14160:12;14122:52;14202:9;14196:16;14221:28;14243:5;14221:28;:::i;:::-;14268:5;14034:245;-1:-1:-1;;;14034:245:66:o;14284:128::-;14349:20;;14378:28;14349:20;14378:28;:::i;:::-;14284:128;;;:::o;14417:357::-;14481:5;14529:4;14517:9;14512:3;14508:19;14504:30;14501:50;;;14547:1;14544;14537:12;14501:50;14569:17;;:::i;:::-;14560:26;;14622:9;14609:23;14602:5;14595:38;14685:2;14674:9;14670:18;14657:32;14698:30;14720:7;14698:30;:::i;:::-;14755:2;14744:14;;14737:31;14748:5;14417:357;-1:-1:-1;;14417:357:66:o;14779:171::-;14846:20;;-1:-1:-1;;;;;14895:30:66;;14885:41;;14875:69;;14940:1;14937;14930:12;14955:163;15022:20;;15082:10;15071:22;;15061:33;;15051:61;;15108:1;15105;15098:12;15123:696;15176:5;15224:4;15212:9;15207:3;15203:19;15199:30;15196:50;;;15242:1;15239;15232:12;15196:50;15275:2;15269:9;15317:4;15309:6;15305:17;15388:6;15376:10;15373:22;-1:-1:-1;;;;;15340:10:66;15337:34;15334:62;15331:88;;;15399:18;;:::i;:::-;15435:2;15428:22;15468:6;-1:-1:-1;15468:6:66;15498:28;15516:9;15498:28;:::i;:::-;15490:6;15483:44;15560:37;15593:2;15582:9;15578:18;15560:37;:::i;:::-;15555:2;15547:6;15543:15;15536:62;15631:37;15664:2;15653:9;15649:18;15631:37;:::i;:::-;15626:2;15618:6;15614:15;15607:62;15702:37;15735:2;15724:9;15720:18;15702:37;:::i;:::-;15697:2;15689:6;15685:15;15678:62;15774:38;15807:3;15796:9;15792:19;15774:38;:::i;:::-;15768:3;15760:6;15756:16;15749:64;;15123:696;;;;:::o;15824:153::-;15902:20;;15951:1;15941:12;;15931:40;;15967:1;15964;15957:12;15982:1421;16040:5;16088:6;16076:9;16071:3;16067:19;16063:32;16060:52;;;16108:1;16105;16098:12;16060:52;16130:22;;:::i;:::-;16121:31;;16175:39;16204:9;16175:39;:::i;:::-;16168:5;16161:54;16247:48;16291:2;16280:9;16276:18;16247:48;:::i;:::-;16242:2;16235:5;16231:14;16224:72;16328:48;16372:2;16361:9;16357:18;16328:48;:::i;:::-;16323:2;16316:5;16312:14;16305:72;16409:48;16453:2;16442:9;16438:18;16409:48;:::i;:::-;16404:2;16397:5;16393:14;16386:72;16491:49;16535:3;16524:9;16520:19;16491:49;:::i;:::-;16485:3;16478:5;16474:15;16467:74;16574:49;16618:3;16607:9;16603:19;16574:49;:::i;:::-;16568:3;16561:5;16557:15;16550:74;16657:49;16701:3;16690:9;16686:19;16657:49;:::i;:::-;16651:3;16644:5;16640:15;16633:74;16740:38;16773:3;16762:9;16758:19;16740:38;:::i;:::-;16734:3;16727:5;16723:15;16716:63;16798:3;16833:48;16877:2;16866:9;16862:18;16833:48;:::i;:::-;16817:14;;;16810:72;16901:3;16936:48;16965:18;;;16936:48;:::i;:::-;16920:14;;;16913:72;17004:3;17039:48;17068:18;;;17039:48;:::i;:::-;17023:14;;;17016:72;17107:3;17142:48;17171:18;;;17142:48;:::i;:::-;17126:14;;;17119:72;17210:3;17245:48;17274:18;;;17245:48;:::i;:::-;17229:14;;;17222:72;17313:3;17348:48;17377:18;;;17348:48;:::i;:::-;17332:14;;;17325:72;17336:5;15982:1421;-1:-1:-1;;15982:1421:66:o;17408:485::-;17458:5;17511:3;17504:4;17496:6;17492:17;17488:27;17478:55;;17529:1;17526;17519:12;17478:55;17553:22;;:::i;:::-;17597:3;17635;17627:6;17623:16;17662:3;17654:6;17651:15;17648:35;;;17679:1;17676;17669:12;17648:35;17703:6;17718:146;17734:6;17729:3;17726:15;17718:146;;;17802:17;;17790:30;;17849:4;17840:14;;;;17751;17718:146;;;-1:-1:-1;17882:5:66;;17408:485;-1:-1:-1;;;;;17408:485:66:o;17898:155::-;17978:20;;18027:1;18017:12;;18007:40;;18043:1;18040;18033:12;18058:280;18115:5;18163:4;18151:9;18146:3;18142:19;18138:30;18135:50;;;18181:1;18178;18171:12;18135:50;18203:17;;:::i;:::-;18194:26;;18256:9;18243:23;18236:5;18229:38;18327:2;18316:9;18312:18;18299:32;18294:2;18287:5;18283:14;18276:56;18058:280;;;;:::o;18343:516::-;18403:5;18456:3;18449:4;18441:6;18437:17;18433:27;18423:55;;18474:1;18471;18464:12;18423:55;18498:22;;:::i;:::-;18542:3;18580;18572:6;18568:16;18607:3;18599:6;18596:15;18593:35;;;18624:1;18621;18614:12;18593:35;18648:6;18663:167;18679:6;18674:3;18671:15;18663:167;;;18747:38;18781:3;18776;18747:38;:::i;:::-;18735:51;;18815:4;18806:14;;;;18705:4;18696:14;18663:167;;18864:720;18946:5;18999:3;18992:4;18984:6;18980:17;18976:27;18966:55;;19017:1;19014;19007:12;18966:55;19040:2;19071;19065:9;19113:3;19105:6;19101:16;19183:6;19171:10;19168:22;-1:-1:-1;;;;;19135:10:66;19132:34;19129:62;19126:88;;;19194:18;;:::i;:::-;19223:22;;19265:6;19306:3;19294:16;;19322:15;;;19319:35;;;19350:1;19347;19340:12;19319:35;19374:6;19389:165;19405:6;19400:3;19397:15;19389:165;;;19471:38;19505:3;19500;19471:38;:::i;:::-;19459:51;;19539:4;19530:14;;;;19422:12;;19389:165;;;-1:-1:-1;19572:6:66;;18864:720;-1:-1:-1;;;;;;18864:720:66:o;19589:1264::-;19651:5;19690:9;19685:3;19681:19;19720:6;19716:2;19712:15;19709:35;;;19740:1;19737;19730:12;19709:35;19762:22;;:::i;:::-;19753:31;;19807:41;19838:9;19807:41;:::i;:::-;19800:5;19793:56;19881:50;19927:2;19916:9;19912:18;19881:50;:::i;:::-;19876:2;19869:5;19865:14;19858:74;19951:6;19991:2;19985;19981:7;19977:2;19973:16;19969:25;19966:45;;;20007:1;20004;19997:12;19966:45;20035:22;;:::i;:::-;20020:37;;20082:59;20137:3;20132:2;20121:9;20117:18;20082:59;:::i;:::-;20073:7;20066:76;20176:82;20254:3;20248;20237:9;20233:19;20176:82;:::i;:::-;20171:2;20162:7;20158:16;20151:108;20293:55;20344:3;20337:4;20326:9;20322:20;20293:55;:::i;:::-;20288:2;20279:7;20275:16;20268:81;20385:55;20436:3;20429:4;20418:9;20414:20;20385:55;:::i;:::-;20378:4;20369:7;20365:18;20358:83;20477:55;20528:3;20521:4;20510:9;20506:20;20477:55;:::i;:::-;20470:4;20461:7;20457:18;20450:83;20569:55;20620:3;20613:4;20602:9;20598:20;20569:55;:::i;:::-;20562:4;20553:7;20549:18;20542:83;20661:55;20712:3;20705:4;20694:9;20690:20;20661:55;:::i;:::-;20654:4;20645:7;20641:18;20634:83;20753:53;20802:3;20797:2;20786:9;20782:18;20753:53;:::i;:::-;20746:4;20733:18;;20726:81;-1:-1:-1;20834:2:66;20823:14;;20816:31;20827:5;19589:1264;-1:-1:-1;;19589:1264:66:o;20858:659::-;20919:5;20972:3;20965:4;20957:6;20953:17;20949:27;20939:55;;20990:1;20987;20980:12;20939:55;21023:2;21017:9;21065:3;21057:6;21053:16;21135:6;21123:10;21120:22;-1:-1:-1;;;;;21087:10:66;21084:34;21081:62;21078:88;;;21146:18;;:::i;:::-;21182:2;21175:22;21217:6;21258:3;21246:16;;21274:15;;;21271:35;;;21302:1;21299;21292:12;21271:35;21326:6;21341:146;21357:6;21352:3;21349:15;21341:146;;;21425:17;;21413:30;;21472:4;21463:14;;;;21374;21341:146;;;-1:-1:-1;21505:6:66;;20858:659;-1:-1:-1;;;;;20858:659:66:o;21522:848::-;21581:5;21629:6;21617:9;21612:3;21608:19;21604:32;21601:52;;;21649:1;21646;21639:12;21601:52;21671:22;;:::i;:::-;21662:31;;21716:40;21752:3;21741:9;21716:40;:::i;:::-;21709:5;21702:55;21791:59;21846:3;21840;21829:9;21825:19;21791:59;:::i;:::-;21784:4;21777:5;21773:16;21766:85;21885:39;21918:4;21907:9;21903:20;21885:39;:::i;:::-;21878:4;21871:5;21867:16;21860:65;21959:62;22017:3;22010:4;21999:9;21995:20;21959:62;:::i;:::-;21952:4;21945:5;21941:16;21934:88;22056:39;22089:4;22078:9;22074:20;22056:39;:::i;:::-;22049:4;22042:5;22038:16;22031:65;22130:37;22161:4;22150:9;22146:20;22130:37;:::i;:::-;22123:4;22116:5;22112:16;22105:63;22219:4;22208:9;22204:20;22191:34;-1:-1:-1;;;;;22240:6:66;22237:30;22234:50;;;22280:1;22277;22270:12;22234:50;22318:45;22359:3;22350:6;22339:9;22335:22;22318:45;:::i;:::-;22311:4;22304:5;22300:16;22293:71;;21522:848;;;;:::o;22375:1498::-;22460:6;22513:2;22501:9;22492:7;22488:23;22484:32;22481:52;;;22529:1;22526;22519:12;22481:52;22569:9;22556:23;-1:-1:-1;;;;;22639:2:66;22631:6;22628:14;22625:34;;;22655:1;22652;22645:12;22625:34;22678:22;;;;22734:6;22716:16;;;22712:29;22709:49;;;22754:1;22751;22744:12;22709:49;22780:22;;:::i;:::-;22825:48;22865:7;22861:2;22825:48;:::i;:::-;22818:5;22811:63;22927:2;22923;22919:11;22906:25;22901:2;22894:5;22890:14;22883:49;22978:2;22974;22970:11;22957:25;23007:2;22997:8;22994:16;22991:36;;;23023:1;23020;23013:12;22991:36;23059:44;23095:7;23084:8;23080:2;23076:17;23059:44;:::i;:::-;23054:2;23047:5;23043:14;23036:68;;23136:31;23162:3;23158:2;23154:12;23136:31;:::i;:::-;23131:2;23124:5;23120:14;23113:55;23201:31;23227:3;23223:2;23219:12;23201:31;:::i;:::-;23195:3;23188:5;23184:15;23177:56;23287:3;23283:2;23279:12;23266:26;23260:3;23253:5;23249:15;23242:51;23326:58;23376:7;23370:3;23366:2;23362:12;23326:58;:::i;:::-;23320:3;23313:5;23309:15;23302:83;23404:3;23461:2;23457;23453:11;23440:25;23434:3;23427:5;23423:15;23416:50;23485:3;23524:46;23562:7;23557:2;23553;23549:11;23524:46;:::i;:::-;23515:6;23508:5;23504:18;23497:74;23603:52;23647:7;23641:3;23637:2;23633:12;23603:52;:::i;:::-;23598:2;23591:5;23587:14;23580:76;23702:3;23698:2;23694:12;23681:26;23665:42;;23732:2;23722:8;23719:16;23716:36;;;23748:1;23745;23738:12;23716:36;23784:58;23834:7;23823:8;23819:2;23815:17;23784:58;:::i;:::-;23768:14;;;23761:82;-1:-1:-1;23772:5:66;22375:1498;-1:-1:-1;;;;;22375:1498:66:o","linkReferences":{}},"methodIdentifiers":{"validateAccount(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"f4c7c1fa"},"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\":\"AccountIsNotVerified\",\"type\":\"error\"},{\"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\"}],\"name\":\"validateAccount\",\"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\":\"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc\",\"dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q\"]}},\"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":"AccountIsNotVerified"},{"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"}],"stateMutability":"view","type":"function","name":"validateAccount","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":"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385","urls":["bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc","dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q"],"license":"UNLICENSED"}},"version":1},"id":63} \ No newline at end of file diff --git a/core/abi/MinaBridge.json b/core/abi/MinaBridge.json index cdb8e503..85555d4f 100644 --- a/core/abi/MinaBridge.json +++ b/core/abi/MinaBridge.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":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516106bf3803806106bf83398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d2565b0155506100e89050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b6000828210156100cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b6105c8806100f76000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fb565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046103d0565b610160565b005b6100956102cd565b610095601081565b6100d06102dc565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dc565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261047f565b60108110610159576101596104a4565b0154905090565b602081015160006101736001601061047f565b60108110610183576101836104a4565b015481146101d25780600061019a6001601061047f565b601081106101aa576101aa6104a4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061021b908d9086908e908e908e908e908e908b906004016104ba565b602060405180830381865afa158015610238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025c9190610569565b905080156102a85760006010604086016102408701835b601081101561029e578251855581518455600194850194938401936020938401939092019101610273565b50505050506102c1565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061047f565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610324578151835260209283019290910190600101610305565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035457600080fd5b813567ffffffffffffffff8082111561036f5761036f61032d565b604051601f8301601f19908116603f011681019082821181831017156103975761039761032d565b816040528381528660208588010111156103b057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156103eb57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff198116811461041657600080fd5b945060608801359350608088013567ffffffffffffffff8082111561043a57600080fd5b6104468b838c01610343565b945060a08a0135935060c08a013591508082111561046357600080fd5b506104708a828b01610343565b91505092959891949750929550565b60008282101561049f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561051b578783018201518584016101200152918101916104fc565b8083111561052e57600061012082870101525b60c08501879052601f01601f1916840161012001925061055c91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561057b57600080fd5b8151801515811461058b57600080fd5b939250505056fea26469706673582212204bd1909bc5c2ac4b1bb74ffdd3e632e2d0b7e8c206e9b9db21cfba8cc7997ed964736f6c634300080c0033","sourceMap":"345:4056:65:-:0;;;1053:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1135:7;:57;;-1:-1:-1;;;;;;1135:57:65;-1:-1:-1;;;;;1135:57:65;;;;;1257:13;-1:-1:-1;1219:34:65;-1:-1:-1;548:2:65;1219:34;:::i;:::-;1202:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;345:4056:65;;-1:-1:-1;345:4056:65;14:359:67;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:67;;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:67:o;378:222::-;418:4;446:1;443;440:8;437:131;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;437:131;-1:-1:-1;585:9:67;;378:222::o;605:127::-;666:10;661:3;657:20;654:1;647:31;697:4;694:1;687:15;721:4;718:1;711:15;605:127;345:4056:65;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fb565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046103d0565b610160565b005b6100956102cd565b610095601081565b6100d06102dc565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dc565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261047f565b60108110610159576101596104a4565b0154905090565b602081015160006101736001601061047f565b60108110610183576101836104a4565b015481146101d25780600061019a6001601061047f565b601081106101aa576101aa6104a4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061021b908d9086908e908e908e908e908e908b906004016104ba565b602060405180830381865afa158015610238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025c9190610569565b905080156102a85760006010604086016102408701835b601081101561029e578251855581518455600194850194938401936020938401939092019101610273565b50505050506102c1565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061047f565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610324578151835260209283019290910190600101610305565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035457600080fd5b813567ffffffffffffffff8082111561036f5761036f61032d565b604051601f8301601f19908116603f011681019082821181831017156103975761039761032d565b816040528381528660208588010111156103b057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156103eb57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff198116811461041657600080fd5b945060608801359350608088013567ffffffffffffffff8082111561043a57600080fd5b6104468b838c01610343565b945060a08a0135935060c08a013591508082111561046357600080fd5b506104708a828b01610343565b91505092959891949750929550565b60008282101561049f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561051b578783018201518584016101200152918101916104fc565b8083111561052e57600061012082870101525b60c08501879052601f01601f1916840161012001925061055c91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561057b57600080fd5b8151801515811461058b57600080fd5b939250505056fea26469706673582212204bd1909bc5c2ac4b1bb74ffdd3e632e2d0b7e8c206e9b9db21cfba8cc7997ed964736f6c634300080c0033","sourceMap":"345:4056:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1953:144;;;:::i;1533:137::-;;;:::i;:::-;;;662:25:67;;;650:2;635:18;1533:137:65;516:177:67;2103:2296:65;;;;;;:::i;:::-;;:::i;:::-;;1337:135;;;:::i;491:59::-;;548:2;491:59;;1740:142;1794:46;;:::i;:::-;1852:23;;;;;;;;;;;-1:-1:-1;;1852:23:65;;-1:-1:-1;1852:23:65;;;;;;;;;;;;;;;;;;;;;;;;1740:142;:::o;1953:144::-;2008:46;;:::i;:::-;2066:24;;;;;;;;;;2073:17;2066:24;;;;;;2073:17;;2066:24;;;;;;;;;;;;;;;;1953:144;:::o;1533:137::-;1584:7;1610:17;1628:34;1661:1;1610:17;1628:34;:::i;:::-;1610:53;;;;;;;:::i;:::-;;;1603:60;;1533:137;:::o;2103:2296::-;2525:4;2511:19;;2505:26;2408:34;2602;2635:1;548:2;2602:34;:::i;:::-;2585:52;;;;;;;:::i;:::-;;;2555:26;:82;2551:217;;2676:26;2704:16;2721:34;2754:1;548:2;2721:34;:::i;:::-;2704:52;;;;;;;:::i;:::-;;;2660:97;;-1:-1:-1;;;2660:97:65;;;;;3274:25:67;;;;3315:18;;;3308:34;3247:18;;2660:97:65;;;;;;;2551:217;2807:19;;;;;;;;;;2863:7;;:293;;-1:-1:-1;;;2863:293:65;;2778:26;;-1:-1:-1;;;;;2863:7:65;;:28;;:293;;2905:15;;2807:19;;2966:30;;3010:18;;3042:15;;3071:11;;3096:26;;2778;;2863:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2837:319;;3171:18;3167:1226;;;3309:21;3367:22;3657:2;3643:17;;3792:57;;;3309:21;3867:444;3892:30;3889:1;3886:37;3867:444;;;3985:18;;3965:39;;4158:19;;4137:41;;4113:1;4096:19;;;;4273:20;;;;4057:2;4040:20;;;;4215:21;;;;3931:9;3867:444;;;3871:14;;;;;3167:1226;;;4362:20;;-1:-1:-1;;;4362:20:65;;;;;;;;;;;3167:1226;2398:2001;;;2103:2296;;;;;;;:::o;1337:135::-;1387:7;;1430:34;1463:1;548:2;1430:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:67:-;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;698:127::-;759:10;754:3;750:20;747:1;740:31;790:4;787:1;780:15;814:4;811:1;804:15;830:718;872:5;925:3;918:4;910:6;906:17;902:27;892:55;;943:1;940;933:12;892:55;979:6;966:20;1005:18;1042:2;1038;1035:10;1032:36;;;1048:18;;:::i;:::-;1123:2;1117:9;1091:2;1177:13;;-1:-1:-1;;1173:22:67;;;1197:2;1169:31;1165:40;1153:53;;;1221:18;;;1241:22;;;1218:46;1215:72;;;1267:18;;:::i;:::-;1307:10;1303:2;1296:22;1342:2;1334:6;1327:18;1388:3;1381:4;1376:2;1368:6;1364:15;1360:26;1357:35;1354:55;;;1405:1;1402;1395:12;1354:55;1469:2;1462:4;1454:6;1450:17;1443:4;1435:6;1431:17;1418:54;1516:1;1509:4;1504:2;1496:6;1492:15;1488:26;1481:37;1536:6;1527:15;;;;;;830:718;;;;:::o;1553:1001::-;1684:6;1692;1700;1708;1716;1724;1732;1785:3;1773:9;1764:7;1760:23;1756:33;1753:53;;;1802:1;1799;1792:12;1753:53;1825:23;;;-1:-1:-1;1895:2:67;1880:18;;1867:32;;-1:-1:-1;1949:2:67;1934:18;;1921:32;-1:-1:-1;;1982:43:67;;1972:54;;1962:82;;2040:1;2037;2030:12;1962:82;2063:5;-1:-1:-1;2115:2:67;2100:18;;2087:32;;-1:-1:-1;2170:3:67;2155:19;;2142:33;2194:18;2224:14;;;2221:34;;;2251:1;2248;2241:12;2221:34;2274:49;2315:7;2306:6;2295:9;2291:22;2274:49;:::i;:::-;2264:59;;2370:3;2359:9;2355:19;2342:33;2332:43;;2428:3;2417:9;2413:19;2400:33;2384:49;;2458:2;2448:8;2445:16;2442:36;;;2474:1;2471;2464:12;2442:36;;2497:51;2540:7;2529:8;2518:9;2514:24;2497:51;:::i;:::-;2487:61;;;1553:1001;;;;;;;;;;:::o;2741:222::-;2781:4;2809:1;2806;2803:8;2800:131;;;2853:10;2848:3;2844:20;2841:1;2834:31;2888:4;2885:1;2878:15;2916:4;2913:1;2906:15;2800:131;-1:-1:-1;2948:9:67;;2741:222::o;2968:127::-;3029:10;3024:3;3020:20;3017:1;3010:31;3060:4;3057:1;3050:15;3084:4;3081:1;3074:15;3462:1171;3768:4;3797:3;3827:6;3816:9;3809:25;3853:2;3891:6;3886:2;3875:9;3871:18;3864:34;3934:6;3929:2;3918:9;3914:18;3907:34;3993:26;3989:31;3981:6;3977:44;3972:2;3961:9;3957:18;3950:72;4059:6;4053:3;4042:9;4038:19;4031:35;4103:2;4097:3;4086:9;4082:19;4075:31;4135:6;4129:13;4178:6;4173:2;4162:9;4158:18;4151:34;4203:1;4194:10;;4213:141;4227:6;4224:1;4221:13;4213:141;;;4323:14;;;4319:23;;4313:30;4288:17;;;4307:3;4284:27;4277:67;4242:10;;;;4213:141;;;4372:6;4369:1;4366:13;4363:92;;;4443:1;4437:3;4428:6;4417:9;4413:22;4409:32;4402:43;4363:92;4558:3;4543:19;;4536:35;;;4516:2;4495:15;-1:-1:-1;;4491:29:67;4476:45;;4523:3;4472:55;;-1:-1:-1;4580:47:67;;-1:-1:-1;;4622:3:67;4607:19;;4599:6;-1:-1:-1;;;;;3419:31:67;3407:44;;3353:104;4580:47;3462:1171;;;;;;;;;;;:::o;4638:277::-;4705:6;4758:2;4746:9;4737:7;4733:23;4729:32;4726:52;;;4774:1;4771;4764:12;4726:52;4806:9;4800:16;4859:5;4852:13;4845:21;4838:5;4835:32;4825:60;;4881:1;4878;4871:12;4825:60;4904:5;4638:277;-1:-1:-1;;;4638:277:67:o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"evmVersion\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0xb337a4c05daea96d77a83d15c585fc26e50069f2738fc126ce1a6d3a5e3be103\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://34f01073396bf26f5ab1101298988d2aaf9821ee24915ebec53d2df00ee17a14\",\"dweb:/ipfs/QmbS6UVTDV91UZierYjf1yWGca5tqwg1BbKmCj2zs6pS5u\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"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"}],"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."}},"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/MinaBridge.sol":"MinaBridge"},"evmVersion":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaBridge.sol":{"keccak256":"0xb337a4c05daea96d77a83d15c585fc26e50069f2738fc126ce1a6d3a5e3be103","urls":["bzz-raw://34f01073396bf26f5ab1101298988d2aaf9821ee24915ebec53d2df00ee17a14","dweb:/ipfs/QmbS6UVTDV91UZierYjf1yWGca5tqwg1BbKmCj2zs6pS5u"],"license":"UNLICENSED"}},"version":1},"id":65} \ No newline at end of file +{"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":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516107b13803806107b183398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d4565b0155506100ea9050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b818103818111156100ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6106b8806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906103d8565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046104ad565b610160565b005b61009561033f565b610095601081565b6100d06103b9565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6103b9565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261055c565b6010811061015957610159610583565b0154905090565b602081015160006101736001601061055c565b6010811061018357610183610583565b01548114610206576101bf604051806040016040528060138152602001725469702073746174652069732077726f6e672160681b81525061034e565b8060006101ce6001601061055c565b601081106101de576101de610583565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061024f908d9086908e908e908e908e908e908b906004016105df565b602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610646565b905080156102dc5760006010604086016102408701835b60108110156102d25782518555815184556001948501949384019360209384019390920191016102a7565b5050505050610333565b61031a6040518060400160405280601781526020017f4e6577207374617465206973206e6f742076616c69642100000000000000000081525061034e565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061055c565b61039181604051602401610362919061066f565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610394565b50565b6103918180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156104015781518352602092830192909101906001016103e2565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261043157600080fd5b813567ffffffffffffffff8082111561044c5761044c61040a565b604051601f8301601f19908116603f011681019082821181831017156104745761047461040a565b8160405283815286602085880101111561048d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156104c857600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104f357600080fd5b945060608801359350608088013567ffffffffffffffff8082111561051757600080fd5b6105238b838c01610420565b945060a08a0135935060c08a013591508082111561054057600080fd5b5061054d8a828b01610420565b91505092959891949750929550565b8181038181111561057d57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b818110156105bf576020818501810151868301820152016105a3565b506000602082860101526020601f19601f83011685010191505092915050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a084015261062081840187610599565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b60006020828403121561065857600080fd5b8151801515811461066857600080fd5b9392505050565b602081526000610668602083018461059956fea26469706673582212205bb6a46b17433a4b6f64ef627c5cf25128999085ed8ed7b2dda79f31a0e081ec64736f6c63430008150033","sourceMap":"393:4156:63:-:0;;;1101:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1183:7;:57;;-1:-1:-1;;;;;;1183:57:63;-1:-1:-1;;;;;1183:57:63;;;;;1305:13;-1:-1:-1;1267:34:63;-1:-1:-1;596:2:63;1267:34;:::i;:::-;1250:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;393:4156:63;;-1:-1:-1;393:4156:63;14:359:65;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:65;;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:65: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;393:4156:63;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906103d8565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046104ad565b610160565b005b61009561033f565b610095601081565b6100d06103b9565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6103b9565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261055c565b6010811061015957610159610583565b0154905090565b602081015160006101736001601061055c565b6010811061018357610183610583565b01548114610206576101bf604051806040016040528060138152602001725469702073746174652069732077726f6e672160681b81525061034e565b8060006101ce6001601061055c565b601081106101de576101de610583565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061024f908d9086908e908e908e908e908e908b906004016105df565b602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610646565b905080156102dc5760006010604086016102408701835b60108110156102d25782518555815184556001948501949384019360209384019390920191016102a7565b5050505050610333565b61031a6040518060400160405280601781526020017f4e6577207374617465206973206e6f742076616c69642100000000000000000081525061034e565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061055c565b61039181604051602401610362919061066f565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610394565b50565b6103918180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156104015781518352602092830192909101906001016103e2565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261043157600080fd5b813567ffffffffffffffff8082111561044c5761044c61040a565b604051601f8301601f19908116603f011681019082821181831017156104745761047461040a565b8160405283815286602085880101111561048d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156104c857600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104f357600080fd5b945060608801359350608088013567ffffffffffffffff8082111561051757600080fd5b6105238b838c01610420565b945060a08a0135935060c08a013591508082111561054057600080fd5b5061054d8a828b01610420565b91505092959891949750929550565b8181038181111561057d57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b818110156105bf576020818501810151868301820152016105a3565b506000602082860101526020601f19601f83011685010191505092915050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a084015261062081840187610599565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b60006020828403121561065857600080fd5b8151801515811461066857600080fd5b9392505050565b602081526000610668602083018461059956fea26469706673582212205bb6a46b17433a4b6f64ef627c5cf25128999085ed8ed7b2dda79f31a0e081ec64736f6c63430008150033","sourceMap":"393:4156:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2001:144;;;:::i;1581:137::-;;;:::i;:::-;;;662:25:65;;;650:2;635:18;1581:137:63;516:177:65;2151:2396:63;;;;;;:::i;:::-;;:::i;:::-;;1385:135;;;:::i;539:59::-;;596:2;539:59;;1788:142;1842:46;;:::i;:::-;1900:23;;;;;;;;;;;-1:-1:-1;;1900:23:63;;-1:-1:-1;1900:23:63;;;;;;;;;;;;;;;;;;;;;;;;1788:142;:::o;2001:144::-;2056:46;;:::i;:::-;2114:24;;;;;;;;;;2121:17;2114:24;;;;;;2121:17;;2114:24;;;;;;;;;;;;;;;;2001:144;:::o;1581:137::-;1632:7;1658:17;1676:34;1709:1;1658:17;1676:34;:::i;:::-;1658:53;;;;;;;:::i;:::-;;;1651:60;;1581:137;:::o;2151:2396::-;2573:4;2559:19;;2553:26;2456:34;2650;2683:1;596:2;2650:34;:::i;:::-;2633:52;;;;;;;:::i;:::-;;;2603:26;:82;2599:265;;2701:34;;;;;;;;;;;;;;-1:-1:-1;;;2701:34:63;;;:11;:34::i;:::-;2772:26;2800:16;2817:34;2850:1;596:2;2817:34;:::i;:::-;2800:52;;;;;;;:::i;:::-;;;2756:97;;-1:-1:-1;;;2756:97:63;;;;;3277:25:65;;;;3318:18;;;3311:34;3250:18;;2756:97:63;;;;;;;2599:265;2903:19;;;;;;;;;;2959:7;;:293;;-1:-1:-1;;;2959:293:63;;2874:26;;-1:-1:-1;;;;;2959:7:63;;:28;;:293;;3001:15;;2903:19;;3062:30;;3106:18;;3138:15;;3167:11;;3192:26;;2874;;2959:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2933:319;;3267:18;3263:1278;;;3405:21;3463:22;3753:2;3739:17;;3888:57;;;3405:21;3963:444;3988:30;3985:1;3982:37;3963:444;;;4081:18;;4061:39;;4254:19;;4233:41;;4209:1;4192:19;;;;4369:20;;;;4153:2;4136:20;;;;4311:21;;;;4027:9;3963:444;;;3967:14;;;;;3263:1278;;;4451:38;;;;;;;;;;;;;;;;;;:11;:38::i;:::-;4510:20;;-1:-1:-1;;;4510:20:63;;;;;;;;;;;3263:1278;2446:2101;;;2151:2396;;;;;;;:::o;1385:135::-;1435:7;;1478:34;1511:1;596:2;1478:34;:::i;6114:121:53:-;6169:59;6224:2;6185:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6185:42:53;;;;;;;;;;;;;;-1:-1:-1;;;;;6185:42:53;-1:-1:-1;;;6185:42:53;;;6169:15;:59::i;:::-;6114:121;:::o;408:133::-;479:55;526:7;645:14;;131:42;818:2;805:16;;621:21;;645:14;805:16;131:42;854:5;843:68;834:77;;771:150;;547:380;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:65:-;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;698:127::-;759:10;754:3;750:20;747:1;740:31;790:4;787:1;780:15;814:4;811:1;804:15;830:718;872:5;925:3;918:4;910:6;906:17;902:27;892:55;;943:1;940;933:12;892:55;979:6;966:20;1005:18;1042:2;1038;1035:10;1032:36;;;1048:18;;:::i;:::-;1123:2;1117:9;1091:2;1177:13;;-1:-1:-1;;1173:22:65;;;1197:2;1169:31;1165:40;1153:53;;;1221:18;;;1241:22;;;1218:46;1215:72;;;1267:18;;:::i;:::-;1307:10;1303:2;1296:22;1342:2;1334:6;1327:18;1388:3;1381:4;1376:2;1368:6;1364:15;1360:26;1357:35;1354:55;;;1405:1;1402;1395:12;1354:55;1469:2;1462:4;1454:6;1450:17;1443:4;1435:6;1431:17;1418:54;1516:1;1509:4;1504:2;1496:6;1492:15;1488:26;1481:37;1536:6;1527:15;;;;;;830:718;;;;:::o;1553:1001::-;1684:6;1692;1700;1708;1716;1724;1732;1785:3;1773:9;1764:7;1760:23;1756:33;1753:53;;;1802:1;1799;1792:12;1753:53;1825:23;;;-1:-1:-1;1895:2:65;1880:18;;1867:32;;-1:-1:-1;1949:2:65;1934:18;;1921:32;-1:-1:-1;;1982:43:65;;1972:54;;1962:82;;2040:1;2037;2030:12;1962:82;2063:5;-1:-1:-1;2115:2:65;2100:18;;2087:32;;-1:-1:-1;2170:3:65;2155:19;;2142:33;2194:18;2224:14;;;2221:34;;;2251:1;2248;2241:12;2221:34;2274:49;2315:7;2306:6;2295:9;2291:22;2274:49;:::i;:::-;2264:59;;2370:3;2359:9;2355:19;2342:33;2332:43;;2428:3;2417:9;2413:19;2400:33;2384:49;;2458:2;2448:8;2445:16;2442:36;;;2474:1;2471;2464:12;2442:36;;2497:51;2540:7;2529:8;2518:9;2514:24;2497:51;:::i;:::-;2487:61;;;1553:1001;;;;;;;;;;:::o;2741:225::-;2808:9;;;2829:11;;;2826:134;;;2882:10;2877:3;2873:20;2870:1;2863:31;2917:4;2914:1;2907:15;2945:4;2942:1;2935:15;2826:134;2741:225;;;;:::o;2971:127::-;3032:10;3027:3;3023:20;3020:1;3013:31;3063:4;3060:1;3053:15;3087:4;3084:1;3077:15;3356:422;3397:3;3435:5;3429:12;3462:6;3457:3;3450:19;3487:1;3497:162;3511:6;3508:1;3505:13;3497:162;;;3573:4;3629:13;;;3625:22;;3619:29;3601:11;;;3597:20;;3590:59;3526:12;3497:162;;;3501:3;3704:1;3697:4;3688:6;3683:3;3679:16;3675:27;3668:38;3767:4;3760:2;3756:7;3751:2;3743:6;3739:15;3735:29;3730:3;3726:39;3722:50;3715:57;;;3356:422;;;;:::o;3783:804::-;4089:4;4118:3;4148:6;4137:9;4130:25;4191:6;4186:2;4175:9;4171:18;4164:34;4234:6;4229:2;4218:9;4214:18;4207:34;4293:26;4289:31;4281:6;4277:44;4272:2;4261:9;4257:18;4250:72;4359:6;4353:3;4342:9;4338:19;4331:35;4403:2;4397:3;4386:9;4382:19;4375:31;4423:44;4463:2;4452:9;4448:18;4440:6;4423:44;:::i;:::-;4498:3;4483:19;;4476:35;;;;-1:-1:-1;;;;;;;4548:32:65;;;;4542:3;4527:19;;;4520:61;4415:52;3783:804;-1:-1:-1;;;;;;3783:804:65:o;4592:277::-;4659:6;4712:2;4700:9;4691:7;4687:23;4683:32;4680:52;;;4728:1;4725;4718:12;4680:52;4760:9;4754:16;4813:5;4806:13;4799:21;4792:5;4789:32;4779:60;;4835:1;4832;4825:12;4779:60;4858:5;4592:277;-1:-1:-1;;;4592:277:65:o;4874:219::-;5023:2;5012:9;5005:21;4986:4;5043:44;5083:2;5072:9;5068:18;5060:6;5043:44;:::i","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"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\":\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"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\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0x896d7fa721b21ef44fcbbe3fcbc9a8f40ff3c9f7616c0cc5975747a30f6aeebd\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://d3deb947dfcd65d27e7ebebcf744400d11162afc12b4f57fbff9119aee95b1ad\",\"dweb:/ipfs/QmRMcUwUZBfaDvoCeknpL9DhT2Qow9tbcC2WWEVcfwbsgh\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"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":"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"}],"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."}},"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/MinaBridge.sol":"MinaBridge"},"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"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaBridge.sol":{"keccak256":"0x896d7fa721b21ef44fcbbe3fcbc9a8f40ff3c9f7616c0cc5975747a30f6aeebd","urls":["bzz-raw://d3deb947dfcd65d27e7ebebcf744400d11162afc12b4f57fbff9119aee95b1ad","dweb:/ipfs/QmRMcUwUZBfaDvoCeknpL9DhT2Qow9tbcC2WWEVcfwbsgh"],"license":"UNLICENSED"}},"version":1},"id":63} \ No newline at end of file diff --git a/core/src/aligned_polling_service.rs b/core/src/aligned_polling_service.rs index 9c366161..f8aa7ae9 100644 --- a/core/src/aligned_polling_service.rs +++ b/core/src/aligned_polling_service.rs @@ -109,11 +109,15 @@ async fn submit_with_nonce( nonce: U256, payment_service_addr: &str, ) -> Result { + // Temporary max fee. We should consider calculating this or setting it as an env var. + let fixed_max_fee = U256::from_dec_str("1300000000000000").map_err(|err| err.to_string())?; + submit_and_wait_verification( batcher_addr, eth_rpc_url, chain.to_owned(), mina_proof, + fixed_max_fee, wallet, nonce, payment_service_addr, From fd62b01096e1eaf4a301e877344afea148345e27 Mon Sep 17 00:00:00 2001 From: gabrielbosio Date: Fri, 20 Sep 2024 11:27:16 -0300 Subject: [PATCH 25/48] Update Aligned to 0.7.0 --- contract/lib/aligned_layer | 2 +- contract/src/MinaAccountValidation.sol | 39 ++++++++++++++------------ contract_deployer/Cargo.lock | 2 +- contract_deployer/Cargo.toml | 2 +- core/Cargo.lock | 2 +- core/Cargo.toml | 2 +- core/abi/MinaAccountValidation.json | 2 +- core/abi/MinaBridge.json | 2 +- core/src/main.rs | 2 ++ core/src/smart_contract_utility.rs | 20 ++++++++++--- 10 files changed, 46 insertions(+), 29 deletions(-) diff --git a/contract/lib/aligned_layer b/contract/lib/aligned_layer index 73fb1ad2..7853f734 160000 --- a/contract/lib/aligned_layer +++ b/contract/lib/aligned_layer @@ -1 +1 @@ -Subproject commit 73fb1ad290f8855fb7b9b86360c65396f5f5ec31 +Subproject commit 7853f734afdacc51750728cb838d0a35599d7245 diff --git a/contract/src/MinaAccountValidation.sol b/contract/src/MinaAccountValidation.sol index 75f54e40..c3de9c73 100644 --- a/contract/src/MinaAccountValidation.sol +++ b/contract/src/MinaAccountValidation.sol @@ -6,6 +6,17 @@ import "aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol"; error AccountIsNotVerified(); contract MinaAccountValidation { + struct AlignedArgs { + bytes32 proofCommitment; + bytes32 provingSystemAuxDataCommitment; + bytes20 proofGeneratorAddr; + bytes32 batchMerkleRoot; + bytes merkleProof; + uint256 verificationDataBatchIndex; + bytes pubInput; + address batcherPaymentService; + } + /// @notice Reference to the AlignedLayerServiceManager contract. AlignedLayerServiceManager aligned; @@ -13,28 +24,20 @@ contract MinaAccountValidation { aligned = AlignedLayerServiceManager(_alignedServiceAddr); } - function validateAccount( - bytes32 proofCommitment, - bytes32 provingSystemAuxDataCommitment, - bytes20 proofGeneratorAddr, - bytes32 batchMerkleRoot, - bytes memory merkleProof, - uint256 verificationDataBatchIndex, - bytes calldata pubInput - ) external view returns (Account memory) { - bytes calldata encodedAccount = pubInput[32 + 8:]; + function validateAccount(AlignedArgs calldata args) external view returns (Account memory) { + bytes calldata encodedAccount = args.pubInput[32 + 8:]; - bytes32 pubInputCommitment = keccak256(pubInput); + bytes32 pubInputCommitment = keccak256(args.pubInput); bool isAccountVerified = aligned.verifyBatchInclusion( - proofCommitment, + args.proofCommitment, pubInputCommitment, - provingSystemAuxDataCommitment, - proofGeneratorAddr, - batchMerkleRoot, - merkleProof, - verificationDataBatchIndex, - address(0) + args.provingSystemAuxDataCommitment, + args.proofGeneratorAddr, + args.batchMerkleRoot, + args.merkleProof, + args.verificationDataBatchIndex, + args.batcherPaymentService ); if (isAccountVerified) { diff --git a/contract_deployer/Cargo.lock b/contract_deployer/Cargo.lock index 38fbfb4c..fb476716 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#73fb1ad290f8855fb7b9b86360c65396f5f5ec31" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#7853f734afdacc51750728cb838d0a35599d7245" dependencies = [ "ciborium", "ethers", diff --git a/contract_deployer/Cargo.toml b/contract_deployer/Cargo.toml index 2a735447..777c466b 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" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } 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/core/Cargo.lock b/core/Cargo.lock index 519013cf..9fab1bfc 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#73fb1ad290f8855fb7b9b86360c65396f5f5ec31" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#7853f734afdacc51750728cb838d0a35599d7245" dependencies = [ "ciborium", "ethers", diff --git a/core/Cargo.toml b/core/Cargo.toml index e861c5ed..141e078e 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" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } ethers = { tag = "v2.0.15-fix-reconnections", features = [ "ws", "rustls", diff --git a/core/abi/MinaAccountValidation.json b/core/abi/MinaAccountValidation.json index f694aee5..a865cf9b 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":"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"}],"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516113ae3803806113ae83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61131b806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a26565b60405180910390f35b610061610167565b3660006100718460288188610b58565b9150915060008585604051610087929190610b82565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b92565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c0a565b9050801561014257610137838501856111c5565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b600581106106f9576106f96106d3565b9052565b6107088282516106e9565b602081015161071a60208401826106e9565b50604081015161072d60408401826106e9565b50606081015161074060608401826106e9565b50608081015161075360808401826106e9565b5060a081015161076660a08401826106e9565b5060c081015161077960c08401826106e9565b5060e081015161079160e084018263ffffffff169052565b50610100808201516107a5828501826106e9565b5050610120808201516107ba828501826106e9565b5050610140808201516107cf828501826106e9565b5050610160808201516107e4828501826106e9565b5050610180808201516107f9828501826106e9565b50506101a08082015161080e828501826106e9565b50505050565b600381106106f9576106f96106d3565b8060005b600f81101561080e5761084684835180518252602090810151910152565b6040939093019260209190910190600101610828565b610867828251610814565b60208082015161087982850182610814565b50604082810151805160008684015b60078210156108b8576108a681845180518252602090810151910152565b91850191600191909101908401610888565b50505091820151916108ce610200860184610824565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561080e578151845260209384019390910190600101610960565b80516000906109609084835b60088110156109aa57825182526020928301929091019060010161098b565b50505060208301516109c061010086018261085c565b50604083015163ffffffff1661084085015260608301516109e561086086018261095c565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a1d8286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a646103e085018361068d565b91506060850151610a8060a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610abd81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b326102008801846106fd565b870151868503601f1901848801529150610b4e9050838261097f565b9695505050505050565b60008085851115610b6857600080fd5b83861115610b7557600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bd38184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0757600080fd5b50565b600060208284031215610c1c57600080fd5b8151610c2781610bf9565b9392505050565b8035610c3981610bf9565b919050565b600060408284031215610c5057600080fd5b610c5861044b565b9050813581526020820135610c6c81610bf9565b602082015292915050565b80356001600160401b0381168114610c3957600080fd5b803563ffffffff81168114610c3957600080fd5b600060a08284031215610cb457600080fd5b60405160a081018181106001600160401b0382111715610cd657610cd6610435565b604052905080610ce583610c77565b8152610cf360208401610c8e565b6020820152610d0460408401610c77565b6040820152610d1560608401610c8e565b6060820152610d2660808401610c77565b60808201525092915050565b803560058110610c3957600080fd5b60006101c08284031215610d5457600080fd5b610d5c610473565b9050610d6782610d32565b8152610d7560208301610d32565b6020820152610d8660408301610d32565b6040820152610d9760608301610d32565b6060820152610da860808301610d32565b6080820152610db960a08301610d32565b60a0820152610dca60c08301610d32565b60c0820152610ddb60e08301610c8e565b60e0820152610100610dee818401610d32565b90820152610120610e00838201610d32565b90820152610140610e12838201610d32565b90820152610160610e24838201610d32565b90820152610180610e36838201610d32565b908201526101a0610e48838201610d32565b9082015292915050565b600082601f830112610e6357600080fd5b610e6b6104b8565b80610100840185811115610e7e57600080fd5b845b81811015610e98578035845260209384019301610e80565b509095945050505050565b803560038110610c3957600080fd5b600060408284031215610ec457600080fd5b610ecc61044b565b9050813581526020820135602082015292915050565b600082601f830112610ef357600080fd5b610efb6104db565b806101c0840185811115610f0e57600080fd5b845b81811015610e9857610f228782610eb2565b8452602090930192604001610f10565b600082601f830112610f4357600080fd5b604080516101e081018181106001600160401b0382111715610f6757610f67610435565b8252806103c0850186811115610f7c57600080fd5b855b81811015610f9f57610f908882610eb2565b83526020909201918401610f7e565b50919695505050505050565b6000818303610740811215610fbf57600080fd5b610fc7610496565b9150610fd283610ea3565b8252610fe060208401610ea3565b602083015261070080603f1983011215610ff957600080fd5b6110016104b8565b91506110108560408601610ee2565b8252611020856102008601610f32565b6020830152611033856105c08601610eb2565b6040830152611046856106008601610eb2565b6060830152611059856106408601610eb2565b608083015261106c856106808601610eb2565b60a083015261107f856106c08601610eb2565b60c083015261109085828601610eb2565b60e083015250604082015292915050565b600082601f8301126110b257600080fd5b60405160a081018181106001600160401b03821117156110d4576110d4610435565b6040528060a08401858111156110e957600080fd5b845b818110156111035780358352602092830192016110eb565b509195945050505050565b6000610960828403121561112157600080fd5b6111296104db565b90506111358383610e52565b8152611145836101008401610fab565b60208201526111576108408301610c8e565b604082015261116a8361086084016110a1565b606082015261117c6109008301610c8e565b608082015261118e6109208301610c2e565b60a08201526109408201356001600160401b038111156111ad57600080fd5b6111b984828501610520565b60c08301525092915050565b6000602082840312156111d757600080fd5b81356001600160401b03808211156111ee57600080fd5b908301906103c0828603121561120357600080fd5b61120b6104fd565b6112158684610c3e565b81526040830135602082015260608301358281111561123357600080fd5b61123f87828601610520565b60408301525061125160808401610c77565b606082015261126260a08401610c8e565b608082015260c083013560a082015261127e8660e08501610c3e565b60c08201526101208084013560e083015261014061129e88828701610ca2565b6101008401526112b2886101e08701610d41565b828401526103a08501359150838211156112cb57600080fd5b6112d78883870161110e565b90830152509594505050505056fea2646970667358221220c61482ea7bab881a22960ccfe2f518fcf3d1ae6a1a87b54eee59ecbe68749afb64736f6c63430008150033","sourceMap":"171:3299:63:-:0;;;319:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:7;:57;;-1:-1:-1;;;;;;378:57:63;-1:-1:-1;;;;;378:57:63;;;;;;;;;;171:3299;;14:298:66;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:66;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:66:o;:::-;171:3299:63;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a26565b60405180910390f35b610061610167565b3660006100718460288188610b58565b9150915060008585604051610087929190610b82565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b92565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c0a565b9050801561014257610137838501856111c5565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b600581106106f9576106f96106d3565b9052565b6107088282516106e9565b602081015161071a60208401826106e9565b50604081015161072d60408401826106e9565b50606081015161074060608401826106e9565b50608081015161075360808401826106e9565b5060a081015161076660a08401826106e9565b5060c081015161077960c08401826106e9565b5060e081015161079160e084018263ffffffff169052565b50610100808201516107a5828501826106e9565b5050610120808201516107ba828501826106e9565b5050610140808201516107cf828501826106e9565b5050610160808201516107e4828501826106e9565b5050610180808201516107f9828501826106e9565b50506101a08082015161080e828501826106e9565b50505050565b600381106106f9576106f96106d3565b8060005b600f81101561080e5761084684835180518252602090810151910152565b6040939093019260209190910190600101610828565b610867828251610814565b60208082015161087982850182610814565b50604082810151805160008684015b60078210156108b8576108a681845180518252602090810151910152565b91850191600191909101908401610888565b50505091820151916108ce610200860184610824565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561080e578151845260209384019390910190600101610960565b80516000906109609084835b60088110156109aa57825182526020928301929091019060010161098b565b50505060208301516109c061010086018261085c565b50604083015163ffffffff1661084085015260608301516109e561086086018261095c565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a1d8286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a646103e085018361068d565b91506060850151610a8060a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610abd81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b326102008801846106fd565b870151868503601f1901848801529150610b4e9050838261097f565b9695505050505050565b60008085851115610b6857600080fd5b83861115610b7557600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bd38184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0757600080fd5b50565b600060208284031215610c1c57600080fd5b8151610c2781610bf9565b9392505050565b8035610c3981610bf9565b919050565b600060408284031215610c5057600080fd5b610c5861044b565b9050813581526020820135610c6c81610bf9565b602082015292915050565b80356001600160401b0381168114610c3957600080fd5b803563ffffffff81168114610c3957600080fd5b600060a08284031215610cb457600080fd5b60405160a081018181106001600160401b0382111715610cd657610cd6610435565b604052905080610ce583610c77565b8152610cf360208401610c8e565b6020820152610d0460408401610c77565b6040820152610d1560608401610c8e565b6060820152610d2660808401610c77565b60808201525092915050565b803560058110610c3957600080fd5b60006101c08284031215610d5457600080fd5b610d5c610473565b9050610d6782610d32565b8152610d7560208301610d32565b6020820152610d8660408301610d32565b6040820152610d9760608301610d32565b6060820152610da860808301610d32565b6080820152610db960a08301610d32565b60a0820152610dca60c08301610d32565b60c0820152610ddb60e08301610c8e565b60e0820152610100610dee818401610d32565b90820152610120610e00838201610d32565b90820152610140610e12838201610d32565b90820152610160610e24838201610d32565b90820152610180610e36838201610d32565b908201526101a0610e48838201610d32565b9082015292915050565b600082601f830112610e6357600080fd5b610e6b6104b8565b80610100840185811115610e7e57600080fd5b845b81811015610e98578035845260209384019301610e80565b509095945050505050565b803560038110610c3957600080fd5b600060408284031215610ec457600080fd5b610ecc61044b565b9050813581526020820135602082015292915050565b600082601f830112610ef357600080fd5b610efb6104db565b806101c0840185811115610f0e57600080fd5b845b81811015610e9857610f228782610eb2565b8452602090930192604001610f10565b600082601f830112610f4357600080fd5b604080516101e081018181106001600160401b0382111715610f6757610f67610435565b8252806103c0850186811115610f7c57600080fd5b855b81811015610f9f57610f908882610eb2565b83526020909201918401610f7e565b50919695505050505050565b6000818303610740811215610fbf57600080fd5b610fc7610496565b9150610fd283610ea3565b8252610fe060208401610ea3565b602083015261070080603f1983011215610ff957600080fd5b6110016104b8565b91506110108560408601610ee2565b8252611020856102008601610f32565b6020830152611033856105c08601610eb2565b6040830152611046856106008601610eb2565b6060830152611059856106408601610eb2565b608083015261106c856106808601610eb2565b60a083015261107f856106c08601610eb2565b60c083015261109085828601610eb2565b60e083015250604082015292915050565b600082601f8301126110b257600080fd5b60405160a081018181106001600160401b03821117156110d4576110d4610435565b6040528060a08401858111156110e957600080fd5b845b818110156111035780358352602092830192016110eb565b509195945050505050565b6000610960828403121561112157600080fd5b6111296104db565b90506111358383610e52565b8152611145836101008401610fab565b60208201526111576108408301610c8e565b604082015261116a8361086084016110a1565b606082015261117c6109008301610c8e565b608082015261118e6109208301610c2e565b60a08201526109408201356001600160401b038111156111ad57600080fd5b6111b984828501610520565b60c08301525092915050565b6000602082840312156111d757600080fd5b81356001600160401b03808211156111ee57600080fd5b908301906103c0828603121561120357600080fd5b61120b6104fd565b6112158684610c3e565b81526040830135602082015260608301358281111561123357600080fd5b61123f87828601610520565b60408301525061125160808401610c77565b606082015261126260a08401610c8e565b608082015260c083013560a082015261127e8660e08501610c3e565b60c08201526101208084013560e083015261014061129e88828701610ca2565b6101008401526112b2886101e08701610d41565b828401526103a08501359150838211156112cb57600080fd5b6112d78883870161110e565b90830152509594505050505056fea2646970667358221220c61482ea7bab881a22960ccfe2f518fcf3d1ae6a1a87b54eee59ecbe68749afb64736f6c63430008150033","sourceMap":"171:3299:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:947;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;763:14;;:::i;:::-;789:29;;821:17;:8;830:6;821:8;;:17;:::i;:::-;789:49;;;;849:26;888:8;;878:19;;;;;;;:::i;:::-;;;;;;;;849:48;;908:22;933:7;;;;;;;;;-1:-1:-1;;;;;933:7:63;-1:-1:-1;;;;;933:28:63;;975:15;1004:18;1036:30;1080:18;1112:15;1141:11;1166:26;1214:1;933:293;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;908:318;;1241:17;1237:152;;;1281:37;;;;1292:14;1281:37;:::i;:::-;1274:44;;;;;;;;1237:152;1356:22;;-1:-1:-1;;;1356:22:63;;;;;;;;;;;448:947;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:127:66;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:252;213:4;207:11;;;245:17;;-1:-1:-1;;;;;277:34:66;;313:22;;;274:62;271:88;;;339:18;;:::i;:::-;375:4;368:24;146:252;:::o;403:255::-;475:2;469:9;517:6;505:19;;-1:-1:-1;;;;;539:34:66;;575:22;;;536:62;533:88;;;601:18;;:::i;663:253::-;735:2;729:9;777:4;765:17;;-1:-1:-1;;;;;797:34:66;;833:22;;;794:62;791:88;;;859:18;;:::i;921:255::-;993:2;987:9;1035:6;1023:19;;-1:-1:-1;;;;;1057:34:66;;1093:22;;;1054:62;1051:88;;;1119:18;;:::i;1181:253::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:66;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:66;;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:66;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:66;;;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:1251::-;2555:6;2563;2571;2579;2587;2595;2603;2611;2664:3;2652:9;2643:7;2639:23;2635:33;2632:53;;;2681:1;2678;2671:12;2632:53;2704:23;;;-1:-1:-1;2774:2:66;2759:18;;2746:32;;-1:-1:-1;2828:2:66;2813:18;;2800:32;-1:-1:-1;;2861:43:66;;2851:54;;2841:82;;2919:1;2916;2909:12;2841:82;2942:5;-1:-1:-1;2994:2:66;2979:18;;2966:32;;-1:-1:-1;3049:3:66;3034:19;;3021:33;-1:-1:-1;;;;;3103:14:66;;;3100:34;;;3130:1;3127;3120:12;3100:34;3153:49;3194:7;3185:6;3174:9;3170:22;3153:49;:::i;:::-;3143:59;;3249:3;3238:9;3234:19;3221:33;3211:43;;3307:3;3296:9;3292:19;3279:33;3263:49;;3337:2;3327:8;3324:16;3321:36;;;3353:1;3350;3343:12;3321:36;3391:8;3380:9;3376:24;3366:34;;3438:7;3431:4;3427:2;3423:13;3419:27;3409:55;;3460:1;3457;3450:12;3409:55;3500:2;3487:16;3526:2;3518:6;3515:14;3512:34;;;3542:1;3539;3532:12;3512:34;3587:7;3582:2;3573:6;3569:2;3565:15;3561:24;3558:37;3555:57;;;3608:1;3605;3598:12;3555:57;3639:2;3635;3631:11;3621:21;;3661:6;3651:16;;;;;2422:1251;;;;;;;;;;;:::o;3953:423::-;3995:3;4033:5;4027:12;4060:6;4055:3;4048:19;4085:1;4095:162;4109:6;4106:1;4103:13;4095:162;;;4171:4;4227:13;;;4223:22;;4217:29;4199:11;;;4195:20;;4188:59;4124:12;4095:162;;;4099:3;4302:1;4295:4;4286:6;4281:3;4277:16;4273:27;4266:38;4365:4;4358:2;4354:7;4349:2;4341:6;4337:15;4333:29;4328:3;4324:39;4320:50;4313:57;;;3953:423;;;;:::o;5059:127::-;5120:10;5115:3;5111:20;5108:1;5101:31;5151:4;5148:1;5141:15;5175:4;5172:1;5165:15;5191:143;5275:1;5268:5;5265:12;5255:46;;5281:18;;:::i;:::-;5310;;5191:143::o;5339:1834::-;5404:47;5447:3;5439:5;5433:12;5404:47;:::i;:::-;5497:4;5490:5;5486:16;5480:23;5512:58;5564:4;5559:3;5555:14;5541:12;5512:58;:::i;:::-;;5618:4;5611:5;5607:16;5601:23;5633:60;5687:4;5682:3;5678:14;5662;5633:60;:::i;:::-;;5741:4;5734:5;5730:16;5724:23;5756:60;5810:4;5805:3;5801:14;5785;5756:60;:::i;:::-;;5864:4;5857:5;5853:16;5847:23;5879:60;5933:4;5928:3;5924:14;5908;5879:60;:::i;:::-;;5987:4;5980:5;5976:16;5970:23;6002:60;6056:4;6051:3;6047:14;6031;6002:60;:::i;:::-;;6110:4;6103:5;6099:16;6093:23;6125:60;6179:4;6174:3;6170:14;6154;6125:60;:::i;:::-;;6233:4;6226:5;6222:16;6216:23;6248:49;6291:4;6286:3;6282:14;6266;4564:10;4553:22;4541:35;;4488:94;6248:49;;6316:6;6370:2;6363:5;6359:14;6353:21;6383:58;6437:2;6432:3;6428:12;6412:14;6383:58;:::i;:::-;;;6460:6;6514:2;6507:5;6503:14;6497:21;6527:58;6581:2;6576:3;6572:12;6556:14;6527:58;:::i;:::-;;;6604:6;6658:2;6651:5;6647:14;6641:21;6671:58;6725:2;6720:3;6716:12;6700:14;6671:58;:::i;:::-;;;6748:6;6803:2;6796:5;6792:14;6786:21;6816:59;6871:2;6866:3;6862:12;6845:15;6816:59;:::i;:::-;;;6894:6;6949:2;6942:5;6938:14;6932:21;6962:59;7017:2;7012:3;7008:12;6991:15;6962:59;:::i;:::-;;;7040:6;7095:2;7088:5;7084:14;7078:21;7108:59;7163:2;7158:3;7154:12;7137:15;7108:59;:::i;:::-;;;5339:1834;;:::o;7178:145::-;7264:1;7257:5;7254:12;7244:46;;7270:18;;:::i;7484:335::-;7587:5;7610:1;7620:193;7634:4;7631:1;7628:11;7620:193;;;7681:48;7725:3;7716:6;7710:13;7404:12;;7392:25;;7466:4;7455:16;;;7449:23;7433:14;;7426:47;7328:151;7681:48;7758:4;7749:14;;;;;7798:4;7786:17;;;;;7654:1;7647:9;7620:193;;7824:1627;7893:49;7938:3;7930:5;7924:12;7893:49;:::i;:::-;7961:4;8011:2;8004:5;8000:14;7994:21;8024:58;8078:2;8073:3;8069:12;8055;8024:58;:::i;:::-;-1:-1:-1;8101:4:66;8142:14;;;8136:21;8207;;8315:1;8176:12;;;8325:195;8339:4;8336:1;8333:11;8325:195;;;8386:50;8430:5;8421:6;8415:13;7404:12;;7392:25;;7466:4;7455:16;;;7449:23;7433:14;;7426:47;7328:151;8386:50;8495:15;;;;8359:1;8352:9;;;;;8458:14;;8325:195;;;-1:-1:-1;;;8557:23:66;;;8551:30;;8590:65;8650:3;8641:13;;8551:30;8590:65;:::i;:::-;8692:23;;;8686:30;7404:12;;8779:4;8770:14;;7392:25;7466:4;7455:16;;;7449:23;7433:14;;;7426:47;8842:4;8822:25;;8816:32;7404:12;;8911:4;8902:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;8974:4;8954:25;;8948:32;7404:12;;9043:4;9034:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;9106:4;9086:25;;9080:32;7404:12;;9175:4;9166:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;9238:4;9218:25;;9212:32;7404:12;;9307:4;9298:14;;7392:25;7455:16;;7449:23;7433:14;;;7426:47;9370:4;9350:25;;;9344:32;7404:12;;9439:4;9430:14;;7392:25;7455:16;7449:23;7433:14;;;;7426:47;;;;-1:-1:-1;;7824:1627:66:o;9456:326::-;9549:5;9572:1;9582:194;9596:4;9593:1;9590:11;9582:194;;;9655:13;;9643:26;;9692:4;9716:12;;;;9751:15;;;;9616:1;9609:9;9582:194;;9787:1166;9895:12;;9842:3;;9870:6;;9929:3;9842;10006:200;10020:4;10017:1;10014:11;10006:200;;;10081:13;;10067:28;;10118:4;10181:15;;;;10144:14;;;;10040:1;10033:9;10006:200;;;10010:3;;;10252:4;10245:5;10241:16;10235:23;10267:65;10324:6;10319:3;10315:16;10301:12;10267:65;:::i;:::-;-1:-1:-1;10380:4:66;10369:16;;10363:23;4564:10;4553:22;10438:6;10429:16;;4541:35;10494:4;10483:16;;10477:23;10509:58;10559:6;10550:16;;10477:23;10509:58;:::i;:::-;-1:-1:-1;10615:4:66;10604:16;;10598:23;4564:10;4553:22;10673:6;10664:16;;4541:35;10729:4;10718:16;;10712:23;3748:13;3741:21;10785:6;10776:16;;3729:34;10841:4;10830:16;;10824:23;10872:6;10863:16;;10856:28;;;10900:47;10934:12;;;10824:23;10900:47;:::i;:::-;10893:54;9787:1166;-1:-1:-1;;;;;9787:1166:66:o;10958:1526::-;11139:2;11121:21;;;11187:13;;3857:12;;11202:18;;;3845:25;3922:16;3916:23;3909:31;3902:39;3886:14;;;3879:63;11275:2;11267:6;11263:15;11257:22;11252:2;11241:9;11237:18;11230:50;11102:4;11327;11319:6;11315:17;11309:24;11352:6;11395:2;11389:3;11378:9;11374:19;11367:31;11421:52;11468:3;11457:9;11453:19;11439:12;11421:52;:::i;:::-;11407:66;;11522:2;11514:6;11510:15;11504:22;11535:54;11584:3;11573:9;11569:19;11553:14;-1:-1:-1;;;;;4446:30:66;4434:43;;4381:102;11535:54;-1:-1:-1;11638:3:66;11626:16;;11620:23;4564:10;4553:22;;11701:3;11686:19;;4541:35;11652:54;11761:3;11753:6;11749:16;11743:23;11737:3;11726:9;11722:19;11715:52;11816:3;11808:6;11804:16;11798:23;11840:3;11852:71;11919:2;11908:9;11904:18;11888:14;3857:12;;3845:25;;3933:4;3922:16;;;3916:23;3909:31;3902:39;3886:14;;3879:63;3774:174;11852:71;11960:3;11948:16;;11942:23;11984:3;12003:18;;;11996:30;;;;12063:15;;;12057:22;4700:12;;-1:-1:-1;;;;;4696:21:66;;;12144:3;12129:19;;4684:34;4764:4;4753:16;;4747:23;4789:10;4831:21;;;4815:14;;;4808:45;4906:4;4895:16;;4889:23;4885:32;;4869:14;;;4862:56;4971:4;4960:16;;4954:23;4950:32;4934:14;;;4927:56;5036:4;5025:16;;;5019:23;5015:32;4999:14;;;4992:56;12198:6;12186:19;;12180:26;;-1:-1:-1;12215:66:66;12276:3;12261:19;;12180:26;12215:66;:::i;:::-;12318:15;;12312:22;12374;;;-1:-1:-1;;12370:36:66;12350:18;;;12343:64;12312:22;-1:-1:-1;12424:54:66;;-1:-1:-1;12378:6:66;12312:22;12424:54;:::i;:::-;12416:62;10958:1526;-1:-1:-1;;;;;;10958:1526:66:o;12489:331::-;12594:9;12605;12647:8;12635:10;12632:24;12629:44;;;12669:1;12666;12659:12;12629:44;12698:6;12688:8;12685:20;12682:40;;;12718:1;12715;12708:12;12682:40;-1:-1:-1;;12744:23:66;;;12789:25;;;;;-1:-1:-1;12489:331:66:o;12825:271::-;13008:6;13000;12995:3;12982:33;12964:3;13034:16;;13059:13;;;13034:16;12825:271;-1:-1:-1;12825:271:66:o;13101:805::-;13407:4;13436:3;13466:6;13455:9;13448:25;13509:6;13504:2;13493:9;13489:18;13482:34;13552:6;13547:2;13536:9;13532:18;13525:34;13611:26;13607:31;13599:6;13595:44;13590:2;13579:9;13575:18;13568:72;13677:6;13671:3;13660:9;13656:19;13649:35;13721:2;13715:3;13704:9;13700:19;13693:31;13741:45;13782:2;13771:9;13767:18;13759:6;13741:45;:::i;:::-;13817:3;13802:19;;13795:35;;;;-1:-1:-1;;;;;;;13867:32:66;;;;13861:3;13846:19;;;13839:61;13733:53;13101:805;-1:-1:-1;;;;;;13101:805:66:o;13911:118::-;13997:5;13990:13;13983:21;13976:5;13973:32;13963:60;;14019:1;14016;14009:12;13963:60;13911:118;:::o;14034:245::-;14101:6;14154:2;14142:9;14133:7;14129:23;14125:32;14122:52;;;14170:1;14167;14160:12;14122:52;14202:9;14196:16;14221:28;14243:5;14221:28;:::i;:::-;14268:5;14034:245;-1:-1:-1;;;14034:245:66:o;14284:128::-;14349:20;;14378:28;14349:20;14378:28;:::i;:::-;14284:128;;;:::o;14417:357::-;14481:5;14529:4;14517:9;14512:3;14508:19;14504:30;14501:50;;;14547:1;14544;14537:12;14501:50;14569:17;;:::i;:::-;14560:26;;14622:9;14609:23;14602:5;14595:38;14685:2;14674:9;14670:18;14657:32;14698:30;14720:7;14698:30;:::i;:::-;14755:2;14744:14;;14737:31;14748:5;14417:357;-1:-1:-1;;14417:357:66:o;14779:171::-;14846:20;;-1:-1:-1;;;;;14895:30:66;;14885:41;;14875:69;;14940:1;14937;14930:12;14955:163;15022:20;;15082:10;15071:22;;15061:33;;15051:61;;15108:1;15105;15098:12;15123:696;15176:5;15224:4;15212:9;15207:3;15203:19;15199:30;15196:50;;;15242:1;15239;15232:12;15196:50;15275:2;15269:9;15317:4;15309:6;15305:17;15388:6;15376:10;15373:22;-1:-1:-1;;;;;15340:10:66;15337:34;15334:62;15331:88;;;15399:18;;:::i;:::-;15435:2;15428:22;15468:6;-1:-1:-1;15468:6:66;15498:28;15516:9;15498:28;:::i;:::-;15490:6;15483:44;15560:37;15593:2;15582:9;15578:18;15560:37;:::i;:::-;15555:2;15547:6;15543:15;15536:62;15631:37;15664:2;15653:9;15649:18;15631:37;:::i;:::-;15626:2;15618:6;15614:15;15607:62;15702:37;15735:2;15724:9;15720:18;15702:37;:::i;:::-;15697:2;15689:6;15685:15;15678:62;15774:38;15807:3;15796:9;15792:19;15774:38;:::i;:::-;15768:3;15760:6;15756:16;15749:64;;15123:696;;;;:::o;15824:153::-;15902:20;;15951:1;15941:12;;15931:40;;15967:1;15964;15957:12;15982:1421;16040:5;16088:6;16076:9;16071:3;16067:19;16063:32;16060:52;;;16108:1;16105;16098:12;16060:52;16130:22;;:::i;:::-;16121:31;;16175:39;16204:9;16175:39;:::i;:::-;16168:5;16161:54;16247:48;16291:2;16280:9;16276:18;16247:48;:::i;:::-;16242:2;16235:5;16231:14;16224:72;16328:48;16372:2;16361:9;16357:18;16328:48;:::i;:::-;16323:2;16316:5;16312:14;16305:72;16409:48;16453:2;16442:9;16438:18;16409:48;:::i;:::-;16404:2;16397:5;16393:14;16386:72;16491:49;16535:3;16524:9;16520:19;16491:49;:::i;:::-;16485:3;16478:5;16474:15;16467:74;16574:49;16618:3;16607:9;16603:19;16574:49;:::i;:::-;16568:3;16561:5;16557:15;16550:74;16657:49;16701:3;16690:9;16686:19;16657:49;:::i;:::-;16651:3;16644:5;16640:15;16633:74;16740:38;16773:3;16762:9;16758:19;16740:38;:::i;:::-;16734:3;16727:5;16723:15;16716:63;16798:3;16833:48;16877:2;16866:9;16862:18;16833:48;:::i;:::-;16817:14;;;16810:72;16901:3;16936:48;16965:18;;;16936:48;:::i;:::-;16920:14;;;16913:72;17004:3;17039:48;17068:18;;;17039:48;:::i;:::-;17023:14;;;17016:72;17107:3;17142:48;17171:18;;;17142:48;:::i;:::-;17126:14;;;17119:72;17210:3;17245:48;17274:18;;;17245:48;:::i;:::-;17229:14;;;17222:72;17313:3;17348:48;17377:18;;;17348:48;:::i;:::-;17332:14;;;17325:72;17336:5;15982:1421;-1:-1:-1;;15982:1421:66:o;17408:485::-;17458:5;17511:3;17504:4;17496:6;17492:17;17488:27;17478:55;;17529:1;17526;17519:12;17478:55;17553:22;;:::i;:::-;17597:3;17635;17627:6;17623:16;17662:3;17654:6;17651:15;17648:35;;;17679:1;17676;17669:12;17648:35;17703:6;17718:146;17734:6;17729:3;17726:15;17718:146;;;17802:17;;17790:30;;17849:4;17840:14;;;;17751;17718:146;;;-1:-1:-1;17882:5:66;;17408:485;-1:-1:-1;;;;;17408:485:66:o;17898:155::-;17978:20;;18027:1;18017:12;;18007:40;;18043:1;18040;18033:12;18058:280;18115:5;18163:4;18151:9;18146:3;18142:19;18138:30;18135:50;;;18181:1;18178;18171:12;18135:50;18203:17;;:::i;:::-;18194:26;;18256:9;18243:23;18236:5;18229:38;18327:2;18316:9;18312:18;18299:32;18294:2;18287:5;18283:14;18276:56;18058:280;;;;:::o;18343:516::-;18403:5;18456:3;18449:4;18441:6;18437:17;18433:27;18423:55;;18474:1;18471;18464:12;18423:55;18498:22;;:::i;:::-;18542:3;18580;18572:6;18568:16;18607:3;18599:6;18596:15;18593:35;;;18624:1;18621;18614:12;18593:35;18648:6;18663:167;18679:6;18674:3;18671:15;18663:167;;;18747:38;18781:3;18776;18747:38;:::i;:::-;18735:51;;18815:4;18806:14;;;;18705:4;18696:14;18663:167;;18864:720;18946:5;18999:3;18992:4;18984:6;18980:17;18976:27;18966:55;;19017:1;19014;19007:12;18966:55;19040:2;19071;19065:9;19113:3;19105:6;19101:16;19183:6;19171:10;19168:22;-1:-1:-1;;;;;19135:10:66;19132:34;19129:62;19126:88;;;19194:18;;:::i;:::-;19223:22;;19265:6;19306:3;19294:16;;19322:15;;;19319:35;;;19350:1;19347;19340:12;19319:35;19374:6;19389:165;19405:6;19400:3;19397:15;19389:165;;;19471:38;19505:3;19500;19471:38;:::i;:::-;19459:51;;19539:4;19530:14;;;;19422:12;;19389:165;;;-1:-1:-1;19572:6:66;;18864:720;-1:-1:-1;;;;;;18864:720:66:o;19589:1264::-;19651:5;19690:9;19685:3;19681:19;19720:6;19716:2;19712:15;19709:35;;;19740:1;19737;19730:12;19709:35;19762:22;;:::i;:::-;19753:31;;19807:41;19838:9;19807:41;:::i;:::-;19800:5;19793:56;19881:50;19927:2;19916:9;19912:18;19881:50;:::i;:::-;19876:2;19869:5;19865:14;19858:74;19951:6;19991:2;19985;19981:7;19977:2;19973:16;19969:25;19966:45;;;20007:1;20004;19997:12;19966:45;20035:22;;:::i;:::-;20020:37;;20082:59;20137:3;20132:2;20121:9;20117:18;20082:59;:::i;:::-;20073:7;20066:76;20176:82;20254:3;20248;20237:9;20233:19;20176:82;:::i;:::-;20171:2;20162:7;20158:16;20151:108;20293:55;20344:3;20337:4;20326:9;20322:20;20293:55;:::i;:::-;20288:2;20279:7;20275:16;20268:81;20385:55;20436:3;20429:4;20418:9;20414:20;20385:55;:::i;:::-;20378:4;20369:7;20365:18;20358:83;20477:55;20528:3;20521:4;20510:9;20506:20;20477:55;:::i;:::-;20470:4;20461:7;20457:18;20450:83;20569:55;20620:3;20613:4;20602:9;20598:20;20569:55;:::i;:::-;20562:4;20553:7;20549:18;20542:83;20661:55;20712:3;20705:4;20694:9;20690:20;20661:55;:::i;:::-;20654:4;20645:7;20641:18;20634:83;20753:53;20802:3;20797:2;20786:9;20782:18;20753:53;:::i;:::-;20746:4;20733:18;;20726:81;-1:-1:-1;20834:2:66;20823:14;;20816:31;20827:5;19589:1264;-1:-1:-1;;19589:1264:66:o;20858:659::-;20919:5;20972:3;20965:4;20957:6;20953:17;20949:27;20939:55;;20990:1;20987;20980:12;20939:55;21023:2;21017:9;21065:3;21057:6;21053:16;21135:6;21123:10;21120:22;-1:-1:-1;;;;;21087:10:66;21084:34;21081:62;21078:88;;;21146:18;;:::i;:::-;21182:2;21175:22;21217:6;21258:3;21246:16;;21274:15;;;21271:35;;;21302:1;21299;21292:12;21271:35;21326:6;21341:146;21357:6;21352:3;21349:15;21341:146;;;21425:17;;21413:30;;21472:4;21463:14;;;;21374;21341:146;;;-1:-1:-1;21505:6:66;;20858:659;-1:-1:-1;;;;;20858:659:66:o;21522:848::-;21581:5;21629:6;21617:9;21612:3;21608:19;21604:32;21601:52;;;21649:1;21646;21639:12;21601:52;21671:22;;:::i;:::-;21662:31;;21716:40;21752:3;21741:9;21716:40;:::i;:::-;21709:5;21702:55;21791:59;21846:3;21840;21829:9;21825:19;21791:59;:::i;:::-;21784:4;21777:5;21773:16;21766:85;21885:39;21918:4;21907:9;21903:20;21885:39;:::i;:::-;21878:4;21871:5;21867:16;21860:65;21959:62;22017:3;22010:4;21999:9;21995:20;21959:62;:::i;:::-;21952:4;21945:5;21941:16;21934:88;22056:39;22089:4;22078:9;22074:20;22056:39;:::i;:::-;22049:4;22042:5;22038:16;22031:65;22130:37;22161:4;22150:9;22146:20;22130:37;:::i;:::-;22123:4;22116:5;22112:16;22105:63;22219:4;22208:9;22204:20;22191:34;-1:-1:-1;;;;;22240:6:66;22237:30;22234:50;;;22280:1;22277;22270:12;22234:50;22318:45;22359:3;22350:6;22339:9;22335:22;22318:45;:::i;:::-;22311:4;22304:5;22300:16;22293:71;;21522:848;;;;:::o;22375:1498::-;22460:6;22513:2;22501:9;22492:7;22488:23;22484:32;22481:52;;;22529:1;22526;22519:12;22481:52;22569:9;22556:23;-1:-1:-1;;;;;22639:2:66;22631:6;22628:14;22625:34;;;22655:1;22652;22645:12;22625:34;22678:22;;;;22734:6;22716:16;;;22712:29;22709:49;;;22754:1;22751;22744:12;22709:49;22780:22;;:::i;:::-;22825:48;22865:7;22861:2;22825:48;:::i;:::-;22818:5;22811:63;22927:2;22923;22919:11;22906:25;22901:2;22894:5;22890:14;22883:49;22978:2;22974;22970:11;22957:25;23007:2;22997:8;22994:16;22991:36;;;23023:1;23020;23013:12;22991:36;23059:44;23095:7;23084:8;23080:2;23076:17;23059:44;:::i;:::-;23054:2;23047:5;23043:14;23036:68;;23136:31;23162:3;23158:2;23154:12;23136:31;:::i;:::-;23131:2;23124:5;23120:14;23113:55;23201:31;23227:3;23223:2;23219:12;23201:31;:::i;:::-;23195:3;23188:5;23184:15;23177:56;23287:3;23283:2;23279:12;23266:26;23260:3;23253:5;23249:15;23242:51;23326:58;23376:7;23370:3;23366:2;23362:12;23326:58;:::i;:::-;23320:3;23313:5;23309:15;23302:83;23404:3;23461:2;23457;23453:11;23440:25;23434:3;23427:5;23423:15;23416:50;23485:3;23524:46;23562:7;23557:2;23553;23549:11;23524:46;:::i;:::-;23515:6;23508:5;23504:18;23497:74;23603:52;23647:7;23641:3;23637:2;23633:12;23603:52;:::i;:::-;23598:2;23591:5;23587:14;23580:76;23702:3;23698:2;23694:12;23681:26;23665:42;;23732:2;23722:8;23719:16;23716:36;;;23748:1;23745;23738:12;23716:36;23784:58;23834:7;23823:8;23819:2;23815:17;23784:58;:::i;:::-;23768:14;;;23761:82;-1:-1:-1;23772:5:66;22375:1498;-1:-1:-1;;;;;22375:1498:66:o","linkReferences":{}},"methodIdentifiers":{"validateAccount(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"f4c7c1fa"},"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\":\"AccountIsNotVerified\",\"type\":\"error\"},{\"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\"}],\"name\":\"validateAccount\",\"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\":\"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc\",\"dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q\"]}},\"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":"AccountIsNotVerified"},{"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"}],"stateMutability":"view","type":"function","name":"validateAccount","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":"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385","urls":["bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc","dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q"],"license":"UNLICENSED"}},"version":1},"id":63} \ 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":"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516113f93803806113f983398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b611366806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80639029ad1514610030575b600080fd5b61004361003e366004610475565b610059565b6040516100509190610850565b60405180910390f35b6100616101a7565b36600061007160c0850185610978565b61007f9160289082906109c5565b9092509050600061009360c0860186610978565b6040516100a19291906109ef565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190883590859060208b0135906100e19060608d01908d016109ff565b60608c01356100f360808e018e610978565b8e60a001358f60e001602081019061010b9190610a2e565b6040518a63ffffffff1660e01b815260040161012f99989796959493929190610a57565b602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610ae5565b9050801561018e5761018483850185611210565b9695505050505050565b604051634de35c5f60e11b815260040160405180910390fd5b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e086018590528651908101875284815292830184905294820183905281018290529283015261010081019190915261012081016102aa604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b81526020016102b76102bc565b905290565b6040518060e001604052806102cf610309565b81526020016102dc610328565b8152600060208201526040016102f0610347565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016102b7610365565b6040518060a001604052806005906020820280368337509192915050565b604051806101000160405280610379610410565b8152602001610386610449565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161041f5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161041f565b60006020828403121561048757600080fd5b81356001600160401b0381111561049d57600080fd5b820161010081850312156104b057600080fd5b9392505050565b6000815180845260005b818110156104dd576020818501810151868301820152016104c1565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b60058110610523576105236104fd565b9052565b610532828251610513565b60208101516105446020840182610513565b5060408101516105576040840182610513565b50606081015161056a6060840182610513565b50608081015161057d6080840182610513565b5060a081015161059060a0840182610513565b5060c08101516105a360c0840182610513565b5060e08101516105bb60e084018263ffffffff169052565b50610100808201516105cf82850182610513565b5050610120808201516105e482850182610513565b5050610140808201516105f982850182610513565b50506101608082015161060e82850182610513565b50506101808082015161062382850182610513565b50506101a08082015161063882850182610513565b50505050565b60038110610523576105236104fd565b8060005b600f8110156106385761067084835180518252602090810151910152565b6040939093019260209190910190600101610652565b61069182825161063e565b6020808201516106a38285018261063e565b50604082810151805160008684015b60078210156106e2576106d081845180518252602090810151910152565b918501916001919091019084016106b2565b50505091820151916106f861020086018461064e565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561063857815184526020938401939091019060010161078a565b80516000906109609084835b60088110156107d45782518252602092830192909101906001016107b5565b50505060208301516107ea610100860182610686565b50604083015163ffffffff16610840850152606083015161080f610860860182610786565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610847828601826104b7565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c080608085015261088e6103e08501836104b7565b915060608501516108aa60a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c08501516101006108e781870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e0880152610120880151925061095c610200880184610527565b870151868503601f1901848801529150610184905083826107a9565b6000808335601e1984360301811261098f57600080fd5b8301803591506001600160401b038211156109a957600080fd5b6020019150368190038213156109be57600080fd5b9250929050565b600080858511156109d557600080fd5b838611156109e257600080fd5b5050820193919092039150565b8183823760009101908152919050565b600060208284031215610a1157600080fd5b81356bffffffffffffffffffffffff19811681146104b057600080fd5b600060208284031215610a4057600080fd5b81356001600160a01b03811681146104b057600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610ae257600080fd5b50565b600060208284031215610af757600080fd5b81516104b081610ad4565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610b3a57610b3a610b02565b60405290565b6040516101c081016001600160401b0381118282101715610b3a57610b3a610b02565b604051606081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161010081016001600160401b0381118282101715610b3a57610b3a610b02565b60405160e081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161016081016001600160401b0381118282101715610b3a57610b3a610b02565b8035610bf881610ad4565b919050565b600060408284031215610c0f57600080fd5b610c17610b18565b9050813581526020820135610c2b81610ad4565b602082015292915050565b600082601f830112610c4757600080fd5b81356001600160401b0380821115610c6157610c61610b02565b604051601f8301601f19908116603f01168101908282118183101715610c8957610c89610b02565b81604052838152866020858801011115610ca257600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610bf857600080fd5b803563ffffffff81168114610bf857600080fd5b600060a08284031215610cff57600080fd5b60405160a081018181106001600160401b0382111715610d2157610d21610b02565b604052905080610d3083610cc2565b8152610d3e60208401610cd9565b6020820152610d4f60408401610cc2565b6040820152610d6060608401610cd9565b6060820152610d7160808401610cc2565b60808201525092915050565b803560058110610bf857600080fd5b60006101c08284031215610d9f57600080fd5b610da7610b40565b9050610db282610d7d565b8152610dc060208301610d7d565b6020820152610dd160408301610d7d565b6040820152610de260608301610d7d565b6060820152610df360808301610d7d565b6080820152610e0460a08301610d7d565b60a0820152610e1560c08301610d7d565b60c0820152610e2660e08301610cd9565b60e0820152610100610e39818401610d7d565b90820152610120610e4b838201610d7d565b90820152610140610e5d838201610d7d565b90820152610160610e6f838201610d7d565b90820152610180610e81838201610d7d565b908201526101a0610e93838201610d7d565b9082015292915050565b600082601f830112610eae57600080fd5b610eb6610b85565b80610100840185811115610ec957600080fd5b845b81811015610ee3578035845260209384019301610ecb565b509095945050505050565b803560038110610bf857600080fd5b600060408284031215610f0f57600080fd5b610f17610b18565b9050813581526020820135602082015292915050565b600082601f830112610f3e57600080fd5b610f46610ba8565b806101c0840185811115610f5957600080fd5b845b81811015610ee357610f6d8782610efd565b8452602090930192604001610f5b565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610b02565b8252806103c0850186811115610fc757600080fd5b855b81811015610fea57610fdb8882610efd565b83526020909201918401610fc9565b50919695505050505050565b600081830361074081121561100a57600080fd5b611012610b63565b915061101d83610eee565b825261102b60208401610eee565b602083015261070080603f198301121561104457600080fd5b61104c610b85565b915061105b8560408601610f2d565b825261106b856102008601610f7d565b602083015261107e856105c08601610efd565b6040830152611091856106008601610efd565b60608301526110a4856106408601610efd565b60808301526110b7856106808601610efd565b60a08301526110ca856106c08601610efd565b60c08301526110db85828601610efd565b60e083015250604082015292915050565b600082601f8301126110fd57600080fd5b60405160a081018181106001600160401b038211171561111f5761111f610b02565b6040528060a084018581111561113457600080fd5b845b8181101561114e578035835260209283019201611136565b509195945050505050565b6000610960828403121561116c57600080fd5b611174610ba8565b90506111808383610e9d565b8152611190836101008401610ff6565b60208201526111a26108408301610cd9565b60408201526111b58361086084016110ec565b60608201526111c76109008301610cd9565b60808201526111d96109208301610bed565b60a08201526109408201356001600160401b038111156111f857600080fd5b61120484828501610c36565b60c08301525092915050565b60006020828403121561122257600080fd5b81356001600160401b038082111561123957600080fd5b908301906103c0828603121561124e57600080fd5b611256610bca565b6112608684610bfd565b81526040830135602082015260608301358281111561127e57600080fd5b61128a87828601610c36565b60408301525061129c60808401610cc2565b60608201526112ad60a08401610cd9565b608082015260c083013560a08201526112c98660e08501610bfd565b60c08201526101208084013560e08301526101406112e988828701610ced565b6101008401526112fd886101e08701610d8c565b828401526103a085013591508382111561131657600080fd5b61132288838701611159565b90830152509594505050505056fea26469706673582212205d8660752cda5cd761469155afd3eadf779f3bd2113014d619299d1a9bc32b2664736f6c63430008150033","sourceMap":"171:3431:38:-:0;;;635:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;694:7;:57;;-1:-1:-1;;;;;;694:57:38;-1:-1:-1;;;;;694:57:38;;;;;;;;;;171:3431;;14:298:39;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:39;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:39:o;:::-;171:3431:38;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80639029ad1514610030575b600080fd5b61004361003e366004610475565b610059565b6040516100509190610850565b60405180910390f35b6100616101a7565b36600061007160c0850185610978565b61007f9160289082906109c5565b9092509050600061009360c0860186610978565b6040516100a19291906109ef565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190883590859060208b0135906100e19060608d01908d016109ff565b60608c01356100f360808e018e610978565b8e60a001358f60e001602081019061010b9190610a2e565b6040518a63ffffffff1660e01b815260040161012f99989796959493929190610a57565b602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610ae5565b9050801561018e5761018483850185611210565b9695505050505050565b604051634de35c5f60e11b815260040160405180910390fd5b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e086018590528651908101875284815292830184905294820183905281018290529283015261010081019190915261012081016102aa604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b81526020016102b76102bc565b905290565b6040518060e001604052806102cf610309565b81526020016102dc610328565b8152600060208201526040016102f0610347565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016102b7610365565b6040518060a001604052806005906020820280368337509192915050565b604051806101000160405280610379610410565b8152602001610386610449565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161041f5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161041f565b60006020828403121561048757600080fd5b81356001600160401b0381111561049d57600080fd5b820161010081850312156104b057600080fd5b9392505050565b6000815180845260005b818110156104dd576020818501810151868301820152016104c1565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b60058110610523576105236104fd565b9052565b610532828251610513565b60208101516105446020840182610513565b5060408101516105576040840182610513565b50606081015161056a6060840182610513565b50608081015161057d6080840182610513565b5060a081015161059060a0840182610513565b5060c08101516105a360c0840182610513565b5060e08101516105bb60e084018263ffffffff169052565b50610100808201516105cf82850182610513565b5050610120808201516105e482850182610513565b5050610140808201516105f982850182610513565b50506101608082015161060e82850182610513565b50506101808082015161062382850182610513565b50506101a08082015161063882850182610513565b50505050565b60038110610523576105236104fd565b8060005b600f8110156106385761067084835180518252602090810151910152565b6040939093019260209190910190600101610652565b61069182825161063e565b6020808201516106a38285018261063e565b50604082810151805160008684015b60078210156106e2576106d081845180518252602090810151910152565b918501916001919091019084016106b2565b50505091820151916106f861020086018461064e565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561063857815184526020938401939091019060010161078a565b80516000906109609084835b60088110156107d45782518252602092830192909101906001016107b5565b50505060208301516107ea610100860182610686565b50604083015163ffffffff16610840850152606083015161080f610860860182610786565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610847828601826104b7565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c080608085015261088e6103e08501836104b7565b915060608501516108aa60a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c08501516101006108e781870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e0880152610120880151925061095c610200880184610527565b870151868503601f1901848801529150610184905083826107a9565b6000808335601e1984360301811261098f57600080fd5b8301803591506001600160401b038211156109a957600080fd5b6020019150368190038213156109be57600080fd5b9250929050565b600080858511156109d557600080fd5b838611156109e257600080fd5b5050820193919092039150565b8183823760009101908152919050565b600060208284031215610a1157600080fd5b81356bffffffffffffffffffffffff19811681146104b057600080fd5b600060208284031215610a4057600080fd5b81356001600160a01b03811681146104b057600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610ae257600080fd5b50565b600060208284031215610af757600080fd5b81516104b081610ad4565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610b3a57610b3a610b02565b60405290565b6040516101c081016001600160401b0381118282101715610b3a57610b3a610b02565b604051606081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161010081016001600160401b0381118282101715610b3a57610b3a610b02565b60405160e081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161016081016001600160401b0381118282101715610b3a57610b3a610b02565b8035610bf881610ad4565b919050565b600060408284031215610c0f57600080fd5b610c17610b18565b9050813581526020820135610c2b81610ad4565b602082015292915050565b600082601f830112610c4757600080fd5b81356001600160401b0380821115610c6157610c61610b02565b604051601f8301601f19908116603f01168101908282118183101715610c8957610c89610b02565b81604052838152866020858801011115610ca257600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610bf857600080fd5b803563ffffffff81168114610bf857600080fd5b600060a08284031215610cff57600080fd5b60405160a081018181106001600160401b0382111715610d2157610d21610b02565b604052905080610d3083610cc2565b8152610d3e60208401610cd9565b6020820152610d4f60408401610cc2565b6040820152610d6060608401610cd9565b6060820152610d7160808401610cc2565b60808201525092915050565b803560058110610bf857600080fd5b60006101c08284031215610d9f57600080fd5b610da7610b40565b9050610db282610d7d565b8152610dc060208301610d7d565b6020820152610dd160408301610d7d565b6040820152610de260608301610d7d565b6060820152610df360808301610d7d565b6080820152610e0460a08301610d7d565b60a0820152610e1560c08301610d7d565b60c0820152610e2660e08301610cd9565b60e0820152610100610e39818401610d7d565b90820152610120610e4b838201610d7d565b90820152610140610e5d838201610d7d565b90820152610160610e6f838201610d7d565b90820152610180610e81838201610d7d565b908201526101a0610e93838201610d7d565b9082015292915050565b600082601f830112610eae57600080fd5b610eb6610b85565b80610100840185811115610ec957600080fd5b845b81811015610ee3578035845260209384019301610ecb565b509095945050505050565b803560038110610bf857600080fd5b600060408284031215610f0f57600080fd5b610f17610b18565b9050813581526020820135602082015292915050565b600082601f830112610f3e57600080fd5b610f46610ba8565b806101c0840185811115610f5957600080fd5b845b81811015610ee357610f6d8782610efd565b8452602090930192604001610f5b565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610b02565b8252806103c0850186811115610fc757600080fd5b855b81811015610fea57610fdb8882610efd565b83526020909201918401610fc9565b50919695505050505050565b600081830361074081121561100a57600080fd5b611012610b63565b915061101d83610eee565b825261102b60208401610eee565b602083015261070080603f198301121561104457600080fd5b61104c610b85565b915061105b8560408601610f2d565b825261106b856102008601610f7d565b602083015261107e856105c08601610efd565b6040830152611091856106008601610efd565b60608301526110a4856106408601610efd565b60808301526110b7856106808601610efd565b60a08301526110ca856106c08601610efd565b60c08301526110db85828601610efd565b60e083015250604082015292915050565b600082601f8301126110fd57600080fd5b60405160a081018181106001600160401b038211171561111f5761111f610b02565b6040528060a084018581111561113457600080fd5b845b8181101561114e578035835260209283019201611136565b509195945050505050565b6000610960828403121561116c57600080fd5b611174610ba8565b90506111808383610e9d565b8152611190836101008401610ff6565b60208201526111a26108408301610cd9565b60408201526111b58361086084016110ec565b60608201526111c76109008301610cd9565b60808201526111d96109208301610bed565b60a08201526109408201356001600160401b038111156111f857600080fd5b61120484828501610c36565b60c08301525092915050565b60006020828403121561122257600080fd5b81356001600160401b038082111561123957600080fd5b908301906103c0828603121561124e57600080fd5b611256610bca565b6112608684610bfd565b81526040830135602082015260608301358281111561127e57600080fd5b61128a87828601610c36565b60408301525061129c60808401610cc2565b60608201526112ad60a08401610cd9565b608082015260c083013560a08201526112c98660e08501610bfd565b60c08201526101208084013560e08301526101406112e988828701610ced565b6101008401526112fd886101e08701610d8c565b828401526103a085013591508382111561131657600080fd5b61132288838701611159565b90830152509594505050505056fea26469706673582212205d8660752cda5cd761469155afd3eadf779f3bd2113014d619299d1a9bc32b2664736f6c63430008150033","sourceMap":"171:3431:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;764:763;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;839:14;;:::i;:::-;865:29;;897:13;;;;:4;:13;:::i;:::-;:22;;911:6;;897:22;;;:::i;:::-;865:54;;-1:-1:-1;865:54:38;-1:-1:-1;930:26:38;969:13;;;;:4;:13;:::i;:::-;959:24;;;;;;;:::i;:::-;;;;;;;;;;;994:22;1019:7;;959:24;;-1:-1:-1;994:22:38;-1:-1:-1;;;;;1019:7:38;;;;:28;;1061:20;;;959:24;;1127:35;;;;;1176:23;;;;;;;;;:::i;:::-;1213:20;;;;1247:16;;;;1213:4;1247:16;:::i;:::-;1277:4;:31;;;1322:4;:26;;;;;;;;;;:::i;:::-;1019:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;994:364;;1373:17;1369:152;;;1413:37;;;;1424:14;1413:37;:::i;:::-;1406:44;764:763;-1:-1:-1;;;;;;764:763:38:o;1369:152::-;1488:22;;-1:-1:-1;;;1488:22:38;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:391:39;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:39;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;332:46;397:2;14:391;-1:-1:-1;;;14:391:39:o;685:423::-;727:3;765:5;759:12;792:6;787:3;780:19;817:1;827:162;841:6;838:1;835:13;827:162;;;903:4;959:13;;;955:22;;949:29;931:11;;;927:20;;920:59;856:12;827:162;;;831:3;1034:1;1027:4;1018:6;1013:3;1009:16;1005:27;998:38;1097:4;1090:2;1086:7;1081:2;1073:6;1069:15;1065:29;1060:3;1056:39;1052:50;1045:57;;;685:423;;;;:::o;1791:127::-;1852:10;1847:3;1843:20;1840:1;1833:31;1883:4;1880:1;1873:15;1907:4;1904:1;1897:15;1923:143;2007:1;2000:5;1997:12;1987:46;;2013:18;;:::i;:::-;2042;;1923:143::o;2071:1834::-;2136:47;2179:3;2171:5;2165:12;2136:47;:::i;:::-;2229:4;2222:5;2218:16;2212:23;2244:58;2296:4;2291:3;2287:14;2273:12;2244:58;:::i;:::-;;2350:4;2343:5;2339:16;2333:23;2365:60;2419:4;2414:3;2410:14;2394;2365:60;:::i;:::-;;2473:4;2466:5;2462:16;2456:23;2488:60;2542:4;2537:3;2533:14;2517;2488:60;:::i;:::-;;2596:4;2589:5;2585:16;2579:23;2611:60;2665:4;2660:3;2656:14;2640;2611:60;:::i;:::-;;2719:4;2712:5;2708:16;2702:23;2734:60;2788:4;2783:3;2779:14;2763;2734:60;:::i;:::-;;2842:4;2835:5;2831:16;2825:23;2857:60;2911:4;2906:3;2902:14;2886;2857:60;:::i;:::-;;2965:4;2958:5;2954:16;2948:23;2980:49;3023:4;3018:3;3014:14;2998;1296:10;1285:22;1273:35;;1220:94;2980:49;;3048:6;3102:2;3095:5;3091:14;3085:21;3115:58;3169:2;3164:3;3160:12;3144:14;3115:58;:::i;:::-;;;3192:6;3246:2;3239:5;3235:14;3229:21;3259:58;3313:2;3308:3;3304:12;3288:14;3259:58;:::i;:::-;;;3336:6;3390:2;3383:5;3379:14;3373:21;3403:58;3457:2;3452:3;3448:12;3432:14;3403:58;:::i;:::-;;;3480:6;3535:2;3528:5;3524:14;3518:21;3548:59;3603:2;3598:3;3594:12;3577:15;3548:59;:::i;:::-;;;3626:6;3681:2;3674:5;3670:14;3664:21;3694:59;3749:2;3744:3;3740:12;3723:15;3694:59;:::i;:::-;;;3772:6;3827:2;3820:5;3816:14;3810:21;3840:59;3895:2;3890:3;3886:12;3869:15;3840:59;:::i;:::-;;;2071:1834;;:::o;3910:145::-;3996:1;3989:5;3986:12;3976:46;;4002:18;;:::i;4216:335::-;4319:5;4342:1;4352:193;4366:4;4363:1;4360:11;4352:193;;;4413:48;4457:3;4448:6;4442:13;4136:12;;4124:25;;4198:4;4187:16;;;4181:23;4165:14;;4158:47;4060:151;4413:48;4490:4;4481:14;;;;;4530:4;4518:17;;;;;4386:1;4379:9;4352:193;;4556:1627;4625:49;4670:3;4662:5;4656:12;4625:49;:::i;:::-;4693:4;4743:2;4736:5;4732:14;4726:21;4756:58;4810:2;4805:3;4801:12;4787;4756:58;:::i;:::-;-1:-1:-1;4833:4:39;4874:14;;;4868:21;4939;;5047:1;4908:12;;;5057:195;5071:4;5068:1;5065:11;5057:195;;;5118:50;5162:5;5153:6;5147:13;4136:12;;4124:25;;4198:4;4187:16;;;4181:23;4165:14;;4158:47;4060:151;5118:50;5227:15;;;;5091:1;5084:9;;;;;5190:14;;5057:195;;;-1:-1:-1;;;5289:23:39;;;5283:30;;5322:65;5382:3;5373:13;;5283:30;5322:65;:::i;:::-;5424:23;;;5418:30;4136:12;;5511:4;5502:14;;4124:25;4198:4;4187:16;;;4181:23;4165:14;;;4158:47;5574:4;5554:25;;5548:32;4136:12;;5643:4;5634:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;5706:4;5686:25;;5680:32;4136:12;;5775:4;5766:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;5838:4;5818:25;;5812:32;4136:12;;5907:4;5898:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;5970:4;5950:25;;5944:32;4136:12;;6039:4;6030:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;6102:4;6082:25;;;6076:32;4136:12;;6171:4;6162:14;;4124:25;4187:16;4181:23;4165:14;;;;4158:47;;;;-1:-1:-1;;4556:1627:39:o;6188:326::-;6281:5;6304:1;6314:194;6328:4;6325:1;6322:11;6314:194;;;6387:13;;6375:26;;6424:4;6448:12;;;;6483:15;;;;6348:1;6341:9;6314:194;;6519:1166;6627:12;;6574:3;;6602:6;;6661:3;6574;6738:200;6752:4;6749:1;6746:11;6738:200;;;6813:13;;6799:28;;6850:4;6913:15;;;;6876:14;;;;6772:1;6765:9;6738:200;;;6742:3;;;6984:4;6977:5;6973:16;6967:23;6999:65;7056:6;7051:3;7047:16;7033:12;6999:65;:::i;:::-;-1:-1:-1;7112:4:39;7101:16;;7095:23;1296:10;1285:22;7170:6;7161:16;;1273:35;7226:4;7215:16;;7209:23;7241:58;7291:6;7282:16;;7209:23;7241:58;:::i;:::-;-1:-1:-1;7347:4:39;7336:16;;7330:23;1296:10;1285:22;7405:6;7396:16;;1273:35;7461:4;7450:16;;7444:23;480:13;473:21;7517:6;7508:16;;461:34;7573:4;7562:16;;7556:23;7604:6;7595:16;;7588:28;;;7632:47;7666:12;;;7556:23;7632:47;:::i;:::-;7625:54;6519:1166;-1:-1:-1;;;;;6519:1166:39:o;7690:1524::-;7869:2;7851:21;;;7917:13;;589:12;;7932:18;;;577:25;654:16;648:23;641:31;634:39;618:14;;;611:63;8005:2;7997:6;7993:15;7987:22;7982:2;7971:9;7967:18;7960:50;7832:4;8057;8049:6;8045:17;8039:24;8082:6;8125:2;8119:3;8108:9;8104:19;8097:31;8151:52;8198:3;8187:9;8183:19;8169:12;8151:52;:::i;:::-;8137:66;;8252:2;8244:6;8240:15;8234:22;8265:54;8314:3;8303:9;8299:19;8283:14;-1:-1:-1;;;;;1178:30:39;1166:43;;1113:102;8265:54;-1:-1:-1;8368:3:39;8356:16;;8350:23;1296:10;1285:22;;8431:3;8416:19;;1273:35;8382:54;8491:3;8483:6;8479:16;8473:23;8467:3;8456:9;8452:19;8445:52;8546:3;8538:6;8534:16;8528:23;8570:3;8582:71;8649:2;8638:9;8634:18;8618:14;589:12;;577:25;;665:4;654:16;;;648:23;641:31;634:39;618:14;;611:63;506:174;8582:71;8690:3;8678:16;;8672:23;8714:3;8733:18;;;8726:30;;;;8793:15;;;8787:22;1432:12;;-1:-1:-1;;;;;1428:21:39;;;8874:3;8859:19;;1416:34;1496:4;1485:16;;1479:23;1521:10;1563:21;;;1547:14;;;1540:45;1638:4;1627:16;;1621:23;1617:32;;1601:14;;;1594:56;1703:4;1692:16;;1686:23;1682:32;1666:14;;;1659:56;1768:4;1757:16;;;1751:23;1747:32;1731:14;;;1724:56;8928:6;8916:19;;8910:26;;-1:-1:-1;8945:66:39;9006:3;8991:19;;8910:26;8945:66;:::i;:::-;9048:15;;9042:22;9104;;;-1:-1:-1;;9100:36:39;9080:18;;;9073:64;9042:22;-1:-1:-1;9154:54:39;;-1:-1:-1;9108:6:39;9042:22;9154:54;:::i;9219:521::-;9296:4;9302:6;9362:11;9349:25;9456:2;9452:7;9441:8;9425:14;9421:29;9417:43;9397:18;9393:68;9383:96;;9475:1;9472;9465:12;9383:96;9502:33;;9554:20;;;-1:-1:-1;;;;;;9586:30:39;;9583:50;;;9629:1;9626;9619:12;9583:50;9662:4;9650:17;;-1:-1:-1;9693:14:39;9689:27;;;9679:38;;9676:58;;;9730:1;9727;9720:12;9676:58;9219:521;;;;;:::o;9745:331::-;9850:9;9861;9903:8;9891:10;9888:24;9885:44;;;9925:1;9922;9915:12;9885:44;9954:6;9944:8;9941:20;9938:40;;;9974:1;9971;9964:12;9938:40;-1:-1:-1;;10000:23:39;;;10045:25;;;;;-1:-1:-1;9745:331:39:o;10081:271::-;10264:6;10256;10251:3;10238:33;10220:3;10290:16;;10315:13;;;10290:16;10081:271;-1:-1:-1;10081:271:39:o;10357:298::-;10416:6;10469:2;10457:9;10448:7;10444:23;10440:32;10437:52;;;10485:1;10482;10475:12;10437:52;10511:23;;-1:-1:-1;;10563:43:39;;10553:54;;10543:82;;10621:1;10618;10611:12;10660:286;10719:6;10772:2;10760:9;10751:7;10747:23;10743:32;10740:52;;;10788:1;10785;10778:12;10740:52;10814:23;;-1:-1:-1;;;;;10866:31:39;;10856:42;;10846:70;;10912:1;10909;10902:12;10951:997;11267:4;11296:3;11326:6;11315:9;11308:25;11369:6;11364:2;11353:9;11349:18;11342:34;11412:6;11407:2;11396:9;11392:18;11385:34;11471:26;11467:31;11459:6;11455:44;11450:2;11439:9;11435:18;11428:72;11537:6;11531:3;11520:9;11516:19;11509:35;11581:2;11575:3;11564:9;11560:19;11553:31;11620:6;11615:2;11604:9;11600:18;11593:34;;11646:3;11699:6;11691;11686:2;11675:9;11671:18;11658:48;11755:1;11726:22;;;11722:31;;11715:42;11859:3;11844:19;;11837:35;;;;-1:-1:-1;;;;;;11909:32:39;;;;11903:3;11888:19;;11881:61;11818:2;11797:15;;;-1:-1:-1;;11793:29:39;11778:45;;;11774:54;;10951:997;-1:-1:-1;;;;;;10951:997:39:o;11953:118::-;12039:5;12032:13;12025:21;12018:5;12015:32;12005:60;;12061:1;12058;12051:12;12005:60;11953:118;:::o;12076:245::-;12143:6;12196:2;12184:9;12175:7;12171:23;12167:32;12164:52;;;12212:1;12209;12202:12;12164:52;12244:9;12238:16;12263:28;12285:5;12263:28;:::i;12326:127::-;12387:10;12382:3;12378:20;12375:1;12368:31;12418:4;12415:1;12408:15;12442:4;12439:1;12432:15;12458:257;12530:4;12524:11;;;12562:17;;-1:-1:-1;;;;;12594:34:39;;12630:22;;;12591:62;12588:88;;;12656:18;;:::i;:::-;12692:4;12685:24;12458:257;:::o;12720:255::-;12792:2;12786:9;12834:6;12822:19;;-1:-1:-1;;;;;12856:34:39;;12892:22;;;12853:62;12850:88;;;12918:18;;:::i;12980:248::-;13047:2;13041:9;13089:4;13077:17;;-1:-1:-1;;;;;13109:34:39;;13145:22;;;13106:62;13103:88;;;13171:18;;:::i;13233:255::-;13305:2;13299:9;13347:6;13335:19;;-1:-1:-1;;;;;13369:34:39;;13405:22;;;13366:62;13363:88;;;13431:18;;:::i;13493:253::-;13565:2;13559:9;13607:4;13595:17;;-1:-1:-1;;;;;13627:34:39;;13663:22;;;13624:62;13621:88;;;13689:18;;:::i;13751:255::-;13823:2;13817:9;13865:6;13853:19;;-1:-1:-1;;;;;13887:34:39;;13923:22;;;13884:62;13881:88;;;13949:18;;:::i;14011:128::-;14076:20;;14105:28;14076:20;14105:28;:::i;:::-;14011:128;;;:::o;14144:362::-;14208:5;14256:4;14244:9;14239:3;14235:19;14231:30;14228:50;;;14274:1;14271;14264:12;14228:50;14296:22;;:::i;:::-;14287:31;;14354:9;14341:23;14334:5;14327:38;14417:2;14406:9;14402:18;14389:32;14430:30;14452:7;14430:30;:::i;:::-;14487:2;14476:14;;14469:31;14480:5;14144:362;-1:-1:-1;;14144:362:39:o;14511:719::-;14554:5;14607:3;14600:4;14592:6;14588:17;14584:27;14574:55;;14625:1;14622;14615:12;14574:55;14661:6;14648:20;-1:-1:-1;;;;;14724:2:39;14720;14717:10;14714:36;;;14730:18;;:::i;:::-;14805:2;14799:9;14773:2;14859:13;;-1:-1:-1;;14855:22:39;;;14879:2;14851:31;14847:40;14835:53;;;14903:18;;;14923:22;;;14900:46;14897:72;;;14949:18;;:::i;:::-;14989:10;14985:2;14978:22;15024:2;15016:6;15009:18;15070:3;15063:4;15058:2;15050:6;15046:15;15042:26;15039:35;15036:55;;;15087:1;15084;15077:12;15036:55;15151:2;15144:4;15136:6;15132:17;15125:4;15117:6;15113:17;15100:54;15198:1;15191:4;15186:2;15178:6;15174:15;15170:26;15163:37;15218:6;15209:15;;;;;;14511:719;;;;:::o;15235:171::-;15302:20;;-1:-1:-1;;;;;15351:30:39;;15341:41;;15331:69;;15396:1;15393;15386:12;15411:163;15478:20;;15538:10;15527:22;;15517:33;;15507:61;;15564:1;15561;15554:12;15579:696;15632:5;15680:4;15668:9;15663:3;15659:19;15655:30;15652:50;;;15698:1;15695;15688:12;15652:50;15731:2;15725:9;15773:4;15765:6;15761:17;15844:6;15832:10;15829:22;-1:-1:-1;;;;;15796:10:39;15793:34;15790:62;15787:88;;;15855:18;;:::i;:::-;15891:2;15884:22;15924:6;-1:-1:-1;15924:6:39;15954:28;15972:9;15954:28;:::i;:::-;15946:6;15939:44;16016:37;16049:2;16038:9;16034:18;16016:37;:::i;:::-;16011:2;16003:6;15999:15;15992:62;16087:37;16120:2;16109:9;16105:18;16087:37;:::i;:::-;16082:2;16074:6;16070:15;16063:62;16158:37;16191:2;16180:9;16176:18;16158:37;:::i;:::-;16153:2;16145:6;16141:15;16134:62;16230:38;16263:3;16252:9;16248:19;16230:38;:::i;:::-;16224:3;16216:6;16212:16;16205:64;;15579:696;;;;:::o;16280:153::-;16358:20;;16407:1;16397:12;;16387:40;;16423:1;16420;16413:12;16438:1421;16496:5;16544:6;16532:9;16527:3;16523:19;16519:32;16516:52;;;16564:1;16561;16554:12;16516:52;16586:22;;:::i;:::-;16577:31;;16631:39;16660:9;16631:39;:::i;:::-;16624:5;16617:54;16703:48;16747:2;16736:9;16732:18;16703:48;:::i;:::-;16698:2;16691:5;16687:14;16680:72;16784:48;16828:2;16817:9;16813:18;16784:48;:::i;:::-;16779:2;16772:5;16768:14;16761:72;16865:48;16909:2;16898:9;16894:18;16865:48;:::i;:::-;16860:2;16853:5;16849:14;16842:72;16947:49;16991:3;16980:9;16976:19;16947:49;:::i;:::-;16941:3;16934:5;16930:15;16923:74;17030:49;17074:3;17063:9;17059:19;17030:49;:::i;:::-;17024:3;17017:5;17013:15;17006:74;17113:49;17157:3;17146:9;17142:19;17113:49;:::i;:::-;17107:3;17100:5;17096:15;17089:74;17196:38;17229:3;17218:9;17214:19;17196:38;:::i;:::-;17190:3;17183:5;17179:15;17172:63;17254:3;17289:48;17333:2;17322:9;17318:18;17289:48;:::i;:::-;17273:14;;;17266:72;17357:3;17392:48;17421:18;;;17392:48;:::i;:::-;17376:14;;;17369:72;17460:3;17495:48;17524:18;;;17495:48;:::i;:::-;17479:14;;;17472:72;17563:3;17598:48;17627:18;;;17598:48;:::i;:::-;17582:14;;;17575:72;17666:3;17701:48;17730:18;;;17701:48;:::i;:::-;17685:14;;;17678:72;17769:3;17804:48;17833:18;;;17804:48;:::i;:::-;17788:14;;;17781:72;17792:5;16438:1421;-1:-1:-1;;16438:1421:39:o;17864:485::-;17914:5;17967:3;17960:4;17952:6;17948:17;17944:27;17934:55;;17985:1;17982;17975:12;17934:55;18009:22;;:::i;:::-;18053:3;18091;18083:6;18079:16;18118:3;18110:6;18107:15;18104:35;;;18135:1;18132;18125:12;18104:35;18159:6;18174:146;18190:6;18185:3;18182:15;18174:146;;;18258:17;;18246:30;;18305:4;18296:14;;;;18207;18174:146;;;-1:-1:-1;18338:5:39;;17864:485;-1:-1:-1;;;;;17864:485:39:o;18354:155::-;18434:20;;18483:1;18473:12;;18463:40;;18499:1;18496;18489:12;18514:285;18571:5;18619:4;18607:9;18602:3;18598:19;18594:30;18591:50;;;18637:1;18634;18627:12;18591:50;18659:22;;:::i;:::-;18650:31;;18717:9;18704:23;18697:5;18690:38;18788:2;18777:9;18773:18;18760:32;18755:2;18748:5;18744:14;18737:56;18514:285;;;;:::o;18804:538::-;18886:5;18939:3;18932:4;18924:6;18920:17;18916:27;18906:55;;18957:1;18954;18947:12;18906:55;18981:22;;:::i;:::-;19025:3;19063;19055:6;19051:16;19090:3;19082:6;19079:15;19076:35;;;19107:1;19104;19097:12;19076:35;19131:6;19146:167;19162:6;19157:3;19154:15;19146:167;;;19230:38;19264:3;19259;19230:38;:::i;:::-;19218:51;;19298:4;19289:14;;;;19188:4;19179:14;19146:167;;19347:698;19407:5;19460:3;19453:4;19445:6;19441:17;19437:27;19427:55;;19478:1;19475;19468:12;19427:55;19501:2;19532;19526:9;19574:3;19566:6;19562:16;19644:6;19632:10;19629:22;-1:-1:-1;;;;;19596:10:39;19593:34;19590:62;19587:88;;;19655:18;;:::i;:::-;19684:22;;19726:6;19767:3;19755:16;;19783:15;;;19780:35;;;19811:1;19808;19801:12;19780:35;19835:6;19850:165;19866:6;19861:3;19858:15;19850:165;;;19932:38;19966:3;19961;19932:38;:::i;:::-;19920:51;;20000:4;19991:14;;;;19883:12;;19850:165;;;-1:-1:-1;20033:6:39;;19347:698;-1:-1:-1;;;;;;19347:698:39:o;20050:1259::-;20112:5;20151:9;20146:3;20142:19;20181:6;20177:2;20173:15;20170:35;;;20201:1;20198;20191:12;20170:35;20223:17;;:::i;:::-;20214:26;;20263:41;20294:9;20263:41;:::i;:::-;20256:5;20249:56;20337:50;20383:2;20372:9;20368:18;20337:50;:::i;:::-;20332:2;20325:5;20321:14;20314:74;20407:6;20447:2;20441;20437:7;20433:2;20429:16;20425:25;20422:45;;;20463:1;20460;20453:12;20422:45;20491:22;;:::i;:::-;20476:37;;20538:81;20615:3;20610:2;20599:9;20595:18;20538:81;:::i;:::-;20529:7;20522:98;20654:60;20710:3;20704;20693:9;20689:19;20654:60;:::i;:::-;20649:2;20640:7;20636:16;20629:86;20749:55;20800:3;20793:4;20782:9;20778:20;20749:55;:::i;:::-;20744:2;20735:7;20731:16;20724:81;20841:55;20892:3;20885:4;20874:9;20870:20;20841:55;:::i;:::-;20834:4;20825:7;20821:18;20814:83;20933:55;20984:3;20977:4;20966:9;20962:20;20933:55;:::i;:::-;20926:4;20917:7;20913:18;20906:83;21025:55;21076:3;21069:4;21058:9;21054:20;21025:55;:::i;:::-;21018:4;21009:7;21005:18;20998:83;21117:55;21168:3;21161:4;21150:9;21146:20;21117:55;:::i;:::-;21110:4;21101:7;21097:18;21090:83;21209:53;21258:3;21253:2;21242:9;21238:18;21209:53;:::i;:::-;21202:4;21189:18;;21182:81;-1:-1:-1;21290:2:39;21279:14;;21272:31;21283:5;20050:1259;-1:-1:-1;;20050:1259:39:o;21314:659::-;21375:5;21428:3;21421:4;21413:6;21409:17;21405:27;21395:55;;21446:1;21443;21436:12;21395:55;21479:2;21473:9;21521:3;21513:6;21509:16;21591:6;21579:10;21576:22;-1:-1:-1;;;;;21543:10:39;21540:34;21537:62;21534:88;;;21602:18;;:::i;:::-;21638:2;21631:22;21673:6;21714:3;21702:16;;21730:15;;;21727:35;;;21758:1;21755;21748:12;21727:35;21782:6;21797:146;21813:6;21808:3;21805:15;21797:146;;;21881:17;;21869:30;;21928:4;21919:14;;;;21830;21797:146;;;-1:-1:-1;21961:6:39;;21314:659;-1:-1:-1;;;;;21314:659:39:o;21978:849::-;22037:5;22085:6;22073:9;22068:3;22064:19;22060:32;22057:52;;;22105:1;22102;22095:12;22057:52;22127:22;;:::i;:::-;22118:31;;22172:40;22208:3;22197:9;22172:40;:::i;:::-;22165:5;22158:55;22247:59;22302:3;22296;22285:9;22281:19;22247:59;:::i;:::-;22240:4;22233:5;22229:16;22222:85;22341:39;22374:4;22363:9;22359:20;22341:39;:::i;:::-;22334:4;22327:5;22323:16;22316:65;22415:62;22473:3;22466:4;22455:9;22451:20;22415:62;:::i;:::-;22408:4;22401:5;22397:16;22390:88;22512:39;22545:4;22534:9;22530:20;22512:39;:::i;:::-;22505:4;22498:5;22494:16;22487:65;22586:37;22617:4;22606:9;22602:20;22586:37;:::i;:::-;22579:4;22572:5;22568:16;22561:63;22675:4;22664:9;22660:20;22647:34;-1:-1:-1;;;;;22696:6:39;22693:30;22690:50;;;22736:1;22733;22726:12;22690:50;22774:46;22816:3;22807:6;22796:9;22792:22;22774:46;:::i;:::-;22767:4;22760:5;22756:16;22749:72;;21978:849;;;;:::o;22832:1498::-;22916:6;22969:2;22957:9;22948:7;22944:23;22940:32;22937:52;;;22985:1;22982;22975:12;22937:52;23025:9;23012:23;-1:-1:-1;;;;;23095:2:39;23087:6;23084:14;23081:34;;;23111:1;23108;23101:12;23081:34;23134:22;;;;23190:6;23172:16;;;23168:29;23165:49;;;23210:1;23207;23200:12;23165:49;23236:22;;:::i;:::-;23281:48;23321:7;23317:2;23281:48;:::i;:::-;23274:5;23267:63;23383:2;23379;23375:11;23362:25;23357:2;23350:5;23346:14;23339:49;23434:2;23430;23426:11;23413:25;23463:2;23453:8;23450:16;23447:36;;;23479:1;23476;23469:12;23447:36;23515:45;23552:7;23541:8;23537:2;23533:17;23515:45;:::i;:::-;23510:2;23503:5;23499:14;23492:69;;23593:31;23619:3;23615:2;23611:12;23593:31;:::i;:::-;23588:2;23581:5;23577:14;23570:55;23658:31;23684:3;23680:2;23676:12;23658:31;:::i;:::-;23652:3;23645:5;23641:15;23634:56;23744:3;23740:2;23736:12;23723:26;23717:3;23710:5;23706:15;23699:51;23783:58;23833:7;23827:3;23823:2;23819:12;23783:58;:::i;:::-;23777:3;23770:5;23766:15;23759:83;23861:3;23918:2;23914;23910:11;23897:25;23891:3;23884:5;23880:15;23873:50;23942:3;23981:46;24019:7;24014:2;24010;24006:11;23981:46;:::i;:::-;23972:6;23965:5;23961:18;23954:74;24060:52;24104:7;24098:3;24094:2;24090:12;24060:52;:::i;:::-;24055:2;24048:5;24044:14;24037:76;24159:3;24155:2;24151:12;24138:26;24122:42;;24189:2;24179:8;24176:16;24173:36;;;24205:1;24202;24195:12;24173:36;24241:58;24291:7;24280:8;24276:2;24272:17;24241:58;:::i;:::-;24225:14;;;24218:82;-1:-1:-1;24229:5:39;22832:1498;-1:-1:-1;;;;;22832:1498:39:o","linkReferences":{}},"methodIdentifiers":{"validateAccount((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"9029ad15"},"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\":\"AccountIsNotVerified\",\"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\":[{\"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\":\"0x90ad6c63ccdfaf5ece74b0c5d1be2f5f055af0bac6ad875638c20ada517cad9e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0c6935178db6825ed5b3f223965633f264c47e5d6fc7246ed73b75ca5f963dc7\",\"dweb:/ipfs/Qmcx4xD164Z2P3zCAijesowyc5aGbY9G3iUWkP8s64h386\"]}},\"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":"AccountIsNotVerified"},{"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":"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":"0x90ad6c63ccdfaf5ece74b0c5d1be2f5f055af0bac6ad875638c20ada517cad9e","urls":["bzz-raw://0c6935178db6825ed5b3f223965633f264c47e5d6fc7246ed73b75ca5f963dc7","dweb:/ipfs/Qmcx4xD164Z2P3zCAijesowyc5aGbY9G3iUWkP8s64h386"],"license":"UNLICENSED"}},"version":1},"id":38} \ No newline at end of file diff --git a/core/abi/MinaBridge.json b/core/abi/MinaBridge.json index 85555d4f..da3e7178 100644 --- a/core/abi/MinaBridge.json +++ b/core/abi/MinaBridge.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":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516107b13803806107b183398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d4565b0155506100ea9050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b818103818111156100ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6106b8806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906103d8565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046104ad565b610160565b005b61009561033f565b610095601081565b6100d06103b9565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6103b9565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261055c565b6010811061015957610159610583565b0154905090565b602081015160006101736001601061055c565b6010811061018357610183610583565b01548114610206576101bf604051806040016040528060138152602001725469702073746174652069732077726f6e672160681b81525061034e565b8060006101ce6001601061055c565b601081106101de576101de610583565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061024f908d9086908e908e908e908e908e908b906004016105df565b602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610646565b905080156102dc5760006010604086016102408701835b60108110156102d25782518555815184556001948501949384019360209384019390920191016102a7565b5050505050610333565b61031a6040518060400160405280601781526020017f4e6577207374617465206973206e6f742076616c69642100000000000000000081525061034e565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061055c565b61039181604051602401610362919061066f565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610394565b50565b6103918180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156104015781518352602092830192909101906001016103e2565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261043157600080fd5b813567ffffffffffffffff8082111561044c5761044c61040a565b604051601f8301601f19908116603f011681019082821181831017156104745761047461040a565b8160405283815286602085880101111561048d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156104c857600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104f357600080fd5b945060608801359350608088013567ffffffffffffffff8082111561051757600080fd5b6105238b838c01610420565b945060a08a0135935060c08a013591508082111561054057600080fd5b5061054d8a828b01610420565b91505092959891949750929550565b8181038181111561057d57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b818110156105bf576020818501810151868301820152016105a3565b506000602082860101526020601f19601f83011685010191505092915050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a084015261062081840187610599565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b60006020828403121561065857600080fd5b8151801515811461066857600080fd5b9392505050565b602081526000610668602083018461059956fea26469706673582212205bb6a46b17433a4b6f64ef627c5cf25128999085ed8ed7b2dda79f31a0e081ec64736f6c63430008150033","sourceMap":"393:4156:63:-:0;;;1101:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1183:7;:57;;-1:-1:-1;;;;;;1183:57:63;-1:-1:-1;;;;;1183:57:63;;;;;1305:13;-1:-1:-1;1267:34:63;-1:-1:-1;596:2:63;1267:34;:::i;:::-;1250:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;393:4156:63;;-1:-1:-1;393:4156:63;14:359:65;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:65;;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:65: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;393:4156:63;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906103d8565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046104ad565b610160565b005b61009561033f565b610095601081565b6100d06103b9565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6103b9565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261055c565b6010811061015957610159610583565b0154905090565b602081015160006101736001601061055c565b6010811061018357610183610583565b01548114610206576101bf604051806040016040528060138152602001725469702073746174652069732077726f6e672160681b81525061034e565b8060006101ce6001601061055c565b601081106101de576101de610583565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061024f908d9086908e908e908e908e908e908b906004016105df565b602060405180830381865afa15801561026c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102909190610646565b905080156102dc5760006010604086016102408701835b60108110156102d25782518555815184556001948501949384019360209384019390920191016102a7565b5050505050610333565b61031a6040518060400160405280601781526020017f4e6577207374617465206973206e6f742076616c69642100000000000000000081525061034e565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061055c565b61039181604051602401610362919061066f565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052610394565b50565b6103918180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156104015781518352602092830192909101906001016103e2565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261043157600080fd5b813567ffffffffffffffff8082111561044c5761044c61040a565b604051601f8301601f19908116603f011681019082821181831017156104745761047461040a565b8160405283815286602085880101111561048d57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156104c857600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104f357600080fd5b945060608801359350608088013567ffffffffffffffff8082111561051757600080fd5b6105238b838c01610420565b945060a08a0135935060c08a013591508082111561054057600080fd5b5061054d8a828b01610420565b91505092959891949750929550565b8181038181111561057d57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b818110156105bf576020818501810151868301820152016105a3565b506000602082860101526020601f19601f83011685010191505092915050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a084015261062081840187610599565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b60006020828403121561065857600080fd5b8151801515811461066857600080fd5b9392505050565b602081526000610668602083018461059956fea26469706673582212205bb6a46b17433a4b6f64ef627c5cf25128999085ed8ed7b2dda79f31a0e081ec64736f6c63430008150033","sourceMap":"393:4156:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1788:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2001:144;;;:::i;1581:137::-;;;:::i;:::-;;;662:25:65;;;650:2;635:18;1581:137:63;516:177:65;2151:2396:63;;;;;;:::i;:::-;;:::i;:::-;;1385:135;;;:::i;539:59::-;;596:2;539:59;;1788:142;1842:46;;:::i;:::-;1900:23;;;;;;;;;;;-1:-1:-1;;1900:23:63;;-1:-1:-1;1900:23:63;;;;;;;;;;;;;;;;;;;;;;;;1788:142;:::o;2001:144::-;2056:46;;:::i;:::-;2114:24;;;;;;;;;;2121:17;2114:24;;;;;;2121:17;;2114:24;;;;;;;;;;;;;;;;2001:144;:::o;1581:137::-;1632:7;1658:17;1676:34;1709:1;1658:17;1676:34;:::i;:::-;1658:53;;;;;;;:::i;:::-;;;1651:60;;1581:137;:::o;2151:2396::-;2573:4;2559:19;;2553:26;2456:34;2650;2683:1;596:2;2650:34;:::i;:::-;2633:52;;;;;;;:::i;:::-;;;2603:26;:82;2599:265;;2701:34;;;;;;;;;;;;;;-1:-1:-1;;;2701:34:63;;;:11;:34::i;:::-;2772:26;2800:16;2817:34;2850:1;596:2;2817:34;:::i;:::-;2800:52;;;;;;;:::i;:::-;;;2756:97;;-1:-1:-1;;;2756:97:63;;;;;3277:25:65;;;;3318:18;;;3311:34;3250:18;;2756:97:63;;;;;;;2599:265;2903:19;;;;;;;;;;2959:7;;:293;;-1:-1:-1;;;2959:293:63;;2874:26;;-1:-1:-1;;;;;2959:7:63;;:28;;:293;;3001:15;;2903:19;;3062:30;;3106:18;;3138:15;;3167:11;;3192:26;;2874;;2959:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2933:319;;3267:18;3263:1278;;;3405:21;3463:22;3753:2;3739:17;;3888:57;;;3405:21;3963:444;3988:30;3985:1;3982:37;3963:444;;;4081:18;;4061:39;;4254:19;;4233:41;;4209:1;4192:19;;;;4369:20;;;;4153:2;4136:20;;;;4311:21;;;;4027:9;3963:444;;;3967:14;;;;;3263:1278;;;4451:38;;;;;;;;;;;;;;;;;;:11;:38::i;:::-;4510:20;;-1:-1:-1;;;4510:20:63;;;;;;;;;;;3263:1278;2446:2101;;;2151:2396;;;;;;;:::o;1385:135::-;1435:7;;1478:34;1511:1;596:2;1478:34;:::i;6114:121:53:-;6169:59;6224:2;6185:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6185:42:53;;;;;;;;;;;;;;-1:-1:-1;;;;;6185:42:53;-1:-1:-1;;;6185:42:53;;;6169:15;:59::i;:::-;6114:121;:::o;408:133::-;479:55;526:7;645:14;;131:42;818:2;805:16;;621:21;;645:14;805:16;131:42;854:5;843:68;834:77;;771:150;;547:380;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:65:-;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;698:127::-;759:10;754:3;750:20;747:1;740:31;790:4;787:1;780:15;814:4;811:1;804:15;830:718;872:5;925:3;918:4;910:6;906:17;902:27;892:55;;943:1;940;933:12;892:55;979:6;966:20;1005:18;1042:2;1038;1035:10;1032:36;;;1048:18;;:::i;:::-;1123:2;1117:9;1091:2;1177:13;;-1:-1:-1;;1173:22:65;;;1197:2;1169:31;1165:40;1153:53;;;1221:18;;;1241:22;;;1218:46;1215:72;;;1267:18;;:::i;:::-;1307:10;1303:2;1296:22;1342:2;1334:6;1327:18;1388:3;1381:4;1376:2;1368:6;1364:15;1360:26;1357:35;1354:55;;;1405:1;1402;1395:12;1354:55;1469:2;1462:4;1454:6;1450:17;1443:4;1435:6;1431:17;1418:54;1516:1;1509:4;1504:2;1496:6;1492:15;1488:26;1481:37;1536:6;1527:15;;;;;;830:718;;;;:::o;1553:1001::-;1684:6;1692;1700;1708;1716;1724;1732;1785:3;1773:9;1764:7;1760:23;1756:33;1753:53;;;1802:1;1799;1792:12;1753:53;1825:23;;;-1:-1:-1;1895:2:65;1880:18;;1867:32;;-1:-1:-1;1949:2:65;1934:18;;1921:32;-1:-1:-1;;1982:43:65;;1972:54;;1962:82;;2040:1;2037;2030:12;1962:82;2063:5;-1:-1:-1;2115:2:65;2100:18;;2087:32;;-1:-1:-1;2170:3:65;2155:19;;2142:33;2194:18;2224:14;;;2221:34;;;2251:1;2248;2241:12;2221:34;2274:49;2315:7;2306:6;2295:9;2291:22;2274:49;:::i;:::-;2264:59;;2370:3;2359:9;2355:19;2342:33;2332:43;;2428:3;2417:9;2413:19;2400:33;2384:49;;2458:2;2448:8;2445:16;2442:36;;;2474:1;2471;2464:12;2442:36;;2497:51;2540:7;2529:8;2518:9;2514:24;2497:51;:::i;:::-;2487:61;;;1553:1001;;;;;;;;;;:::o;2741:225::-;2808:9;;;2829:11;;;2826:134;;;2882:10;2877:3;2873:20;2870:1;2863:31;2917:4;2914:1;2907:15;2945:4;2942:1;2935:15;2826:134;2741:225;;;;:::o;2971:127::-;3032:10;3027:3;3023:20;3020:1;3013:31;3063:4;3060:1;3053:15;3087:4;3084:1;3077:15;3356:422;3397:3;3435:5;3429:12;3462:6;3457:3;3450:19;3487:1;3497:162;3511:6;3508:1;3505:13;3497:162;;;3573:4;3629:13;;;3625:22;;3619:29;3601:11;;;3597:20;;3590:59;3526:12;3497:162;;;3501:3;3704:1;3697:4;3688:6;3683:3;3679:16;3675:27;3668:38;3767:4;3760:2;3756:7;3751:2;3743:6;3739:15;3735:29;3730:3;3726:39;3722:50;3715:57;;;3356:422;;;;:::o;3783:804::-;4089:4;4118:3;4148:6;4137:9;4130:25;4191:6;4186:2;4175:9;4171:18;4164:34;4234:6;4229:2;4218:9;4214:18;4207:34;4293:26;4289:31;4281:6;4277:44;4272:2;4261:9;4257:18;4250:72;4359:6;4353:3;4342:9;4338:19;4331:35;4403:2;4397:3;4386:9;4382:19;4375:31;4423:44;4463:2;4452:9;4448:18;4440:6;4423:44;:::i;:::-;4498:3;4483:19;;4476:35;;;;-1:-1:-1;;;;;;;4548:32:65;;;;4542:3;4527:19;;;4520:61;4415:52;3783:804;-1:-1:-1;;;;;;3783:804:65:o;4592:277::-;4659:6;4712:2;4700:9;4691:7;4687:23;4683:32;4680:52;;;4728:1;4725;4718:12;4680:52;4760:9;4754:16;4813:5;4806:13;4799:21;4792:5;4789:32;4779:60;;4835:1;4832;4825:12;4779:60;4858:5;4592:277;-1:-1:-1;;;4592:277:65:o;4874:219::-;5023:2;5012:9;5005:21;4986:4;5043:44;5083:2;5072:9;5068:18;5060:6;5043:44;:::i","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"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\":\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"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\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0x896d7fa721b21ef44fcbbe3fcbc9a8f40ff3c9f7616c0cc5975747a30f6aeebd\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://d3deb947dfcd65d27e7ebebcf744400d11162afc12b4f57fbff9119aee95b1ad\",\"dweb:/ipfs/QmRMcUwUZBfaDvoCeknpL9DhT2Qow9tbcC2WWEVcfwbsgh\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"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":"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"}],"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."}},"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/MinaBridge.sol":"MinaBridge"},"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"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaBridge.sol":{"keccak256":"0x896d7fa721b21ef44fcbbe3fcbc9a8f40ff3c9f7616c0cc5975747a30f6aeebd","urls":["bzz-raw://d3deb947dfcd65d27e7ebebcf744400d11162afc12b4f57fbff9119aee95b1ad","dweb:/ipfs/QmRMcUwUZBfaDvoCeknpL9DhT2Qow9tbcC2WWEVcfwbsgh"],"license":"UNLICENSED"}},"version":1},"id":63} \ No newline at end of file +{"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":"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":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516106e93803806106e983398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d4565b0155506100ea9050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b818103818111156100ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6105f0806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d91461008557806337baff0f1461008d5780633886c09b146100a2578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fc565b60405180910390f35b61006f610104565b6100a061009b3660046103ed565b61013a565b005b6100aa6102a8565b60405190815260200161007c565b6100aa6102ce565b6100aa601081565b6100d06102dd565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dd565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6020820151600061014d600160106104ad565b6010811061015d5761015d6104d4565b015481146101ac57806000610174600160106104ad565b60108110610184576101846104d4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906101f5908e9086908f908f908f908f908f908e906004016104ea565b602060405180830381865afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102369190610591565b905080156102825760006010604087016102408801835b601081101561027857825185558151845560019485019493840193602093840193909201910161024d565b505050505061029b565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106102b76001826104ad565b601081106102c7576102c76104d4565b0154905090565b6000806102b7600160106104ad565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610325578151835260209283019290910190600101610306565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035557600080fd5b813567ffffffffffffffff808211156103705761037061032e565b604051601f8301601f19908116603f011681019082821181831017156103985761039861032e565b816040528381528660208588010111156103b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103e857600080fd5b919050565b600080600080600080600080610100898b03121561040a57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461043557600080fd5b955060608901359450608089013567ffffffffffffffff8082111561045957600080fd5b6104658c838d01610344565b955060a08b0135945060c08b013591508082111561048257600080fd5b5061048f8b828c01610344565b92505061049e60e08a016103d1565b90509295985092959890939650565b818103818111156104ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561054b5787830182015185840161012001529181019161052c565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261058460e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156105a357600080fd5b815180151581146105b357600080fd5b939250505056fea26469706673582212206ff555f11f6263dcb9f4068a4f27af94bc8c28a3fabad9df51dc3ea6297b7f0164736f6c63430008150033","sourceMap":"369:4106:63:-:0;;;1077:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1159:7;:57;;-1:-1:-1;;;;;;1159:57:63;-1:-1:-1;;;;;1159:57:63;;;;;1281:13;-1:-1:-1;1243:34:63;-1:-1:-1;572:2:63;1243:34;:::i;:::-;1226:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;369:4106:63;;-1:-1:-1;369:4106:63;14:359:65;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:65;;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:65: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;369:4106:63;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d91461008557806337baff0f1461008d5780633886c09b146100a2578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fc565b60405180910390f35b61006f610104565b6100a061009b3660046103ed565b61013a565b005b6100aa6102a8565b60405190815260200161007c565b6100aa6102ce565b6100aa601081565b6100d06102dd565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dd565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6020820151600061014d600160106104ad565b6010811061015d5761015d6104d4565b015481146101ac57806000610174600160106104ad565b60108110610184576101846104d4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906101f5908e9086908f908f908f908f908f908e906004016104ea565b602060405180830381865afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102369190610591565b905080156102825760006010604087016102408801835b601081101561027857825185558151845560019485019493840193602093840193909201910161024d565b505050505061029b565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106102b76001826104ad565b601081106102c7576102c76104d4565b0154905090565b6000806102b7600160106104ad565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610325578151835260209283019290910190600101610306565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035557600080fd5b813567ffffffffffffffff808211156103705761037061032e565b604051601f8301601f19908116603f011681019082821181831017156103985761039861032e565b816040528381528660208588010111156103b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103e857600080fd5b919050565b600080600080600080600080610100898b03121561040a57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461043557600080fd5b955060608901359450608089013567ffffffffffffffff8082111561045957600080fd5b6104658c838d01610344565b955060a08b0135945060c08b013591508082111561048257600080fd5b5061048f8b828c01610344565b92505061049e60e08a016103d1565b90509295985092959890939650565b818103818111156104ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561054b5787830182015185840161012001529181019161052c565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261058460e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156105a357600080fd5b815180151581146105b357600080fd5b939250505056fea26469706673582212206ff555f11f6263dcb9f4068a4f27af94bc8c28a3fabad9df51dc3ea6297b7f0164736f6c63430008150033","sourceMap":"369:4106:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1977:144;;;:::i;2127:2346::-;;;;;;:::i;:::-;;:::i;:::-;;1557:137;;;:::i;:::-;;;2776:25:65;;;2764:2;2749:18;1557:137:63;2630:177:65;1361:135:63;;;:::i;515:59::-;;572:2;515:59;;1764:142;1818:46;;:::i;:::-;1876:23;;;;;;;;;;;-1:-1:-1;;1876:23:63;;-1:-1:-1;1876:23:63;;;;;;;;;;;;;;;;;;;;;;;;1764:142;:::o;1977:144::-;2032:46;;:::i;:::-;2090:24;;;;;;;;;;2097:17;2090:24;;;;;;2097:17;;2090:24;;;;;;;;;;;;;;;;1977:144;:::o;2127:2346::-;2588:4;2574:19;;2568:26;2471:34;2665;2698:1;572:2;2665:34;:::i;:::-;2648:52;;;;;;;:::i;:::-;;;2618:26;:82;2614:217;;2739:26;2767:16;2784:34;2817:1;572:2;2784:34;:::i;:::-;2767:52;;;;;;;:::i;:::-;;;2723:97;;-1:-1:-1;;;2723:97:63;;;;;3530:25:65;;;;3571:18;;;3564:34;3503:18;;2723:97:63;;;;;;;2614:217;2870:19;;;;;;;;;;2926:7;;:304;;-1:-1:-1;;;2926:304:63;;2841:26;;-1:-1:-1;;;;;2926:7:63;;:28;;:304;;2968:15;;2870:19;;3029:30;;3073:18;;3105:15;;3134:11;;3159:26;;3199:21;;2926:304;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2900:330;;3245:18;3241:1226;;;3383:21;3441:22;3731:2;3717:17;;3866:57;;;3383:21;3941:444;3966:30;3963:1;3960:37;3941:444;;;4059:18;;4039:39;;4232:19;;4211:41;;4187:1;4170:19;;;;4347:20;;;;4131:2;4114:20;;;;4289:21;;;;4005:9;3941:444;;;3945:14;;;;;3241:1226;;;4436:20;;-1:-1:-1;;;4436:20:63;;;;;;;;;;;3241:1226;2461:2012;;;2127:2346;;;;;;;;:::o;1557:137::-;1608:7;1634:17;1652:34;1685:1;1634:17;1652:34;:::i;:::-;1634:53;;;;;;;:::i;:::-;;;1627:60;;1557:137;:::o;1361:135::-;1411:7;;1454:34;1487:1;572:2;1454:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:65:-;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:65;;;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:65;;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:65;1893:18;;1880:32;;-1:-1:-1;1962:2:65;1947:18;;1934:32;-1:-1:-1;;1995:43:65;;1985:54;;1975:82;;2053:1;2050;2043:12;1975:82;2076:5;-1:-1:-1;2128:2:65;2113:18;;2100:32;;-1:-1:-1;2183:3:65;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;2994:225::-;3061:9;;;3082:11;;;3079:134;;;3135:10;3130:3;3126:20;3123:1;3116:31;3170:4;3167:1;3160:15;3198:4;3195:1;3188:15;3079:134;2994:225;;;;:::o;3224:127::-;3285:10;3280:3;3276:20;3273:1;3266:31;3316:4;3313:1;3306:15;3340:4;3337:1;3330:15;3718:1142;4024:4;4053:3;4083:6;4072:9;4065:25;4109:2;4147:6;4142:2;4131:9;4127:18;4120:34;4190:6;4185:2;4174:9;4170:18;4163:34;4249:26;4245:31;4237:6;4233:44;4228:2;4217:9;4213:18;4206:72;4315:6;4309:3;4298:9;4294:19;4287:35;4359:2;4353:3;4342:9;4338:19;4331:31;4391:6;4385:13;4434:6;4429:2;4418:9;4414:18;4407:34;4459:1;4450:10;;4469:141;4483:6;4480:1;4477:13;4469:141;;;4579:14;;;4575:23;;4569:30;4544:17;;;4563:3;4540:27;4533:67;4498:10;;;;4469:141;;;4629:3;4619:13;;4681:1;4676:2;4667:6;4656:9;4652:22;4648:31;4641:42;4751:2;4744;4740:7;4735:2;4727:6;4723:15;4719:29;4708:9;4704:45;4700:54;4692:62;;;;;4791:6;4785:3;4774:9;4770:19;4763:35;4807:47;4849:3;4838:9;4834:19;4826:6;-1:-1:-1;;;;;3675:31:65;3663:44;;3609:104;4807:47;3718:1142;;;;;;;;;;;:::o;4865:277::-;4932:6;4985:2;4973:9;4964:7;4960:23;4956:32;4953:52;;;5001:1;4998;4991:12;4953:52;5033:9;5027:16;5086:5;5079:13;5072:21;5065:5;5062:32;5052:60;;5108:1;5105;5098:12;5052:60;5131:5;4865:277;-1:-1:-1;;;4865:277:65:o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"37baff0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"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\":\"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.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"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/MinaBridge.sol\":{\"keccak256\":\"0x4866bdaf26f08a08a8cedd7d5a21e0ab8daa3762c3916e04214bc2494a2cc362\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://794655d015a266738be278995e1a0e454a25e72e935c5d60e2fce14454215438\",\"dweb:/ipfs/QmYEYQx6AtSxFydEDUnwEWd1n1n5NiANJui5M9KTjn4gWk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"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":"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."}},"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/MinaBridge.sol":"MinaBridge"},"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/MinaBridge.sol":{"keccak256":"0x4866bdaf26f08a08a8cedd7d5a21e0ab8daa3762c3916e04214bc2494a2cc362","urls":["bzz-raw://794655d015a266738be278995e1a0e454a25e72e935c5d60e2fce14454215438","dweb:/ipfs/QmYEYQx6AtSxFydEDUnwEWd1n1n5NiANJui5M9KTjn4gWk"],"license":"UNLICENSED"}},"version":1},"id":63} \ No newline at end of file diff --git a/core/src/main.rs b/core/src/main.rs index bc31cc26..35e7d91f 100644 --- a/core/src/main.rs +++ b/core/src/main.rs @@ -91,6 +91,7 @@ async fn main() { &chain, ð_rpc_url, wallet, + &batcher_eth_addr, ) .await .unwrap_or_else(|err| { @@ -132,6 +133,7 @@ async fn main() { &pub_input, &chain, ð_rpc_url, + &batcher_eth_addr, ) .await { diff --git a/core/src/smart_contract_utility.rs b/core/src/smart_contract_utility.rs index a909867e..c4663f56 100644 --- a/core/src/smart_contract_utility.rs +++ b/core/src/smart_contract_utility.rs @@ -94,6 +94,7 @@ pub async fn update_chain( chain: &Chain, eth_rpc_url: &str, wallet: Wallet, + batcher_payment_service: &str, ) -> Result<(), String> { let bridge_eth_addr = Address::from_str(match chain { Chain::Devnet => BRIDGE_DEVNET_ETH_ADDR, @@ -108,6 +109,9 @@ pub async fn update_chain( let serialized_pub_input = bincode::serialize(pub_input) .map_err(|err| format!("Failed to serialize public inputs: {err}"))?; + let batcher_payment_service = Address::from_str(batcher_payment_service) + .map_err(|err| format!("Failed to parse batcher payment service address: {err}"))?; + debug!("Creating contract instance"); let mina_bridge_contract = mina_bridge_contract(eth_rpc_url, bridge_eth_addr, chain, wallet)?; @@ -141,6 +145,7 @@ pub async fn update_chain( merkle_proof, index_in_batch.into(), serialized_pub_input.into(), + batcher_payment_service, ); // update call reverts if batch is not valid or proof isn't included in it. @@ -258,6 +263,7 @@ pub async fn validate_account( pub_input: &MinaAccountPubInputs, chain: &Chain, eth_rpc_url: &str, + batcher_payment_service: &str, ) -> Result { let bridge_eth_addr = Address::from_str(match chain { Chain::Devnet => BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, @@ -275,6 +281,9 @@ pub async fn validate_account( let serialized_pub_input = bincode::serialize(pub_input) .map_err(|err| format!("Failed to serialize public inputs: {err}"))?; + let batcher_payment_service = Address::from_str(batcher_payment_service) + .map_err(|err| format!("Failed to parse batcher payment service address: {err}"))?; + let AlignedVerificationData { verification_data_commitment, batch_merkle_root, @@ -298,15 +307,18 @@ pub async fn validate_account( debug!("Validating account"); - let call = contract.validate_account( + let aligned_args = AlignedArgs { proof_commitment, proving_system_aux_data_commitment, proof_generator_addr, batch_merkle_root, merkle_proof, - index_in_batch.into(), - serialized_pub_input.into(), - ); + verification_data_batch_index: index_in_batch.into(), + pub_input: serialized_pub_input.into(), + batcher_payment_service, + }; + + let call = contract.validate_account(aligned_args); info!( "Estimated account verification gas cost: {}", From 8e3673f9dbe17a0ef8daae8f32cbd5f40c3fe09c Mon Sep 17 00:00:00 2001 From: gabrielbosio Date: Fri, 20 Sep 2024 12:00:44 -0300 Subject: [PATCH 26/48] Update Aligned branch --- contract/lib/aligned_layer | 2 +- core/Cargo.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contract/lib/aligned_layer b/contract/lib/aligned_layer index 7853f734..2c60d62a 160000 --- a/contract/lib/aligned_layer +++ b/contract/lib/aligned_layer @@ -1 +1 @@ -Subproject commit 7853f734afdacc51750728cb838d0a35599d7245 +Subproject commit 2c60d62a9373a0cfea43fdc92aeaad7dad61f5d7 diff --git a/core/Cargo.lock b/core/Cargo.lock index 9fab1bfc..bd8f461b 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#7853f734afdacc51750728cb838d0a35599d7245" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#2c60d62a9373a0cfea43fdc92aeaad7dad61f5d7" dependencies = [ "ciborium", "ethers", From d7725162033c32d43cc8be289d4c52b159938b2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 13:06:33 -0300 Subject: [PATCH 27/48] Finish sudoku contract deployer --- example/app/Cargo.lock | 6 + example/app/Cargo.toml | 6 + example/app/abi/SudokuValidity.json | 1 + example/app/src/main.rs | 198 +++++++++++++++++++--------- 4 files changed, 152 insertions(+), 59 deletions(-) create mode 100644 example/app/abi/SudokuValidity.json diff --git a/example/app/Cargo.lock b/example/app/Cargo.lock index b6b42af0..2e172133 100644 --- a/example/app/Cargo.lock +++ b/example/app/Cargo.lock @@ -738,9 +738,15 @@ checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" name = "app" version = "0.1.0" dependencies = [ + "aligned-sdk", + "alloy", + "alloy-contract", + "alloy-sol-types", + "clap", "env_logger", "log", "mina_bridge_core", + "reqwest 0.11.27", "tokio", ] diff --git a/example/app/Cargo.toml b/example/app/Cargo.toml index 28fb6b58..1e60c26f 100644 --- a/example/app/Cargo.toml +++ b/example/app/Cargo.toml @@ -4,10 +4,16 @@ version = "0.1.0" edition = "2021" [dependencies] +clap = { version = "4.5.17", features = ["derive"] } env_logger = "0.11.5" log = "0.4.22" mina_bridge_core = { path = "../../core/" } tokio = "1.40.0" +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 = "mina" } [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 new file mode 100644 index 00000000..231c09ee --- /dev/null +++ b/example/app/abi/SudokuValidity.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610de2380380610de283398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d1f806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103c6565b610089565b005b60006100996028600884866104a7565b6100a2916104d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101109190610501565b61013457604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60008383604051610146929190610525565b604051908190038120600154637a63e0fd60e11b83529092506001600160a01b03169063f4c7c1fa9061018b908d908d908d908d908d908d908d908d9060040161055e565b602060405180830381865afa1580156101a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cc9190610501565b6101e95760405163f281a18360e01b815260040160405180910390fd5b3660006101f985602881896104a7565b9092509050600061020c83830184610bc9565b61014081015151602001519091506102275742600255610240565b6040516351bc860760e11b815260040160405180910390fd5b50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102875761028761024f565b60405290565b6040516101c081016001600160401b03811182821017156102875761028761024f565b604051606081016001600160401b03811182821017156102875761028761024f565b60405161010081016001600160401b03811182821017156102875761028761024f565b60405160e081016001600160401b03811182821017156102875761028761024f565b60405161016081016001600160401b03811182821017156102875761028761024f565b600082601f83011261034b57600080fd5b81356001600160401b03808211156103655761036561024f565b604051601f8301601f19908116603f0116810190828211818310171561038d5761038d61024f565b816040528381528660208588010111156103a657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103e257600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040d57600080fd5b95506060890135945060808901356001600160401b038082111561043057600080fd5b61043c8c838d0161033a565b955060a08b0135945060c08b013591508082111561045957600080fd5b818b0191508b601f83011261046d57600080fd5b81358181111561047c57600080fd5b8c602082850101111561048e57600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104b757600080fd5b838611156104c457600080fd5b5050820193919092039150565b803560208310156104ea57600019602084900360031b1b165b92915050565b80151581146104fe57600080fd5b50565b60006020828403121561051357600080fd5b815161051e816104f0565b9392505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b818110156105b45788810183015185820161010001528201610597565b818111156105c757600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105f58183018688610535565b9c9b505050505050505050505050565b8035610610816104f0565b919050565b60006040828403121561062757600080fd5b61062f610265565b9050813581526020820135610643816104f0565b602082015292915050565b80356001600160401b038116811461061057600080fd5b803563ffffffff8116811461061057600080fd5b600060a0828403121561068b57600080fd5b60405160a081018181106001600160401b03821117156106ad576106ad61024f565b6040529050806106bc8361064e565b81526106ca60208401610665565b60208201526106db6040840161064e565b60408201526106ec60608401610665565b60608201526106fd6080840161064e565b60808201525092915050565b80356005811061061057600080fd5b60006101c0828403121561072b57600080fd5b61073361028d565b905061073e82610709565b815261074c60208301610709565b602082015261075d60408301610709565b604082015261076e60608301610709565b606082015261077f60808301610709565b608082015261079060a08301610709565b60a08201526107a160c08301610709565b60c08201526107b260e08301610665565b60e08201526101006107c5818401610709565b908201526101206107d7838201610709565b908201526101406107e9838201610709565b908201526101606107fb838201610709565b9082015261018061080d838201610709565b908201526101a061081f838201610709565b9082015292915050565b600082601f83011261083a57600080fd5b6040516101008082018281106001600160401b038211171561085e5761085e61024f565b6040528301818582111561087157600080fd5b845b8281101561088b578035825260209182019101610873565b509195945050505050565b80356003811061061057600080fd5b6000604082840312156108b757600080fd5b6108bf610265565b9050813581526020820135602082015292915050565b600082601f8301126108e657600080fd5b6040805160e081018181106001600160401b03821117156109095761090961024f565b8252806101c085018681111561091e57600080fd5b855b818110156109415761093288826108a5565b83526020909201918401610920565b50919695505050505050565b600082601f83011261095e57600080fd5b604080516101e081018181106001600160401b03821117156109825761098261024f565b8252806103c085018681111561099757600080fd5b855b81811015610941576109ab88826108a5565b83526020909201918401610999565b60008183036107408112156109ce57600080fd5b6109d66102b0565b91506109e183610896565b82526109ef60208401610896565b602083015261070080603f1983011215610a0857600080fd5b610a106102d2565b9150610a1f85604086016108d5565b8252610a2f85610200860161094d565b6020830152610a42856105c086016108a5565b6040830152610a558561060086016108a5565b6060830152610a688561064086016108a5565b6080830152610a7b8561068086016108a5565b60a0830152610a8e856106c086016108a5565b60c0830152610a9f858286016108a5565b60e083015250604082015292915050565b600082601f830112610ac157600080fd5b60405160a081018181106001600160401b0382111715610ae357610ae361024f565b6040528060a0840185811115610af857600080fd5b845b8181101561088b578035835260209283019201610afa565b60006109608284031215610b2557600080fd5b610b2d6102f5565b9050610b398383610829565b8152610b498361010084016109ba565b6020820152610b5b6108408301610665565b6040820152610b6e836108608401610ab0565b6060820152610b806109008301610665565b6080820152610b926109208301610605565b60a08201526109408201356001600160401b03811115610bb157600080fd5b610bbd8482850161033a565b60c08301525092915050565b600060208284031215610bdb57600080fd5b81356001600160401b0380821115610bf257600080fd5b908301906103c08286031215610c0757600080fd5b610c0f610317565b610c198684610615565b815260408301356020820152606083013582811115610c3757600080fd5b610c438782860161033a565b604083015250610c556080840161064e565b6060820152610c6660a08401610665565b608082015260c083013560a0820152610c828660e08501610615565b60c08201526101208084013560e0830152610140610ca288828701610679565b610100840152610cb6886101e08701610718565b828401526103a0850135915083821115610ccf57600080fd5b610cdb88838701610b12565b90830152509594505050505056fea2646970667358221220bd2135b44b39f4c8694eac4f6cabb621d4670d66f507293ebcc32265f7a168b664736f6c634300080c0033","sourceMap":"177:2745:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2745;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2745:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103c6565b610089565b005b60006100996028600884866104a7565b6100a2916104d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101109190610501565b61013457604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60008383604051610146929190610525565b604051908190038120600154637a63e0fd60e11b83529092506001600160a01b03169063f4c7c1fa9061018b908d908d908d908d908d908d908d908d9060040161055e565b602060405180830381865afa1580156101a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cc9190610501565b6101e95760405163f281a18360e01b815260040160405180910390fd5b3660006101f985602881896104a7565b9092509050600061020c83830184610bc9565b61014081015151602001519091506102275742600255610240565b6040516351bc860760e11b815260040160405180910390fd5b50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102875761028761024f565b60405290565b6040516101c081016001600160401b03811182821017156102875761028761024f565b604051606081016001600160401b03811182821017156102875761028761024f565b60405161010081016001600160401b03811182821017156102875761028761024f565b60405160e081016001600160401b03811182821017156102875761028761024f565b60405161016081016001600160401b03811182821017156102875761028761024f565b600082601f83011261034b57600080fd5b81356001600160401b03808211156103655761036561024f565b604051601f8301601f19908116603f0116810190828211818310171561038d5761038d61024f565b816040528381528660208588010111156103a657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103e257600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040d57600080fd5b95506060890135945060808901356001600160401b038082111561043057600080fd5b61043c8c838d0161033a565b955060a08b0135945060c08b013591508082111561045957600080fd5b818b0191508b601f83011261046d57600080fd5b81358181111561047c57600080fd5b8c602082850101111561048e57600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104b757600080fd5b838611156104c457600080fd5b5050820193919092039150565b803560208310156104ea57600019602084900360031b1b165b92915050565b80151581146104fe57600080fd5b50565b60006020828403121561051357600080fd5b815161051e816104f0565b9392505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b818110156105b45788810183015185820161010001528201610597565b818111156105c757600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105f58183018688610535565b9c9b505050505050505050505050565b8035610610816104f0565b919050565b60006040828403121561062757600080fd5b61062f610265565b9050813581526020820135610643816104f0565b602082015292915050565b80356001600160401b038116811461061057600080fd5b803563ffffffff8116811461061057600080fd5b600060a0828403121561068b57600080fd5b60405160a081018181106001600160401b03821117156106ad576106ad61024f565b6040529050806106bc8361064e565b81526106ca60208401610665565b60208201526106db6040840161064e565b60408201526106ec60608401610665565b60608201526106fd6080840161064e565b60808201525092915050565b80356005811061061057600080fd5b60006101c0828403121561072b57600080fd5b61073361028d565b905061073e82610709565b815261074c60208301610709565b602082015261075d60408301610709565b604082015261076e60608301610709565b606082015261077f60808301610709565b608082015261079060a08301610709565b60a08201526107a160c08301610709565b60c08201526107b260e08301610665565b60e08201526101006107c5818401610709565b908201526101206107d7838201610709565b908201526101406107e9838201610709565b908201526101606107fb838201610709565b9082015261018061080d838201610709565b908201526101a061081f838201610709565b9082015292915050565b600082601f83011261083a57600080fd5b6040516101008082018281106001600160401b038211171561085e5761085e61024f565b6040528301818582111561087157600080fd5b845b8281101561088b578035825260209182019101610873565b509195945050505050565b80356003811061061057600080fd5b6000604082840312156108b757600080fd5b6108bf610265565b9050813581526020820135602082015292915050565b600082601f8301126108e657600080fd5b6040805160e081018181106001600160401b03821117156109095761090961024f565b8252806101c085018681111561091e57600080fd5b855b818110156109415761093288826108a5565b83526020909201918401610920565b50919695505050505050565b600082601f83011261095e57600080fd5b604080516101e081018181106001600160401b03821117156109825761098261024f565b8252806103c085018681111561099757600080fd5b855b81811015610941576109ab88826108a5565b83526020909201918401610999565b60008183036107408112156109ce57600080fd5b6109d66102b0565b91506109e183610896565b82526109ef60208401610896565b602083015261070080603f1983011215610a0857600080fd5b610a106102d2565b9150610a1f85604086016108d5565b8252610a2f85610200860161094d565b6020830152610a42856105c086016108a5565b6040830152610a558561060086016108a5565b6060830152610a688561064086016108a5565b6080830152610a7b8561068086016108a5565b60a0830152610a8e856106c086016108a5565b60c0830152610a9f858286016108a5565b60e083015250604082015292915050565b600082601f830112610ac157600080fd5b60405160a081018181106001600160401b0382111715610ae357610ae361024f565b6040528060a0840185811115610af857600080fd5b845b8181101561088b578035835260209283019201610afa565b60006109608284031215610b2557600080fd5b610b2d6102f5565b9050610b398383610829565b8152610b498361010084016109ba565b6020820152610b5b6108408301610665565b6040820152610b6e836108608401610ab0565b6060820152610b806109008301610665565b6080820152610b926109208301610605565b60a08201526109408201356001600160401b03811115610bb157600080fd5b610bbd8482850161033a565b60c08301525092915050565b600060208284031215610bdb57600080fd5b81356001600160401b0380821115610bf257600080fd5b908301906103c08286031215610c0757600080fd5b610c0f610317565b610c198684610615565b815260408301356020820152606083013582811115610c3757600080fd5b610c438782860161033a565b604083015250610c556080840161064e565b6060820152610c6660a08401610665565b608082015260c083013560a0820152610c828660e08501610615565b60c08201526101208084013560e0830152610140610ca288828701610679565b610100840152610cb6886101e08701610718565b828401526103a0850135915083821115610ccf57600080fd5b610cdb88838701610b12565b90830152509594505050505056fea2646970667358221220bd2135b44b39f4c8694eac4f6cabb621d4670d66f507293ebcc32265f7a168b664736f6c634300080c0033","sourceMap":"177:2745:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1313:1607;;;;;;:::i;:::-;;:::i;:::-;;;1625:18;1654;1665:6;1663:1;1654:8;;:18;:::i;:::-;1646:27;;;:::i;:::-;1688:15;;:44;;-1:-1:-1;;;1688:44:42;;;;;160:25:43;;;1625:48:42;;-1:-1:-1;;;;;;1688:15:42;;:32;;133:18:43;;1688:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1683:108;;1755:25;;-1:-1:-1;;;1755:25:42;;;;;160::43;;;133:18;;1755:25:42;;;;;;;1683:108;1801:26;1840:8;;1830:19;;;;;;;:::i;:::-;;;;;;;;;1878:17;;-1:-1:-1;;;1878:296:42;;1830:19;;-1:-1:-1;;;;;;1878:17:42;;:33;;:296;;1929:15;;1962:30;;2010:18;;2046:15;;2079:11;;2108:26;;2152:8;;;;1878:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1860:378;;2206:21;;-1:-1:-1;;;2206:21:42;;;;;;;;;;;1860:378;2248:29;;2280:17;:8;2289:6;2280:8;;:17;:::i;:::-;2248:49;;-1:-1:-1;2248:49:42;-1:-1:-1;2307:44:42;2354:93;;;;2248:49;2354:93;:::i;:::-;2759:13;;;;:22;:25;;;:13;;-1:-1:-1;2755:159:42;;2834:15;2805:26;:44;2755:159;;;2887:16;;-1:-1:-1;;;2887:16:42;;;;;;;;;;;2755:159;1615:1305;;;;;1313:1607;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:257;400:4;394:11;;;432:17;;-1:-1:-1;;;;;464:34:43;;500:22;;;461:62;458:88;;;526:18;;:::i;:::-;562:4;555:24;328:257;:::o;590:255::-;662:2;656:9;704:6;692:19;;-1:-1:-1;;;;;726:34:43;;762:22;;;723:62;720:88;;;788:18;;:::i;850:253::-;922:2;916:9;964:4;952:17;;-1:-1:-1;;;;;984:34:43;;1020:22;;;981:62;978:88;;;1046:18;;:::i;1108:255::-;1180:2;1174:9;1222:6;1210:19;;-1:-1:-1;;;;;1244:34:43;;1280:22;;;1241:62;1238:88;;;1306:18;;:::i;1368:253::-;1440:2;1434:9;1482:4;1470:17;;-1:-1:-1;;;;;1502:34:43;;1538:22;;;1499:62;1496:88;;;1564:18;;:::i;1626:250::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:271::-;5194:6;5186;5181:3;5168:33;5150:3;5220:16;;5245:13;;;5220:16;5011:271;-1:-1:-1;5011:271:43:o;5287:266::-;5375:6;5370:3;5363:19;5427:6;5420:5;5413:4;5408:3;5404:14;5391:43;-1:-1:-1;5479:1:43;5454:16;;;5472:4;5450:27;;;5443:38;;;;5535:2;5514:15;;;-1:-1:-1;;5510:29:43;5501:39;;;5497:50;;5287:266::o;5558:1201::-;5901:6;5890:9;5883:25;5864:4;5927:2;5965:6;5960:2;5949:9;5945:18;5938:34;6024:26;6020:31;6012:6;6008:44;6003:2;5992:9;5988:18;5981:72;6089:6;6084:2;6073:9;6069:18;6062:34;6133:3;6127;6116:9;6112:19;6105:32;6166:6;6160:13;6210:6;6204:3;6193:9;6189:19;6182:35;6235:1;6245:141;6259:6;6256:1;6253:13;6245:141;;;6355:14;;;6351:23;;6345:30;6320:17;;;6339:3;6316:27;6309:67;6274:10;;6245:141;;;6404:6;6401:1;6398:13;6395:92;;;6475:1;6469:3;6460:6;6449:9;6445:22;6441:32;6434:43;6395:92;;6546:2;6542:7;6537:2;6529:6;6525:15;6521:29;6510:9;6506:45;6496:55;;;6570:3;6610:6;6604:3;6593:9;6589:19;6582:35;6678:2;6666:9;6662:2;6658:18;6654:27;6648:3;6637:9;6633:19;6626:56;6699:54;6749:2;6745;6741:11;6733:6;6725;6699:54;:::i;:::-;6691:62;5558:1201;-1:-1:-1;;;;;;;;;;;;5558:1201:43:o;6764:128::-;6829:20;;6858:28;6829:20;6858:28;:::i;:::-;6764:128;;;:::o;6897:362::-;6961:5;7009:4;6997:9;6992:3;6988:19;6984:30;6981:50;;;7027:1;7024;7017:12;6981:50;7049:22;;:::i;:::-;7040:31;;7107:9;7094:23;7087:5;7080:38;7170:2;7159:9;7155:18;7142:32;7183:30;7205:7;7183:30;:::i;:::-;7240:2;7229:14;;7222:31;7233:5;6897:362;-1:-1:-1;;6897:362:43:o;7264:171::-;7331:20;;-1:-1:-1;;;;;7380:30:43;;7370:41;;7360:69;;7425:1;7422;7415:12;7440:163;7507:20;;7567:10;7556:22;;7546:33;;7536:61;;7593:1;7590;7583:12;7608:696;7661:5;7709:4;7697:9;7692:3;7688:19;7684:30;7681:50;;;7727:1;7724;7717:12;7681:50;7760:2;7754:9;7802:4;7794:6;7790:17;7873:6;7861:10;7858:22;-1:-1:-1;;;;;7825:10:43;7822:34;7819:62;7816:88;;;7884:18;;:::i;:::-;7920:2;7913:22;7953:6;-1:-1:-1;7953:6:43;7983:28;8001:9;7983:28;:::i;:::-;7975:6;7968:44;8045:37;8078:2;8067:9;8063:18;8045:37;:::i;:::-;8040:2;8032:6;8028:15;8021:62;8116:37;8149:2;8138:9;8134:18;8116:37;:::i;:::-;8111:2;8103:6;8099:15;8092:62;8187:37;8220:2;8209:9;8205:18;8187:37;:::i;:::-;8182:2;8174:6;8170:15;8163:62;8259:38;8292:3;8281:9;8277:19;8259:38;:::i;:::-;8253:3;8245:6;8241:16;8234:64;;7608:696;;;;:::o;8309:153::-;8387:20;;8436:1;8426:12;;8416:40;;8452:1;8449;8442:12;8467:1421;8525:5;8573:6;8561:9;8556:3;8552:19;8548:32;8545:52;;;8593:1;8590;8583:12;8545:52;8615:22;;:::i;:::-;8606:31;;8660:39;8689:9;8660:39;:::i;:::-;8653:5;8646:54;8732:48;8776:2;8765:9;8761:18;8732:48;:::i;:::-;8727:2;8720:5;8716:14;8709:72;8813:48;8857:2;8846:9;8842:18;8813:48;:::i;:::-;8808:2;8801:5;8797:14;8790:72;8894:48;8938:2;8927:9;8923:18;8894:48;:::i;:::-;8889:2;8882:5;8878:14;8871:72;8976:49;9020:3;9009:9;9005:19;8976:49;:::i;:::-;8970:3;8963:5;8959:15;8952:74;9059:49;9103:3;9092:9;9088:19;9059:49;:::i;:::-;9053:3;9046:5;9042:15;9035:74;9142:49;9186:3;9175:9;9171:19;9142:49;:::i;:::-;9136:3;9129:5;9125:15;9118:74;9225:38;9258:3;9247:9;9243:19;9225:38;:::i;:::-;9219:3;9212:5;9208:15;9201:63;9283:3;9318:48;9362:2;9351:9;9347:18;9318:48;:::i;:::-;9302:14;;;9295:72;9386:3;9421:48;9450:18;;;9421:48;:::i;:::-;9405:14;;;9398:72;9489:3;9524:48;9553:18;;;9524:48;:::i;:::-;9508:14;;;9501:72;9592:3;9627:48;9656:18;;;9627:48;:::i;:::-;9611:14;;;9604:72;9695:3;9730:48;9759:18;;;9730:48;:::i;:::-;9714:14;;;9707:72;9798:3;9833:48;9862:18;;;9833:48;:::i;:::-;9817:14;;;9810:72;9821:5;8467:1421;-1:-1:-1;;8467:1421:43:o;9893:668::-;9943:5;9996:3;9989:4;9981:6;9977:17;9973:27;9963:55;;10014:1;10011;10004:12;9963:55;10047:2;10041:9;10069:3;10111:2;10103:6;10099:15;10180:6;10168:10;10165:22;-1:-1:-1;;;;;10132:10:43;10129:34;10126:62;10123:88;;;10191:18;;:::i;:::-;10227:2;10220:22;10291:15;;10262:6;10318:15;;;10315:35;;;10346:1;10343;10336:12;10315:35;10370:6;10385:146;10401:6;10396:3;10393:15;10385:146;;;10469:17;;10457:30;;10516:4;10507:14;;;;10418;10385:146;;;-1:-1:-1;10549:6:43;;9893:668;-1:-1:-1;;;;;9893:668:43:o;10566:155::-;10646:20;;10695:1;10685:12;;10675:40;;10711:1;10708;10701:12;10726:285;10783:5;10831:4;10819:9;10814:3;10810:19;10806:30;10803:50;;;10849:1;10846;10839:12;10803:50;10871:22;;:::i;:::-;10862:31;;10929:9;10916:23;10909:5;10902:38;11000:2;10989:9;10985:18;10972:32;10967:2;10960:5;10956:14;10949:56;10726:285;;;;:::o;11016:698::-;11076:5;11129:3;11122:4;11114:6;11110:17;11106:27;11096:55;;11147:1;11144;11137:12;11096:55;11170:2;11201;11195:9;11243:3;11235:6;11231:16;11313:6;11301:10;11298:22;-1:-1:-1;;;;;11265:10:43;11262:34;11259:62;11256:88;;;11324:18;;:::i;:::-;11353:22;;11395:6;11436:3;11424:16;;11452:15;;;11449:35;;;11480:1;11477;11470:12;11449:35;11504:6;11519:165;11535:6;11530:3;11527:15;11519:165;;;11601:38;11635:3;11630;11601:38;:::i;:::-;11589:51;;11669:4;11660:14;;;;11552:12;;11519:165;;;-1:-1:-1;11702:6:43;;11016:698;-1:-1:-1;;;;;;11016:698:43:o;11719:720::-;11801:5;11854:3;11847:4;11839:6;11835:17;11831:27;11821:55;;11872:1;11869;11862:12;11821:55;11895:2;11926;11920:9;11968:3;11960:6;11956:16;12038:6;12026:10;12023:22;-1:-1:-1;;;;;11990:10:43;11987:34;11984:62;11981:88;;;12049:18;;:::i;:::-;12078:22;;12120:6;12161:3;12149:16;;12177:15;;;12174:35;;;12205:1;12202;12195:12;12174:35;12229:6;12244:165;12260:6;12255:3;12252:15;12244:165;;;12326:38;12360:3;12355;12326:38;:::i;:::-;12314:51;;12394:4;12385:14;;;;12277:12;;12244:165;;12444:1264;12506:5;12545:9;12540:3;12536:19;12575:6;12571:2;12567:15;12564:35;;;12595:1;12592;12585:12;12564:35;12617:22;;:::i;:::-;12608:31;;12662:41;12693:9;12662:41;:::i;:::-;12655:5;12648:56;12736:50;12782:2;12771:9;12767:18;12736:50;:::i;:::-;12731:2;12724:5;12720:14;12713:74;12806:6;12846:2;12840;12836:7;12832:2;12828:16;12824:25;12821:45;;;12862:1;12859;12852:12;12821:45;12890:22;;:::i;:::-;12875:37;;12937:59;12992:3;12987:2;12976:9;12972:18;12937:59;:::i;:::-;12928:7;12921:76;13031:82;13109:3;13103;13092:9;13088:19;13031:82;:::i;:::-;13026:2;13017:7;13013:16;13006:108;13148:55;13199:3;13192:4;13181:9;13177:20;13148:55;:::i;:::-;13143:2;13134:7;13130:16;13123:81;13240:55;13291:3;13284:4;13273:9;13269:20;13240:55;:::i;:::-;13233:4;13224:7;13220:18;13213:83;13332:55;13383:3;13376:4;13365:9;13361:20;13332:55;:::i;:::-;13325:4;13316:7;13312:18;13305:83;13424:55;13475:3;13468:4;13457:9;13453:20;13424:55;:::i;:::-;13417:4;13408:7;13404:18;13397:83;13516:55;13567:3;13560:4;13549:9;13545:20;13516:55;:::i;:::-;13509:4;13500:7;13496:18;13489:83;13608:53;13657:3;13652:2;13641:9;13637:18;13608:53;:::i;:::-;13601:4;13588:18;;13581:81;-1:-1:-1;13689:2:43;13678:14;;13671:31;13682:5;12444:1264;-1:-1:-1;;12444:1264:43:o;13713:659::-;13774:5;13827:3;13820:4;13812:6;13808:17;13804:27;13794:55;;13845:1;13842;13835:12;13794:55;13878:2;13872:9;13920:3;13912:6;13908:16;13990:6;13978:10;13975:22;-1:-1:-1;;;;;13942:10:43;13939:34;13936:62;13933:88;;;14001:18;;:::i;:::-;14037:2;14030:22;14072:6;14113:3;14101:16;;14129:15;;;14126:35;;;14157:1;14154;14147:12;14126:35;14181:6;14196:146;14212:6;14207:3;14204:15;14196:146;;;14280:17;;14268:30;;14327:4;14318:14;;;;14229;14196:146;;14377:848;14436:5;14484:6;14472:9;14467:3;14463:19;14459:32;14456:52;;;14504:1;14501;14494:12;14456:52;14526:22;;:::i;:::-;14517:31;;14571:40;14607:3;14596:9;14571:40;:::i;:::-;14564:5;14557:55;14646:59;14701:3;14695;14684:9;14680:19;14646:59;:::i;:::-;14639:4;14632:5;14628:16;14621:85;14740:39;14773:4;14762:9;14758:20;14740:39;:::i;:::-;14733:4;14726:5;14722:16;14715:65;14814:62;14872:3;14865:4;14854:9;14850:20;14814:62;:::i;:::-;14807:4;14800:5;14796:16;14789:88;14911:39;14944:4;14933:9;14929:20;14911:39;:::i;:::-;14904:4;14897:5;14893:16;14886:65;14985:37;15016:4;15005:9;15001:20;14985:37;:::i;:::-;14978:4;14971:5;14967:16;14960:63;15074:4;15063:9;15059:20;15046:34;-1:-1:-1;;;;;15095:6:43;15092:30;15089:50;;;15135:1;15132;15125:12;15089:50;15173:45;15214:3;15205:6;15194:9;15190:22;15173:45;:::i;:::-;15166:4;15159:5;15155:16;15148:71;;14377:848;;;;:::o;15230:1493::-;15315:6;15368:2;15356:9;15347:7;15343:23;15339:32;15336:52;;;15384:1;15381;15374:12;15336:52;15424:9;15411:23;-1:-1:-1;;;;;15494:2:43;15486:6;15483:14;15480:34;;;15510:1;15507;15500:12;15480:34;15533:22;;;;15589:6;15571:16;;;15567:29;15564:49;;;15609:1;15606;15599:12;15564:49;15635:17;;:::i;:::-;15675:48;15715:7;15711:2;15675:48;:::i;:::-;15668:5;15661:63;15777:2;15773;15769:11;15756:25;15751:2;15744:5;15740:14;15733:49;15828:2;15824;15820:11;15807:25;15857:2;15847:8;15844:16;15841:36;;;15873:1;15870;15863:12;15841:36;15909:44;15945:7;15934:8;15930:2;15926:17;15909:44;:::i;:::-;15904:2;15897:5;15893:14;15886:68;;15986:31;16012:3;16008:2;16004:12;15986:31;:::i;:::-;15981:2;15974:5;15970:14;15963:55;16051:31;16077:3;16073:2;16069:12;16051:31;:::i;:::-;16045:3;16038:5;16034:15;16027:56;16137:3;16133:2;16129:12;16116:26;16110:3;16103:5;16099:15;16092:51;16176:58;16226:7;16220:3;16216:2;16212:12;16176:58;:::i;:::-;16170:3;16163:5;16159:15;16152:83;16254:3;16311:2;16307;16303:11;16290:25;16284:3;16277:5;16273:15;16266:50;16335:3;16374:46;16412:7;16407:2;16403;16399:11;16374:46;:::i;:::-;16365:6;16358:5;16354:18;16347:74;16453:52;16497:7;16491:3;16487:2;16483:12;16453:52;:::i;:::-;16448:2;16441:5;16437:14;16430:76;16552:3;16548:2;16544:12;16531:26;16515:42;;16582:2;16572:8;16569:16;16566:36;;;16598:1;16595;16588:12;16566:36;16634:58;16684:7;16673:8;16669:2;16665:17;16634:58;:::i;:::-;16618:14;;;16611:82;-1:-1:-1;16622:5:43;15230:1493;-1:-1:-1;;;;;15230:1493:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564\",\"dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0xe9e7ed7b4bed076f37d23c5846d3069c5a9f49f794bba984fa03ca399a4fbe46\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1e01a9cedf1fffc65ada61076611d444dbebf5367dc83f918fc3016bd11380d6\",\"dweb:/ipfs/QmbwfqLsaVhMRSAQVK6j64MwwF1tcuSoE7d97cBVjqoHHH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"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"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e","urls":["bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564","dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0xe9e7ed7b4bed076f37d23c5846d3069c5a9f49f794bba984fa03ca399a4fbe46","urls":["bzz-raw://1e01a9cedf1fffc65ada61076611d444dbebf5367dc83f918fc3016bd11380d6","dweb:/ipfs/QmbwfqLsaVhMRSAQVK6j64MwwF1tcuSoE7d97cBVjqoHHH"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file diff --git a/example/app/src/main.rs b/example/app/src/main.rs index 735e540a..5f4165cf 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -1,14 +1,44 @@ +use aligned_sdk::core::types::Chain; +use alloy::{primitives::Address, providers::ProviderBuilder, sol_types::sol}; +use clap::{Parser, Subcommand}; use log::{error, info}; use mina_bridge_core::{ sdk::{get_bridged_chain_tip_state_hash, update_bridge_chain, validate_account}, - utils::{env::EnvironmentVariables, wallet::get_wallet}, + utils::{ + constants::{ + BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_DEVNET_ETH_ADDR, BRIDGE_HOLESKY_ETH_ADDR, + }, + env::EnvironmentVariables, + wallet, wallet_alloy, + }, }; -use std::process; +use std::{process, str::FromStr}; const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; +sol!( + #[allow(clippy::too_many_arguments)] + #[sol(rpc)] + SudokuValidity, + "abi/SudokuValidity.json" +); + +#[derive(Parser)] +#[command(version, about)] +struct Cli { + #[command(subcommand)] + command: Command, +} + +#[derive(Subcommand)] +enum Command { + DeployContract, + ValidateSolution, +} + #[tokio::main] async fn main() { + let cli = Cli::parse(); env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init(); let EnvironmentVariables { @@ -25,69 +55,119 @@ async fn main() { process::exit(1); }); - let wallet = get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) + let wallet = wallet::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) .unwrap_or_else(|err| { error!("{}", err); process::exit(1); }); + let wallet_alloy = + wallet_alloy::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); - // 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) - // .await - // .unwrap_or_else(|err| { - // error!("{}", err); - // process::exit(1); - // }); - - // if !is_state_verified { - // info!("State that includes the zkApp tx isn't verified. Bridging latest chain..."); - let state_verification_result = update_bridge_chain( - &rpc_url, - &chain, - &batcher_addr, - &batcher_eth_addr, - ð_rpc_url, - &proof_generator_addr, - wallet.clone(), - false, - ) - .await; - - match state_verification_result { - Err(err) if err == "Latest chain is already verified" => { - info!("Bridge chain is up to date, won't verify new states.") - } - Err(err) => { - error!("{}", err); - process::exit(1); + match cli.command { + Command::DeployContract => { + let provider = ProviderBuilder::new() + .with_recommended_fillers() + .wallet(wallet_alloy) + .on_http( + reqwest::Url::parse(ð_rpc_url) + .map_err(|err| err.to_string()) + .unwrap(), + ); + + // 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 = match chain { + Chain::Devnet => BRIDGE_DEVNET_ETH_ADDR, + Chain::Holesky => BRIDGE_HOLESKY_ETH_ADDR, + _ => todo!(), + }; + + let account_validation_addr = match chain { + Chain::Devnet => BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, + _ => todo!(), + }; + + let contract = SudokuValidity::deploy( + &provider, + Address::from_str(state_settlement_addr).unwrap(), + Address::from_str(account_validation_addr).unwrap(), + ) + .await + .map_err(|err| err.to_string()) + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + + info!( + "SudokuValidity contract successfuly deployed with address {}", + contract.address() + ); } - _ => {} - } - // } + 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) + // .await + // .unwrap_or_else(|err| { + // error!("{}", err); + // process::exit(1); + // }); - let tip_state_hash = get_bridged_chain_tip_state_hash(&chain, ð_rpc_url) - .await - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); + // if !is_state_verified { + // info!("State that includes the zkApp tx isn't verified. Bridging latest chain..."); + let state_verification_result = update_bridge_chain( + &rpc_url, + &chain, + &batcher_addr, + &batcher_eth_addr, + ð_rpc_url, + &proof_generator_addr, + wallet.clone(), + false, + ) + .await; - validate_account( - MINA_ZKAPP_ADDRESS, - &tip_state_hash, - &rpc_url, - &chain, - &batcher_addr, - &batcher_eth_addr, - ð_rpc_url, - &proof_generator_addr, - wallet, - false, - ) - .await - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); + match state_verification_result { + Err(err) if err == "Latest chain is already verified" => { + info!("Bridge chain is up to date, won't verify new states.") + } + Err(err) => { + error!("{}", err); + process::exit(1); + } + _ => {} + } + // } + + let tip_state_hash = get_bridged_chain_tip_state_hash(&chain, ð_rpc_url) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + + validate_account( + MINA_ZKAPP_ADDRESS, + &tip_state_hash, + &rpc_url, + &chain, + &batcher_addr, + &batcher_eth_addr, + ð_rpc_url, + &proof_generator_addr, + wallet, + false, + ) + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + } + } } From 3af5b5b1818544d2f72ddc7c8231c831281c10b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 13:06:47 -0300 Subject: [PATCH 28/48] Rename sudoku contract --- example/eth_contract/src/{Sudoku.sol => SudokuValidity.sol} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename example/eth_contract/src/{Sudoku.sol => SudokuValidity.sol} (95%) diff --git a/example/eth_contract/src/Sudoku.sol b/example/eth_contract/src/SudokuValidity.sol similarity index 95% rename from example/eth_contract/src/Sudoku.sol rename to example/eth_contract/src/SudokuValidity.sol index 2b6b8385..dbb16c8b 100644 --- a/example/eth_contract/src/Sudoku.sol +++ b/example/eth_contract/src/SudokuValidity.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.12; import "mina_bridge/contract/src/MinaBridge.sol"; import "mina_bridge/contract/src/MinaAccountValidation.sol"; -contract Sudoku { +contract SudokuValidity { error InvalidZkappAccount(); error InvalidLedger(bytes32 ledgerHash); error IncorrectZkappAccount(uint256 verificationKeyHash); @@ -21,7 +21,7 @@ contract Sudoku { /// @notice Latest timestamp (Unix time) at which the contract determined that a // Sudoku was solved in the Mina ZkApp. - uint64 latestSolutionValidationAt = 0; + uint256 latestSolutionValidationAt = 0; constructor(address _stateSettlementAddr, address _accountValidationAddr) { stateSettlement = MinaBridge(_stateSettlementAddr); @@ -40,7 +40,7 @@ contract Sudoku { bytes calldata pubInput ) external { bytes32 ledgerHash = bytes32(pubInput[8:8 + 32]); - if (!stateSettlement.isLedgerVerified()) { + if (!stateSettlement.isLedgerVerified(ledgerHash)) { revert InvalidLedger(ledgerHash); } From 614115fd9a0dd454c37a4294ebbc5956f735e3d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 13:17:09 -0300 Subject: [PATCH 29/48] Fix contract deployer --- contract_deployer/Cargo.lock | 2 +- contract_deployer/Cargo.toml | 2 +- contract_deployer/src/main.rs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contract_deployer/Cargo.lock b/contract_deployer/Cargo.lock index 05ef7456..48ba0b65 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_6#c43d80f3496c50ee49836999f642a6c96f5c26ba" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=mina#05eccaf272390be06613594f0b2f314ceec9cfe0" dependencies = [ "ciborium", "ethers", diff --git a/contract_deployer/Cargo.toml b/contract_deployer/Cargo.toml index 86dcb956..c3936919 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_6" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "mina" } 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 4c2ebf75..1b92c02a 100644 --- a/contract_deployer/src/main.rs +++ b/contract_deployer/src/main.rs @@ -1,11 +1,11 @@ use aligned_sdk::core::types::Chain; use log::{debug, error, info}; use mina_bridge_core::{ - mina_polling_service::query_root, - smart_contract_utility::{ + eth::{ deploy_mina_account_validation_contract, deploy_mina_bridge_contract, MinaAccountValidationConstructorArgs, MinaBridgeConstructorArgs, SolStateHash, }, + mina::query_root, utils::{ constants::{ ALIGNED_SM_DEVNET_ETH_ADDR, ALIGNED_SM_HOLESKY_ETH_ADDR, BRIDGE_TRANSITION_FRONTIER_LEN, From 41593b3fa99e86a8f6fb6c629150aea2073a4a46 Mon Sep 17 00:00:00 2001 From: gabrielbosio Date: Fri, 20 Sep 2024 15:11:44 -0300 Subject: [PATCH 30/48] Update Aligned and Bridge contracts --- core/Cargo.lock | 2 +- core/abi/MinaAccountValidation.json | 2 +- core/abi/MinaBridge.json | 2 +- core/src/smart_contract_utility.rs | 6 ++++-- core/src/utils/constants.rs | 5 +++-- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index bd8f461b..074396a2 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#2c60d62a9373a0cfea43fdc92aeaad7dad61f5d7" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#2fe0dacb2faeaed4150f70de5e0c6422fbec2fa6" dependencies = [ "ciborium", "ethers", diff --git a/core/abi/MinaAccountValidation.json b/core/abi/MinaAccountValidation.json index a865cf9b..672b290c 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":"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516113f93803806113f983398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b611366806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80639029ad1514610030575b600080fd5b61004361003e366004610475565b610059565b6040516100509190610850565b60405180910390f35b6100616101a7565b36600061007160c0850185610978565b61007f9160289082906109c5565b9092509050600061009360c0860186610978565b6040516100a19291906109ef565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190883590859060208b0135906100e19060608d01908d016109ff565b60608c01356100f360808e018e610978565b8e60a001358f60e001602081019061010b9190610a2e565b6040518a63ffffffff1660e01b815260040161012f99989796959493929190610a57565b602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610ae5565b9050801561018e5761018483850185611210565b9695505050505050565b604051634de35c5f60e11b815260040160405180910390fd5b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e086018590528651908101875284815292830184905294820183905281018290529283015261010081019190915261012081016102aa604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b81526020016102b76102bc565b905290565b6040518060e001604052806102cf610309565b81526020016102dc610328565b8152600060208201526040016102f0610347565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016102b7610365565b6040518060a001604052806005906020820280368337509192915050565b604051806101000160405280610379610410565b8152602001610386610449565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161041f5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161041f565b60006020828403121561048757600080fd5b81356001600160401b0381111561049d57600080fd5b820161010081850312156104b057600080fd5b9392505050565b6000815180845260005b818110156104dd576020818501810151868301820152016104c1565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b60058110610523576105236104fd565b9052565b610532828251610513565b60208101516105446020840182610513565b5060408101516105576040840182610513565b50606081015161056a6060840182610513565b50608081015161057d6080840182610513565b5060a081015161059060a0840182610513565b5060c08101516105a360c0840182610513565b5060e08101516105bb60e084018263ffffffff169052565b50610100808201516105cf82850182610513565b5050610120808201516105e482850182610513565b5050610140808201516105f982850182610513565b50506101608082015161060e82850182610513565b50506101808082015161062382850182610513565b50506101a08082015161063882850182610513565b50505050565b60038110610523576105236104fd565b8060005b600f8110156106385761067084835180518252602090810151910152565b6040939093019260209190910190600101610652565b61069182825161063e565b6020808201516106a38285018261063e565b50604082810151805160008684015b60078210156106e2576106d081845180518252602090810151910152565b918501916001919091019084016106b2565b50505091820151916106f861020086018461064e565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561063857815184526020938401939091019060010161078a565b80516000906109609084835b60088110156107d45782518252602092830192909101906001016107b5565b50505060208301516107ea610100860182610686565b50604083015163ffffffff16610840850152606083015161080f610860860182610786565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610847828601826104b7565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c080608085015261088e6103e08501836104b7565b915060608501516108aa60a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c08501516101006108e781870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e0880152610120880151925061095c610200880184610527565b870151868503601f1901848801529150610184905083826107a9565b6000808335601e1984360301811261098f57600080fd5b8301803591506001600160401b038211156109a957600080fd5b6020019150368190038213156109be57600080fd5b9250929050565b600080858511156109d557600080fd5b838611156109e257600080fd5b5050820193919092039150565b8183823760009101908152919050565b600060208284031215610a1157600080fd5b81356bffffffffffffffffffffffff19811681146104b057600080fd5b600060208284031215610a4057600080fd5b81356001600160a01b03811681146104b057600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610ae257600080fd5b50565b600060208284031215610af757600080fd5b81516104b081610ad4565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610b3a57610b3a610b02565b60405290565b6040516101c081016001600160401b0381118282101715610b3a57610b3a610b02565b604051606081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161010081016001600160401b0381118282101715610b3a57610b3a610b02565b60405160e081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161016081016001600160401b0381118282101715610b3a57610b3a610b02565b8035610bf881610ad4565b919050565b600060408284031215610c0f57600080fd5b610c17610b18565b9050813581526020820135610c2b81610ad4565b602082015292915050565b600082601f830112610c4757600080fd5b81356001600160401b0380821115610c6157610c61610b02565b604051601f8301601f19908116603f01168101908282118183101715610c8957610c89610b02565b81604052838152866020858801011115610ca257600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610bf857600080fd5b803563ffffffff81168114610bf857600080fd5b600060a08284031215610cff57600080fd5b60405160a081018181106001600160401b0382111715610d2157610d21610b02565b604052905080610d3083610cc2565b8152610d3e60208401610cd9565b6020820152610d4f60408401610cc2565b6040820152610d6060608401610cd9565b6060820152610d7160808401610cc2565b60808201525092915050565b803560058110610bf857600080fd5b60006101c08284031215610d9f57600080fd5b610da7610b40565b9050610db282610d7d565b8152610dc060208301610d7d565b6020820152610dd160408301610d7d565b6040820152610de260608301610d7d565b6060820152610df360808301610d7d565b6080820152610e0460a08301610d7d565b60a0820152610e1560c08301610d7d565b60c0820152610e2660e08301610cd9565b60e0820152610100610e39818401610d7d565b90820152610120610e4b838201610d7d565b90820152610140610e5d838201610d7d565b90820152610160610e6f838201610d7d565b90820152610180610e81838201610d7d565b908201526101a0610e93838201610d7d565b9082015292915050565b600082601f830112610eae57600080fd5b610eb6610b85565b80610100840185811115610ec957600080fd5b845b81811015610ee3578035845260209384019301610ecb565b509095945050505050565b803560038110610bf857600080fd5b600060408284031215610f0f57600080fd5b610f17610b18565b9050813581526020820135602082015292915050565b600082601f830112610f3e57600080fd5b610f46610ba8565b806101c0840185811115610f5957600080fd5b845b81811015610ee357610f6d8782610efd565b8452602090930192604001610f5b565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610b02565b8252806103c0850186811115610fc757600080fd5b855b81811015610fea57610fdb8882610efd565b83526020909201918401610fc9565b50919695505050505050565b600081830361074081121561100a57600080fd5b611012610b63565b915061101d83610eee565b825261102b60208401610eee565b602083015261070080603f198301121561104457600080fd5b61104c610b85565b915061105b8560408601610f2d565b825261106b856102008601610f7d565b602083015261107e856105c08601610efd565b6040830152611091856106008601610efd565b60608301526110a4856106408601610efd565b60808301526110b7856106808601610efd565b60a08301526110ca856106c08601610efd565b60c08301526110db85828601610efd565b60e083015250604082015292915050565b600082601f8301126110fd57600080fd5b60405160a081018181106001600160401b038211171561111f5761111f610b02565b6040528060a084018581111561113457600080fd5b845b8181101561114e578035835260209283019201611136565b509195945050505050565b6000610960828403121561116c57600080fd5b611174610ba8565b90506111808383610e9d565b8152611190836101008401610ff6565b60208201526111a26108408301610cd9565b60408201526111b58361086084016110ec565b60608201526111c76109008301610cd9565b60808201526111d96109208301610bed565b60a08201526109408201356001600160401b038111156111f857600080fd5b61120484828501610c36565b60c08301525092915050565b60006020828403121561122257600080fd5b81356001600160401b038082111561123957600080fd5b908301906103c0828603121561124e57600080fd5b611256610bca565b6112608684610bfd565b81526040830135602082015260608301358281111561127e57600080fd5b61128a87828601610c36565b60408301525061129c60808401610cc2565b60608201526112ad60a08401610cd9565b608082015260c083013560a08201526112c98660e08501610bfd565b60c08201526101208084013560e08301526101406112e988828701610ced565b6101008401526112fd886101e08701610d8c565b828401526103a085013591508382111561131657600080fd5b61132288838701611159565b90830152509594505050505056fea26469706673582212205d8660752cda5cd761469155afd3eadf779f3bd2113014d619299d1a9bc32b2664736f6c63430008150033","sourceMap":"171:3431:38:-:0;;;635:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;694:7;:57;;-1:-1:-1;;;;;;694:57:38;-1:-1:-1;;;;;694:57:38;;;;;;;;;;171:3431;;14:298:39;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:39;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:39:o;:::-;171:3431:38;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80639029ad1514610030575b600080fd5b61004361003e366004610475565b610059565b6040516100509190610850565b60405180910390f35b6100616101a7565b36600061007160c0850185610978565b61007f9160289082906109c5565b9092509050600061009360c0860186610978565b6040516100a19291906109ef565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190883590859060208b0135906100e19060608d01908d016109ff565b60608c01356100f360808e018e610978565b8e60a001358f60e001602081019061010b9190610a2e565b6040518a63ffffffff1660e01b815260040161012f99989796959493929190610a57565b602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610ae5565b9050801561018e5761018483850185611210565b9695505050505050565b604051634de35c5f60e11b815260040160405180910390fd5b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e086018590528651908101875284815292830184905294820183905281018290529283015261010081019190915261012081016102aa604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b81526020016102b76102bc565b905290565b6040518060e001604052806102cf610309565b81526020016102dc610328565b8152600060208201526040016102f0610347565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016102b7610365565b6040518060a001604052806005906020820280368337509192915050565b604051806101000160405280610379610410565b8152602001610386610449565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161041f5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161041f565b60006020828403121561048757600080fd5b81356001600160401b0381111561049d57600080fd5b820161010081850312156104b057600080fd5b9392505050565b6000815180845260005b818110156104dd576020818501810151868301820152016104c1565b506000602082860101526020601f19601f83011685010191505092915050565b634e487b7160e01b600052602160045260246000fd5b60058110610523576105236104fd565b9052565b610532828251610513565b60208101516105446020840182610513565b5060408101516105576040840182610513565b50606081015161056a6060840182610513565b50608081015161057d6080840182610513565b5060a081015161059060a0840182610513565b5060c08101516105a360c0840182610513565b5060e08101516105bb60e084018263ffffffff169052565b50610100808201516105cf82850182610513565b5050610120808201516105e482850182610513565b5050610140808201516105f982850182610513565b50506101608082015161060e82850182610513565b50506101808082015161062382850182610513565b50506101a08082015161063882850182610513565b50505050565b60038110610523576105236104fd565b8060005b600f8110156106385761067084835180518252602090810151910152565b6040939093019260209190910190600101610652565b61069182825161063e565b6020808201516106a38285018261063e565b50604082810151805160008684015b60078210156106e2576106d081845180518252602090810151910152565b918501916001919091019084016106b2565b50505091820151916106f861020086018461064e565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561063857815184526020938401939091019060010161078a565b80516000906109609084835b60088110156107d45782518252602092830192909101906001016107b5565b50505060208301516107ea610100860182610686565b50604083015163ffffffff16610840850152606083015161080f610860860182610786565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610847828601826104b7565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c080608085015261088e6103e08501836104b7565b915060608501516108aa60a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c08501516101006108e781870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e0880152610120880151925061095c610200880184610527565b870151868503601f1901848801529150610184905083826107a9565b6000808335601e1984360301811261098f57600080fd5b8301803591506001600160401b038211156109a957600080fd5b6020019150368190038213156109be57600080fd5b9250929050565b600080858511156109d557600080fd5b838611156109e257600080fd5b5050820193919092039150565b8183823760009101908152919050565b600060208284031215610a1157600080fd5b81356bffffffffffffffffffffffff19811681146104b057600080fd5b600060208284031215610a4057600080fd5b81356001600160a01b03811681146104b057600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610ae257600080fd5b50565b600060208284031215610af757600080fd5b81516104b081610ad4565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610b3a57610b3a610b02565b60405290565b6040516101c081016001600160401b0381118282101715610b3a57610b3a610b02565b604051606081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161010081016001600160401b0381118282101715610b3a57610b3a610b02565b60405160e081016001600160401b0381118282101715610b3a57610b3a610b02565b60405161016081016001600160401b0381118282101715610b3a57610b3a610b02565b8035610bf881610ad4565b919050565b600060408284031215610c0f57600080fd5b610c17610b18565b9050813581526020820135610c2b81610ad4565b602082015292915050565b600082601f830112610c4757600080fd5b81356001600160401b0380821115610c6157610c61610b02565b604051601f8301601f19908116603f01168101908282118183101715610c8957610c89610b02565b81604052838152866020858801011115610ca257600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610bf857600080fd5b803563ffffffff81168114610bf857600080fd5b600060a08284031215610cff57600080fd5b60405160a081018181106001600160401b0382111715610d2157610d21610b02565b604052905080610d3083610cc2565b8152610d3e60208401610cd9565b6020820152610d4f60408401610cc2565b6040820152610d6060608401610cd9565b6060820152610d7160808401610cc2565b60808201525092915050565b803560058110610bf857600080fd5b60006101c08284031215610d9f57600080fd5b610da7610b40565b9050610db282610d7d565b8152610dc060208301610d7d565b6020820152610dd160408301610d7d565b6040820152610de260608301610d7d565b6060820152610df360808301610d7d565b6080820152610e0460a08301610d7d565b60a0820152610e1560c08301610d7d565b60c0820152610e2660e08301610cd9565b60e0820152610100610e39818401610d7d565b90820152610120610e4b838201610d7d565b90820152610140610e5d838201610d7d565b90820152610160610e6f838201610d7d565b90820152610180610e81838201610d7d565b908201526101a0610e93838201610d7d565b9082015292915050565b600082601f830112610eae57600080fd5b610eb6610b85565b80610100840185811115610ec957600080fd5b845b81811015610ee3578035845260209384019301610ecb565b509095945050505050565b803560038110610bf857600080fd5b600060408284031215610f0f57600080fd5b610f17610b18565b9050813581526020820135602082015292915050565b600082601f830112610f3e57600080fd5b610f46610ba8565b806101c0840185811115610f5957600080fd5b845b81811015610ee357610f6d8782610efd565b8452602090930192604001610f5b565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610b02565b8252806103c0850186811115610fc757600080fd5b855b81811015610fea57610fdb8882610efd565b83526020909201918401610fc9565b50919695505050505050565b600081830361074081121561100a57600080fd5b611012610b63565b915061101d83610eee565b825261102b60208401610eee565b602083015261070080603f198301121561104457600080fd5b61104c610b85565b915061105b8560408601610f2d565b825261106b856102008601610f7d565b602083015261107e856105c08601610efd565b6040830152611091856106008601610efd565b60608301526110a4856106408601610efd565b60808301526110b7856106808601610efd565b60a08301526110ca856106c08601610efd565b60c08301526110db85828601610efd565b60e083015250604082015292915050565b600082601f8301126110fd57600080fd5b60405160a081018181106001600160401b038211171561111f5761111f610b02565b6040528060a084018581111561113457600080fd5b845b8181101561114e578035835260209283019201611136565b509195945050505050565b6000610960828403121561116c57600080fd5b611174610ba8565b90506111808383610e9d565b8152611190836101008401610ff6565b60208201526111a26108408301610cd9565b60408201526111b58361086084016110ec565b60608201526111c76109008301610cd9565b60808201526111d96109208301610bed565b60a08201526109408201356001600160401b038111156111f857600080fd5b61120484828501610c36565b60c08301525092915050565b60006020828403121561122257600080fd5b81356001600160401b038082111561123957600080fd5b908301906103c0828603121561124e57600080fd5b611256610bca565b6112608684610bfd565b81526040830135602082015260608301358281111561127e57600080fd5b61128a87828601610c36565b60408301525061129c60808401610cc2565b60608201526112ad60a08401610cd9565b608082015260c083013560a08201526112c98660e08501610bfd565b60c08201526101208084013560e08301526101406112e988828701610ced565b6101008401526112fd886101e08701610d8c565b828401526103a085013591508382111561131657600080fd5b61132288838701611159565b90830152509594505050505056fea26469706673582212205d8660752cda5cd761469155afd3eadf779f3bd2113014d619299d1a9bc32b2664736f6c63430008150033","sourceMap":"171:3431:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;764:763;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;839:14;;:::i;:::-;865:29;;897:13;;;;:4;:13;:::i;:::-;:22;;911:6;;897:22;;;:::i;:::-;865:54;;-1:-1:-1;865:54:38;-1:-1:-1;930:26:38;969:13;;;;:4;:13;:::i;:::-;959:24;;;;;;;:::i;:::-;;;;;;;;;;;994:22;1019:7;;959:24;;-1:-1:-1;994:22:38;-1:-1:-1;;;;;1019:7:38;;;;:28;;1061:20;;;959:24;;1127:35;;;;;1176:23;;;;;;;;;:::i;:::-;1213:20;;;;1247:16;;;;1213:4;1247:16;:::i;:::-;1277:4;:31;;;1322:4;:26;;;;;;;;;;:::i;:::-;1019:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;994:364;;1373:17;1369:152;;;1413:37;;;;1424:14;1413:37;:::i;:::-;1406:44;764:763;-1:-1:-1;;;;;;764:763:38:o;1369:152::-;1488:22;;-1:-1:-1;;;1488:22:38;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:391:39;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:39;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;332:46;397:2;14:391;-1:-1:-1;;;14:391:39:o;685:423::-;727:3;765:5;759:12;792:6;787:3;780:19;817:1;827:162;841:6;838:1;835:13;827:162;;;903:4;959:13;;;955:22;;949:29;931:11;;;927:20;;920:59;856:12;827:162;;;831:3;1034:1;1027:4;1018:6;1013:3;1009:16;1005:27;998:38;1097:4;1090:2;1086:7;1081:2;1073:6;1069:15;1065:29;1060:3;1056:39;1052:50;1045:57;;;685:423;;;;:::o;1791:127::-;1852:10;1847:3;1843:20;1840:1;1833:31;1883:4;1880:1;1873:15;1907:4;1904:1;1897:15;1923:143;2007:1;2000:5;1997:12;1987:46;;2013:18;;:::i;:::-;2042;;1923:143::o;2071:1834::-;2136:47;2179:3;2171:5;2165:12;2136:47;:::i;:::-;2229:4;2222:5;2218:16;2212:23;2244:58;2296:4;2291:3;2287:14;2273:12;2244:58;:::i;:::-;;2350:4;2343:5;2339:16;2333:23;2365:60;2419:4;2414:3;2410:14;2394;2365:60;:::i;:::-;;2473:4;2466:5;2462:16;2456:23;2488:60;2542:4;2537:3;2533:14;2517;2488:60;:::i;:::-;;2596:4;2589:5;2585:16;2579:23;2611:60;2665:4;2660:3;2656:14;2640;2611:60;:::i;:::-;;2719:4;2712:5;2708:16;2702:23;2734:60;2788:4;2783:3;2779:14;2763;2734:60;:::i;:::-;;2842:4;2835:5;2831:16;2825:23;2857:60;2911:4;2906:3;2902:14;2886;2857:60;:::i;:::-;;2965:4;2958:5;2954:16;2948:23;2980:49;3023:4;3018:3;3014:14;2998;1296:10;1285:22;1273:35;;1220:94;2980:49;;3048:6;3102:2;3095:5;3091:14;3085:21;3115:58;3169:2;3164:3;3160:12;3144:14;3115:58;:::i;:::-;;;3192:6;3246:2;3239:5;3235:14;3229:21;3259:58;3313:2;3308:3;3304:12;3288:14;3259:58;:::i;:::-;;;3336:6;3390:2;3383:5;3379:14;3373:21;3403:58;3457:2;3452:3;3448:12;3432:14;3403:58;:::i;:::-;;;3480:6;3535:2;3528:5;3524:14;3518:21;3548:59;3603:2;3598:3;3594:12;3577:15;3548:59;:::i;:::-;;;3626:6;3681:2;3674:5;3670:14;3664:21;3694:59;3749:2;3744:3;3740:12;3723:15;3694:59;:::i;:::-;;;3772:6;3827:2;3820:5;3816:14;3810:21;3840:59;3895:2;3890:3;3886:12;3869:15;3840:59;:::i;:::-;;;2071:1834;;:::o;3910:145::-;3996:1;3989:5;3986:12;3976:46;;4002:18;;:::i;4216:335::-;4319:5;4342:1;4352:193;4366:4;4363:1;4360:11;4352:193;;;4413:48;4457:3;4448:6;4442:13;4136:12;;4124:25;;4198:4;4187:16;;;4181:23;4165:14;;4158:47;4060:151;4413:48;4490:4;4481:14;;;;;4530:4;4518:17;;;;;4386:1;4379:9;4352:193;;4556:1627;4625:49;4670:3;4662:5;4656:12;4625:49;:::i;:::-;4693:4;4743:2;4736:5;4732:14;4726:21;4756:58;4810:2;4805:3;4801:12;4787;4756:58;:::i;:::-;-1:-1:-1;4833:4:39;4874:14;;;4868:21;4939;;5047:1;4908:12;;;5057:195;5071:4;5068:1;5065:11;5057:195;;;5118:50;5162:5;5153:6;5147:13;4136:12;;4124:25;;4198:4;4187:16;;;4181:23;4165:14;;4158:47;4060:151;5118:50;5227:15;;;;5091:1;5084:9;;;;;5190:14;;5057:195;;;-1:-1:-1;;;5289:23:39;;;5283:30;;5322:65;5382:3;5373:13;;5283:30;5322:65;:::i;:::-;5424:23;;;5418:30;4136:12;;5511:4;5502:14;;4124:25;4198:4;4187:16;;;4181:23;4165:14;;;4158:47;5574:4;5554:25;;5548:32;4136:12;;5643:4;5634:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;5706:4;5686:25;;5680:32;4136:12;;5775:4;5766:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;5838:4;5818:25;;5812:32;4136:12;;5907:4;5898:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;5970:4;5950:25;;5944:32;4136:12;;6039:4;6030:14;;4124:25;4187:16;;4181:23;4165:14;;;4158:47;6102:4;6082:25;;;6076:32;4136:12;;6171:4;6162:14;;4124:25;4187:16;4181:23;4165:14;;;;4158:47;;;;-1:-1:-1;;4556:1627:39:o;6188:326::-;6281:5;6304:1;6314:194;6328:4;6325:1;6322:11;6314:194;;;6387:13;;6375:26;;6424:4;6448:12;;;;6483:15;;;;6348:1;6341:9;6314:194;;6519:1166;6627:12;;6574:3;;6602:6;;6661:3;6574;6738:200;6752:4;6749:1;6746:11;6738:200;;;6813:13;;6799:28;;6850:4;6913:15;;;;6876:14;;;;6772:1;6765:9;6738:200;;;6742:3;;;6984:4;6977:5;6973:16;6967:23;6999:65;7056:6;7051:3;7047:16;7033:12;6999:65;:::i;:::-;-1:-1:-1;7112:4:39;7101:16;;7095:23;1296:10;1285:22;7170:6;7161:16;;1273:35;7226:4;7215:16;;7209:23;7241:58;7291:6;7282:16;;7209:23;7241:58;:::i;:::-;-1:-1:-1;7347:4:39;7336:16;;7330:23;1296:10;1285:22;7405:6;7396:16;;1273:35;7461:4;7450:16;;7444:23;480:13;473:21;7517:6;7508:16;;461:34;7573:4;7562:16;;7556:23;7604:6;7595:16;;7588:28;;;7632:47;7666:12;;;7556:23;7632:47;:::i;:::-;7625:54;6519:1166;-1:-1:-1;;;;;6519:1166:39:o;7690:1524::-;7869:2;7851:21;;;7917:13;;589:12;;7932:18;;;577:25;654:16;648:23;641:31;634:39;618:14;;;611:63;8005:2;7997:6;7993:15;7987:22;7982:2;7971:9;7967:18;7960:50;7832:4;8057;8049:6;8045:17;8039:24;8082:6;8125:2;8119:3;8108:9;8104:19;8097:31;8151:52;8198:3;8187:9;8183:19;8169:12;8151:52;:::i;:::-;8137:66;;8252:2;8244:6;8240:15;8234:22;8265:54;8314:3;8303:9;8299:19;8283:14;-1:-1:-1;;;;;1178:30:39;1166:43;;1113:102;8265:54;-1:-1:-1;8368:3:39;8356:16;;8350:23;1296:10;1285:22;;8431:3;8416:19;;1273:35;8382:54;8491:3;8483:6;8479:16;8473:23;8467:3;8456:9;8452:19;8445:52;8546:3;8538:6;8534:16;8528:23;8570:3;8582:71;8649:2;8638:9;8634:18;8618:14;589:12;;577:25;;665:4;654:16;;;648:23;641:31;634:39;618:14;;611:63;506:174;8582:71;8690:3;8678:16;;8672:23;8714:3;8733:18;;;8726:30;;;;8793:15;;;8787:22;1432:12;;-1:-1:-1;;;;;1428:21:39;;;8874:3;8859:19;;1416:34;1496:4;1485:16;;1479:23;1521:10;1563:21;;;1547:14;;;1540:45;1638:4;1627:16;;1621:23;1617:32;;1601:14;;;1594:56;1703:4;1692:16;;1686:23;1682:32;1666:14;;;1659:56;1768:4;1757:16;;;1751:23;1747:32;1731:14;;;1724:56;8928:6;8916:19;;8910:26;;-1:-1:-1;8945:66:39;9006:3;8991:19;;8910:26;8945:66;:::i;:::-;9048:15;;9042:22;9104;;;-1:-1:-1;;9100:36:39;9080:18;;;9073:64;9042:22;-1:-1:-1;9154:54:39;;-1:-1:-1;9108:6:39;9042:22;9154:54;:::i;9219:521::-;9296:4;9302:6;9362:11;9349:25;9456:2;9452:7;9441:8;9425:14;9421:29;9417:43;9397:18;9393:68;9383:96;;9475:1;9472;9465:12;9383:96;9502:33;;9554:20;;;-1:-1:-1;;;;;;9586:30:39;;9583:50;;;9629:1;9626;9619:12;9583:50;9662:4;9650:17;;-1:-1:-1;9693:14:39;9689:27;;;9679:38;;9676:58;;;9730:1;9727;9720:12;9676:58;9219:521;;;;;:::o;9745:331::-;9850:9;9861;9903:8;9891:10;9888:24;9885:44;;;9925:1;9922;9915:12;9885:44;9954:6;9944:8;9941:20;9938:40;;;9974:1;9971;9964:12;9938:40;-1:-1:-1;;10000:23:39;;;10045:25;;;;;-1:-1:-1;9745:331:39:o;10081:271::-;10264:6;10256;10251:3;10238:33;10220:3;10290:16;;10315:13;;;10290:16;10081:271;-1:-1:-1;10081:271:39:o;10357:298::-;10416:6;10469:2;10457:9;10448:7;10444:23;10440:32;10437:52;;;10485:1;10482;10475:12;10437:52;10511:23;;-1:-1:-1;;10563:43:39;;10553:54;;10543:82;;10621:1;10618;10611:12;10660:286;10719:6;10772:2;10760:9;10751:7;10747:23;10743:32;10740:52;;;10788:1;10785;10778:12;10740:52;10814:23;;-1:-1:-1;;;;;10866:31:39;;10856:42;;10846:70;;10912:1;10909;10902:12;10951:997;11267:4;11296:3;11326:6;11315:9;11308:25;11369:6;11364:2;11353:9;11349:18;11342:34;11412:6;11407:2;11396:9;11392:18;11385:34;11471:26;11467:31;11459:6;11455:44;11450:2;11439:9;11435:18;11428:72;11537:6;11531:3;11520:9;11516:19;11509:35;11581:2;11575:3;11564:9;11560:19;11553:31;11620:6;11615:2;11604:9;11600:18;11593:34;;11646:3;11699:6;11691;11686:2;11675:9;11671:18;11658:48;11755:1;11726:22;;;11722:31;;11715:42;11859:3;11844:19;;11837:35;;;;-1:-1:-1;;;;;;11909:32:39;;;;11903:3;11888:19;;11881:61;11818:2;11797:15;;;-1:-1:-1;;11793:29:39;11778:45;;;11774:54;;10951:997;-1:-1:-1;;;;;;10951:997:39:o;11953:118::-;12039:5;12032:13;12025:21;12018:5;12015:32;12005:60;;12061:1;12058;12051:12;12005:60;11953:118;:::o;12076:245::-;12143:6;12196:2;12184:9;12175:7;12171:23;12167:32;12164:52;;;12212:1;12209;12202:12;12164:52;12244:9;12238:16;12263:28;12285:5;12263:28;:::i;12326:127::-;12387:10;12382:3;12378:20;12375:1;12368:31;12418:4;12415:1;12408:15;12442:4;12439:1;12432:15;12458:257;12530:4;12524:11;;;12562:17;;-1:-1:-1;;;;;12594:34:39;;12630:22;;;12591:62;12588:88;;;12656:18;;:::i;:::-;12692:4;12685:24;12458:257;:::o;12720:255::-;12792:2;12786:9;12834:6;12822:19;;-1:-1:-1;;;;;12856:34:39;;12892:22;;;12853:62;12850:88;;;12918:18;;:::i;12980:248::-;13047:2;13041:9;13089:4;13077:17;;-1:-1:-1;;;;;13109:34:39;;13145:22;;;13106:62;13103:88;;;13171:18;;:::i;13233:255::-;13305:2;13299:9;13347:6;13335:19;;-1:-1:-1;;;;;13369:34:39;;13405:22;;;13366:62;13363:88;;;13431:18;;:::i;13493:253::-;13565:2;13559:9;13607:4;13595:17;;-1:-1:-1;;;;;13627:34:39;;13663:22;;;13624:62;13621:88;;;13689:18;;:::i;13751:255::-;13823:2;13817:9;13865:6;13853:19;;-1:-1:-1;;;;;13887:34:39;;13923:22;;;13884:62;13881:88;;;13949:18;;:::i;14011:128::-;14076:20;;14105:28;14076:20;14105:28;:::i;:::-;14011:128;;;:::o;14144:362::-;14208:5;14256:4;14244:9;14239:3;14235:19;14231:30;14228:50;;;14274:1;14271;14264:12;14228:50;14296:22;;:::i;:::-;14287:31;;14354:9;14341:23;14334:5;14327:38;14417:2;14406:9;14402:18;14389:32;14430:30;14452:7;14430:30;:::i;:::-;14487:2;14476:14;;14469:31;14480:5;14144:362;-1:-1:-1;;14144:362:39:o;14511:719::-;14554:5;14607:3;14600:4;14592:6;14588:17;14584:27;14574:55;;14625:1;14622;14615:12;14574:55;14661:6;14648:20;-1:-1:-1;;;;;14724:2:39;14720;14717:10;14714:36;;;14730:18;;:::i;:::-;14805:2;14799:9;14773:2;14859:13;;-1:-1:-1;;14855:22:39;;;14879:2;14851:31;14847:40;14835:53;;;14903:18;;;14923:22;;;14900:46;14897:72;;;14949:18;;:::i;:::-;14989:10;14985:2;14978:22;15024:2;15016:6;15009:18;15070:3;15063:4;15058:2;15050:6;15046:15;15042:26;15039:35;15036:55;;;15087:1;15084;15077:12;15036:55;15151:2;15144:4;15136:6;15132:17;15125:4;15117:6;15113:17;15100:54;15198:1;15191:4;15186:2;15178:6;15174:15;15170:26;15163:37;15218:6;15209:15;;;;;;14511:719;;;;:::o;15235:171::-;15302:20;;-1:-1:-1;;;;;15351:30:39;;15341:41;;15331:69;;15396:1;15393;15386:12;15411:163;15478:20;;15538:10;15527:22;;15517:33;;15507:61;;15564:1;15561;15554:12;15579:696;15632:5;15680:4;15668:9;15663:3;15659:19;15655:30;15652:50;;;15698:1;15695;15688:12;15652:50;15731:2;15725:9;15773:4;15765:6;15761:17;15844:6;15832:10;15829:22;-1:-1:-1;;;;;15796:10:39;15793:34;15790:62;15787:88;;;15855:18;;:::i;:::-;15891:2;15884:22;15924:6;-1:-1:-1;15924:6:39;15954:28;15972:9;15954:28;:::i;:::-;15946:6;15939:44;16016:37;16049:2;16038:9;16034:18;16016:37;:::i;:::-;16011:2;16003:6;15999:15;15992:62;16087:37;16120:2;16109:9;16105:18;16087:37;:::i;:::-;16082:2;16074:6;16070:15;16063:62;16158:37;16191:2;16180:9;16176:18;16158:37;:::i;:::-;16153:2;16145:6;16141:15;16134:62;16230:38;16263:3;16252:9;16248:19;16230:38;:::i;:::-;16224:3;16216:6;16212:16;16205:64;;15579:696;;;;:::o;16280:153::-;16358:20;;16407:1;16397:12;;16387:40;;16423:1;16420;16413:12;16438:1421;16496:5;16544:6;16532:9;16527:3;16523:19;16519:32;16516:52;;;16564:1;16561;16554:12;16516:52;16586:22;;:::i;:::-;16577:31;;16631:39;16660:9;16631:39;:::i;:::-;16624:5;16617:54;16703:48;16747:2;16736:9;16732:18;16703:48;:::i;:::-;16698:2;16691:5;16687:14;16680:72;16784:48;16828:2;16817:9;16813:18;16784:48;:::i;:::-;16779:2;16772:5;16768:14;16761:72;16865:48;16909:2;16898:9;16894:18;16865:48;:::i;:::-;16860:2;16853:5;16849:14;16842:72;16947:49;16991:3;16980:9;16976:19;16947:49;:::i;:::-;16941:3;16934:5;16930:15;16923:74;17030:49;17074:3;17063:9;17059:19;17030:49;:::i;:::-;17024:3;17017:5;17013:15;17006:74;17113:49;17157:3;17146:9;17142:19;17113:49;:::i;:::-;17107:3;17100:5;17096:15;17089:74;17196:38;17229:3;17218:9;17214:19;17196:38;:::i;:::-;17190:3;17183:5;17179:15;17172:63;17254:3;17289:48;17333:2;17322:9;17318:18;17289:48;:::i;:::-;17273:14;;;17266:72;17357:3;17392:48;17421:18;;;17392:48;:::i;:::-;17376:14;;;17369:72;17460:3;17495:48;17524:18;;;17495:48;:::i;:::-;17479:14;;;17472:72;17563:3;17598:48;17627:18;;;17598:48;:::i;:::-;17582:14;;;17575:72;17666:3;17701:48;17730:18;;;17701:48;:::i;:::-;17685:14;;;17678:72;17769:3;17804:48;17833:18;;;17804:48;:::i;:::-;17788:14;;;17781:72;17792:5;16438:1421;-1:-1:-1;;16438:1421:39:o;17864:485::-;17914:5;17967:3;17960:4;17952:6;17948:17;17944:27;17934:55;;17985:1;17982;17975:12;17934:55;18009:22;;:::i;:::-;18053:3;18091;18083:6;18079:16;18118:3;18110:6;18107:15;18104:35;;;18135:1;18132;18125:12;18104:35;18159:6;18174:146;18190:6;18185:3;18182:15;18174:146;;;18258:17;;18246:30;;18305:4;18296:14;;;;18207;18174:146;;;-1:-1:-1;18338:5:39;;17864:485;-1:-1:-1;;;;;17864:485:39:o;18354:155::-;18434:20;;18483:1;18473:12;;18463:40;;18499:1;18496;18489:12;18514:285;18571:5;18619:4;18607:9;18602:3;18598:19;18594:30;18591:50;;;18637:1;18634;18627:12;18591:50;18659:22;;:::i;:::-;18650:31;;18717:9;18704:23;18697:5;18690:38;18788:2;18777:9;18773:18;18760:32;18755:2;18748:5;18744:14;18737:56;18514:285;;;;:::o;18804:538::-;18886:5;18939:3;18932:4;18924:6;18920:17;18916:27;18906:55;;18957:1;18954;18947:12;18906:55;18981:22;;:::i;:::-;19025:3;19063;19055:6;19051:16;19090:3;19082:6;19079:15;19076:35;;;19107:1;19104;19097:12;19076:35;19131:6;19146:167;19162:6;19157:3;19154:15;19146:167;;;19230:38;19264:3;19259;19230:38;:::i;:::-;19218:51;;19298:4;19289:14;;;;19188:4;19179:14;19146:167;;19347:698;19407:5;19460:3;19453:4;19445:6;19441:17;19437:27;19427:55;;19478:1;19475;19468:12;19427:55;19501:2;19532;19526:9;19574:3;19566:6;19562:16;19644:6;19632:10;19629:22;-1:-1:-1;;;;;19596:10:39;19593:34;19590:62;19587:88;;;19655:18;;:::i;:::-;19684:22;;19726:6;19767:3;19755:16;;19783:15;;;19780:35;;;19811:1;19808;19801:12;19780:35;19835:6;19850:165;19866:6;19861:3;19858:15;19850:165;;;19932:38;19966:3;19961;19932:38;:::i;:::-;19920:51;;20000:4;19991:14;;;;19883:12;;19850:165;;;-1:-1:-1;20033:6:39;;19347:698;-1:-1:-1;;;;;;19347:698:39:o;20050:1259::-;20112:5;20151:9;20146:3;20142:19;20181:6;20177:2;20173:15;20170:35;;;20201:1;20198;20191:12;20170:35;20223:17;;:::i;:::-;20214:26;;20263:41;20294:9;20263:41;:::i;:::-;20256:5;20249:56;20337:50;20383:2;20372:9;20368:18;20337:50;:::i;:::-;20332:2;20325:5;20321:14;20314:74;20407:6;20447:2;20441;20437:7;20433:2;20429:16;20425:25;20422:45;;;20463:1;20460;20453:12;20422:45;20491:22;;:::i;:::-;20476:37;;20538:81;20615:3;20610:2;20599:9;20595:18;20538:81;:::i;:::-;20529:7;20522:98;20654:60;20710:3;20704;20693:9;20689:19;20654:60;:::i;:::-;20649:2;20640:7;20636:16;20629:86;20749:55;20800:3;20793:4;20782:9;20778:20;20749:55;:::i;:::-;20744:2;20735:7;20731:16;20724:81;20841:55;20892:3;20885:4;20874:9;20870:20;20841:55;:::i;:::-;20834:4;20825:7;20821:18;20814:83;20933:55;20984:3;20977:4;20966:9;20962:20;20933:55;:::i;:::-;20926:4;20917:7;20913:18;20906:83;21025:55;21076:3;21069:4;21058:9;21054:20;21025:55;:::i;:::-;21018:4;21009:7;21005:18;20998:83;21117:55;21168:3;21161:4;21150:9;21146:20;21117:55;:::i;:::-;21110:4;21101:7;21097:18;21090:83;21209:53;21258:3;21253:2;21242:9;21238:18;21209:53;:::i;:::-;21202:4;21189:18;;21182:81;-1:-1:-1;21290:2:39;21279:14;;21272:31;21283:5;20050:1259;-1:-1:-1;;20050:1259:39:o;21314:659::-;21375:5;21428:3;21421:4;21413:6;21409:17;21405:27;21395:55;;21446:1;21443;21436:12;21395:55;21479:2;21473:9;21521:3;21513:6;21509:16;21591:6;21579:10;21576:22;-1:-1:-1;;;;;21543:10:39;21540:34;21537:62;21534:88;;;21602:18;;:::i;:::-;21638:2;21631:22;21673:6;21714:3;21702:16;;21730:15;;;21727:35;;;21758:1;21755;21748:12;21727:35;21782:6;21797:146;21813:6;21808:3;21805:15;21797:146;;;21881:17;;21869:30;;21928:4;21919:14;;;;21830;21797:146;;;-1:-1:-1;21961:6:39;;21314:659;-1:-1:-1;;;;;21314:659:39:o;21978:849::-;22037:5;22085:6;22073:9;22068:3;22064:19;22060:32;22057:52;;;22105:1;22102;22095:12;22057:52;22127:22;;:::i;:::-;22118:31;;22172:40;22208:3;22197:9;22172:40;:::i;:::-;22165:5;22158:55;22247:59;22302:3;22296;22285:9;22281:19;22247:59;:::i;:::-;22240:4;22233:5;22229:16;22222:85;22341:39;22374:4;22363:9;22359:20;22341:39;:::i;:::-;22334:4;22327:5;22323:16;22316:65;22415:62;22473:3;22466:4;22455:9;22451:20;22415:62;:::i;:::-;22408:4;22401:5;22397:16;22390:88;22512:39;22545:4;22534:9;22530:20;22512:39;:::i;:::-;22505:4;22498:5;22494:16;22487:65;22586:37;22617:4;22606:9;22602:20;22586:37;:::i;:::-;22579:4;22572:5;22568:16;22561:63;22675:4;22664:9;22660:20;22647:34;-1:-1:-1;;;;;22696:6:39;22693:30;22690:50;;;22736:1;22733;22726:12;22690:50;22774:46;22816:3;22807:6;22796:9;22792:22;22774:46;:::i;:::-;22767:4;22760:5;22756:16;22749:72;;21978:849;;;;:::o;22832:1498::-;22916:6;22969:2;22957:9;22948:7;22944:23;22940:32;22937:52;;;22985:1;22982;22975:12;22937:52;23025:9;23012:23;-1:-1:-1;;;;;23095:2:39;23087:6;23084:14;23081:34;;;23111:1;23108;23101:12;23081:34;23134:22;;;;23190:6;23172:16;;;23168:29;23165:49;;;23210:1;23207;23200:12;23165:49;23236:22;;:::i;:::-;23281:48;23321:7;23317:2;23281:48;:::i;:::-;23274:5;23267:63;23383:2;23379;23375:11;23362:25;23357:2;23350:5;23346:14;23339:49;23434:2;23430;23426:11;23413:25;23463:2;23453:8;23450:16;23447:36;;;23479:1;23476;23469:12;23447:36;23515:45;23552:7;23541:8;23537:2;23533:17;23515:45;:::i;:::-;23510:2;23503:5;23499:14;23492:69;;23593:31;23619:3;23615:2;23611:12;23593:31;:::i;:::-;23588:2;23581:5;23577:14;23570:55;23658:31;23684:3;23680:2;23676:12;23658:31;:::i;:::-;23652:3;23645:5;23641:15;23634:56;23744:3;23740:2;23736:12;23723:26;23717:3;23710:5;23706:15;23699:51;23783:58;23833:7;23827:3;23823:2;23819:12;23783:58;:::i;:::-;23777:3;23770:5;23766:15;23759:83;23861:3;23918:2;23914;23910:11;23897:25;23891:3;23884:5;23880:15;23873:50;23942:3;23981:46;24019:7;24014:2;24010;24006:11;23981:46;:::i;:::-;23972:6;23965:5;23961:18;23954:74;24060:52;24104:7;24098:3;24094:2;24090:12;24060:52;:::i;:::-;24055:2;24048:5;24044:14;24037:76;24159:3;24155:2;24151:12;24138:26;24122:42;;24189:2;24179:8;24176:16;24173:36;;;24205:1;24202;24195:12;24173:36;24241:58;24291:7;24280:8;24276:2;24272:17;24241:58;:::i;:::-;24225:14;;;24218:82;-1:-1:-1;24229:5:39;22832:1498;-1:-1:-1;;;;;22832:1498:39:o","linkReferences":{}},"methodIdentifiers":{"validateAccount((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"9029ad15"},"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\":\"AccountIsNotVerified\",\"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\":[{\"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\":\"0x90ad6c63ccdfaf5ece74b0c5d1be2f5f055af0bac6ad875638c20ada517cad9e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0c6935178db6825ed5b3f223965633f264c47e5d6fc7246ed73b75ca5f963dc7\",\"dweb:/ipfs/Qmcx4xD164Z2P3zCAijesowyc5aGbY9G3iUWkP8s64h386\"]}},\"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":"AccountIsNotVerified"},{"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":"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":"0x90ad6c63ccdfaf5ece74b0c5d1be2f5f055af0bac6ad875638c20ada517cad9e","urls":["bzz-raw://0c6935178db6825ed5b3f223965633f264c47e5d6fc7246ed73b75ca5f963dc7","dweb:/ipfs/Qmcx4xD164Z2P3zCAijesowyc5aGbY9G3iUWkP8s64h386"],"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":"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161142d38038061142d83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61139a806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80639029ad1514610030575b600080fd5b61004361003e366004610475565b610059565b6040516100509190610857565b60405180910390f35b6100616101a7565b36600061007160c085018561097f565b61007f9160289082906109cc565b9092509050600061009360c086018661097f565b6040516100a19291906109f6565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190883590859060208b0135906100e19060608d01908d01610a06565b60608c01356100f360808e018e61097f565b8e60a001358f60e001602081019061010b9190610a35565b6040518a63ffffffff1660e01b815260040161012f99989796959493929190610a5e565b602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610aec565b9050801561018e5761018483850185611244565b9695505050505050565b604051634de35c5f60e11b815260040160405180910390fd5b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e086018590528651908101875284815292830184905294820183905281018290529283015261010081019190915261012081016102aa604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b81526020016102b76102bc565b905290565b6040518060e001604052806102cf610309565b81526020016102dc610328565b8152600060208201526040016102f0610347565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016102b7610365565b6040518060a001604052806005906020820280368337509192915050565b604051806101000160405280610379610410565b8152602001610386610449565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161041f5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161041f565b60006020828403121561048757600080fd5b81356001600160401b0381111561049d57600080fd5b820161010081850312156104b057600080fd5b9392505050565b6000815180845260005b818110156104dd576020818501810151868301820152016104c1565b818111156104ef576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6005811061052a5761052a610504565b9052565b61053982825161051a565b602081015161054b602084018261051a565b50604081015161055e604084018261051a565b506060810151610571606084018261051a565b506080810151610584608084018261051a565b5060a081015161059760a084018261051a565b5060c08101516105aa60c084018261051a565b5060e08101516105c260e084018263ffffffff169052565b50610100808201516105d68285018261051a565b5050610120808201516105eb8285018261051a565b5050610140808201516106008285018261051a565b5050610160808201516106158285018261051a565b50506101808082015161062a8285018261051a565b50506101a08082015161063f8285018261051a565b50505050565b6003811061052a5761052a610504565b8060005b600f81101561063f5761067784835180518252602090810151910152565b6040939093019260209190910190600101610659565b610698828251610645565b6020808201516106aa82850182610645565b50604082810151805160008684015b60078210156106e9576106d781845180518252602090810151910152565b918501916001919091019084016106b9565b50505091820151916106ff610200860184610655565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561063f578151845260209384019390910190600101610791565b80516000906109609084835b60088110156107db5782518252602092830192909101906001016107bc565b50505060208301516107f161010086018261068d565b50604083015163ffffffff16610840850152606083015161081661086086018261078d565b50608083015163ffffffff1661090085015260a0830151151561092085015260c0830151610940850182905261084e828601826104b7565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c08060808501526108956103e08501836104b7565b915060608501516108b160a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c08501516101006108ee81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e0880152610120880151925061096361020088018461052e565b870151868503601f1901848801529150610184905083826107b0565b6000808335601e1984360301811261099657600080fd5b8301803591506001600160401b038211156109b057600080fd5b6020019150368190038213156109c557600080fd5b9250929050565b600080858511156109dc57600080fd5b838611156109e957600080fd5b5050820193919092039150565b8183823760009101908152919050565b600060208284031215610a1857600080fd5b81356bffffffffffffffffffffffff19811681146104b057600080fd5b600060208284031215610a4757600080fd5b81356001600160a01b03811681146104b057600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610ae957600080fd5b50565b600060208284031215610afe57600080fd5b81516104b081610adb565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610b4157610b41610b09565b60405290565b6040516101c081016001600160401b0381118282101715610b4157610b41610b09565b604051606081016001600160401b0381118282101715610b4157610b41610b09565b60405161010081016001600160401b0381118282101715610b4157610b41610b09565b60405160e081016001600160401b0381118282101715610b4157610b41610b09565b60405161016081016001600160401b0381118282101715610b4157610b41610b09565b8035610bff81610adb565b919050565b600060408284031215610c1657600080fd5b610c1e610b1f565b9050813581526020820135610c3281610adb565b602082015292915050565b600082601f830112610c4e57600080fd5b81356001600160401b0380821115610c6857610c68610b09565b604051601f8301601f19908116603f01168101908282118183101715610c9057610c90610b09565b81604052838152866020858801011115610ca957600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610bff57600080fd5b803563ffffffff81168114610bff57600080fd5b600060a08284031215610d0657600080fd5b60405160a081018181106001600160401b0382111715610d2857610d28610b09565b604052905080610d3783610cc9565b8152610d4560208401610ce0565b6020820152610d5660408401610cc9565b6040820152610d6760608401610ce0565b6060820152610d7860808401610cc9565b60808201525092915050565b803560058110610bff57600080fd5b60006101c08284031215610da657600080fd5b610dae610b47565b9050610db982610d84565b8152610dc760208301610d84565b6020820152610dd860408301610d84565b6040820152610de960608301610d84565b6060820152610dfa60808301610d84565b6080820152610e0b60a08301610d84565b60a0820152610e1c60c08301610d84565b60c0820152610e2d60e08301610ce0565b60e0820152610100610e40818401610d84565b90820152610120610e52838201610d84565b90820152610140610e64838201610d84565b90820152610160610e76838201610d84565b90820152610180610e88838201610d84565b908201526101a0610e9a838201610d84565b9082015292915050565b600082601f830112610eb557600080fd5b6040516101008082018281106001600160401b0382111715610ed957610ed9610b09565b60405283018185821115610eec57600080fd5b845b82811015610f06578035825260209182019101610eee565b509195945050505050565b803560038110610bff57600080fd5b600060408284031215610f3257600080fd5b610f3a610b1f565b9050813581526020820135602082015292915050565b600082601f830112610f6157600080fd5b6040805160e081018181106001600160401b0382111715610f8457610f84610b09565b8252806101c0850186811115610f9957600080fd5b855b81811015610fbc57610fad8882610f20565b83526020909201918401610f9b565b50919695505050505050565b600082601f830112610fd957600080fd5b604080516101e081018181106001600160401b0382111715610ffd57610ffd610b09565b8252806103c085018681111561101257600080fd5b855b81811015610fbc576110268882610f20565b83526020909201918401611014565b600081830361074081121561104957600080fd5b611051610b6a565b915061105c83610f11565b825261106a60208401610f11565b602083015261070080603f198301121561108357600080fd5b61108b610b8c565b915061109a8560408601610f50565b82526110aa856102008601610fc8565b60208301526110bd856105c08601610f20565b60408301526110d0856106008601610f20565b60608301526110e3856106408601610f20565b60808301526110f6856106808601610f20565b60a0830152611109856106c08601610f20565b60c083015261111a85828601610f20565b60e083015250604082015292915050565b600082601f83011261113c57600080fd5b60405160a081018181106001600160401b038211171561115e5761115e610b09565b6040528060a084018581111561117357600080fd5b845b81811015610f06578035835260209283019201611175565b600061096082840312156111a057600080fd5b6111a8610baf565b90506111b48383610ea4565b81526111c4836101008401611035565b60208201526111d66108408301610ce0565b60408201526111e983610860840161112b565b60608201526111fb6109008301610ce0565b608082015261120d6109208301610bf4565b60a08201526109408201356001600160401b0381111561122c57600080fd5b61123884828501610c3d565b60c08301525092915050565b60006020828403121561125657600080fd5b81356001600160401b038082111561126d57600080fd5b908301906103c0828603121561128257600080fd5b61128a610bd1565b6112948684610c04565b8152604083013560208201526060830135828111156112b257600080fd5b6112be87828601610c3d565b6040830152506112d060808401610cc9565b60608201526112e160a08401610ce0565b608082015260c083013560a08201526112fd8660e08501610c04565b60c08201526101208084013560e083015261014061131d88828701610cf4565b610100840152611331886101e08701610d93565b828401526103a085013591508382111561134a57600080fd5b6113568883870161118d565b90830152509594505050505056fea26469706673582212204ff23779a72342be093c794a101b1afa919b353d8dbd2a9bc7be76ea30eab75864736f6c634300080c0033","sourceMap":"171:3431:64:-:0;;;635:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;694:7;:57;;-1:-1:-1;;;;;;694:57:64;-1:-1:-1;;;;;694:57:64;;;;;;;;;;171:3431;;14:298:67;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:67;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:67:o;:::-;171:3431:64;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80639029ad1514610030575b600080fd5b61004361003e366004610475565b610059565b6040516100509190610857565b60405180910390f35b6100616101a7565b36600061007160c085018561097f565b61007f9160289082906109cc565b9092509050600061009360c086018661097f565b6040516100a19291906109f6565b604080519182900390912060008054919350916001600160a01b03909116906306045a9190883590859060208b0135906100e19060608d01908d01610a06565b60608c01356100f360808e018e61097f565b8e60a001358f60e001602081019061010b9190610a35565b6040518a63ffffffff1660e01b815260040161012f99989796959493929190610a5e565b602060405180830381865afa15801561014c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101709190610aec565b9050801561018e5761018483850185611244565b9695505050505050565b604051634de35c5f60e11b815260040160405180910390fd5b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e086018590528651908101875284815292830184905294820183905281018290529283015261010081019190915261012081016102aa604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b81526020016102b76102bc565b905290565b6040518060e001604052806102cf610309565b81526020016102dc610328565b8152600060208201526040016102f0610347565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016102b7610365565b6040518060a001604052806005906020820280368337509192915050565b604051806101000160405280610379610410565b8152602001610386610449565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161041f5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161041f565b60006020828403121561048757600080fd5b81356001600160401b0381111561049d57600080fd5b820161010081850312156104b057600080fd5b9392505050565b6000815180845260005b818110156104dd576020818501810151868301820152016104c1565b818111156104ef576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6005811061052a5761052a610504565b9052565b61053982825161051a565b602081015161054b602084018261051a565b50604081015161055e604084018261051a565b506060810151610571606084018261051a565b506080810151610584608084018261051a565b5060a081015161059760a084018261051a565b5060c08101516105aa60c084018261051a565b5060e08101516105c260e084018263ffffffff169052565b50610100808201516105d68285018261051a565b5050610120808201516105eb8285018261051a565b5050610140808201516106008285018261051a565b5050610160808201516106158285018261051a565b50506101808082015161062a8285018261051a565b50506101a08082015161063f8285018261051a565b50505050565b6003811061052a5761052a610504565b8060005b600f81101561063f5761067784835180518252602090810151910152565b6040939093019260209190910190600101610659565b610698828251610645565b6020808201516106aa82850182610645565b50604082810151805160008684015b60078210156106e9576106d781845180518252602090810151910152565b918501916001919091019084016106b9565b50505091820151916106ff610200860184610655565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b600581101561063f578151845260209384019390910190600101610791565b80516000906109609084835b60088110156107db5782518252602092830192909101906001016107bc565b50505060208301516107f161010086018261068d565b50604083015163ffffffff16610840850152606083015161081661086086018261078d565b50608083015163ffffffff1661090085015260a0830151151561092085015260c0830151610940850182905261084e828601826104b7565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c08060808501526108956103e08501836104b7565b915060608501516108b160a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c08501516101006108ee81870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e0880152610120880151925061096361020088018461052e565b870151868503601f1901848801529150610184905083826107b0565b6000808335601e1984360301811261099657600080fd5b8301803591506001600160401b038211156109b057600080fd5b6020019150368190038213156109c557600080fd5b9250929050565b600080858511156109dc57600080fd5b838611156109e957600080fd5b5050820193919092039150565b8183823760009101908152919050565b600060208284031215610a1857600080fd5b81356bffffffffffffffffffffffff19811681146104b057600080fd5b600060208284031215610a4757600080fd5b81356001600160a01b03811681146104b057600080fd5b60006101008b83528a60208401528960408401526bffffffffffffffffffffffff19891660608401528760808401528060a0840152858184015250610120858782850137600083870182015260c0830194909452506001600160a01b039190911660e0820152601f909201601f1916909101019695505050505050565b8015158114610ae957600080fd5b50565b600060208284031215610afe57600080fd5b81516104b081610adb565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715610b4157610b41610b09565b60405290565b6040516101c081016001600160401b0381118282101715610b4157610b41610b09565b604051606081016001600160401b0381118282101715610b4157610b41610b09565b60405161010081016001600160401b0381118282101715610b4157610b41610b09565b60405160e081016001600160401b0381118282101715610b4157610b41610b09565b60405161016081016001600160401b0381118282101715610b4157610b41610b09565b8035610bff81610adb565b919050565b600060408284031215610c1657600080fd5b610c1e610b1f565b9050813581526020820135610c3281610adb565b602082015292915050565b600082601f830112610c4e57600080fd5b81356001600160401b0380821115610c6857610c68610b09565b604051601f8301601f19908116603f01168101908282118183101715610c9057610c90610b09565b81604052838152866020858801011115610ca957600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160401b0381168114610bff57600080fd5b803563ffffffff81168114610bff57600080fd5b600060a08284031215610d0657600080fd5b60405160a081018181106001600160401b0382111715610d2857610d28610b09565b604052905080610d3783610cc9565b8152610d4560208401610ce0565b6020820152610d5660408401610cc9565b6040820152610d6760608401610ce0565b6060820152610d7860808401610cc9565b60808201525092915050565b803560058110610bff57600080fd5b60006101c08284031215610da657600080fd5b610dae610b47565b9050610db982610d84565b8152610dc760208301610d84565b6020820152610dd860408301610d84565b6040820152610de960608301610d84565b6060820152610dfa60808301610d84565b6080820152610e0b60a08301610d84565b60a0820152610e1c60c08301610d84565b60c0820152610e2d60e08301610ce0565b60e0820152610100610e40818401610d84565b90820152610120610e52838201610d84565b90820152610140610e64838201610d84565b90820152610160610e76838201610d84565b90820152610180610e88838201610d84565b908201526101a0610e9a838201610d84565b9082015292915050565b600082601f830112610eb557600080fd5b6040516101008082018281106001600160401b0382111715610ed957610ed9610b09565b60405283018185821115610eec57600080fd5b845b82811015610f06578035825260209182019101610eee565b509195945050505050565b803560038110610bff57600080fd5b600060408284031215610f3257600080fd5b610f3a610b1f565b9050813581526020820135602082015292915050565b600082601f830112610f6157600080fd5b6040805160e081018181106001600160401b0382111715610f8457610f84610b09565b8252806101c0850186811115610f9957600080fd5b855b81811015610fbc57610fad8882610f20565b83526020909201918401610f9b565b50919695505050505050565b600082601f830112610fd957600080fd5b604080516101e081018181106001600160401b0382111715610ffd57610ffd610b09565b8252806103c085018681111561101257600080fd5b855b81811015610fbc576110268882610f20565b83526020909201918401611014565b600081830361074081121561104957600080fd5b611051610b6a565b915061105c83610f11565b825261106a60208401610f11565b602083015261070080603f198301121561108357600080fd5b61108b610b8c565b915061109a8560408601610f50565b82526110aa856102008601610fc8565b60208301526110bd856105c08601610f20565b60408301526110d0856106008601610f20565b60608301526110e3856106408601610f20565b60808301526110f6856106808601610f20565b60a0830152611109856106c08601610f20565b60c083015261111a85828601610f20565b60e083015250604082015292915050565b600082601f83011261113c57600080fd5b60405160a081018181106001600160401b038211171561115e5761115e610b09565b6040528060a084018581111561117357600080fd5b845b81811015610f06578035835260209283019201611175565b600061096082840312156111a057600080fd5b6111a8610baf565b90506111b48383610ea4565b81526111c4836101008401611035565b60208201526111d66108408301610ce0565b60408201526111e983610860840161112b565b60608201526111fb6109008301610ce0565b608082015261120d6109208301610bf4565b60a08201526109408201356001600160401b0381111561122c57600080fd5b61123884828501610c3d565b60c08301525092915050565b60006020828403121561125657600080fd5b81356001600160401b038082111561126d57600080fd5b908301906103c0828603121561128257600080fd5b61128a610bd1565b6112948684610c04565b8152604083013560208201526060830135828111156112b257600080fd5b6112be87828601610c3d565b6040830152506112d060808401610cc9565b60608201526112e160a08401610ce0565b608082015260c083013560a08201526112fd8660e08501610c04565b60c08201526101208084013560e083015261014061131d88828701610cf4565b610100840152611331886101e08701610d93565b828401526103a085013591508382111561134a57600080fd5b6113568883870161118d565b90830152509594505050505056fea26469706673582212204ff23779a72342be093c794a101b1afa919b353d8dbd2a9bc7be76ea30eab75864736f6c634300080c0033","sourceMap":"171:3431:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;764:763;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;839:14;;:::i;:::-;865:29;;897:13;;;;:4;:13;:::i;:::-;:22;;911:6;;897:22;;;:::i;:::-;865:54;;-1:-1:-1;865:54:64;-1:-1:-1;930:26:64;969:13;;;;:4;:13;:::i;:::-;959:24;;;;;;;:::i;:::-;;;;;;;;;;;994:22;1019:7;;959:24;;-1:-1:-1;994:22:64;-1:-1:-1;;;;;1019:7:64;;;;:28;;1061:20;;;959:24;;1127:35;;;;;1176:23;;;;;;;;;:::i;:::-;1213:20;;;;1247:16;;;;1213:4;1247:16;:::i;:::-;1277:4;:31;;;1322:4;:26;;;;;;;;;;:::i;:::-;1019:339;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;994:364;;1373:17;1369:152;;;1413:37;;;;1424:14;1413:37;:::i;:::-;1406:44;764:763;-1:-1:-1;;;;;;764:763:64:o;1369:152::-;1488:22;;-1:-1:-1;;;1488:22:64;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:392:67;105:6;158:2;146:9;137:7;133:23;129:32;126:52;;;174:1;171;164:12;126:52;214:9;201:23;-1:-1:-1;;;;;239:6:67;236:30;233:50;;;279:1;276;269:12;233:50;302:22;;358:3;340:16;;;336:26;333:46;;;375:1;372;365:12;333:46;398:2;14:392;-1:-1:-1;;;14:392:67:o;686:472::-;728:3;766:5;760:12;793:6;788:3;781:19;818:1;828:162;842:6;839:1;836:13;828:162;;;904:4;960:13;;;956:22;;950:29;932:11;;;928:20;;921:59;857:12;828:162;;;1008:6;1005:1;1002:13;999:87;;;1074:1;1067:4;1058:6;1053:3;1049:16;1045:27;1038:38;999:87;-1:-1:-1;1140:2:67;1119:15;-1:-1:-1;;1115:29:67;1106:39;;;;1147:4;1102:50;;686:472;-1:-1:-1;;686:472:67:o;1841:127::-;1902:10;1897:3;1893:20;1890:1;1883:31;1933:4;1930:1;1923:15;1957:4;1954:1;1947:15;1973:143;2057:1;2050:5;2047:12;2037:46;;2063:18;;:::i;:::-;2092;;1973:143::o;2121:1834::-;2186:47;2229:3;2221:5;2215:12;2186:47;:::i;:::-;2279:4;2272:5;2268:16;2262:23;2294:58;2346:4;2341:3;2337:14;2323:12;2294:58;:::i;:::-;;2400:4;2393:5;2389:16;2383:23;2415:60;2469:4;2464:3;2460:14;2444;2415:60;:::i;:::-;;2523:4;2516:5;2512:16;2506:23;2538:60;2592:4;2587:3;2583:14;2567;2538:60;:::i;:::-;;2646:4;2639:5;2635:16;2629:23;2661:60;2715:4;2710:3;2706:14;2690;2661:60;:::i;:::-;;2769:4;2762:5;2758:16;2752:23;2784:60;2838:4;2833:3;2829:14;2813;2784:60;:::i;:::-;;2892:4;2885:5;2881:16;2875:23;2907:60;2961:4;2956:3;2952:14;2936;2907:60;:::i;:::-;;3015:4;3008:5;3004:16;2998:23;3030:49;3073:4;3068:3;3064:14;3048;1346:10;1335:22;1323:35;;1270:94;3030:49;;3098:6;3152:2;3145:5;3141:14;3135:21;3165:58;3219:2;3214:3;3210:12;3194:14;3165:58;:::i;:::-;;;3242:6;3296:2;3289:5;3285:14;3279:21;3309:58;3363:2;3358:3;3354:12;3338:14;3309:58;:::i;:::-;;;3386:6;3440:2;3433:5;3429:14;3423:21;3453:58;3507:2;3502:3;3498:12;3482:14;3453:58;:::i;:::-;;;3530:6;3585:2;3578:5;3574:14;3568:21;3598:59;3653:2;3648:3;3644:12;3627:15;3598:59;:::i;:::-;;;3676:6;3731:2;3724:5;3720:14;3714:21;3744:59;3799:2;3794:3;3790:12;3773:15;3744:59;:::i;:::-;;;3822:6;3877:2;3870:5;3866:14;3860:21;3890:59;3945:2;3940:3;3936:12;3919:15;3890:59;:::i;:::-;;;2121:1834;;:::o;3960:145::-;4046:1;4039:5;4036:12;4026:46;;4052:18;;:::i;4266:335::-;4369:5;4392:1;4402:193;4416:4;4413:1;4410:11;4402:193;;;4463:48;4507:3;4498:6;4492:13;4186:12;;4174:25;;4248:4;4237:16;;;4231:23;4215:14;;4208:47;4110:151;4463:48;4540:4;4531:14;;;;;4580:4;4568:17;;;;;4436:1;4429:9;4402:193;;4606:1627;4675:49;4720:3;4712:5;4706:12;4675:49;:::i;:::-;4743:4;4793:2;4786:5;4782:14;4776:21;4806:58;4860:2;4855:3;4851:12;4837;4806:58;:::i;:::-;-1:-1:-1;4883:4:67;4924:14;;;4918:21;4989;;5097:1;4958:12;;;5107:195;5121:4;5118:1;5115:11;5107:195;;;5168:50;5212:5;5203:6;5197:13;4186:12;;4174:25;;4248:4;4237:16;;;4231:23;4215:14;;4208:47;4110:151;5168:50;5277:15;;;;5141:1;5134:9;;;;;5240:14;;5107:195;;;-1:-1:-1;;;5339:23:67;;;5333:30;;5372:65;5432:3;5423:13;;5333:30;5372:65;:::i;:::-;5474:23;;;5468:30;4186:12;;5561:4;5552:14;;4174:25;4248:4;4237:16;;;4231:23;4215:14;;;4208:47;5624:4;5604:25;;5598:32;4186:12;;5693:4;5684:14;;4174:25;4237:16;;4231:23;4215:14;;;4208:47;5756:4;5736:25;;5730:32;4186:12;;5825:4;5816:14;;4174:25;4237:16;;4231:23;4215:14;;;4208:47;5888:4;5868:25;;5862:32;4186:12;;5957:4;5948:14;;4174:25;4237:16;;4231:23;4215:14;;;4208:47;6020:4;6000:25;;5994:32;4186:12;;6089:4;6080:14;;4174:25;4237:16;;4231:23;4215:14;;;4208:47;6152:4;6132:25;;;6126:32;4186:12;;6221:4;6212:14;;4174:25;4237:16;4231:23;4215:14;;;;4208:47;;;;-1:-1:-1;;4606:1627:67:o;6238:326::-;6331:5;6354:1;6364:194;6378:4;6375:1;6372:11;6364:194;;;6437:13;;6425:26;;6474:4;6498:12;;;;6533:15;;;;6398:1;6391:9;6364:194;;6569:1166;6677:12;;6624:3;;6652:6;;6711:3;6624;6788:200;6802:4;6799:1;6796:11;6788:200;;;6863:13;;6849:28;;6900:4;6963:15;;;;6926:14;;;;6822:1;6815:9;6788:200;;;6792:3;;;7034:4;7027:5;7023:16;7017:23;7049:65;7106:6;7101:3;7097:16;7083:12;7049:65;:::i;:::-;-1:-1:-1;7162:4:67;7151:16;;7145:23;1346:10;1335:22;7220:6;7211:16;;1323:35;7276:4;7265:16;;7259:23;7291:58;7341:6;7332:16;;7259:23;7291:58;:::i;:::-;-1:-1:-1;7397:4:67;7386:16;;7380:23;1346:10;1335:22;7455:6;7446:16;;1323:35;7511:4;7500:16;;7494:23;481:13;474:21;7567:6;7558:16;;462:34;7623:4;7612:16;;7606:23;7654:6;7645:16;;7638:28;;;7682:47;7716:12;;;7606:23;7682:47;:::i;:::-;7675:54;6569:1166;-1:-1:-1;;;;;6569:1166:67:o;7740:1526::-;7921:2;7903:21;;;7969:13;;590:12;;7984:18;;;578:25;655:16;649:23;642:31;635:39;619:14;;;612:63;8057:2;8049:6;8045:15;8039:22;8034:2;8023:9;8019:18;8012:50;7884:4;8109;8101:6;8097:17;8091:24;8134:6;8177:2;8171:3;8160:9;8156:19;8149:31;8203:52;8250:3;8239:9;8235:19;8221:12;8203:52;:::i;:::-;8189:66;;8304:2;8296:6;8292:15;8286:22;8317:54;8366:3;8355:9;8351:19;8335:14;-1:-1:-1;;;;;1228:30:67;1216:43;;1163:102;8317:54;-1:-1:-1;8420:3:67;8408:16;;8402:23;1346:10;1335:22;;8483:3;8468:19;;1323:35;8434:54;8543:3;8535:6;8531:16;8525:23;8519:3;8508:9;8504:19;8497:52;8598:3;8590:6;8586:16;8580:23;8622:3;8634:71;8701:2;8690:9;8686:18;8670:14;590:12;;578:25;;666:4;655:16;;;649:23;642:31;635:39;619:14;;612:63;507:174;8634:71;8742:3;8730:16;;8724:23;8766:3;8785:18;;;8778:30;;;;8845:15;;;8839:22;1482:12;;-1:-1:-1;;;;;1478:21:67;;;8926:3;8911:19;;1466:34;1546:4;1535:16;;1529:23;1571:10;1613:21;;;1597:14;;;1590:45;1688:4;1677:16;;1671:23;1667:32;;1651:14;;;1644:56;1753:4;1742:16;;1736:23;1732:32;1716:14;;;1709:56;1818:4;1807:16;;;1801:23;1797:32;1781:14;;;1774:56;8980:6;8968:19;;8962:26;;-1:-1:-1;8997:66:67;9058:3;9043:19;;8962:26;8997:66;:::i;:::-;9100:15;;9094:22;9156;;;-1:-1:-1;;9152:36:67;9132:18;;;9125:64;9094:22;-1:-1:-1;9206:54:67;;-1:-1:-1;9160:6:67;9094:22;9206:54;:::i;9271:521::-;9348:4;9354:6;9414:11;9401:25;9508:2;9504:7;9493:8;9477:14;9473:29;9469:43;9449:18;9445:68;9435:96;;9527:1;9524;9517:12;9435:96;9554:33;;9606:20;;;-1:-1:-1;;;;;;9638:30:67;;9635:50;;;9681:1;9678;9671:12;9635:50;9714:4;9702:17;;-1:-1:-1;9745:14:67;9741:27;;;9731:38;;9728:58;;;9782:1;9779;9772:12;9728:58;9271:521;;;;;:::o;9797:331::-;9902:9;9913;9955:8;9943:10;9940:24;9937:44;;;9977:1;9974;9967:12;9937:44;10006:6;9996:8;9993:20;9990:40;;;10026:1;10023;10016:12;9990:40;-1:-1:-1;;10052:23:67;;;10097:25;;;;;-1:-1:-1;9797:331:67:o;10133:271::-;10316:6;10308;10303:3;10290:33;10272:3;10342:16;;10367:13;;;10342:16;10133:271;-1:-1:-1;10133:271:67:o;10409:298::-;10468:6;10521:2;10509:9;10500:7;10496:23;10492:32;10489:52;;;10537:1;10534;10527:12;10489:52;10563:23;;-1:-1:-1;;10615:43:67;;10605:54;;10595:82;;10673:1;10670;10663:12;10712:286;10771:6;10824:2;10812:9;10803:7;10799:23;10795:32;10792:52;;;10840:1;10837;10830:12;10792:52;10866:23;;-1:-1:-1;;;;;10918:31:67;;10908:42;;10898:70;;10964:1;10961;10954:12;11003:997;11319:4;11348:3;11378:6;11367:9;11360:25;11421:6;11416:2;11405:9;11401:18;11394:34;11464:6;11459:2;11448:9;11444:18;11437:34;11523:26;11519:31;11511:6;11507:44;11502:2;11491:9;11487:18;11480:72;11589:6;11583:3;11572:9;11568:19;11561:35;11633:2;11627:3;11616:9;11612:19;11605:31;11672:6;11667:2;11656:9;11652:18;11645:34;;11698:3;11751:6;11743;11738:2;11727:9;11723:18;11710:48;11807:1;11778:22;;;11774:31;;11767:42;11911:3;11896:19;;11889:35;;;;-1:-1:-1;;;;;;11961:32:67;;;;11955:3;11940:19;;11933:61;11870:2;11849:15;;;-1:-1:-1;;11845:29:67;11830:45;;;11826:54;;11003:997;-1:-1:-1;;;;;;11003:997:67:o;12005:118::-;12091:5;12084:13;12077:21;12070:5;12067:32;12057:60;;12113:1;12110;12103:12;12057:60;12005:118;:::o;12128:245::-;12195:6;12248:2;12236:9;12227:7;12223:23;12219:32;12216:52;;;12264:1;12261;12254:12;12216:52;12296:9;12290:16;12315:28;12337:5;12315:28;:::i;12378:127::-;12439:10;12434:3;12430:20;12427:1;12420:31;12470:4;12467:1;12460:15;12494:4;12491:1;12484:15;12510:257;12582:4;12576:11;;;12614:17;;-1:-1:-1;;;;;12646:34:67;;12682:22;;;12643:62;12640:88;;;12708:18;;:::i;:::-;12744:4;12737:24;12510:257;:::o;12772:250::-;12839:2;12833:9;12881:6;12869:19;;-1:-1:-1;;;;;12903:34:67;;12939:22;;;12900:62;12897:88;;;12965:18;;:::i;13027:253::-;13099:2;13093:9;13141:4;13129:17;;-1:-1:-1;;;;;13161:34:67;;13197:22;;;13158:62;13155:88;;;13223:18;;:::i;13285:255::-;13357:2;13351:9;13399:6;13387:19;;-1:-1:-1;;;;;13421:34:67;;13457:22;;;13418:62;13415:88;;;13483:18;;:::i;13545:253::-;13617:2;13611:9;13659:4;13647:17;;-1:-1:-1;;;;;13679:34:67;;13715:22;;;13676:62;13673:88;;;13741:18;;:::i;13803:255::-;13875:2;13869:9;13917:6;13905:19;;-1:-1:-1;;;;;13939:34:67;;13975:22;;;13936:62;13933:88;;;14001:18;;:::i;14063:128::-;14128:20;;14157:28;14128:20;14157:28;:::i;:::-;14063:128;;;:::o;14196:362::-;14260:5;14308:4;14296:9;14291:3;14287:19;14283:30;14280:50;;;14326:1;14323;14316:12;14280:50;14348:22;;:::i;:::-;14339:31;;14406:9;14393:23;14386:5;14379:38;14469:2;14458:9;14454:18;14441:32;14482:30;14504:7;14482:30;:::i;:::-;14539:2;14528:14;;14521:31;14532:5;14196:362;-1:-1:-1;;14196:362:67:o;14563:719::-;14606:5;14659:3;14652:4;14644:6;14640:17;14636:27;14626:55;;14677:1;14674;14667:12;14626:55;14713:6;14700:20;-1:-1:-1;;;;;14776:2:67;14772;14769:10;14766:36;;;14782:18;;:::i;:::-;14857:2;14851:9;14825:2;14911:13;;-1:-1:-1;;14907:22:67;;;14931:2;14903:31;14899:40;14887:53;;;14955:18;;;14975:22;;;14952:46;14949:72;;;15001:18;;:::i;:::-;15041:10;15037:2;15030:22;15076:2;15068:6;15061:18;15122:3;15115:4;15110:2;15102:6;15098:15;15094:26;15091:35;15088:55;;;15139:1;15136;15129:12;15088:55;15203:2;15196:4;15188:6;15184:17;15177:4;15169:6;15165:17;15152:54;15250:1;15243:4;15238:2;15230:6;15226:15;15222:26;15215:37;15270:6;15261:15;;;;;;14563:719;;;;:::o;15287:171::-;15354:20;;-1:-1:-1;;;;;15403:30:67;;15393:41;;15383:69;;15448:1;15445;15438:12;15463:163;15530:20;;15590:10;15579:22;;15569:33;;15559:61;;15616:1;15613;15606:12;15631:696;15684:5;15732:4;15720:9;15715:3;15711:19;15707:30;15704:50;;;15750:1;15747;15740:12;15704:50;15783:2;15777:9;15825:4;15817:6;15813:17;15896:6;15884:10;15881:22;-1:-1:-1;;;;;15848:10:67;15845:34;15842:62;15839:88;;;15907:18;;:::i;:::-;15943:2;15936:22;15976:6;-1:-1:-1;15976:6:67;16006:28;16024:9;16006:28;:::i;:::-;15998:6;15991:44;16068:37;16101:2;16090:9;16086:18;16068:37;:::i;:::-;16063:2;16055:6;16051:15;16044:62;16139:37;16172:2;16161:9;16157:18;16139:37;:::i;:::-;16134:2;16126:6;16122:15;16115:62;16210:37;16243:2;16232:9;16228:18;16210:37;:::i;:::-;16205:2;16197:6;16193:15;16186:62;16282:38;16315:3;16304:9;16300:19;16282:38;:::i;:::-;16276:3;16268:6;16264:16;16257:64;;15631:696;;;;:::o;16332:153::-;16410:20;;16459:1;16449:12;;16439:40;;16475:1;16472;16465:12;16490:1416;16548:5;16596:6;16584:9;16579:3;16575:19;16571:32;16568:52;;;16616:1;16613;16606:12;16568:52;16638:17;;:::i;:::-;16629:26;;16678:39;16707:9;16678:39;:::i;:::-;16671:5;16664:54;16750:48;16794:2;16783:9;16779:18;16750:48;:::i;:::-;16745:2;16738:5;16734:14;16727:72;16831:48;16875:2;16864:9;16860:18;16831:48;:::i;:::-;16826:2;16819:5;16815:14;16808:72;16912:48;16956:2;16945:9;16941:18;16912:48;:::i;:::-;16907:2;16900:5;16896:14;16889:72;16994:49;17038:3;17027:9;17023:19;16994:49;:::i;:::-;16988:3;16981:5;16977:15;16970:74;17077:49;17121:3;17110:9;17106:19;17077:49;:::i;:::-;17071:3;17064:5;17060:15;17053:74;17160:49;17204:3;17193:9;17189:19;17160:49;:::i;:::-;17154:3;17147:5;17143:15;17136:74;17243:38;17276:3;17265:9;17261:19;17243:38;:::i;:::-;17237:3;17230:5;17226:15;17219:63;17301:3;17336:48;17380:2;17369:9;17365:18;17336:48;:::i;:::-;17320:14;;;17313:72;17404:3;17439:48;17468:18;;;17439:48;:::i;:::-;17423:14;;;17416:72;17507:3;17542:48;17571:18;;;17542:48;:::i;:::-;17526:14;;;17519:72;17610:3;17645:48;17674:18;;;17645:48;:::i;:::-;17629:14;;;17622:72;17713:3;17748:48;17777:18;;;17748:48;:::i;:::-;17732:14;;;17725:72;17816:3;17851:48;17880:18;;;17851:48;:::i;:::-;17835:14;;;17828:72;17839:5;16490:1416;-1:-1:-1;;16490:1416:67:o;17911:668::-;17961:5;18014:3;18007:4;17999:6;17995:17;17991:27;17981:55;;18032:1;18029;18022:12;17981:55;18065:2;18059:9;18087:3;18129:2;18121:6;18117:15;18198:6;18186:10;18183:22;-1:-1:-1;;;;;18150:10:67;18147:34;18144:62;18141:88;;;18209:18;;:::i;:::-;18245:2;18238:22;18309:15;;18280:6;18336:15;;;18333:35;;;18364:1;18361;18354:12;18333:35;18388:6;18403:146;18419:6;18414:3;18411:15;18403:146;;;18487:17;;18475:30;;18534:4;18525:14;;;;18436;18403:146;;;-1:-1:-1;18567:6:67;;17911:668;-1:-1:-1;;;;;17911:668:67:o;18584:155::-;18664:20;;18713:1;18703:12;;18693:40;;18729:1;18726;18719:12;18744:285;18801:5;18849:4;18837:9;18832:3;18828:19;18824:30;18821:50;;;18867:1;18864;18857:12;18821:50;18889:22;;:::i;:::-;18880:31;;18947:9;18934:23;18927:5;18920:38;19018:2;19007:9;19003:18;18990:32;18985:2;18978:5;18974:14;18967:56;18744:285;;;;:::o;19034:698::-;19094:5;19147:3;19140:4;19132:6;19128:17;19124:27;19114:55;;19165:1;19162;19155:12;19114:55;19188:2;19219;19213:9;19261:3;19253:6;19249:16;19331:6;19319:10;19316:22;-1:-1:-1;;;;;19283:10:67;19280:34;19277:62;19274:88;;;19342:18;;:::i;:::-;19371:22;;19413:6;19454:3;19442:16;;19470:15;;;19467:35;;;19498:1;19495;19488:12;19467:35;19522:6;19537:165;19553:6;19548:3;19545:15;19537:165;;;19619:38;19653:3;19648;19619:38;:::i;:::-;19607:51;;19687:4;19678:14;;;;19570:12;;19537:165;;;-1:-1:-1;19720:6:67;;19034:698;-1:-1:-1;;;;;;19034:698:67:o;19737:720::-;19819:5;19872:3;19865:4;19857:6;19853:17;19849:27;19839:55;;19890:1;19887;19880:12;19839:55;19913:2;19944;19938:9;19986:3;19978:6;19974:16;20056:6;20044:10;20041:22;-1:-1:-1;;;;;20008:10:67;20005:34;20002:62;19999:88;;;20067:18;;:::i;:::-;20096:22;;20138:6;20179:3;20167:16;;20195:15;;;20192:35;;;20223:1;20220;20213:12;20192:35;20247:6;20262:165;20278:6;20273:3;20270:15;20262:165;;;20344:38;20378:3;20373;20344:38;:::i;:::-;20332:51;;20412:4;20403:14;;;;20295:12;;20262:165;;20462:1264;20524:5;20563:9;20558:3;20554:19;20593:6;20589:2;20585:15;20582:35;;;20613:1;20610;20603:12;20582:35;20635:22;;:::i;:::-;20626:31;;20680:41;20711:9;20680:41;:::i;:::-;20673:5;20666:56;20754:50;20800:2;20789:9;20785:18;20754:50;:::i;:::-;20749:2;20742:5;20738:14;20731:74;20824:6;20864:2;20858;20854:7;20850:2;20846:16;20842:25;20839:45;;;20880:1;20877;20870:12;20839:45;20908:22;;:::i;:::-;20893:37;;20955:59;21010:3;21005:2;20994:9;20990:18;20955:59;:::i;:::-;20946:7;20939:76;21049:82;21127:3;21121;21110:9;21106:19;21049:82;:::i;:::-;21044:2;21035:7;21031:16;21024:108;21166:55;21217:3;21210:4;21199:9;21195:20;21166:55;:::i;:::-;21161:2;21152:7;21148:16;21141:81;21258:55;21309:3;21302:4;21291:9;21287:20;21258:55;:::i;:::-;21251:4;21242:7;21238:18;21231:83;21350:55;21401:3;21394:4;21383:9;21379:20;21350:55;:::i;:::-;21343:4;21334:7;21330:18;21323:83;21442:55;21493:3;21486:4;21475:9;21471:20;21442:55;:::i;:::-;21435:4;21426:7;21422:18;21415:83;21534:55;21585:3;21578:4;21567:9;21563:20;21534:55;:::i;:::-;21527:4;21518:7;21514:18;21507:83;21626:53;21675:3;21670:2;21659:9;21655:18;21626:53;:::i;:::-;21619:4;21606:18;;21599:81;-1:-1:-1;21707:2:67;21696:14;;21689:31;21700:5;20462:1264;-1:-1:-1;;20462:1264:67:o;21731:659::-;21792:5;21845:3;21838:4;21830:6;21826:17;21822:27;21812:55;;21863:1;21860;21853:12;21812:55;21896:2;21890:9;21938:3;21930:6;21926:16;22008:6;21996:10;21993:22;-1:-1:-1;;;;;21960:10:67;21957:34;21954:62;21951:88;;;22019:18;;:::i;:::-;22055:2;22048:22;22090:6;22131:3;22119:16;;22147:15;;;22144:35;;;22175:1;22172;22165:12;22144:35;22199:6;22214:146;22230:6;22225:3;22222:15;22214:146;;;22298:17;;22286:30;;22345:4;22336:14;;;;22247;22214:146;;22395:849;22454:5;22502:6;22490:9;22485:3;22481:19;22477:32;22474:52;;;22522:1;22519;22512:12;22474:52;22544:22;;:::i;:::-;22535:31;;22589:40;22625:3;22614:9;22589:40;:::i;:::-;22582:5;22575:55;22664:59;22719:3;22713;22702:9;22698:19;22664:59;:::i;:::-;22657:4;22650:5;22646:16;22639:85;22758:39;22791:4;22780:9;22776:20;22758:39;:::i;:::-;22751:4;22744:5;22740:16;22733:65;22832:62;22890:3;22883:4;22872:9;22868:20;22832:62;:::i;:::-;22825:4;22818:5;22814:16;22807:88;22929:39;22962:4;22951:9;22947:20;22929:39;:::i;:::-;22922:4;22915:5;22911:16;22904:65;23003:37;23034:4;23023:9;23019:20;23003:37;:::i;:::-;22996:4;22989:5;22985:16;22978:63;23092:4;23081:9;23077:20;23064:34;-1:-1:-1;;;;;23113:6:67;23110:30;23107:50;;;23153:1;23150;23143:12;23107:50;23191:46;23233:3;23224:6;23213:9;23209:22;23191:46;:::i;:::-;23184:4;23177:5;23173:16;23166:72;;22395:849;;;;:::o;23249:1499::-;23334:6;23387:2;23375:9;23366:7;23362:23;23358:32;23355:52;;;23403:1;23400;23393:12;23355:52;23443:9;23430:23;-1:-1:-1;;;;;23513:2:67;23505:6;23502:14;23499:34;;;23529:1;23526;23519:12;23499:34;23552:22;;;;23608:6;23590:16;;;23586:29;23583:49;;;23628:1;23625;23618:12;23583:49;23654:22;;:::i;:::-;23699:48;23739:7;23735:2;23699:48;:::i;:::-;23692:5;23685:63;23801:2;23797;23793:11;23780:25;23775:2;23768:5;23764:14;23757:49;23852:2;23848;23844:11;23831:25;23881:2;23871:8;23868:16;23865:36;;;23897:1;23894;23887:12;23865:36;23933:45;23970:7;23959:8;23955:2;23951:17;23933:45;:::i;:::-;23928:2;23921:5;23917:14;23910:69;;24011:31;24037:3;24033:2;24029:12;24011:31;:::i;:::-;24006:2;23999:5;23995:14;23988:55;24076:31;24102:3;24098:2;24094:12;24076:31;:::i;:::-;24070:3;24063:5;24059:15;24052:56;24162:3;24158:2;24154:12;24141:26;24135:3;24128:5;24124:15;24117:51;24201:58;24251:7;24245:3;24241:2;24237:12;24201:58;:::i;:::-;24195:3;24188:5;24184:15;24177:83;24279:3;24336:2;24332;24328:11;24315:25;24309:3;24302:5;24298:15;24291:50;24360:3;24399:46;24437:7;24432:2;24428;24424:11;24399:46;:::i;:::-;24390:6;24383:5;24379:18;24372:74;24478:52;24522:7;24516:3;24512:2;24508:12;24478:52;:::i;:::-;24473:2;24466:5;24462:14;24455:76;24577:3;24573:2;24569:12;24556:26;24540:42;;24607:2;24597:8;24594:16;24591:36;;;24623:1;24620;24613:12;24591:36;24659:58;24709:7;24698:8;24694:2;24690:17;24659:58;:::i;:::-;24643:14;;;24636:82;-1:-1:-1;24647:5:67;23249:1499;-1:-1:-1;;;;;23249:1499:67:o","linkReferences":{}},"methodIdentifiers":{"validateAccount((bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address))":"9029ad15"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountIsNotVerified\",\"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\":[{\"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\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x9fcd2cb923e5ef666b1b18a7e2a77d915d5bef119214dfc53cc5c6c044a87bc5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://f32c8e9002c9a8bd9e23f63d430193e092e6b6cea56a11f839304feff3b333c7\",\"dweb:/ipfs/QmS2o2CeHebjAuviv715FsCNam95qy19qijJz4aw87YRJL\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x68ef2223020d5b4ce1fb2b0b016fb1f66f6b84edbb0370f96d9c1398146e9409\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://57ba2b7b58fc15cdc9eefd70ad09bf8719ff981eabb64d6fca0da049456b2541\",\"dweb:/ipfs/QmPKZJoGwmBnA4gm1C4VySZr9iscQyLd1MtFVz1RkjctzV\"]},\"src/MinaAccountValidation.sol\":{\"keccak256\":\"0x90ad6c63ccdfaf5ece74b0c5d1be2f5f055af0bac6ad875638c20ada517cad9e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0c6935178db6825ed5b3f223965633f264c47e5d6fc7246ed73b75ca5f963dc7\",\"dweb:/ipfs/Qmcx4xD164Z2P3zCAijesowyc5aGbY9G3iUWkP8s64h386\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccountIsNotVerified"},{"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":"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"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x9fcd2cb923e5ef666b1b18a7e2a77d915d5bef119214dfc53cc5c6c044a87bc5","urls":["bzz-raw://f32c8e9002c9a8bd9e23f63d430193e092e6b6cea56a11f839304feff3b333c7","dweb:/ipfs/QmS2o2CeHebjAuviv715FsCNam95qy19qijJz4aw87YRJL"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x68ef2223020d5b4ce1fb2b0b016fb1f66f6b84edbb0370f96d9c1398146e9409","urls":["bzz-raw://57ba2b7b58fc15cdc9eefd70ad09bf8719ff981eabb64d6fca0da049456b2541","dweb:/ipfs/QmPKZJoGwmBnA4gm1C4VySZr9iscQyLd1MtFVz1RkjctzV"],"license":"UNLICENSED"},"src/MinaAccountValidation.sol":{"keccak256":"0x90ad6c63ccdfaf5ece74b0c5d1be2f5f055af0bac6ad875638c20ada517cad9e","urls":["bzz-raw://0c6935178db6825ed5b3f223965633f264c47e5d6fc7246ed73b75ca5f963dc7","dweb:/ipfs/Qmcx4xD164Z2P3zCAijesowyc5aGbY9G3iUWkP8s64h386"],"license":"UNLICENSED"}},"version":1},"ast":{"absolutePath":"src/MinaAccountValidation.sol","id":47772,"exportedSymbols":{"AccountIsNotVerified":[47516],"AlignedLayerServiceManager":[8505],"AlignedLayerServiceManagerStorage":[8527],"BLSSignatureChecker":[4846],"IAVSDirectory":[76],"IAlignedLayerServiceManager":[8603],"IPauserRegistry":[1244],"IRegistryCoordinator":[6102],"IRewardsCoordinator":[1584],"IStakeRegistry":[6512],"Merkle":[3209],"MinaAccountValidation":[47771],"Pausable":[3505],"ServiceManagerBase":[5394]},"nodeType":"SourceUnit","src":"39:3564:64","nodes":[{"id":47513,"nodeType":"PragmaDirective","src":"39:24:64","nodes":[],"literals":["solidity","^","0.8",".12"]},{"id":47514,"nodeType":"ImportDirective","src":"65:73:64","nodes":[],"absolutePath":"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol","file":"aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol","nameLocation":"-1:-1:-1","scope":47772,"sourceUnit":8506,"symbolAliases":[],"unitAlias":""},{"id":47516,"nodeType":"ErrorDefinition","src":"140:29:64","nodes":[],"name":"AccountIsNotVerified","nameLocation":"146:20:64","parameters":{"id":47515,"nodeType":"ParameterList","parameters":[],"src":"166:2:64"}},{"id":47771,"nodeType":"ContractDefinition","src":"171:3431:64","nodes":[{"id":47533,"nodeType":"StructDefinition","src":"208:310:64","nodes":[],"canonicalName":"MinaAccountValidation.AlignedArgs","members":[{"constant":false,"id":47518,"mutability":"mutable","name":"proofCommitment","nameLocation":"245:15:64","nodeType":"VariableDeclaration","scope":47533,"src":"237:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47517,"name":"bytes32","nodeType":"ElementaryTypeName","src":"237:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47520,"mutability":"mutable","name":"provingSystemAuxDataCommitment","nameLocation":"278:30:64","nodeType":"VariableDeclaration","scope":47533,"src":"270:38:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47519,"name":"bytes32","nodeType":"ElementaryTypeName","src":"270:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47522,"mutability":"mutable","name":"proofGeneratorAddr","nameLocation":"326:18:64","nodeType":"VariableDeclaration","scope":47533,"src":"318:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":47521,"name":"bytes20","nodeType":"ElementaryTypeName","src":"318:7:64","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"},{"constant":false,"id":47524,"mutability":"mutable","name":"batchMerkleRoot","nameLocation":"362:15:64","nodeType":"VariableDeclaration","scope":47533,"src":"354:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"354:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47526,"mutability":"mutable","name":"merkleProof","nameLocation":"393:11:64","nodeType":"VariableDeclaration","scope":47533,"src":"387:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":47525,"name":"bytes","nodeType":"ElementaryTypeName","src":"387:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47528,"mutability":"mutable","name":"verificationDataBatchIndex","nameLocation":"422:26:64","nodeType":"VariableDeclaration","scope":47533,"src":"414:34:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47527,"name":"uint256","nodeType":"ElementaryTypeName","src":"414:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47530,"mutability":"mutable","name":"pubInput","nameLocation":"464:8:64","nodeType":"VariableDeclaration","scope":47533,"src":"458:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":47529,"name":"bytes","nodeType":"ElementaryTypeName","src":"458:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47532,"mutability":"mutable","name":"batcherPaymentService","nameLocation":"490:21:64","nodeType":"VariableDeclaration","scope":47533,"src":"482:29:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47531,"name":"address","nodeType":"ElementaryTypeName","src":"482:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"AlignedArgs","nameLocation":"215:11:64","scope":47771,"visibility":"public"},{"id":47537,"nodeType":"VariableDeclaration","src":"594:34:64","nodes":[],"constant":false,"documentation":{"id":47534,"nodeType":"StructuredDocumentation","src":"524:65:64","text":"@notice Reference to the AlignedLayerServiceManager contract."},"mutability":"mutable","name":"aligned","nameLocation":"621:7:64","scope":47771,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"},"typeName":{"id":47536,"nodeType":"UserDefinedTypeName","pathNode":{"id":47535,"name":"AlignedLayerServiceManager","nodeType":"IdentifierPath","referencedDeclaration":8505,"src":"594:26:64"},"referencedDeclaration":8505,"src":"594:26:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"visibility":"internal"},{"id":47549,"nodeType":"FunctionDefinition","src":"635:123:64","nodes":[],"body":{"id":47548,"nodeType":"Block","src":"684:74:64","nodes":[],"statements":[{"expression":{"id":47546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47542,"name":"aligned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47537,"src":"694:7:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47544,"name":"_alignedServiceAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47539,"src":"731:19:64","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":47543,"name":"AlignedLayerServiceManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8505,"src":"704:26:64","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AlignedLayerServiceManager_$8505_$","typeString":"type(contract AlignedLayerServiceManager)"}},"id":47545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"704:47:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"src":"694:57:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"id":47547,"nodeType":"ExpressionStatement","src":"694:57:64"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":47540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47539,"mutability":"mutable","name":"_alignedServiceAddr","nameLocation":"663:19:64","nodeType":"VariableDeclaration","scope":47549,"src":"647:35:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":47538,"name":"address","nodeType":"ElementaryTypeName","src":"647:15:64","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"}],"src":"646:37:64"},"returnParameters":{"id":47541,"nodeType":"ParameterList","parameters":[],"src":"684:0:64"},"scope":47771,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":47610,"nodeType":"FunctionDefinition","src":"764:763:64","nodes":[],"body":{"id":47609,"nodeType":"Block","src":"855:672:64","nodes":[],"statements":[{"assignments":[47559],"declarations":[{"constant":false,"id":47559,"mutability":"mutable","name":"encodedAccount","nameLocation":"880:14:64","nodeType":"VariableDeclaration","scope":47609,"src":"865:29:64","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":47558,"name":"bytes","nodeType":"ElementaryTypeName","src":"865:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":47566,"initialValue":{"baseExpression":{"expression":{"id":47560,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"897:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pubInput","nodeType":"MemberAccess","referencedDeclaration":47530,"src":"897:13:64","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":47565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"897:22:64","startExpression":{"commonType":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"id":47564,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3332","id":47562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"911:2:64","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"38","id":47563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"916:1:64","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"911:6:64","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"}},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},"nodeType":"VariableDeclarationStatement","src":"865:54:64"},{"assignments":[47568],"declarations":[{"constant":false,"id":47568,"mutability":"mutable","name":"pubInputCommitment","nameLocation":"938:18:64","nodeType":"VariableDeclaration","scope":47609,"src":"930:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"930:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":47573,"initialValue":{"arguments":[{"expression":{"id":47570,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"969:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pubInput","nodeType":"MemberAccess","referencedDeclaration":47530,"src":"969:13:64","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":47569,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"959:9:64","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":47572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"959:24:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"930:53:64"},{"assignments":[47575],"declarations":[{"constant":false,"id":47575,"mutability":"mutable","name":"isAccountVerified","nameLocation":"999:17:64","nodeType":"VariableDeclaration","scope":47609,"src":"994:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47574,"name":"bool","nodeType":"ElementaryTypeName","src":"994:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":47594,"initialValue":{"arguments":[{"expression":{"id":47578,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1061:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"proofCommitment","nodeType":"MemberAccess","referencedDeclaration":47518,"src":"1061:20:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":47580,"name":"pubInputCommitment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47568,"src":"1095:18:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":47581,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1127:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"provingSystemAuxDataCommitment","nodeType":"MemberAccess","referencedDeclaration":47520,"src":"1127:35:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":47583,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1176:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"proofGeneratorAddr","nodeType":"MemberAccess","referencedDeclaration":47522,"src":"1176:23:64","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},{"expression":{"id":47585,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1213:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"batchMerkleRoot","nodeType":"MemberAccess","referencedDeclaration":47524,"src":"1213:20:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":47587,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1247:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"merkleProof","nodeType":"MemberAccess","referencedDeclaration":47526,"src":"1247:16:64","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"expression":{"id":47589,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1277:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"verificationDataBatchIndex","nodeType":"MemberAccess","referencedDeclaration":47528,"src":"1277:31:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":47591,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47552,"src":"1322:4:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs calldata"}},"id":47592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"batcherPaymentService","nodeType":"MemberAccess","referencedDeclaration":47532,"src":"1322:26:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes20","typeString":"bytes20"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47576,"name":"aligned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47537,"src":"1019:7:64","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"id":47577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"verifyBatchInclusion","nodeType":"MemberAccess","referencedDeclaration":8455,"src":"1019:28:64","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes20_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,bytes32,bytes32,bytes20,bytes32,bytes memory,uint256,address) view external returns (bool)"}},"id":47593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1019:339:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"994:364:64"},{"condition":{"id":47595,"name":"isAccountVerified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47575,"src":"1373:17:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":47607,"nodeType":"Block","src":"1467:54:64","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":47604,"name":"AccountIsNotVerified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47516,"src":"1488:20:64","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":47605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1488:22:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47606,"nodeType":"RevertStatement","src":"1481:29:64"}]},"id":47608,"nodeType":"IfStatement","src":"1369:152:64","trueBody":{"id":47603,"nodeType":"Block","src":"1392:69:64","statements":[{"expression":{"arguments":[{"id":47598,"name":"encodedAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47559,"src":"1424:14:64","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":47599,"name":"Account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47638,"src":"1441:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Account_$47638_storage_ptr_$","typeString":"type(struct MinaAccountValidation.Account storage pointer)"}}],"id":47600,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1440:9:64","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Account_$47638_storage_ptr_$","typeString":"type(struct MinaAccountValidation.Account storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_struct$_Account_$47638_storage_ptr_$","typeString":"type(struct MinaAccountValidation.Account storage pointer)"}],"expression":{"id":47596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1413:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","src":"1413:10:64","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":47601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1413:37:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Account_$47638_memory_ptr","typeString":"struct MinaAccountValidation.Account memory"}},"functionReturnParameters":47557,"id":47602,"nodeType":"Return","src":"1406:44:64"}]}}]},"functionSelector":"9029ad15","implemented":true,"kind":"function","modifiers":[],"name":"validateAccount","nameLocation":"773:15:64","parameters":{"id":47553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47552,"mutability":"mutable","name":"args","nameLocation":"810:4:64","nodeType":"VariableDeclaration","scope":47610,"src":"789:25:64","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_calldata_ptr","typeString":"struct MinaAccountValidation.AlignedArgs"},"typeName":{"id":47551,"nodeType":"UserDefinedTypeName","pathNode":{"id":47550,"name":"AlignedArgs","nodeType":"IdentifierPath","referencedDeclaration":47533,"src":"789:11:64"},"referencedDeclaration":47533,"src":"789:11:64","typeDescriptions":{"typeIdentifier":"t_struct$_AlignedArgs_$47533_storage_ptr","typeString":"struct MinaAccountValidation.AlignedArgs"}},"visibility":"internal"}],"src":"788:27:64"},"returnParameters":{"id":47557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47556,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47610,"src":"839:14:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$47638_memory_ptr","typeString":"struct MinaAccountValidation.Account"},"typeName":{"id":47555,"nodeType":"UserDefinedTypeName","pathNode":{"id":47554,"name":"Account","nodeType":"IdentifierPath","referencedDeclaration":47638,"src":"839:7:64"},"referencedDeclaration":47638,"src":"839:7:64","typeDescriptions":{"typeIdentifier":"t_struct$_Account_$47638_storage_ptr","typeString":"struct MinaAccountValidation.Account"}},"visibility":"internal"}],"src":"838:16:64"},"scope":47771,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47638,"nodeType":"StructDefinition","src":"1533:346:64","nodes":[],"canonicalName":"MinaAccountValidation.Account","members":[{"constant":false,"id":47613,"mutability":"mutable","name":"publicKey","nameLocation":"1576:9:64","nodeType":"VariableDeclaration","scope":47638,"src":"1558:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CompressedECPoint_$47643_storage_ptr","typeString":"struct MinaAccountValidation.CompressedECPoint"},"typeName":{"id":47612,"nodeType":"UserDefinedTypeName","pathNode":{"id":47611,"name":"CompressedECPoint","nodeType":"IdentifierPath","referencedDeclaration":47643,"src":"1558:17:64"},"referencedDeclaration":47643,"src":"1558:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_CompressedECPoint_$47643_storage_ptr","typeString":"struct MinaAccountValidation.CompressedECPoint"}},"visibility":"internal"},{"constant":false,"id":47615,"mutability":"mutable","name":"tokenIdKeyHash","nameLocation":"1603:14:64","nodeType":"VariableDeclaration","scope":47638,"src":"1595:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47614,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1595:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47617,"mutability":"mutable","name":"tokenSymbol","nameLocation":"1634:11:64","nodeType":"VariableDeclaration","scope":47638,"src":"1627:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":47616,"name":"string","nodeType":"ElementaryTypeName","src":"1627:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47619,"mutability":"mutable","name":"balance","nameLocation":"1662:7:64","nodeType":"VariableDeclaration","scope":47638,"src":"1655:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":47618,"name":"uint64","nodeType":"ElementaryTypeName","src":"1655:6:64","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":47621,"mutability":"mutable","name":"nonce","nameLocation":"1686:5:64","nodeType":"VariableDeclaration","scope":47638,"src":"1679:12:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47620,"name":"uint32","nodeType":"ElementaryTypeName","src":"1679:6:64","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":47623,"mutability":"mutable","name":"receiptChainHash","nameLocation":"1709:16:64","nodeType":"VariableDeclaration","scope":47638,"src":"1701:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1701:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47626,"mutability":"mutable","name":"delegate","nameLocation":"1753:8:64","nodeType":"VariableDeclaration","scope":47638,"src":"1735:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_CompressedECPoint_$47643_storage_ptr","typeString":"struct MinaAccountValidation.CompressedECPoint"},"typeName":{"id":47625,"nodeType":"UserDefinedTypeName","pathNode":{"id":47624,"name":"CompressedECPoint","nodeType":"IdentifierPath","referencedDeclaration":47643,"src":"1735:17:64"},"referencedDeclaration":47643,"src":"1735:17:64","typeDescriptions":{"typeIdentifier":"t_struct$_CompressedECPoint_$47643_storage_ptr","typeString":"struct MinaAccountValidation.CompressedECPoint"}},"visibility":"internal"},{"constant":false,"id":47628,"mutability":"mutable","name":"votingFor","nameLocation":"1779:9:64","nodeType":"VariableDeclaration","scope":47638,"src":"1771:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1771:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47631,"mutability":"mutable","name":"timing","nameLocation":"1805:6:64","nodeType":"VariableDeclaration","scope":47638,"src":"1798:13:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Timing_$47654_storage_ptr","typeString":"struct MinaAccountValidation.Timing"},"typeName":{"id":47630,"nodeType":"UserDefinedTypeName","pathNode":{"id":47629,"name":"Timing","nodeType":"IdentifierPath","referencedDeclaration":47654,"src":"1798:6:64"},"referencedDeclaration":47654,"src":"1798:6:64","typeDescriptions":{"typeIdentifier":"t_struct$_Timing_$47654_storage_ptr","typeString":"struct MinaAccountValidation.Timing"}},"visibility":"internal"},{"constant":false,"id":47634,"mutability":"mutable","name":"permissions","nameLocation":"1833:11:64","nodeType":"VariableDeclaration","scope":47638,"src":"1821:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47702_storage_ptr","typeString":"struct MinaAccountValidation.Permissions"},"typeName":{"id":47633,"nodeType":"UserDefinedTypeName","pathNode":{"id":47632,"name":"Permissions","nodeType":"IdentifierPath","referencedDeclaration":47702,"src":"1821:11:64"},"referencedDeclaration":47702,"src":"1821:11:64","typeDescriptions":{"typeIdentifier":"t_struct$_Permissions_$47702_storage_ptr","typeString":"struct MinaAccountValidation.Permissions"}},"visibility":"internal"},{"constant":false,"id":47637,"mutability":"mutable","name":"zkapp","nameLocation":"1867:5:64","nodeType":"VariableDeclaration","scope":47638,"src":"1854:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ZkappAccount_$47722_storage_ptr","typeString":"struct MinaAccountValidation.ZkappAccount"},"typeName":{"id":47636,"nodeType":"UserDefinedTypeName","pathNode":{"id":47635,"name":"ZkappAccount","nodeType":"IdentifierPath","referencedDeclaration":47722,"src":"1854:12:64"},"referencedDeclaration":47722,"src":"1854:12:64","typeDescriptions":{"typeIdentifier":"t_struct$_ZkappAccount_$47722_storage_ptr","typeString":"struct MinaAccountValidation.ZkappAccount"}},"visibility":"internal"}],"name":"Account","nameLocation":"1540:7:64","scope":47771,"visibility":"public"},{"id":47643,"nodeType":"StructDefinition","src":"1885:71:64","nodes":[],"canonicalName":"MinaAccountValidation.CompressedECPoint","members":[{"constant":false,"id":47640,"mutability":"mutable","name":"x","nameLocation":"1928:1:64","nodeType":"VariableDeclaration","scope":47643,"src":"1920:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1920:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47642,"mutability":"mutable","name":"isOdd","nameLocation":"1944:5:64","nodeType":"VariableDeclaration","scope":47643,"src":"1939:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47641,"name":"bool","nodeType":"ElementaryTypeName","src":"1939:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CompressedECPoint","nameLocation":"1892:17:64","scope":47771,"visibility":"public"},{"id":47654,"nodeType":"StructDefinition","src":"1962:176:64","nodes":[],"canonicalName":"MinaAccountValidation.Timing","members":[{"constant":false,"id":47645,"mutability":"mutable","name":"initialMinimumBalance","nameLocation":"1993:21:64","nodeType":"VariableDeclaration","scope":47654,"src":"1986:28:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":47644,"name":"uint64","nodeType":"ElementaryTypeName","src":"1986:6:64","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":47647,"mutability":"mutable","name":"cliffTime","nameLocation":"2031:9:64","nodeType":"VariableDeclaration","scope":47654,"src":"2024:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47646,"name":"uint32","nodeType":"ElementaryTypeName","src":"2024:6:64","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":47649,"mutability":"mutable","name":"cliffAmount","nameLocation":"2057:11:64","nodeType":"VariableDeclaration","scope":47654,"src":"2050:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":47648,"name":"uint64","nodeType":"ElementaryTypeName","src":"2050:6:64","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":47651,"mutability":"mutable","name":"vestingPeriod","nameLocation":"2085:13:64","nodeType":"VariableDeclaration","scope":47654,"src":"2078:20:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47650,"name":"uint32","nodeType":"ElementaryTypeName","src":"2078:6:64","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":47653,"mutability":"mutable","name":"vestingIncrement","nameLocation":"2115:16:64","nodeType":"VariableDeclaration","scope":47654,"src":"2108:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":47652,"name":"uint64","nodeType":"ElementaryTypeName","src":"2108:6:64","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Timing","nameLocation":"1969:6:64","scope":47771,"visibility":"public"},{"id":47660,"nodeType":"EnumDefinition","src":"2144:108:64","nodes":[],"canonicalName":"MinaAccountValidation.AuthRequired","members":[{"id":47655,"name":"None","nameLocation":"2172:4:64","nodeType":"EnumValue","src":"2172:4:64"},{"id":47656,"name":"Either","nameLocation":"2186:6:64","nodeType":"EnumValue","src":"2186:6:64"},{"id":47657,"name":"Proof","nameLocation":"2202:5:64","nodeType":"EnumValue","src":"2202:5:64"},{"id":47658,"name":"Signature","nameLocation":"2217:9:64","nodeType":"EnumValue","src":"2217:9:64"},{"id":47659,"name":"Impossible","nameLocation":"2236:10:64","nodeType":"EnumValue","src":"2236:10:64"}],"name":"AuthRequired","nameLocation":"2149:12:64"},{"id":47702,"nodeType":"StructDefinition","src":"2258:513:64","nodes":[],"canonicalName":"MinaAccountValidation.Permissions","members":[{"constant":false,"id":47663,"mutability":"mutable","name":"editState","nameLocation":"2300:9:64","nodeType":"VariableDeclaration","scope":47702,"src":"2287:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47662,"nodeType":"UserDefinedTypeName","pathNode":{"id":47661,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2287:12:64"},"referencedDeclaration":47660,"src":"2287:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47666,"mutability":"mutable","name":"access","nameLocation":"2332:6:64","nodeType":"VariableDeclaration","scope":47702,"src":"2319:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47665,"nodeType":"UserDefinedTypeName","pathNode":{"id":47664,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2319:12:64"},"referencedDeclaration":47660,"src":"2319:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47669,"mutability":"mutable","name":"send","nameLocation":"2361:4:64","nodeType":"VariableDeclaration","scope":47702,"src":"2348:17:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47668,"nodeType":"UserDefinedTypeName","pathNode":{"id":47667,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2348:12:64"},"referencedDeclaration":47660,"src":"2348:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47672,"mutability":"mutable","name":"rreceive","nameLocation":"2388:8:64","nodeType":"VariableDeclaration","scope":47702,"src":"2375:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47671,"nodeType":"UserDefinedTypeName","pathNode":{"id":47670,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2375:12:64"},"referencedDeclaration":47660,"src":"2375:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47675,"mutability":"mutable","name":"setDelegate","nameLocation":"2419:11:64","nodeType":"VariableDeclaration","scope":47702,"src":"2406:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47674,"nodeType":"UserDefinedTypeName","pathNode":{"id":47673,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2406:12:64"},"referencedDeclaration":47660,"src":"2406:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47678,"mutability":"mutable","name":"setPermissions","nameLocation":"2453:14:64","nodeType":"VariableDeclaration","scope":47702,"src":"2440:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47677,"nodeType":"UserDefinedTypeName","pathNode":{"id":47676,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2440:12:64"},"referencedDeclaration":47660,"src":"2440:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47681,"mutability":"mutable","name":"setVerificationKeyAuth","nameLocation":"2490:22:64","nodeType":"VariableDeclaration","scope":47702,"src":"2477:35:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47680,"nodeType":"UserDefinedTypeName","pathNode":{"id":47679,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2477:12:64"},"referencedDeclaration":47660,"src":"2477:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47683,"mutability":"mutable","name":"setVerificationKeyUint","nameLocation":"2529:22:64","nodeType":"VariableDeclaration","scope":47702,"src":"2522:29:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47682,"name":"uint32","nodeType":"ElementaryTypeName","src":"2522:6:64","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":47686,"mutability":"mutable","name":"setZkappUri","nameLocation":"2574:11:64","nodeType":"VariableDeclaration","scope":47702,"src":"2561:24:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47685,"nodeType":"UserDefinedTypeName","pathNode":{"id":47684,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2561:12:64"},"referencedDeclaration":47660,"src":"2561:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47689,"mutability":"mutable","name":"editActionState","nameLocation":"2608:15:64","nodeType":"VariableDeclaration","scope":47702,"src":"2595:28:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47688,"nodeType":"UserDefinedTypeName","pathNode":{"id":47687,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2595:12:64"},"referencedDeclaration":47660,"src":"2595:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47692,"mutability":"mutable","name":"setTokenSymbol","nameLocation":"2646:14:64","nodeType":"VariableDeclaration","scope":47702,"src":"2633:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47691,"nodeType":"UserDefinedTypeName","pathNode":{"id":47690,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2633:12:64"},"referencedDeclaration":47660,"src":"2633:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47695,"mutability":"mutable","name":"incrementNonce","nameLocation":"2683:14:64","nodeType":"VariableDeclaration","scope":47702,"src":"2670:27:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47694,"nodeType":"UserDefinedTypeName","pathNode":{"id":47693,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2670:12:64"},"referencedDeclaration":47660,"src":"2670:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47698,"mutability":"mutable","name":"setVotingFor","nameLocation":"2720:12:64","nodeType":"VariableDeclaration","scope":47702,"src":"2707:25:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47697,"nodeType":"UserDefinedTypeName","pathNode":{"id":47696,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2707:12:64"},"referencedDeclaration":47660,"src":"2707:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"},{"constant":false,"id":47701,"mutability":"mutable","name":"setTiming","nameLocation":"2755:9:64","nodeType":"VariableDeclaration","scope":47702,"src":"2742:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"},"typeName":{"id":47700,"nodeType":"UserDefinedTypeName","pathNode":{"id":47699,"name":"AuthRequired","nodeType":"IdentifierPath","referencedDeclaration":47660,"src":"2742:12:64"},"referencedDeclaration":47660,"src":"2742:12:64","typeDescriptions":{"typeIdentifier":"t_enum$_AuthRequired_$47660","typeString":"enum MinaAccountValidation.AuthRequired"}},"visibility":"internal"}],"name":"Permissions","nameLocation":"2265:11:64","scope":47771,"visibility":"public"},{"id":47722,"nodeType":"StructDefinition","src":"2777:239:64","nodes":[],"canonicalName":"MinaAccountValidation.ZkappAccount","members":[{"constant":false,"id":47706,"mutability":"mutable","name":"appState","nameLocation":"2818:8:64","nodeType":"VariableDeclaration","scope":47722,"src":"2807:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$8_storage_ptr","typeString":"bytes32[8]"},"typeName":{"baseType":{"id":47703,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2807:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47705,"length":{"hexValue":"38","id":47704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2815:1:64","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"nodeType":"ArrayTypeName","src":"2807:10:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$8_storage_ptr","typeString":"bytes32[8]"}},"visibility":"internal"},{"constant":false,"id":47709,"mutability":"mutable","name":"verificationKey","nameLocation":"2852:15:64","nodeType":"VariableDeclaration","scope":47722,"src":"2836:31:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_VerificationKey_$47732_storage_ptr","typeString":"struct MinaAccountValidation.VerificationKey"},"typeName":{"id":47708,"nodeType":"UserDefinedTypeName","pathNode":{"id":47707,"name":"VerificationKey","nodeType":"IdentifierPath","referencedDeclaration":47732,"src":"2836:15:64"},"referencedDeclaration":47732,"src":"2836:15:64","typeDescriptions":{"typeIdentifier":"t_struct$_VerificationKey_$47732_storage_ptr","typeString":"struct MinaAccountValidation.VerificationKey"}},"visibility":"internal"},{"constant":false,"id":47711,"mutability":"mutable","name":"zkappVersion","nameLocation":"2884:12:64","nodeType":"VariableDeclaration","scope":47722,"src":"2877:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47710,"name":"uint32","nodeType":"ElementaryTypeName","src":"2877:6:64","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":47715,"mutability":"mutable","name":"actionState","nameLocation":"2917:11:64","nodeType":"VariableDeclaration","scope":47722,"src":"2906:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$5_storage_ptr","typeString":"bytes32[5]"},"typeName":{"baseType":{"id":47712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2906:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47714,"length":{"hexValue":"35","id":47713,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2914:1:64","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"nodeType":"ArrayTypeName","src":"2906:10:64","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$5_storage_ptr","typeString":"bytes32[5]"}},"visibility":"internal"},{"constant":false,"id":47717,"mutability":"mutable","name":"lastActionSlot","nameLocation":"2945:14:64","nodeType":"VariableDeclaration","scope":47722,"src":"2938:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":47716,"name":"uint32","nodeType":"ElementaryTypeName","src":"2938:6:64","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":47719,"mutability":"mutable","name":"provedState","nameLocation":"2974:11:64","nodeType":"VariableDeclaration","scope":47722,"src":"2969:16:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47718,"name":"bool","nodeType":"ElementaryTypeName","src":"2969:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47721,"mutability":"mutable","name":"zkappUri","nameLocation":"3001:8:64","nodeType":"VariableDeclaration","scope":47722,"src":"2995:14:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":47720,"name":"bytes","nodeType":"ElementaryTypeName","src":"2995:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"ZkappAccount","nameLocation":"2784:12:64","scope":47771,"visibility":"public"},{"id":47732,"nodeType":"StructDefinition","src":"3022:146:64","nodes":[],"canonicalName":"MinaAccountValidation.VerificationKey","members":[{"constant":false,"id":47725,"mutability":"mutable","name":"maxProofsVerified","nameLocation":"3070:17:64","nodeType":"VariableDeclaration","scope":47732,"src":"3055:32:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProofsVerified_$47736","typeString":"enum MinaAccountValidation.ProofsVerified"},"typeName":{"id":47724,"nodeType":"UserDefinedTypeName","pathNode":{"id":47723,"name":"ProofsVerified","nodeType":"IdentifierPath","referencedDeclaration":47736,"src":"3055:14:64"},"referencedDeclaration":47736,"src":"3055:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_ProofsVerified_$47736","typeString":"enum MinaAccountValidation.ProofsVerified"}},"visibility":"internal"},{"constant":false,"id":47728,"mutability":"mutable","name":"actualWrapDomainSize","nameLocation":"3112:20:64","nodeType":"VariableDeclaration","scope":47732,"src":"3097:35:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ProofsVerified_$47736","typeString":"enum MinaAccountValidation.ProofsVerified"},"typeName":{"id":47727,"nodeType":"UserDefinedTypeName","pathNode":{"id":47726,"name":"ProofsVerified","nodeType":"IdentifierPath","referencedDeclaration":47736,"src":"3097:14:64"},"referencedDeclaration":47736,"src":"3097:14:64","typeDescriptions":{"typeIdentifier":"t_enum$_ProofsVerified_$47736","typeString":"enum MinaAccountValidation.ProofsVerified"}},"visibility":"internal"},{"constant":false,"id":47731,"mutability":"mutable","name":"wrapIndex","nameLocation":"3152:9:64","nodeType":"VariableDeclaration","scope":47732,"src":"3142:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_WrapIndex_$47765_storage_ptr","typeString":"struct MinaAccountValidation.WrapIndex"},"typeName":{"id":47730,"nodeType":"UserDefinedTypeName","pathNode":{"id":47729,"name":"WrapIndex","nodeType":"IdentifierPath","referencedDeclaration":47765,"src":"3142:9:64"},"referencedDeclaration":47765,"src":"3142:9:64","typeDescriptions":{"typeIdentifier":"t_struct$_WrapIndex_$47765_storage_ptr","typeString":"struct MinaAccountValidation.WrapIndex"}},"visibility":"internal"}],"name":"VerificationKey","nameLocation":"3029:15:64","scope":47771,"visibility":"public"},{"id":47736,"nodeType":"EnumDefinition","src":"3174:62:64","nodes":[],"canonicalName":"MinaAccountValidation.ProofsVerified","members":[{"id":47733,"name":"N0","nameLocation":"3204:2:64","nodeType":"EnumValue","src":"3204:2:64"},{"id":47734,"name":"N1","nameLocation":"3216:2:64","nodeType":"EnumValue","src":"3216:2:64"},{"id":47735,"name":"N2","nameLocation":"3228:2:64","nodeType":"EnumValue","src":"3228:2:64"}],"name":"ProofsVerified","nameLocation":"3179:14:64"},{"id":47765,"nodeType":"StructDefinition","src":"3242:289:64","nodes":[],"canonicalName":"MinaAccountValidation.WrapIndex","members":[{"constant":false,"id":47741,"mutability":"mutable","name":"sigmaComm","nameLocation":"3283:9:64","nodeType":"VariableDeclaration","scope":47765,"src":"3269:23:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Commitment_$47770_storage_$7_storage_ptr","typeString":"struct MinaAccountValidation.Commitment[7]"},"typeName":{"baseType":{"id":47738,"nodeType":"UserDefinedTypeName","pathNode":{"id":47737,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3269:10:64"},"referencedDeclaration":47770,"src":"3269:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"id":47740,"length":{"hexValue":"37","id":47739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3280:1:64","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"nodeType":"ArrayTypeName","src":"3269:13:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Commitment_$47770_storage_$7_storage_ptr","typeString":"struct MinaAccountValidation.Commitment[7]"}},"visibility":"internal"},{"constant":false,"id":47746,"mutability":"mutable","name":"coefficientsComm","nameLocation":"3317:16:64","nodeType":"VariableDeclaration","scope":47765,"src":"3302:31:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Commitment_$47770_storage_$15_storage_ptr","typeString":"struct MinaAccountValidation.Commitment[15]"},"typeName":{"baseType":{"id":47743,"nodeType":"UserDefinedTypeName","pathNode":{"id":47742,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3302:10:64"},"referencedDeclaration":47770,"src":"3302:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"id":47745,"length":{"hexValue":"3135","id":47744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3313:2:64","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"nodeType":"ArrayTypeName","src":"3302:14:64","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Commitment_$47770_storage_$15_storage_ptr","typeString":"struct MinaAccountValidation.Commitment[15]"}},"visibility":"internal"},{"constant":false,"id":47749,"mutability":"mutable","name":"genericComm","nameLocation":"3354:11:64","nodeType":"VariableDeclaration","scope":47765,"src":"3343:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"},"typeName":{"id":47748,"nodeType":"UserDefinedTypeName","pathNode":{"id":47747,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3343:10:64"},"referencedDeclaration":47770,"src":"3343:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"visibility":"internal"},{"constant":false,"id":47752,"mutability":"mutable","name":"psmComm","nameLocation":"3386:7:64","nodeType":"VariableDeclaration","scope":47765,"src":"3375:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"},"typeName":{"id":47751,"nodeType":"UserDefinedTypeName","pathNode":{"id":47750,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3375:10:64"},"referencedDeclaration":47770,"src":"3375:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"visibility":"internal"},{"constant":false,"id":47755,"mutability":"mutable","name":"completeAddComm","nameLocation":"3414:15:64","nodeType":"VariableDeclaration","scope":47765,"src":"3403:26:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"},"typeName":{"id":47754,"nodeType":"UserDefinedTypeName","pathNode":{"id":47753,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3403:10:64"},"referencedDeclaration":47770,"src":"3403:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"visibility":"internal"},{"constant":false,"id":47758,"mutability":"mutable","name":"mulComm","nameLocation":"3450:7:64","nodeType":"VariableDeclaration","scope":47765,"src":"3439:18:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"},"typeName":{"id":47757,"nodeType":"UserDefinedTypeName","pathNode":{"id":47756,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3439:10:64"},"referencedDeclaration":47770,"src":"3439:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"visibility":"internal"},{"constant":false,"id":47761,"mutability":"mutable","name":"emulComm","nameLocation":"3478:8:64","nodeType":"VariableDeclaration","scope":47765,"src":"3467:19:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"},"typeName":{"id":47760,"nodeType":"UserDefinedTypeName","pathNode":{"id":47759,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3467:10:64"},"referencedDeclaration":47770,"src":"3467:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"visibility":"internal"},{"constant":false,"id":47764,"mutability":"mutable","name":"endomulScalarComm","nameLocation":"3507:17:64","nodeType":"VariableDeclaration","scope":47765,"src":"3496:28:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"},"typeName":{"id":47763,"nodeType":"UserDefinedTypeName","pathNode":{"id":47762,"name":"Commitment","nodeType":"IdentifierPath","referencedDeclaration":47770,"src":"3496:10:64"},"referencedDeclaration":47770,"src":"3496:10:64","typeDescriptions":{"typeIdentifier":"t_struct$_Commitment_$47770_storage_ptr","typeString":"struct MinaAccountValidation.Commitment"}},"visibility":"internal"}],"name":"WrapIndex","nameLocation":"3249:9:64","scope":47771,"visibility":"public"},{"id":47770,"nodeType":"StructDefinition","src":"3537:63:64","nodes":[],"canonicalName":"MinaAccountValidation.Commitment","members":[{"constant":false,"id":47767,"mutability":"mutable","name":"x","nameLocation":"3573:1:64","nodeType":"VariableDeclaration","scope":47770,"src":"3565:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3565:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47769,"mutability":"mutable","name":"y","nameLocation":"3592:1:64","nodeType":"VariableDeclaration","scope":47770,"src":"3584:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47768,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3584:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"name":"Commitment","nameLocation":"3544:10:64","scope":47771,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"MinaAccountValidation","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[47771],"name":"MinaAccountValidation","nameLocation":"180:21:64","scope":47772,"usedErrors":[47516]}],"license":"UNLICENSED"},"id":64} \ No newline at end of file diff --git a/core/abi/MinaBridge.json b/core/abi/MinaBridge.json index da3e7178..54e9c105 100644 --- a/core/abi/MinaBridge.json +++ b/core/abi/MinaBridge.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":"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":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516106e93803806106e983398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d4565b0155506100ea9050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b818103818111156100ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b6105f0806100f96000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d91461008557806337baff0f1461008d5780633886c09b146100a2578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fc565b60405180910390f35b61006f610104565b6100a061009b3660046103ed565b61013a565b005b6100aa6102a8565b60405190815260200161007c565b6100aa6102ce565b6100aa601081565b6100d06102dd565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dd565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6020820151600061014d600160106104ad565b6010811061015d5761015d6104d4565b015481146101ac57806000610174600160106104ad565b60108110610184576101846104d4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906101f5908e9086908f908f908f908f908f908e906004016104ea565b602060405180830381865afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102369190610591565b905080156102825760006010604087016102408801835b601081101561027857825185558151845560019485019493840193602093840193909201910161024d565b505050505061029b565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106102b76001826104ad565b601081106102c7576102c76104d4565b0154905090565b6000806102b7600160106104ad565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610325578151835260209283019290910190600101610306565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035557600080fd5b813567ffffffffffffffff808211156103705761037061032e565b604051601f8301601f19908116603f011681019082821181831017156103985761039861032e565b816040528381528660208588010111156103b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103e857600080fd5b919050565b600080600080600080600080610100898b03121561040a57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461043557600080fd5b955060608901359450608089013567ffffffffffffffff8082111561045957600080fd5b6104658c838d01610344565b955060a08b0135945060c08b013591508082111561048257600080fd5b5061048f8b828c01610344565b92505061049e60e08a016103d1565b90509295985092959890939650565b818103818111156104ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561054b5787830182015185840161012001529181019161052c565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261058460e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156105a357600080fd5b815180151581146105b357600080fd5b939250505056fea26469706673582212206ff555f11f6263dcb9f4068a4f27af94bc8c28a3fabad9df51dc3ea6297b7f0164736f6c63430008150033","sourceMap":"369:4106:63:-:0;;;1077:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1159:7;:57;;-1:-1:-1;;;;;;1159:57:63;-1:-1:-1;;;;;1159:57:63;;;;;1281:13;-1:-1:-1;1243:34:63;-1:-1:-1;572:2:63;1243:34;:::i;:::-;1226:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;369:4106:63;;-1:-1:-1;369:4106:63;14:359:65;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:65;;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:65: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;369:4106:63;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d91461008557806337baff0f1461008d5780633886c09b146100a2578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fc565b60405180910390f35b61006f610104565b6100a061009b3660046103ed565b61013a565b005b6100aa6102a8565b60405190815260200161007c565b6100aa6102ce565b6100aa601081565b6100d06102dd565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dd565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6020820151600061014d600160106104ad565b6010811061015d5761015d6104d4565b015481146101ac57806000610174600160106104ad565b60108110610184576101846104d4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906101f5908e9086908f908f908f908f908f908e906004016104ea565b602060405180830381865afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102369190610591565b905080156102825760006010604087016102408801835b601081101561027857825185558151845560019485019493840193602093840193909201910161024d565b505050505061029b565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106102b76001826104ad565b601081106102c7576102c76104d4565b0154905090565b6000806102b7600160106104ad565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610325578151835260209283019290910190600101610306565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035557600080fd5b813567ffffffffffffffff808211156103705761037061032e565b604051601f8301601f19908116603f011681019082821181831017156103985761039861032e565b816040528381528660208588010111156103b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103e857600080fd5b919050565b600080600080600080600080610100898b03121561040a57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461043557600080fd5b955060608901359450608089013567ffffffffffffffff8082111561045957600080fd5b6104658c838d01610344565b955060a08b0135945060c08b013591508082111561048257600080fd5b5061048f8b828c01610344565b92505061049e60e08a016103d1565b90509295985092959890939650565b818103818111156104ce57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561054b5787830182015185840161012001529181019161052c565b6101209250600083828701015282601f19601f83011686010193505050508360c083015261058460e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156105a357600080fd5b815180151581146105b357600080fd5b939250505056fea26469706673582212206ff555f11f6263dcb9f4068a4f27af94bc8c28a3fabad9df51dc3ea6297b7f0164736f6c63430008150033","sourceMap":"369:4106:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1977:144;;;:::i;2127:2346::-;;;;;;:::i;:::-;;:::i;:::-;;1557:137;;;:::i;:::-;;;2776:25:65;;;2764:2;2749:18;1557:137:63;2630:177:65;1361:135:63;;;:::i;515:59::-;;572:2;515:59;;1764:142;1818:46;;:::i;:::-;1876:23;;;;;;;;;;;-1:-1:-1;;1876:23:63;;-1:-1:-1;1876:23:63;;;;;;;;;;;;;;;;;;;;;;;;1764:142;:::o;1977:144::-;2032:46;;:::i;:::-;2090:24;;;;;;;;;;2097:17;2090:24;;;;;;2097:17;;2090:24;;;;;;;;;;;;;;;;1977:144;:::o;2127:2346::-;2588:4;2574:19;;2568:26;2471:34;2665;2698:1;572:2;2665:34;:::i;:::-;2648:52;;;;;;;:::i;:::-;;;2618:26;:82;2614:217;;2739:26;2767:16;2784:34;2817:1;572:2;2784:34;:::i;:::-;2767:52;;;;;;;:::i;:::-;;;2723:97;;-1:-1:-1;;;2723:97:63;;;;;3530:25:65;;;;3571:18;;;3564:34;3503:18;;2723:97:63;;;;;;;2614:217;2870:19;;;;;;;;;;2926:7;;:304;;-1:-1:-1;;;2926:304:63;;2841:26;;-1:-1:-1;;;;;2926:7:63;;:28;;:304;;2968:15;;2870:19;;3029:30;;3073:18;;3105:15;;3134:11;;3159:26;;3199:21;;2926:304;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2900:330;;3245:18;3241:1226;;;3383:21;3441:22;3731:2;3717:17;;3866:57;;;3383:21;3941:444;3966:30;3963:1;3960:37;3941:444;;;4059:18;;4039:39;;4232:19;;4211:41;;4187:1;4170:19;;;;4347:20;;;;4131:2;4114:20;;;;4289:21;;;;4005:9;3941:444;;;3945:14;;;;;3241:1226;;;4436:20;;-1:-1:-1;;;4436:20:63;;;;;;;;;;;3241:1226;2461:2012;;;2127:2346;;;;;;;;:::o;1557:137::-;1608:7;1634:17;1652:34;1685:1;1634:17;1652:34;:::i;:::-;1634:53;;;;;;;:::i;:::-;;;1627:60;;1557:137;:::o;1361:135::-;1411:7;;1454:34;1487:1;572:2;1454:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:65:-;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:65;;;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:65;;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:65;1893:18;;1880:32;;-1:-1:-1;1962:2:65;1947:18;;1934:32;-1:-1:-1;;1995:43:65;;1985:54;;1975:82;;2053:1;2050;2043:12;1975:82;2076:5;-1:-1:-1;2128:2:65;2113:18;;2100:32;;-1:-1:-1;2183:3:65;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;2994:225::-;3061:9;;;3082:11;;;3079:134;;;3135:10;3130:3;3126:20;3123:1;3116:31;3170:4;3167:1;3160:15;3198:4;3195:1;3188:15;3079:134;2994:225;;;;:::o;3224:127::-;3285:10;3280:3;3276:20;3273:1;3266:31;3316:4;3313:1;3306:15;3340:4;3337:1;3330:15;3718:1142;4024:4;4053:3;4083:6;4072:9;4065:25;4109:2;4147:6;4142:2;4131:9;4127:18;4120:34;4190:6;4185:2;4174:9;4170:18;4163:34;4249:26;4245:31;4237:6;4233:44;4228:2;4217:9;4213:18;4206:72;4315:6;4309:3;4298:9;4294:19;4287:35;4359:2;4353:3;4342:9;4338:19;4331:31;4391:6;4385:13;4434:6;4429:2;4418:9;4414:18;4407:34;4459:1;4450:10;;4469:141;4483:6;4480:1;4477:13;4469:141;;;4579:14;;;4575:23;;4569:30;4544:17;;;4563:3;4540:27;4533:67;4498:10;;;;4469:141;;;4629:3;4619:13;;4681:1;4676:2;4667:6;4656:9;4652:22;4648:31;4641:42;4751:2;4744;4740:7;4735:2;4727:6;4723:15;4719:29;4708:9;4704:45;4700:54;4692:62;;;;;4791:6;4785:3;4774:9;4770:19;4763:35;4807:47;4849:3;4838:9;4834:19;4826:6;-1:-1:-1;;;;;3675:31:65;3663:44;;3609:104;4807:47;3718:1142;;;;;;;;;;;:::o;4865:277::-;4932:6;4985:2;4973:9;4964:7;4960:23;4956:32;4953:52;;;5001:1;4998;4991:12;4953:52;5033:9;5027:16;5086:5;5079:13;5072:21;5065:5;5062:32;5052:60;;5108:1;5105;5098:12;5052:60;5131:5;4865:277;-1:-1:-1;;;4865:277:65:o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"37baff0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"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\":\"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.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"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/MinaBridge.sol\":{\"keccak256\":\"0x4866bdaf26f08a08a8cedd7d5a21e0ab8daa3762c3916e04214bc2494a2cc362\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://794655d015a266738be278995e1a0e454a25e72e935c5d60e2fce14454215438\",\"dweb:/ipfs/QmYEYQx6AtSxFydEDUnwEWd1n1n5NiANJui5M9KTjn4gWk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"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":"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."}},"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/MinaBridge.sol":"MinaBridge"},"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/MinaBridge.sol":{"keccak256":"0x4866bdaf26f08a08a8cedd7d5a21e0ab8daa3762c3916e04214bc2494a2cc362","urls":["bzz-raw://794655d015a266738be278995e1a0e454a25e72e935c5d60e2fce14454215438","dweb:/ipfs/QmYEYQx6AtSxFydEDUnwEWd1n1n5NiANJui5M9KTjn4gWk"],"license":"UNLICENSED"}},"version":1},"id":63} \ No newline at end of file +{"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":"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":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516106ed3803806106ed83398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d2565b0155506100e89050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b6000828210156100cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b6105f6806100f76000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d91461008557806337baff0f1461008d5780633886c09b146100a2578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fc565b60405180910390f35b61006f610104565b6100a061009b3660046103ed565b61013a565b005b6100aa6102a8565b60405190815260200161007c565b6100aa6102ce565b6100aa601081565b6100d06102dd565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dd565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6020820151600061014d600160106104ad565b6010811061015d5761015d6104d2565b015481146101ac57806000610174600160106104ad565b60108110610184576101846104d2565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906101f5908e9086908f908f908f908f908f908e906004016104e8565b602060405180830381865afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102369190610597565b905080156102825760006010604087016102408801835b601081101561027857825185558151845560019485019493840193602093840193909201910161024d565b505050505061029b565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106102b76001826104ad565b601081106102c7576102c76104d2565b0154905090565b6000806102b7600160106104ad565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610325578151835260209283019290910190600101610306565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035557600080fd5b813567ffffffffffffffff808211156103705761037061032e565b604051601f8301601f19908116603f011681019082821181831017156103985761039861032e565b816040528381528660208588010111156103b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103e857600080fd5b919050565b600080600080600080600080610100898b03121561040a57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461043557600080fd5b955060608901359450608089013567ffffffffffffffff8082111561045957600080fd5b6104658c838d01610344565b955060a08b0135945060c08b013591508082111561048257600080fd5b5061048f8b828c01610344565b92505061049e60e08a016103d1565b90509295985092959890939650565b6000828210156104cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105495787830182015185840161012001529181019161052a565b8083111561055c57600061012082870101525b60c08501879052601f01601f1916840161012001925061058a91505060e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156105a957600080fd5b815180151581146105b957600080fd5b939250505056fea2646970667358221220f25c704c27d0338d9dcf57842261213ec78d09c5395cf3593f97659450d6a54664736f6c634300080c0033","sourceMap":"369:4106:65:-:0;;;1077:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1159:7;:57;;-1:-1:-1;;;;;;1159:57:65;-1:-1:-1;;;;;1159:57:65;;;;;1281:13;-1:-1:-1;1243:34:65;-1:-1:-1;572:2:65;1243:34;:::i;:::-;1226:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;369:4106:65;;-1:-1:-1;369:4106:65;14:359:67;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:67;;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:67:o;378:222::-;418:4;446:1;443;440:8;437:131;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;437:131;-1:-1:-1;585:9:67;;378:222::o;605:127::-;666:10;661:3;657:20;654:1;647:31;697:4;694:1;687:15;721:4;718:1;711:15;605:127;369:4106:65;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d91461008557806337baff0f1461008d5780633886c09b146100a2578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fc565b60405180910390f35b61006f610104565b6100a061009b3660046103ed565b61013a565b005b6100aa6102a8565b60405190815260200161007c565b6100aa6102ce565b6100aa601081565b6100d06102dd565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dd565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6020820151600061014d600160106104ad565b6010811061015d5761015d6104d2565b015481146101ac57806000610174600160106104ad565b60108110610184576101846104d2565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b825160208085019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906101f5908e9086908f908f908f908f908f908e906004016104e8565b602060405180830381865afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102369190610597565b905080156102825760006010604087016102408801835b601081101561027857825185558151845560019485019493840193602093840193909201910161024d565b505050505061029b565b604051630114602f60e41b815260040160405180910390fd5b5050505050505050505050565b600060106102b76001826104ad565b601081106102c7576102c76104d2565b0154905090565b6000806102b7600160106104ad565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610325578151835260209283019290910190600101610306565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035557600080fd5b813567ffffffffffffffff808211156103705761037061032e565b604051601f8301601f19908116603f011681019082821181831017156103985761039861032e565b816040528381528660208588010111156103b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103e857600080fd5b919050565b600080600080600080600080610100898b03121561040a57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461043557600080fd5b955060608901359450608089013567ffffffffffffffff8082111561045957600080fd5b6104658c838d01610344565b955060a08b0135945060c08b013591508082111561048257600080fd5b5061048f8b828c01610344565b92505061049e60e08a016103d1565b90509295985092959890939650565b6000828210156104cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105495787830182015185840161012001529181019161052a565b8083111561055c57600061012082870101525b60c08501879052601f01601f1916840161012001925061058a91505060e08301846001600160a01b03169052565b9998505050505050505050565b6000602082840312156105a957600080fd5b815180151581146105b957600080fd5b939250505056fea2646970667358221220f25c704c27d0338d9dcf57842261213ec78d09c5395cf3593f97659450d6a54664736f6c634300080c0033","sourceMap":"369:4106:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1764:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1977:144;;;:::i;2127:2346::-;;;;;;:::i;:::-;;:::i;:::-;;1557:137;;;:::i;:::-;;;2776:25:67;;;2764:2;2749:18;1557:137:65;2630:177:67;1361:135:65;;;:::i;515:59::-;;572:2;515:59;;1764:142;1818:46;;:::i;:::-;1876:23;;;;;;;;;;;-1:-1:-1;;1876:23:65;;-1:-1:-1;1876:23:65;;;;;;;;;;;;;;;;;;;;;;;;1764:142;:::o;1977:144::-;2032:46;;:::i;:::-;2090:24;;;;;;;;;;2097:17;2090:24;;;;;;2097:17;;2090:24;;;;;;;;;;;;;;;;1977:144;:::o;2127:2346::-;2588:4;2574:19;;2568:26;2471:34;2665;2698:1;572:2;2665:34;:::i;:::-;2648:52;;;;;;;:::i;:::-;;;2618:26;:82;2614:217;;2739:26;2767:16;2784:34;2817:1;572:2;2784:34;:::i;:::-;2767:52;;;;;;;:::i;:::-;;;2723:97;;-1:-1:-1;;;2723:97:65;;;;;3527:25:67;;;;3568:18;;;3561:34;3500:18;;2723:97:65;;;;;;;2614:217;2870:19;;;;;;;;;;2926:7;;:304;;-1:-1:-1;;;2926:304:65;;2841:26;;-1:-1:-1;;;;;2926:7:65;;:28;;:304;;2968:15;;2870:19;;3029:30;;3073:18;;3105:15;;3134:11;;3159:26;;3199:21;;2926:304;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2900:330;;3245:18;3241:1226;;;3383:21;3441:22;3731:2;3717:17;;3866:57;;;3383:21;3941:444;3966:30;3963:1;3960:37;3941:444;;;4059:18;;4039:39;;4232:19;;4211:41;;4187:1;4170:19;;;;4347:20;;;;4131:2;4114:20;;;;4289:21;;;;4005:9;3941:444;;;3945:14;;;;;3241:1226;;;4436:20;;-1:-1:-1;;;4436:20:65;;;;;;;;;;;3241:1226;2461:2012;;;2127:2346;;;;;;;;:::o;1557:137::-;1608:7;1634:17;1652:34;1685:1;1634:17;1652:34;:::i;:::-;1634:53;;;;;;;:::i;:::-;;;1627:60;;1557:137;:::o;1361:135::-;1411:7;;1454:34;1487:1;572:2;1454:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:67:-;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:67;;;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:67;;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:67;1893:18;;1880:32;;-1:-1:-1;1962:2:67;1947:18;;1934:32;-1:-1:-1;;1995:43:67;;1985:54;;1975:82;;2053:1;2050;2043:12;1975:82;2076:5;-1:-1:-1;2128:2:67;2113:18;;2100:32;;-1:-1:-1;2183:3:67;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;2994:222::-;3034:4;3062:1;3059;3056:8;3053:131;;;3106:10;3101:3;3097:20;3094:1;3087:31;3141:4;3138:1;3131:15;3169:4;3166:1;3159:15;3053:131;-1:-1:-1;3201:9:67;;2994:222::o;3221:127::-;3282:10;3277:3;3273:20;3270:1;3263:31;3313:4;3310:1;3303:15;3337:4;3334:1;3327:15;3715:1171;4021:4;4050:3;4080:6;4069:9;4062:25;4106:2;4144:6;4139:2;4128:9;4124:18;4117:34;4187:6;4182:2;4171:9;4167:18;4160:34;4246:26;4242:31;4234:6;4230:44;4225:2;4214:9;4210:18;4203:72;4312:6;4306:3;4295:9;4291:19;4284:35;4356:2;4350:3;4339:9;4335:19;4328:31;4388:6;4382:13;4431:6;4426:2;4415:9;4411:18;4404:34;4456:1;4447:10;;4466:141;4480:6;4477:1;4474:13;4466:141;;;4576:14;;;4572:23;;4566:30;4541:17;;;4560:3;4537:27;4530:67;4495:10;;;;4466:141;;;4625:6;4622:1;4619:13;4616:92;;;4696:1;4690:3;4681:6;4670:9;4666:22;4662:32;4655:43;4616:92;4811:3;4796:19;;4789:35;;;4769:2;4748:15;-1:-1:-1;;4744:29:67;4729:45;;4776:3;4725:55;;-1:-1:-1;4833:47:67;;-1:-1:-1;;4875:3:67;4860:19;;4852:6;-1:-1:-1;;;;;3672:31:67;3660:44;;3606:104;4833:47;3715:1171;;;;;;;;;;;:::o;4891:277::-;4958:6;5011:2;4999:9;4990:7;4986:23;4982:32;4979:52;;;5027:1;5024;5017:12;4979:52;5059:9;5053:16;5112:5;5105:13;5098:21;5091:5;5088:32;5078:60;;5134:1;5131;5124:12;5078:60;5157:5;4891:277;-1:-1:-1;;;4891:277:67:o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes,address)":"37baff0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"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.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"evmVersion\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x9fcd2cb923e5ef666b1b18a7e2a77d915d5bef119214dfc53cc5c6c044a87bc5\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://f32c8e9002c9a8bd9e23f63d430193e092e6b6cea56a11f839304feff3b333c7\",\"dweb:/ipfs/QmS2o2CeHebjAuviv715FsCNam95qy19qijJz4aw87YRJL\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x68ef2223020d5b4ce1fb2b0b016fb1f66f6b84edbb0370f96d9c1398146e9409\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://57ba2b7b58fc15cdc9eefd70ad09bf8719ff981eabb64d6fca0da049456b2541\",\"dweb:/ipfs/QmPKZJoGwmBnA4gm1C4VySZr9iscQyLd1MtFVz1RkjctzV\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0x4866bdaf26f08a08a8cedd7d5a21e0ab8daa3762c3916e04214bc2494a2cc362\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://794655d015a266738be278995e1a0e454a25e72e935c5d60e2fce14454215438\",\"dweb:/ipfs/QmYEYQx6AtSxFydEDUnwEWd1n1n5NiANJui5M9KTjn4gWk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"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."}},"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/MinaBridge.sol":"MinaBridge"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x9fcd2cb923e5ef666b1b18a7e2a77d915d5bef119214dfc53cc5c6c044a87bc5","urls":["bzz-raw://f32c8e9002c9a8bd9e23f63d430193e092e6b6cea56a11f839304feff3b333c7","dweb:/ipfs/QmS2o2CeHebjAuviv715FsCNam95qy19qijJz4aw87YRJL"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x68ef2223020d5b4ce1fb2b0b016fb1f66f6b84edbb0370f96d9c1398146e9409","urls":["bzz-raw://57ba2b7b58fc15cdc9eefd70ad09bf8719ff981eabb64d6fca0da049456b2541","dweb:/ipfs/QmPKZJoGwmBnA4gm1C4VySZr9iscQyLd1MtFVz1RkjctzV"],"license":"UNLICENSED"},"src/MinaBridge.sol":{"keccak256":"0x4866bdaf26f08a08a8cedd7d5a21e0ab8daa3762c3916e04214bc2494a2cc362","urls":["bzz-raw://794655d015a266738be278995e1a0e454a25e72e935c5d60e2fce14454215438","dweb:/ipfs/QmYEYQx6AtSxFydEDUnwEWd1n1n5NiANJui5M9KTjn4gWk"],"license":"UNLICENSED"}},"version":1},"ast":{"absolutePath":"src/MinaBridge.sol","id":47947,"exportedSymbols":{"AccountIsNotValid":[47786],"AlignedLayerServiceManager":[8505],"AlignedLayerServiceManagerStorage":[8527],"BLSSignatureChecker":[4846],"IAVSDirectory":[76],"IAlignedLayerServiceManager":[8603],"IPauserRegistry":[1244],"IRegistryCoordinator":[6102],"IRewardsCoordinator":[1584],"IStakeRegistry":[6512],"Merkle":[3209],"MinaBridge":[47946],"NewStateIsNotValid":[47776],"Pausable":[3505],"ServiceManagerBase":[5394],"TipStateIsWrong":[47782]},"nodeType":"SourceUnit","src":"39:4437:65","nodes":[{"id":47773,"nodeType":"PragmaDirective","src":"39:24:65","nodes":[],"literals":["solidity","^","0.8",".12"]},{"id":47774,"nodeType":"ImportDirective","src":"65:73:65","nodes":[],"absolutePath":"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol","file":"aligned_layer/contracts/src/core/AlignedLayerServiceManager.sol","nameLocation":"-1:-1:-1","scope":47947,"sourceUnit":8506,"symbolAliases":[],"unitAlias":""},{"id":47776,"nodeType":"ErrorDefinition","src":"140:27:65","nodes":[],"name":"NewStateIsNotValid","nameLocation":"146:18:65","parameters":{"id":47775,"nodeType":"ParameterList","parameters":[],"src":"164:2:65"}},{"id":47782,"nodeType":"ErrorDefinition","src":"180:74:65","nodes":[],"name":"TipStateIsWrong","nameLocation":"186:15:65","parameters":{"id":47781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47778,"mutability":"mutable","name":"pubInputTipStateHash","nameLocation":"210:20:65","nodeType":"VariableDeclaration","scope":47782,"src":"202:28:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"202:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47780,"mutability":"mutable","name":"tipStatehash","nameLocation":"240:12:65","nodeType":"VariableDeclaration","scope":47782,"src":"232:20:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47779,"name":"bytes32","nodeType":"ElementaryTypeName","src":"232:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"201:52:65"}},{"id":47786,"nodeType":"ErrorDefinition","src":"267:47:65","nodes":[],"name":"AccountIsNotValid","nameLocation":"273:17:65","parameters":{"id":47785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47784,"mutability":"mutable","name":"accountIdHash","nameLocation":"299:13:65","nodeType":"VariableDeclaration","scope":47786,"src":"291:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"291:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"290:23:65"}},{"id":47946,"nodeType":"ContractDefinition","src":"369:4106:65","nodes":[{"id":47791,"nodeType":"VariableDeclaration","src":"515:59:65","nodes":[],"constant":true,"documentation":{"id":47788,"nodeType":"StructuredDocumentation","src":"395:115:65","text":"@notice The length of the verified state chain (also called the bridge's transition\n frontier) to store."},"functionSelector":"fb299cd8","mutability":"constant","name":"BRIDGE_TRANSITION_FRONTIER_LEN","nameLocation":"539:30:65","scope":47946,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47789,"name":"uint256","nodeType":"ElementaryTypeName","src":"515:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136","id":47790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"572:2:65","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"visibility":"public"},{"id":47796,"nodeType":"VariableDeclaration","src":"710:56:65","nodes":[],"constant":false,"documentation":{"id":47792,"nodeType":"StructuredDocumentation","src":"581:124:65","text":"@notice The state hash of the last verified chain of Mina states (also called\n the bridge's transition frontier)."},"mutability":"mutable","name":"chainStateHashes","nameLocation":"750:16:65","scope":47946,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16]"},"typeName":{"baseType":{"id":47793,"name":"bytes32","nodeType":"ElementaryTypeName","src":"710:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47795,"length":{"id":47794,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"718:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"ArrayTypeName","src":"710:39:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage_ptr","typeString":"bytes32[16]"}},"visibility":"internal"},{"id":47801,"nodeType":"VariableDeclaration","src":"902:57:65","nodes":[],"constant":false,"documentation":{"id":47797,"nodeType":"StructuredDocumentation","src":"772:125:65","text":"@notice The ledger hash of the last verified chain of Mina states (also called\n the bridge's transition frontier)."},"mutability":"mutable","name":"chainLedgerHashes","nameLocation":"942:17:65","scope":47946,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16]"},"typeName":{"baseType":{"id":47798,"name":"bytes32","nodeType":"ElementaryTypeName","src":"902:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47800,"length":{"id":47799,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"910:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"ArrayTypeName","src":"902:39:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage_ptr","typeString":"bytes32[16]"}},"visibility":"internal"},{"id":47805,"nodeType":"VariableDeclaration","src":"1036:34:65","nodes":[],"constant":false,"documentation":{"id":47802,"nodeType":"StructuredDocumentation","src":"966:65:65","text":"@notice Reference to the AlignedLayerServiceManager contract."},"mutability":"mutable","name":"aligned","nameLocation":"1063:7:65","scope":47946,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"},"typeName":{"id":47804,"nodeType":"UserDefinedTypeName","pathNode":{"id":47803,"name":"AlignedLayerServiceManager","nodeType":"IdentifierPath","referencedDeclaration":8505,"src":"1036:26:65"},"referencedDeclaration":8505,"src":"1036:26:65","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"visibility":"internal"},{"id":47827,"nodeType":"FunctionDefinition","src":"1077:224:65","nodes":[],"body":{"id":47826,"nodeType":"Block","src":"1149:152:65","nodes":[],"statements":[{"expression":{"id":47816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":47812,"name":"aligned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47805,"src":"1159:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":47814,"name":"_alignedServiceAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47807,"src":"1196:19:65","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":47813,"name":"AlignedLayerServiceManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8505,"src":"1169:26:65","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AlignedLayerServiceManager_$8505_$","typeString":"type(contract AlignedLayerServiceManager)"}},"id":47815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1169:47:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"src":"1159:57:65","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"id":47817,"nodeType":"ExpressionStatement","src":"1159:57:65"},{"expression":{"id":47824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":47818,"name":"chainStateHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47796,"src":"1226:16:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"id":47822,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":47819,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"1243:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1276:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1243:34:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1226:52:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":47823,"name":"_tipStateHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47809,"src":"1281:13:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1226:68:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47825,"nodeType":"ExpressionStatement","src":"1226:68:65"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":47810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47807,"mutability":"mutable","name":"_alignedServiceAddr","nameLocation":"1105:19:65","nodeType":"VariableDeclaration","scope":47827,"src":"1089:35:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":47806,"name":"address","nodeType":"ElementaryTypeName","src":"1089:15:65","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":47809,"mutability":"mutable","name":"_tipStateHash","nameLocation":"1134:13:65","nodeType":"VariableDeclaration","scope":47827,"src":"1126:21:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47808,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1126:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1088:60:65"},"returnParameters":{"id":47811,"nodeType":"ParameterList","parameters":[],"src":"1149:0:65"},"scope":47946,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":47840,"nodeType":"FunctionDefinition","src":"1361:135:65","nodes":[],"body":{"id":47839,"nodeType":"Block","src":"1420:76:65","nodes":[],"statements":[{"expression":{"baseExpression":{"id":47833,"name":"chainStateHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47796,"src":"1437:16:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"id":47837,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":47834,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"1454:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1487:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1454:34:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1437:52:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":47832,"id":47838,"nodeType":"Return","src":"1430:59:65"}]},"documentation":{"id":47828,"nodeType":"StructuredDocumentation","src":"1307:49:65","text":"@notice Returns the last verified state hash."},"functionSelector":"b8184745","implemented":true,"kind":"function","modifiers":[],"name":"getTipStateHash","nameLocation":"1370:15:65","parameters":{"id":47829,"nodeType":"ParameterList","parameters":[],"src":"1385:2:65"},"returnParameters":{"id":47832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47840,"src":"1411:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1411:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1410:9:65"},"scope":47946,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47853,"nodeType":"FunctionDefinition","src":"1557:137:65","nodes":[],"body":{"id":47852,"nodeType":"Block","src":"1617:77:65","nodes":[],"statements":[{"expression":{"baseExpression":{"id":47846,"name":"chainLedgerHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47801,"src":"1634:17:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"id":47850,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":47847,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"1652:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1685:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1652:34:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1634:53:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":47845,"id":47851,"nodeType":"Return","src":"1627:60:65"}]},"documentation":{"id":47841,"nodeType":"StructuredDocumentation","src":"1502:50:65","text":"@notice Returns the last verified ledger hash."},"functionSelector":"3886c09b","implemented":true,"kind":"function","modifiers":[],"name":"getTipLedgerHash","nameLocation":"1566:16:65","parameters":{"id":47842,"nodeType":"ParameterList","parameters":[],"src":"1582:2:65"},"returnParameters":{"id":47845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47844,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47853,"src":"1608:7:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47843,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1608:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1607:9:65"},"scope":47946,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47864,"nodeType":"FunctionDefinition","src":"1764:142:65","nodes":[],"body":{"id":47863,"nodeType":"Block","src":"1866:40:65","nodes":[],"statements":[{"expression":{"id":47861,"name":"chainStateHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47796,"src":"1883:16:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"functionReturnParameters":47860,"id":47862,"nodeType":"Return","src":"1876:23:65"}]},"documentation":{"id":47854,"nodeType":"StructuredDocumentation","src":"1700:59:65","text":"@notice Returns the latest verified chain state hashes."},"functionSelector":"03f93e50","implemented":true,"kind":"function","modifiers":[],"name":"getChainStateHashes","nameLocation":"1773:19:65","parameters":{"id":47855,"nodeType":"ParameterList","parameters":[],"src":"1792:2:65"},"returnParameters":{"id":47860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47859,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47864,"src":"1818:46:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_memory_ptr","typeString":"bytes32[16]"},"typeName":{"baseType":{"id":47856,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1818:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47858,"length":{"id":47857,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"1826:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"ArrayTypeName","src":"1818:39:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage_ptr","typeString":"bytes32[16]"}},"visibility":"internal"}],"src":"1817:48:65"},"scope":47946,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47875,"nodeType":"FunctionDefinition","src":"1977:144:65","nodes":[],"body":{"id":47874,"nodeType":"Block","src":"2080:41:65","nodes":[],"statements":[{"expression":{"id":47872,"name":"chainLedgerHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47801,"src":"2097:17:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"functionReturnParameters":47871,"id":47873,"nodeType":"Return","src":"2090:24:65"}]},"documentation":{"id":47865,"nodeType":"StructuredDocumentation","src":"1912:60:65","text":"@notice Returns the latest verified chain ledger hashes."},"functionSelector":"2bc4f8d9","implemented":true,"kind":"function","modifiers":[],"name":"getChainLedgerHashes","nameLocation":"1986:20:65","parameters":{"id":47866,"nodeType":"ParameterList","parameters":[],"src":"2006:2:65"},"returnParameters":{"id":47871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47870,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":47875,"src":"2032:46:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_memory_ptr","typeString":"bytes32[16]"},"typeName":{"baseType":{"id":47867,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2032:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":47869,"length":{"id":47868,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"2040:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"ArrayTypeName","src":"2032:39:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage_ptr","typeString":"bytes32[16]"}},"visibility":"internal"}],"src":"2031:48:65"},"scope":47946,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47945,"nodeType":"FunctionDefinition","src":"2127:2346:65","nodes":[],"body":{"id":47944,"nodeType":"Block","src":"2461:2012:65","nodes":[],"statements":[{"assignments":[47895],"declarations":[{"constant":false,"id":47895,"mutability":"mutable","name":"pubInputBridgeTipStateHash","nameLocation":"2479:26:65","nodeType":"VariableDeclaration","scope":47944,"src":"2471:34:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47894,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2471:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":47896,"nodeType":"VariableDeclarationStatement","src":"2471:34:65"},{"AST":{"nodeType":"YulBlock","src":"2524:80:65","statements":[{"nodeType":"YulAssignment","src":"2538:56:65","value":{"arguments":[{"arguments":[{"name":"pubInput","nodeType":"YulIdentifier","src":"2578:8:65"},{"kind":"number","nodeType":"YulLiteral","src":"2588:4:65","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2574:3:65"},"nodeType":"YulFunctionCall","src":"2574:19:65"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2568:5:65"},"nodeType":"YulFunctionCall","src":"2568:26:65"},"variableNames":[{"name":"pubInputBridgeTipStateHash","nodeType":"YulIdentifier","src":"2538:26:65"}]}]},"evmVersion":"london","externalReferences":[{"declaration":47889,"isOffset":false,"isSlot":false,"src":"2578:8:65","valueSize":1},{"declaration":47895,"isOffset":false,"isSlot":false,"src":"2538:26:65","valueSize":1}],"id":47897,"nodeType":"InlineAssembly","src":"2515:89:65"},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":47904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":47898,"name":"pubInputBridgeTipStateHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47895,"src":"2618:26:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":47899,"name":"chainStateHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47796,"src":"2648:16:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"id":47903,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":47900,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"2665:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2698:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2665:34:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2648:52:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2618:82:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":47915,"nodeType":"IfStatement","src":"2614:217:65","trueBody":{"id":47914,"nodeType":"Block","src":"2702:129:65","statements":[{"errorCall":{"arguments":[{"id":47906,"name":"pubInputBridgeTipStateHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47895,"src":"2739:26:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"baseExpression":{"id":47907,"name":"chainStateHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47796,"src":"2767:16:65","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$16_storage","typeString":"bytes32[16] storage ref"}},"id":47911,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":47910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":47908,"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47791,"src":"2784:30:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":47909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2817:1:65","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2784:34:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2767:52:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":47905,"name":"TipStateIsWrong","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47782,"src":"2723:15:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32) pure"}},"id":47912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2723:97:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47913,"nodeType":"RevertStatement","src":"2716:104:65"}]}},{"assignments":[47917],"declarations":[{"constant":false,"id":47917,"mutability":"mutable","name":"pubInputCommitment","nameLocation":"2849:18:65","nodeType":"VariableDeclaration","scope":47944,"src":"2841:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2841:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":47921,"initialValue":{"arguments":[{"id":47919,"name":"pubInput","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47889,"src":"2880:8:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47918,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2870:9:65","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":47920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2870:19:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2841:48:65"},{"assignments":[47923],"declarations":[{"constant":false,"id":47923,"mutability":"mutable","name":"isNewStateVerified","nameLocation":"2905:18:65","nodeType":"VariableDeclaration","scope":47944,"src":"2900:23:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47922,"name":"bool","nodeType":"ElementaryTypeName","src":"2900:4:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":47935,"initialValue":{"arguments":[{"id":47926,"name":"proofCommitment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47877,"src":"2968:15:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":47927,"name":"pubInputCommitment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47917,"src":"2997:18:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":47928,"name":"provingSystemAuxDataCommitment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47879,"src":"3029:30:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":47929,"name":"proofGeneratorAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47881,"src":"3073:18:65","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},{"id":47930,"name":"batchMerkleRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47883,"src":"3105:15:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":47931,"name":"merkleProof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47885,"src":"3134:11:65","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":47932,"name":"verificationDataBatchIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47887,"src":"3159:26:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47933,"name":"batcherPaymentService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47891,"src":"3199:21:65","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes20","typeString":"bytes20"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47924,"name":"aligned","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47805,"src":"2926:7:65","typeDescriptions":{"typeIdentifier":"t_contract$_AlignedLayerServiceManager_$8505","typeString":"contract AlignedLayerServiceManager"}},"id":47925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"verifyBatchInclusion","nodeType":"MemberAccess","referencedDeclaration":8455,"src":"2926:28:65","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_bytes20_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,bytes32,bytes32,bytes20,bytes32,bytes memory,uint256,address) view external returns (bool)"}},"id":47934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2926:304:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"2900:330:65"},{"condition":{"id":47936,"name":"isNewStateVerified","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47923,"src":"3245:18:65","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":47942,"nodeType":"Block","src":"4415:52:65","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":47939,"name":"NewStateIsNotValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47776,"src":"4436:18:65","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":47940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4436:20:65","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47941,"nodeType":"RevertStatement","src":"4429:27:65"}]},"id":47943,"nodeType":"IfStatement","src":"3241:1226:65","trueBody":{"id":47938,"nodeType":"Block","src":"3265:1144:65","statements":[{"AST":{"nodeType":"YulBlock","src":"3346:1053:65","statements":[{"nodeType":"YulVariableDeclaration","src":"3364:40:65","value":{"name":"chainStateHashes.slot","nodeType":"YulIdentifier","src":"3383:21:65"},"variables":[{"name":"slot_states","nodeType":"YulTypedName","src":"3368:11:65","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3421:42:65","value":{"name":"chainLedgerHashes.slot","nodeType":"YulIdentifier","src":"3441:22:65"},"variables":[{"name":"slot_ledgers","nodeType":"YulTypedName","src":"3425:12:65","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3698:36:65","value":{"arguments":[{"name":"pubInput","nodeType":"YulIdentifier","src":"3721:8:65"},{"kind":"number","nodeType":"YulLiteral","src":"3731:2:65","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3717:3:65"},"nodeType":"YulFunctionCall","src":"3717:17:65"},"variables":[{"name":"addr_states","nodeType":"YulTypedName","src":"3702:11:65","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3846:77:65","value":{"arguments":[{"name":"addr_states","nodeType":"YulIdentifier","src":"3870:11:65"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3887:2:65","type":"","value":"32"},{"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"YulIdentifier","src":"3891:30:65"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"3883:3:65"},"nodeType":"YulFunctionCall","src":"3883:39:65"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3866:3:65"},"nodeType":"YulFunctionCall","src":"3866:57:65"},"variables":[{"name":"addr_ledgers","nodeType":"YulTypedName","src":"3850:12:65","type":""}]},{"body":{"nodeType":"YulBlock","src":"4017:368:65","statements":[{"expression":{"arguments":[{"name":"slot_states","nodeType":"YulIdentifier","src":"4046:11:65"},{"arguments":[{"name":"addr_states","nodeType":"YulIdentifier","src":"4065:11:65"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4059:5:65"},"nodeType":"YulFunctionCall","src":"4059:18:65"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"4039:6:65"},"nodeType":"YulFunctionCall","src":"4039:39:65"},"nodeType":"YulExpressionStatement","src":"4039:39:65"},{"nodeType":"YulAssignment","src":"4099:35:65","value":{"arguments":[{"name":"addr_states","nodeType":"YulIdentifier","src":"4118:11:65"},{"kind":"number","nodeType":"YulLiteral","src":"4131:2:65","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4114:3:65"},"nodeType":"YulFunctionCall","src":"4114:20:65"},"variableNames":[{"name":"addr_states","nodeType":"YulIdentifier","src":"4099:11:65"}]},{"nodeType":"YulAssignment","src":"4155:34:65","value":{"arguments":[{"name":"slot_states","nodeType":"YulIdentifier","src":"4174:11:65"},{"kind":"number","nodeType":"YulLiteral","src":"4187:1:65","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4170:3:65"},"nodeType":"YulFunctionCall","src":"4170:19:65"},"variableNames":[{"name":"slot_states","nodeType":"YulIdentifier","src":"4155:11:65"}]},{"expression":{"arguments":[{"name":"slot_ledgers","nodeType":"YulIdentifier","src":"4218:12:65"},{"arguments":[{"name":"addr_ledgers","nodeType":"YulIdentifier","src":"4238:12:65"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4232:5:65"},"nodeType":"YulFunctionCall","src":"4232:19:65"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"4211:6:65"},"nodeType":"YulFunctionCall","src":"4211:41:65"},"nodeType":"YulExpressionStatement","src":"4211:41:65"},{"nodeType":"YulAssignment","src":"4273:37:65","value":{"arguments":[{"name":"addr_ledgers","nodeType":"YulIdentifier","src":"4293:12:65"},{"kind":"number","nodeType":"YulLiteral","src":"4307:2:65","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4289:3:65"},"nodeType":"YulFunctionCall","src":"4289:21:65"},"variableNames":[{"name":"addr_ledgers","nodeType":"YulIdentifier","src":"4273:12:65"}]},{"nodeType":"YulAssignment","src":"4331:36:65","value":{"arguments":[{"name":"slot_ledgers","nodeType":"YulIdentifier","src":"4351:12:65"},{"kind":"number","nodeType":"YulLiteral","src":"4365:1:65","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4347:3:65"},"nodeType":"YulFunctionCall","src":"4347:20:65"},"variableNames":[{"name":"slot_ledgers","nodeType":"YulIdentifier","src":"4331:12:65"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"3963:1:65"},{"name":"BRIDGE_TRANSITION_FRONTIER_LEN","nodeType":"YulIdentifier","src":"3966:30:65"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3960:2:65"},"nodeType":"YulFunctionCall","src":"3960:37:65"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"3998:18:65","statements":[{"nodeType":"YulAssignment","src":"4000:14:65","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"4009:1:65"},{"kind":"number","nodeType":"YulLiteral","src":"4012:1:65","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4005:3:65"},"nodeType":"YulFunctionCall","src":"4005:9:65"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"4000:1:65"}]}]},"pre":{"nodeType":"YulBlock","src":"3945:14:65","statements":[{"nodeType":"YulVariableDeclaration","src":"3947:10:65","value":{"kind":"number","nodeType":"YulLiteral","src":"3956:1:65","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"3951:1:65","type":""}]}]},"src":"3941:444:65"}]},"evmVersion":"london","externalReferences":[{"declaration":47791,"isOffset":false,"isSlot":false,"src":"3891:30:65","valueSize":1},{"declaration":47791,"isOffset":false,"isSlot":false,"src":"3966:30:65","valueSize":1},{"declaration":47801,"isOffset":false,"isSlot":true,"src":"3441:22:65","suffix":"slot","valueSize":1},{"declaration":47796,"isOffset":false,"isSlot":true,"src":"3383:21:65","suffix":"slot","valueSize":1},{"declaration":47889,"isOffset":false,"isSlot":false,"src":"3721:8:65","valueSize":1}],"id":47937,"nodeType":"InlineAssembly","src":"3337:1062:65"}]}}]},"functionSelector":"37baff0f","implemented":true,"kind":"function","modifiers":[],"name":"updateChain","nameLocation":"2136:11:65","parameters":{"id":47892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47877,"mutability":"mutable","name":"proofCommitment","nameLocation":"2165:15:65","nodeType":"VariableDeclaration","scope":47945,"src":"2157:23:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2157:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47879,"mutability":"mutable","name":"provingSystemAuxDataCommitment","nameLocation":"2198:30:65","nodeType":"VariableDeclaration","scope":47945,"src":"2190:38:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2190:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47881,"mutability":"mutable","name":"proofGeneratorAddr","nameLocation":"2246:18:65","nodeType":"VariableDeclaration","scope":47945,"src":"2238:26:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":47880,"name":"bytes20","nodeType":"ElementaryTypeName","src":"2238:7:65","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"},{"constant":false,"id":47883,"mutability":"mutable","name":"batchMerkleRoot","nameLocation":"2282:15:65","nodeType":"VariableDeclaration","scope":47945,"src":"2274:23:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":47882,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2274:7:65","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":47885,"mutability":"mutable","name":"merkleProof","nameLocation":"2320:11:65","nodeType":"VariableDeclaration","scope":47945,"src":"2307:24:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47884,"name":"bytes","nodeType":"ElementaryTypeName","src":"2307:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47887,"mutability":"mutable","name":"verificationDataBatchIndex","nameLocation":"2349:26:65","nodeType":"VariableDeclaration","scope":47945,"src":"2341:34:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47886,"name":"uint256","nodeType":"ElementaryTypeName","src":"2341:7:65","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47889,"mutability":"mutable","name":"pubInput","nameLocation":"2398:8:65","nodeType":"VariableDeclaration","scope":47945,"src":"2385:21:65","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47888,"name":"bytes","nodeType":"ElementaryTypeName","src":"2385:5:65","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":47891,"mutability":"mutable","name":"batcherPaymentService","nameLocation":"2424:21:65","nodeType":"VariableDeclaration","scope":47945,"src":"2416:29:65","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47890,"name":"address","nodeType":"ElementaryTypeName","src":"2416:7:65","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2147:304:65"},"returnParameters":{"id":47893,"nodeType":"ParameterList","parameters":[],"src":"2461:0:65"},"scope":47946,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"MinaBridge","contractDependencies":[],"contractKind":"contract","documentation":{"id":47787,"nodeType":"StructuredDocumentation","src":"316:53:65","text":"@title Mina to Ethereum Bridge's smart contract."},"fullyImplemented":true,"linearizedBaseContracts":[47946],"name":"MinaBridge","nameLocation":"378:10:65","scope":47947,"usedErrors":[47776,47782]}],"license":"UNLICENSED"},"id":65} \ No newline at end of file diff --git a/core/src/smart_contract_utility.rs b/core/src/smart_contract_utility.rs index c4663f56..359d8edd 100644 --- a/core/src/smart_contract_utility.rs +++ b/core/src/smart_contract_utility.rs @@ -16,8 +16,9 @@ use crate::{ proof::{account_proof::MinaAccountPubInputs, state_proof::MinaStatePubInputs}, sol::serialization::SolSerialize, utils::constants::{ - ANVIL_CHAIN_ID, BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_DEVNET_ETH_ADDR, - BRIDGE_HOLESKY_ETH_ADDR, BRIDGE_TRANSITION_FRONTIER_LEN, HOLESKY_CHAIN_ID, + ANVIL_CHAIN_ID, BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR, + BRIDGE_DEVNET_ETH_ADDR, BRIDGE_HOLESKY_ETH_ADDR, BRIDGE_TRANSITION_FRONTIER_LEN, + HOLESKY_CHAIN_ID, }, }; @@ -267,6 +268,7 @@ pub async fn validate_account( ) -> Result { let bridge_eth_addr = Address::from_str(match chain { Chain::Devnet => BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, + Chain::Holesky => BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR, _ => { error!("Unimplemented Ethereum contract on selected chain"); unimplemented!() diff --git a/core/src/utils/constants.rs b/core/src/utils/constants.rs index ab71122a..9bb16134 100644 --- a/core/src/utils/constants.rs +++ b/core/src/utils/constants.rs @@ -18,11 +18,12 @@ pub const MINA_HASH_SIZE: usize = 32; // Bridge related constants pub const BRIDGE_DEVNET_ETH_ADDR: &str = "0x700b6A60ce7EaaEA56F065753d8dcB9653dbAD35"; -pub const BRIDGE_HOLESKY_ETH_ADDR: &str = "0x42c6AA216f895278BAcfbD01E3aae2B99d2e4673"; +pub const BRIDGE_HOLESKY_ETH_ADDR: &str = "0x8aED2F71774a98354091F8a885a19fA9C8659169"; pub const BRIDGE_TRANSITION_FRONTIER_LEN: usize = 16; pub const BRIDGE_ACCOUNT_DEVNET_ETH_ADDR: &str = "0xA15BB66138824a1c7167f5E85b957d04Dd34E468"; +pub const BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR: &str = "0x9Cbb0439EB42FBda982851068D52b1871F72Bea9"; // Aligned related constants pub const PROOF_GENERATOR_ADDR: &str = "0x66f9664f97F2b50F62D13eA064982f936dE76657"; pub const ALIGNED_SM_DEVNET_ETH_ADDR: &str = "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8"; -pub const ALIGNED_SM_HOLESKY_ETH_ADDR: &str = "0x0584313310bD52B77CF0b81b350Ca447B97Df5DF"; +pub const ALIGNED_SM_HOLESKY_ETH_ADDR: &str = "0x8B744d6E01d13C868AB1cf69c8788D88C6058A92"; From 066a86dfcb12521f05d3b93938c2580bff5e3c28 Mon Sep 17 00:00:00 2001 From: gabrielbosio Date: Fri, 20 Sep 2024 15:11:54 -0300 Subject: [PATCH 31/48] Update Aligned Foundry submodule --- contract/lib/aligned_layer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contract/lib/aligned_layer b/contract/lib/aligned_layer index 2c60d62a..39607b40 160000 --- a/contract/lib/aligned_layer +++ b/contract/lib/aligned_layer @@ -1 +1 @@ -Subproject commit 2c60d62a9373a0cfea43fdc92aeaad7dad61f5d7 +Subproject commit 39607b4054fe7916d15cd10790a9fe6f8ce3e581 From 83699285777adc90e0b5aacf3643b077309a1e87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 16:46:44 -0300 Subject: [PATCH 32/48] Add call to SudokuValidity, small fixes to contract --- example/app/abi/SudokuValidity.json | 2 +- example/app/src/main.rs | 71 +++++++++++++++++---- example/eth_contract/src/SudokuValidity.sol | 4 +- 3 files changed, 59 insertions(+), 18 deletions(-) diff --git a/example/app/abi/SudokuValidity.json b/example/app/abi/SudokuValidity.json index 231c09ee..08993fef 100644 --- a/example/app/abi/SudokuValidity.json +++ b/example/app/abi/SudokuValidity.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610de2380380610de283398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d1f806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103c6565b610089565b005b60006100996028600884866104a7565b6100a2916104d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101109190610501565b61013457604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60008383604051610146929190610525565b604051908190038120600154637a63e0fd60e11b83529092506001600160a01b03169063f4c7c1fa9061018b908d908d908d908d908d908d908d908d9060040161055e565b602060405180830381865afa1580156101a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cc9190610501565b6101e95760405163f281a18360e01b815260040160405180910390fd5b3660006101f985602881896104a7565b9092509050600061020c83830184610bc9565b61014081015151602001519091506102275742600255610240565b6040516351bc860760e11b815260040160405180910390fd5b50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102875761028761024f565b60405290565b6040516101c081016001600160401b03811182821017156102875761028761024f565b604051606081016001600160401b03811182821017156102875761028761024f565b60405161010081016001600160401b03811182821017156102875761028761024f565b60405160e081016001600160401b03811182821017156102875761028761024f565b60405161016081016001600160401b03811182821017156102875761028761024f565b600082601f83011261034b57600080fd5b81356001600160401b03808211156103655761036561024f565b604051601f8301601f19908116603f0116810190828211818310171561038d5761038d61024f565b816040528381528660208588010111156103a657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103e257600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040d57600080fd5b95506060890135945060808901356001600160401b038082111561043057600080fd5b61043c8c838d0161033a565b955060a08b0135945060c08b013591508082111561045957600080fd5b818b0191508b601f83011261046d57600080fd5b81358181111561047c57600080fd5b8c602082850101111561048e57600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104b757600080fd5b838611156104c457600080fd5b5050820193919092039150565b803560208310156104ea57600019602084900360031b1b165b92915050565b80151581146104fe57600080fd5b50565b60006020828403121561051357600080fd5b815161051e816104f0565b9392505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b818110156105b45788810183015185820161010001528201610597565b818111156105c757600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105f58183018688610535565b9c9b505050505050505050505050565b8035610610816104f0565b919050565b60006040828403121561062757600080fd5b61062f610265565b9050813581526020820135610643816104f0565b602082015292915050565b80356001600160401b038116811461061057600080fd5b803563ffffffff8116811461061057600080fd5b600060a0828403121561068b57600080fd5b60405160a081018181106001600160401b03821117156106ad576106ad61024f565b6040529050806106bc8361064e565b81526106ca60208401610665565b60208201526106db6040840161064e565b60408201526106ec60608401610665565b60608201526106fd6080840161064e565b60808201525092915050565b80356005811061061057600080fd5b60006101c0828403121561072b57600080fd5b61073361028d565b905061073e82610709565b815261074c60208301610709565b602082015261075d60408301610709565b604082015261076e60608301610709565b606082015261077f60808301610709565b608082015261079060a08301610709565b60a08201526107a160c08301610709565b60c08201526107b260e08301610665565b60e08201526101006107c5818401610709565b908201526101206107d7838201610709565b908201526101406107e9838201610709565b908201526101606107fb838201610709565b9082015261018061080d838201610709565b908201526101a061081f838201610709565b9082015292915050565b600082601f83011261083a57600080fd5b6040516101008082018281106001600160401b038211171561085e5761085e61024f565b6040528301818582111561087157600080fd5b845b8281101561088b578035825260209182019101610873565b509195945050505050565b80356003811061061057600080fd5b6000604082840312156108b757600080fd5b6108bf610265565b9050813581526020820135602082015292915050565b600082601f8301126108e657600080fd5b6040805160e081018181106001600160401b03821117156109095761090961024f565b8252806101c085018681111561091e57600080fd5b855b818110156109415761093288826108a5565b83526020909201918401610920565b50919695505050505050565b600082601f83011261095e57600080fd5b604080516101e081018181106001600160401b03821117156109825761098261024f565b8252806103c085018681111561099757600080fd5b855b81811015610941576109ab88826108a5565b83526020909201918401610999565b60008183036107408112156109ce57600080fd5b6109d66102b0565b91506109e183610896565b82526109ef60208401610896565b602083015261070080603f1983011215610a0857600080fd5b610a106102d2565b9150610a1f85604086016108d5565b8252610a2f85610200860161094d565b6020830152610a42856105c086016108a5565b6040830152610a558561060086016108a5565b6060830152610a688561064086016108a5565b6080830152610a7b8561068086016108a5565b60a0830152610a8e856106c086016108a5565b60c0830152610a9f858286016108a5565b60e083015250604082015292915050565b600082601f830112610ac157600080fd5b60405160a081018181106001600160401b0382111715610ae357610ae361024f565b6040528060a0840185811115610af857600080fd5b845b8181101561088b578035835260209283019201610afa565b60006109608284031215610b2557600080fd5b610b2d6102f5565b9050610b398383610829565b8152610b498361010084016109ba565b6020820152610b5b6108408301610665565b6040820152610b6e836108608401610ab0565b6060820152610b806109008301610665565b6080820152610b926109208301610605565b60a08201526109408201356001600160401b03811115610bb157600080fd5b610bbd8482850161033a565b60c08301525092915050565b600060208284031215610bdb57600080fd5b81356001600160401b0380821115610bf257600080fd5b908301906103c08286031215610c0757600080fd5b610c0f610317565b610c198684610615565b815260408301356020820152606083013582811115610c3757600080fd5b610c438782860161033a565b604083015250610c556080840161064e565b6060820152610c6660a08401610665565b608082015260c083013560a0820152610c828660e08501610615565b60c08201526101208084013560e0830152610140610ca288828701610679565b610100840152610cb6886101e08701610718565b828401526103a0850135915083821115610ccf57600080fd5b610cdb88838701610b12565b90830152509594505050505056fea2646970667358221220bd2135b44b39f4c8694eac4f6cabb621d4670d66f507293ebcc32265f7a168b664736f6c634300080c0033","sourceMap":"177:2745:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2745;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2745:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103c6565b610089565b005b60006100996028600884866104a7565b6100a2916104d1565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101109190610501565b61013457604051633b78a2f560e11b81526004810182905260240160405180910390fd5b60008383604051610146929190610525565b604051908190038120600154637a63e0fd60e11b83529092506001600160a01b03169063f4c7c1fa9061018b908d908d908d908d908d908d908d908d9060040161055e565b602060405180830381865afa1580156101a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cc9190610501565b6101e95760405163f281a18360e01b815260040160405180910390fd5b3660006101f985602881896104a7565b9092509050600061020c83830184610bc9565b61014081015151602001519091506102275742600255610240565b6040516351bc860760e11b815260040160405180910390fd5b50505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102875761028761024f565b60405290565b6040516101c081016001600160401b03811182821017156102875761028761024f565b604051606081016001600160401b03811182821017156102875761028761024f565b60405161010081016001600160401b03811182821017156102875761028761024f565b60405160e081016001600160401b03811182821017156102875761028761024f565b60405161016081016001600160401b03811182821017156102875761028761024f565b600082601f83011261034b57600080fd5b81356001600160401b03808211156103655761036561024f565b604051601f8301601f19908116603f0116810190828211818310171561038d5761038d61024f565b816040528381528660208588010111156103a657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103e257600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040d57600080fd5b95506060890135945060808901356001600160401b038082111561043057600080fd5b61043c8c838d0161033a565b955060a08b0135945060c08b013591508082111561045957600080fd5b818b0191508b601f83011261046d57600080fd5b81358181111561047c57600080fd5b8c602082850101111561048e57600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104b757600080fd5b838611156104c457600080fd5b5050820193919092039150565b803560208310156104ea57600019602084900360031b1b165b92915050565b80151581146104fe57600080fd5b50565b60006020828403121561051357600080fd5b815161051e816104f0565b9392505050565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b818110156105b45788810183015185820161010001528201610597565b818111156105c757600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105f58183018688610535565b9c9b505050505050505050505050565b8035610610816104f0565b919050565b60006040828403121561062757600080fd5b61062f610265565b9050813581526020820135610643816104f0565b602082015292915050565b80356001600160401b038116811461061057600080fd5b803563ffffffff8116811461061057600080fd5b600060a0828403121561068b57600080fd5b60405160a081018181106001600160401b03821117156106ad576106ad61024f565b6040529050806106bc8361064e565b81526106ca60208401610665565b60208201526106db6040840161064e565b60408201526106ec60608401610665565b60608201526106fd6080840161064e565b60808201525092915050565b80356005811061061057600080fd5b60006101c0828403121561072b57600080fd5b61073361028d565b905061073e82610709565b815261074c60208301610709565b602082015261075d60408301610709565b604082015261076e60608301610709565b606082015261077f60808301610709565b608082015261079060a08301610709565b60a08201526107a160c08301610709565b60c08201526107b260e08301610665565b60e08201526101006107c5818401610709565b908201526101206107d7838201610709565b908201526101406107e9838201610709565b908201526101606107fb838201610709565b9082015261018061080d838201610709565b908201526101a061081f838201610709565b9082015292915050565b600082601f83011261083a57600080fd5b6040516101008082018281106001600160401b038211171561085e5761085e61024f565b6040528301818582111561087157600080fd5b845b8281101561088b578035825260209182019101610873565b509195945050505050565b80356003811061061057600080fd5b6000604082840312156108b757600080fd5b6108bf610265565b9050813581526020820135602082015292915050565b600082601f8301126108e657600080fd5b6040805160e081018181106001600160401b03821117156109095761090961024f565b8252806101c085018681111561091e57600080fd5b855b818110156109415761093288826108a5565b83526020909201918401610920565b50919695505050505050565b600082601f83011261095e57600080fd5b604080516101e081018181106001600160401b03821117156109825761098261024f565b8252806103c085018681111561099757600080fd5b855b81811015610941576109ab88826108a5565b83526020909201918401610999565b60008183036107408112156109ce57600080fd5b6109d66102b0565b91506109e183610896565b82526109ef60208401610896565b602083015261070080603f1983011215610a0857600080fd5b610a106102d2565b9150610a1f85604086016108d5565b8252610a2f85610200860161094d565b6020830152610a42856105c086016108a5565b6040830152610a558561060086016108a5565b6060830152610a688561064086016108a5565b6080830152610a7b8561068086016108a5565b60a0830152610a8e856106c086016108a5565b60c0830152610a9f858286016108a5565b60e083015250604082015292915050565b600082601f830112610ac157600080fd5b60405160a081018181106001600160401b0382111715610ae357610ae361024f565b6040528060a0840185811115610af857600080fd5b845b8181101561088b578035835260209283019201610afa565b60006109608284031215610b2557600080fd5b610b2d6102f5565b9050610b398383610829565b8152610b498361010084016109ba565b6020820152610b5b6108408301610665565b6040820152610b6e836108608401610ab0565b6060820152610b806109008301610665565b6080820152610b926109208301610605565b60a08201526109408201356001600160401b03811115610bb157600080fd5b610bbd8482850161033a565b60c08301525092915050565b600060208284031215610bdb57600080fd5b81356001600160401b0380821115610bf257600080fd5b908301906103c08286031215610c0757600080fd5b610c0f610317565b610c198684610615565b815260408301356020820152606083013582811115610c3757600080fd5b610c438782860161033a565b604083015250610c556080840161064e565b6060820152610c6660a08401610665565b608082015260c083013560a0820152610c828660e08501610615565b60c08201526101208084013560e0830152610140610ca288828701610679565b610100840152610cb6886101e08701610718565b828401526103a0850135915083821115610ccf57600080fd5b610cdb88838701610b12565b90830152509594505050505056fea2646970667358221220bd2135b44b39f4c8694eac4f6cabb621d4670d66f507293ebcc32265f7a168b664736f6c634300080c0033","sourceMap":"177:2745:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1313:1607;;;;;;:::i;:::-;;:::i;:::-;;;1625:18;1654;1665:6;1663:1;1654:8;;:18;:::i;:::-;1646:27;;;:::i;:::-;1688:15;;:44;;-1:-1:-1;;;1688:44:42;;;;;160:25:43;;;1625:48:42;;-1:-1:-1;;;;;;1688:15:42;;:32;;133:18:43;;1688:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1683:108;;1755:25;;-1:-1:-1;;;1755:25:42;;;;;160::43;;;133:18;;1755:25:42;;;;;;;1683:108;1801:26;1840:8;;1830:19;;;;;;;:::i;:::-;;;;;;;;;1878:17;;-1:-1:-1;;;1878:296:42;;1830:19;;-1:-1:-1;;;;;;1878:17:42;;:33;;:296;;1929:15;;1962:30;;2010:18;;2046:15;;2079:11;;2108:26;;2152:8;;;;1878:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1860:378;;2206:21;;-1:-1:-1;;;2206:21:42;;;;;;;;;;;1860:378;2248:29;;2280:17;:8;2289:6;2280:8;;:17;:::i;:::-;2248:49;;-1:-1:-1;2248:49:42;-1:-1:-1;2307:44:42;2354:93;;;;2248:49;2354:93;:::i;:::-;2759:13;;;;:22;:25;;;:13;;-1:-1:-1;2755:159:42;;2834:15;2805:26;:44;2755:159;;;2887:16;;-1:-1:-1;;;2887:16:42;;;;;;;;;;;2755:159;1615:1305;;;;;1313:1607;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:257;400:4;394:11;;;432:17;;-1:-1:-1;;;;;464:34:43;;500:22;;;461:62;458:88;;;526:18;;:::i;:::-;562:4;555:24;328:257;:::o;590:255::-;662:2;656:9;704:6;692:19;;-1:-1:-1;;;;;726:34:43;;762:22;;;723:62;720:88;;;788:18;;:::i;850:253::-;922:2;916:9;964:4;952:17;;-1:-1:-1;;;;;984:34:43;;1020:22;;;981:62;978:88;;;1046:18;;:::i;1108:255::-;1180:2;1174:9;1222:6;1210:19;;-1:-1:-1;;;;;1244:34:43;;1280:22;;;1241:62;1238:88;;;1306:18;;:::i;1368:253::-;1440:2;1434:9;1482:4;1470:17;;-1:-1:-1;;;;;1502:34:43;;1538:22;;;1499:62;1496:88;;;1564:18;;:::i;1626:250::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:271::-;5194:6;5186;5181:3;5168:33;5150:3;5220:16;;5245:13;;;5220:16;5011:271;-1:-1:-1;5011:271:43:o;5287:266::-;5375:6;5370:3;5363:19;5427:6;5420:5;5413:4;5408:3;5404:14;5391:43;-1:-1:-1;5479:1:43;5454:16;;;5472:4;5450:27;;;5443:38;;;;5535:2;5514:15;;;-1:-1:-1;;5510:29:43;5501:39;;;5497:50;;5287:266::o;5558:1201::-;5901:6;5890:9;5883:25;5864:4;5927:2;5965:6;5960:2;5949:9;5945:18;5938:34;6024:26;6020:31;6012:6;6008:44;6003:2;5992:9;5988:18;5981:72;6089:6;6084:2;6073:9;6069:18;6062:34;6133:3;6127;6116:9;6112:19;6105:32;6166:6;6160:13;6210:6;6204:3;6193:9;6189:19;6182:35;6235:1;6245:141;6259:6;6256:1;6253:13;6245:141;;;6355:14;;;6351:23;;6345:30;6320:17;;;6339:3;6316:27;6309:67;6274:10;;6245:141;;;6404:6;6401:1;6398:13;6395:92;;;6475:1;6469:3;6460:6;6449:9;6445:22;6441:32;6434:43;6395:92;;6546:2;6542:7;6537:2;6529:6;6525:15;6521:29;6510:9;6506:45;6496:55;;;6570:3;6610:6;6604:3;6593:9;6589:19;6582:35;6678:2;6666:9;6662:2;6658:18;6654:27;6648:3;6637:9;6633:19;6626:56;6699:54;6749:2;6745;6741:11;6733:6;6725;6699:54;:::i;:::-;6691:62;5558:1201;-1:-1:-1;;;;;;;;;;;;5558:1201:43:o;6764:128::-;6829:20;;6858:28;6829:20;6858:28;:::i;:::-;6764:128;;;:::o;6897:362::-;6961:5;7009:4;6997:9;6992:3;6988:19;6984:30;6981:50;;;7027:1;7024;7017:12;6981:50;7049:22;;:::i;:::-;7040:31;;7107:9;7094:23;7087:5;7080:38;7170:2;7159:9;7155:18;7142:32;7183:30;7205:7;7183:30;:::i;:::-;7240:2;7229:14;;7222:31;7233:5;6897:362;-1:-1:-1;;6897:362:43:o;7264:171::-;7331:20;;-1:-1:-1;;;;;7380:30:43;;7370:41;;7360:69;;7425:1;7422;7415:12;7440:163;7507:20;;7567:10;7556:22;;7546:33;;7536:61;;7593:1;7590;7583:12;7608:696;7661:5;7709:4;7697:9;7692:3;7688:19;7684:30;7681:50;;;7727:1;7724;7717:12;7681:50;7760:2;7754:9;7802:4;7794:6;7790:17;7873:6;7861:10;7858:22;-1:-1:-1;;;;;7825:10:43;7822:34;7819:62;7816:88;;;7884:18;;:::i;:::-;7920:2;7913:22;7953:6;-1:-1:-1;7953:6:43;7983:28;8001:9;7983:28;:::i;:::-;7975:6;7968:44;8045:37;8078:2;8067:9;8063:18;8045:37;:::i;:::-;8040:2;8032:6;8028:15;8021:62;8116:37;8149:2;8138:9;8134:18;8116:37;:::i;:::-;8111:2;8103:6;8099:15;8092:62;8187:37;8220:2;8209:9;8205:18;8187:37;:::i;:::-;8182:2;8174:6;8170:15;8163:62;8259:38;8292:3;8281:9;8277:19;8259:38;:::i;:::-;8253:3;8245:6;8241:16;8234:64;;7608:696;;;;:::o;8309:153::-;8387:20;;8436:1;8426:12;;8416:40;;8452:1;8449;8442:12;8467:1421;8525:5;8573:6;8561:9;8556:3;8552:19;8548:32;8545:52;;;8593:1;8590;8583:12;8545:52;8615:22;;:::i;:::-;8606:31;;8660:39;8689:9;8660:39;:::i;:::-;8653:5;8646:54;8732:48;8776:2;8765:9;8761:18;8732:48;:::i;:::-;8727:2;8720:5;8716:14;8709:72;8813:48;8857:2;8846:9;8842:18;8813:48;:::i;:::-;8808:2;8801:5;8797:14;8790:72;8894:48;8938:2;8927:9;8923:18;8894:48;:::i;:::-;8889:2;8882:5;8878:14;8871:72;8976:49;9020:3;9009:9;9005:19;8976:49;:::i;:::-;8970:3;8963:5;8959:15;8952:74;9059:49;9103:3;9092:9;9088:19;9059:49;:::i;:::-;9053:3;9046:5;9042:15;9035:74;9142:49;9186:3;9175:9;9171:19;9142:49;:::i;:::-;9136:3;9129:5;9125:15;9118:74;9225:38;9258:3;9247:9;9243:19;9225:38;:::i;:::-;9219:3;9212:5;9208:15;9201:63;9283:3;9318:48;9362:2;9351:9;9347:18;9318:48;:::i;:::-;9302:14;;;9295:72;9386:3;9421:48;9450:18;;;9421:48;:::i;:::-;9405:14;;;9398:72;9489:3;9524:48;9553:18;;;9524:48;:::i;:::-;9508:14;;;9501:72;9592:3;9627:48;9656:18;;;9627:48;:::i;:::-;9611:14;;;9604:72;9695:3;9730:48;9759:18;;;9730:48;:::i;:::-;9714:14;;;9707:72;9798:3;9833:48;9862:18;;;9833:48;:::i;:::-;9817:14;;;9810:72;9821:5;8467:1421;-1:-1:-1;;8467:1421:43:o;9893:668::-;9943:5;9996:3;9989:4;9981:6;9977:17;9973:27;9963:55;;10014:1;10011;10004:12;9963:55;10047:2;10041:9;10069:3;10111:2;10103:6;10099:15;10180:6;10168:10;10165:22;-1:-1:-1;;;;;10132:10:43;10129:34;10126:62;10123:88;;;10191:18;;:::i;:::-;10227:2;10220:22;10291:15;;10262:6;10318:15;;;10315:35;;;10346:1;10343;10336:12;10315:35;10370:6;10385:146;10401:6;10396:3;10393:15;10385:146;;;10469:17;;10457:30;;10516:4;10507:14;;;;10418;10385:146;;;-1:-1:-1;10549:6:43;;9893:668;-1:-1:-1;;;;;9893:668:43:o;10566:155::-;10646:20;;10695:1;10685:12;;10675:40;;10711:1;10708;10701:12;10726:285;10783:5;10831:4;10819:9;10814:3;10810:19;10806:30;10803:50;;;10849:1;10846;10839:12;10803:50;10871:22;;:::i;:::-;10862:31;;10929:9;10916:23;10909:5;10902:38;11000:2;10989:9;10985:18;10972:32;10967:2;10960:5;10956:14;10949:56;10726:285;;;;:::o;11016:698::-;11076:5;11129:3;11122:4;11114:6;11110:17;11106:27;11096:55;;11147:1;11144;11137:12;11096:55;11170:2;11201;11195:9;11243:3;11235:6;11231:16;11313:6;11301:10;11298:22;-1:-1:-1;;;;;11265:10:43;11262:34;11259:62;11256:88;;;11324:18;;:::i;:::-;11353:22;;11395:6;11436:3;11424:16;;11452:15;;;11449:35;;;11480:1;11477;11470:12;11449:35;11504:6;11519:165;11535:6;11530:3;11527:15;11519:165;;;11601:38;11635:3;11630;11601:38;:::i;:::-;11589:51;;11669:4;11660:14;;;;11552:12;;11519:165;;;-1:-1:-1;11702:6:43;;11016:698;-1:-1:-1;;;;;;11016:698:43:o;11719:720::-;11801:5;11854:3;11847:4;11839:6;11835:17;11831:27;11821:55;;11872:1;11869;11862:12;11821:55;11895:2;11926;11920:9;11968:3;11960:6;11956:16;12038:6;12026:10;12023:22;-1:-1:-1;;;;;11990:10:43;11987:34;11984:62;11981:88;;;12049:18;;:::i;:::-;12078:22;;12120:6;12161:3;12149:16;;12177:15;;;12174:35;;;12205:1;12202;12195:12;12174:35;12229:6;12244:165;12260:6;12255:3;12252:15;12244:165;;;12326:38;12360:3;12355;12326:38;:::i;:::-;12314:51;;12394:4;12385:14;;;;12277:12;;12244:165;;12444:1264;12506:5;12545:9;12540:3;12536:19;12575:6;12571:2;12567:15;12564:35;;;12595:1;12592;12585:12;12564:35;12617:22;;:::i;:::-;12608:31;;12662:41;12693:9;12662:41;:::i;:::-;12655:5;12648:56;12736:50;12782:2;12771:9;12767:18;12736:50;:::i;:::-;12731:2;12724:5;12720:14;12713:74;12806:6;12846:2;12840;12836:7;12832:2;12828:16;12824:25;12821:45;;;12862:1;12859;12852:12;12821:45;12890:22;;:::i;:::-;12875:37;;12937:59;12992:3;12987:2;12976:9;12972:18;12937:59;:::i;:::-;12928:7;12921:76;13031:82;13109:3;13103;13092:9;13088:19;13031:82;:::i;:::-;13026:2;13017:7;13013:16;13006:108;13148:55;13199:3;13192:4;13181:9;13177:20;13148:55;:::i;:::-;13143:2;13134:7;13130:16;13123:81;13240:55;13291:3;13284:4;13273:9;13269:20;13240:55;:::i;:::-;13233:4;13224:7;13220:18;13213:83;13332:55;13383:3;13376:4;13365:9;13361:20;13332:55;:::i;:::-;13325:4;13316:7;13312:18;13305:83;13424:55;13475:3;13468:4;13457:9;13453:20;13424:55;:::i;:::-;13417:4;13408:7;13404:18;13397:83;13516:55;13567:3;13560:4;13549:9;13545:20;13516:55;:::i;:::-;13509:4;13500:7;13496:18;13489:83;13608:53;13657:3;13652:2;13641:9;13637:18;13608:53;:::i;:::-;13601:4;13588:18;;13581:81;-1:-1:-1;13689:2:43;13678:14;;13671:31;13682:5;12444:1264;-1:-1:-1;;12444:1264:43:o;13713:659::-;13774:5;13827:3;13820:4;13812:6;13808:17;13804:27;13794:55;;13845:1;13842;13835:12;13794:55;13878:2;13872:9;13920:3;13912:6;13908:16;13990:6;13978:10;13975:22;-1:-1:-1;;;;;13942:10:43;13939:34;13936:62;13933:88;;;14001:18;;:::i;:::-;14037:2;14030:22;14072:6;14113:3;14101:16;;14129:15;;;14126:35;;;14157:1;14154;14147:12;14126:35;14181:6;14196:146;14212:6;14207:3;14204:15;14196:146;;;14280:17;;14268:30;;14327:4;14318:14;;;;14229;14196:146;;14377:848;14436:5;14484:6;14472:9;14467:3;14463:19;14459:32;14456:52;;;14504:1;14501;14494:12;14456:52;14526:22;;:::i;:::-;14517:31;;14571:40;14607:3;14596:9;14571:40;:::i;:::-;14564:5;14557:55;14646:59;14701:3;14695;14684:9;14680:19;14646:59;:::i;:::-;14639:4;14632:5;14628:16;14621:85;14740:39;14773:4;14762:9;14758:20;14740:39;:::i;:::-;14733:4;14726:5;14722:16;14715:65;14814:62;14872:3;14865:4;14854:9;14850:20;14814:62;:::i;:::-;14807:4;14800:5;14796:16;14789:88;14911:39;14944:4;14933:9;14929:20;14911:39;:::i;:::-;14904:4;14897:5;14893:16;14886:65;14985:37;15016:4;15005:9;15001:20;14985:37;:::i;:::-;14978:4;14971:5;14967:16;14960:63;15074:4;15063:9;15059:20;15046:34;-1:-1:-1;;;;;15095:6:43;15092:30;15089:50;;;15135:1;15132;15125:12;15089:50;15173:45;15214:3;15205:6;15194:9;15190:22;15173:45;:::i;:::-;15166:4;15159:5;15155:16;15148:71;;14377:848;;;;:::o;15230:1493::-;15315:6;15368:2;15356:9;15347:7;15343:23;15339:32;15336:52;;;15384:1;15381;15374:12;15336:52;15424:9;15411:23;-1:-1:-1;;;;;15494:2:43;15486:6;15483:14;15480:34;;;15510:1;15507;15500:12;15480:34;15533:22;;;;15589:6;15571:16;;;15567:29;15564:49;;;15609:1;15606;15599:12;15564:49;15635:17;;:::i;:::-;15675:48;15715:7;15711:2;15675:48;:::i;:::-;15668:5;15661:63;15777:2;15773;15769:11;15756:25;15751:2;15744:5;15740:14;15733:49;15828:2;15824;15820:11;15807:25;15857:2;15847:8;15844:16;15841:36;;;15873:1;15870;15863:12;15841:36;15909:44;15945:7;15934:8;15930:2;15926:17;15909:44;:::i;:::-;15904:2;15897:5;15893:14;15886:68;;15986:31;16012:3;16008:2;16004:12;15986:31;:::i;:::-;15981:2;15974:5;15970:14;15963:55;16051:31;16077:3;16073:2;16069:12;16051:31;:::i;:::-;16045:3;16038:5;16034:15;16027:56;16137:3;16133:2;16129:12;16116:26;16110:3;16103:5;16099:15;16092:51;16176:58;16226:7;16220:3;16216:2;16212:12;16176:58;:::i;:::-;16170:3;16163:5;16159:15;16152:83;16254:3;16311:2;16307;16303:11;16290:25;16284:3;16277:5;16273:15;16266:50;16335:3;16374:46;16412:7;16407:2;16403;16399:11;16374:46;:::i;:::-;16365:6;16358:5;16354:18;16347:74;16453:52;16497:7;16491:3;16487:2;16483:12;16453:52;:::i;:::-;16448:2;16441:5;16437:14;16430:76;16552:3;16548:2;16544:12;16531:26;16515:42;;16582:2;16572:8;16569:16;16566:36;;;16598:1;16595;16588:12;16566:36;16634:58;16684:7;16673:8;16669:2;16665:17;16634:58;:::i;:::-;16618:14;;;16611:82;-1:-1:-1;16622:5:43;15230:1493;-1:-1:-1;;;;;15230:1493:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564\",\"dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0xe9e7ed7b4bed076f37d23c5846d3069c5a9f49f794bba984fa03ca399a4fbe46\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://1e01a9cedf1fffc65ada61076611d444dbebf5367dc83f918fc3016bd11380d6\",\"dweb:/ipfs/QmbwfqLsaVhMRSAQVK6j64MwwF1tcuSoE7d97cBVjqoHHH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"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"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e","urls":["bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564","dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0xe9e7ed7b4bed076f37d23c5846d3069c5a9f49f794bba984fa03ca399a4fbe46","urls":["bzz-raw://1e01a9cedf1fffc65ada61076611d444dbebf5367dc83f918fc3016bd11380d6","dweb:/ipfs/QmbwfqLsaVhMRSAQVK6j64MwwF1tcuSoE7d97cBVjqoHHH"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610db7380380610db783398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610cf4806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103ab565b610089565b005b6000610098602082848661048c565b6100a1916104b6565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010f91906104e6565b61013357604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610171908c908c908c908c908c908c908c908c90600401610533565b602060405180830381865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906104e6565b6101cf5760405163f281a18360e01b815260040160405180910390fd5b3660006101df846028818861048c565b909250905060006101f283830184610b9e565b610140810151516020015190915061020d5742600255610226565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561026c5761026c610234565b60405290565b6040516101c081016001600160401b038111828210171561026c5761026c610234565b604051606081016001600160401b038111828210171561026c5761026c610234565b60405161010081016001600160401b038111828210171561026c5761026c610234565b60405160e081016001600160401b038111828210171561026c5761026c610234565b60405161016081016001600160401b038111828210171561026c5761026c610234565b600082601f83011261033057600080fd5b81356001600160401b038082111561034a5761034a610234565b604051601f8301601f19908116603f0116810190828211818310171561037257610372610234565b8160405283815286602085880101111561038b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103c757600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146103f257600080fd5b95506060890135945060808901356001600160401b038082111561041557600080fd5b6104218c838d0161031f565b955060a08b0135945060c08b013591508082111561043e57600080fd5b818b0191508b601f83011261045257600080fd5b81358181111561046157600080fd5b8c602082850101111561047357600080fd5b6020830194508093505050509295985092959890939650565b6000808585111561049c57600080fd5b838611156104a957600080fd5b5050820193919092039150565b803560208310156104cf57600019602084900360031b1b165b92915050565b80151581146104e357600080fd5b50565b6000602082840312156104f857600080fd5b8151610503816104d5565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b81811015610589578881018301518582016101000152820161056c565b8181111561059c57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105ca818301868861050a565b9c9b505050505050505050505050565b80356105e5816104d5565b919050565b6000604082840312156105fc57600080fd5b61060461024a565b9050813581526020820135610618816104d5565b602082015292915050565b80356001600160401b03811681146105e557600080fd5b803563ffffffff811681146105e557600080fd5b600060a0828403121561066057600080fd5b60405160a081018181106001600160401b038211171561068257610682610234565b60405290508061069183610623565b815261069f6020840161063a565b60208201526106b060408401610623565b60408201526106c16060840161063a565b60608201526106d260808401610623565b60808201525092915050565b8035600581106105e557600080fd5b60006101c0828403121561070057600080fd5b610708610272565b9050610713826106de565b8152610721602083016106de565b6020820152610732604083016106de565b6040820152610743606083016106de565b6060820152610754608083016106de565b608082015261076560a083016106de565b60a082015261077660c083016106de565b60c082015261078760e0830161063a565b60e082015261010061079a8184016106de565b908201526101206107ac8382016106de565b908201526101406107be8382016106de565b908201526101606107d08382016106de565b908201526101806107e28382016106de565b908201526101a06107f48382016106de565b9082015292915050565b600082601f83011261080f57600080fd5b6040516101008082018281106001600160401b038211171561083357610833610234565b6040528301818582111561084657600080fd5b845b82811015610860578035825260209182019101610848565b509195945050505050565b8035600381106105e557600080fd5b60006040828403121561088c57600080fd5b61089461024a565b9050813581526020820135602082015292915050565b600082601f8301126108bb57600080fd5b6040805160e081018181106001600160401b03821117156108de576108de610234565b8252806101c08501868111156108f357600080fd5b855b8181101561091657610907888261087a565b835260209092019184016108f5565b50919695505050505050565b600082601f83011261093357600080fd5b604080516101e081018181106001600160401b038211171561095757610957610234565b8252806103c085018681111561096c57600080fd5b855b8181101561091657610980888261087a565b8352602090920191840161096e565b60008183036107408112156109a357600080fd5b6109ab610295565b91506109b68361086b565b82526109c46020840161086b565b602083015261070080603f19830112156109dd57600080fd5b6109e56102b7565b91506109f485604086016108aa565b8252610a04856102008601610922565b6020830152610a17856105c0860161087a565b6040830152610a2a85610600860161087a565b6060830152610a3d85610640860161087a565b6080830152610a5085610680860161087a565b60a0830152610a63856106c0860161087a565b60c0830152610a748582860161087a565b60e083015250604082015292915050565b600082601f830112610a9657600080fd5b60405160a081018181106001600160401b0382111715610ab857610ab8610234565b6040528060a0840185811115610acd57600080fd5b845b81811015610860578035835260209283019201610acf565b60006109608284031215610afa57600080fd5b610b026102da565b9050610b0e83836107fe565b8152610b1e83610100840161098f565b6020820152610b30610840830161063a565b6040820152610b43836108608401610a85565b6060820152610b55610900830161063a565b6080820152610b6761092083016105da565b60a08201526109408201356001600160401b03811115610b8657600080fd5b610b928482850161031f565b60c08301525092915050565b600060208284031215610bb057600080fd5b81356001600160401b0380821115610bc757600080fd5b908301906103c08286031215610bdc57600080fd5b610be46102fc565b610bee86846105ea565b815260408301356020820152606083013582811115610c0c57600080fd5b610c188782860161031f565b604083015250610c2a60808401610623565b6060820152610c3b60a0840161063a565b608082015260c083013560a0820152610c578660e085016105ea565b60c08201526101208084013560e0830152610140610c778882870161064e565b610100840152610c8b886101e087016106ed565b828401526103a0850135915083821115610ca457600080fd5b610cb088838701610ae7565b90830152509594505050505056fea2646970667358221220f4a231719ef27d497bca56ce9f960dc7d783338eceb5c2fb2d3dd683c64d5cd064736f6c634300080c0033","sourceMap":"177:2681:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2681;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2681:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103ab565b610089565b005b6000610098602082848661048c565b6100a1916104b6565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010f91906104e6565b61013357604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610171908c908c908c908c908c908c908c908c90600401610533565b602060405180830381865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906104e6565b6101cf5760405163f281a18360e01b815260040160405180910390fd5b3660006101df846028818861048c565b909250905060006101f283830184610b9e565b610140810151516020015190915061020d5742600255610226565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561026c5761026c610234565b60405290565b6040516101c081016001600160401b038111828210171561026c5761026c610234565b604051606081016001600160401b038111828210171561026c5761026c610234565b60405161010081016001600160401b038111828210171561026c5761026c610234565b60405160e081016001600160401b038111828210171561026c5761026c610234565b60405161016081016001600160401b038111828210171561026c5761026c610234565b600082601f83011261033057600080fd5b81356001600160401b038082111561034a5761034a610234565b604051601f8301601f19908116603f0116810190828211818310171561037257610372610234565b8160405283815286602085880101111561038b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103c757600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146103f257600080fd5b95506060890135945060808901356001600160401b038082111561041557600080fd5b6104218c838d0161031f565b955060a08b0135945060c08b013591508082111561043e57600080fd5b818b0191508b601f83011261045257600080fd5b81358181111561046157600080fd5b8c602082850101111561047357600080fd5b6020830194508093505050509295985092959890939650565b6000808585111561049c57600080fd5b838611156104a957600080fd5b5050820193919092039150565b803560208310156104cf57600019602084900360031b1b165b92915050565b80151581146104e357600080fd5b50565b6000602082840312156104f857600080fd5b8151610503816104d5565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b81811015610589578881018301518582016101000152820161056c565b8181111561059c57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105ca818301868861050a565b9c9b505050505050505050505050565b80356105e5816104d5565b919050565b6000604082840312156105fc57600080fd5b61060461024a565b9050813581526020820135610618816104d5565b602082015292915050565b80356001600160401b03811681146105e557600080fd5b803563ffffffff811681146105e557600080fd5b600060a0828403121561066057600080fd5b60405160a081018181106001600160401b038211171561068257610682610234565b60405290508061069183610623565b815261069f6020840161063a565b60208201526106b060408401610623565b60408201526106c16060840161063a565b60608201526106d260808401610623565b60808201525092915050565b8035600581106105e557600080fd5b60006101c0828403121561070057600080fd5b610708610272565b9050610713826106de565b8152610721602083016106de565b6020820152610732604083016106de565b6040820152610743606083016106de565b6060820152610754608083016106de565b608082015261076560a083016106de565b60a082015261077660c083016106de565b60c082015261078760e0830161063a565b60e082015261010061079a8184016106de565b908201526101206107ac8382016106de565b908201526101406107be8382016106de565b908201526101606107d08382016106de565b908201526101806107e28382016106de565b908201526101a06107f48382016106de565b9082015292915050565b600082601f83011261080f57600080fd5b6040516101008082018281106001600160401b038211171561083357610833610234565b6040528301818582111561084657600080fd5b845b82811015610860578035825260209182019101610848565b509195945050505050565b8035600381106105e557600080fd5b60006040828403121561088c57600080fd5b61089461024a565b9050813581526020820135602082015292915050565b600082601f8301126108bb57600080fd5b6040805160e081018181106001600160401b03821117156108de576108de610234565b8252806101c08501868111156108f357600080fd5b855b8181101561091657610907888261087a565b835260209092019184016108f5565b50919695505050505050565b600082601f83011261093357600080fd5b604080516101e081018181106001600160401b038211171561095757610957610234565b8252806103c085018681111561096c57600080fd5b855b8181101561091657610980888261087a565b8352602090920191840161096e565b60008183036107408112156109a357600080fd5b6109ab610295565b91506109b68361086b565b82526109c46020840161086b565b602083015261070080603f19830112156109dd57600080fd5b6109e56102b7565b91506109f485604086016108aa565b8252610a04856102008601610922565b6020830152610a17856105c0860161087a565b6040830152610a2a85610600860161087a565b6060830152610a3d85610640860161087a565b6080830152610a5085610680860161087a565b60a0830152610a63856106c0860161087a565b60c0830152610a748582860161087a565b60e083015250604082015292915050565b600082601f830112610a9657600080fd5b60405160a081018181106001600160401b0382111715610ab857610ab8610234565b6040528060a0840185811115610acd57600080fd5b845b81811015610860578035835260209283019201610acf565b60006109608284031215610afa57600080fd5b610b026102da565b9050610b0e83836107fe565b8152610b1e83610100840161098f565b6020820152610b30610840830161063a565b6040820152610b43836108608401610a85565b6060820152610b55610900830161063a565b6080820152610b6761092083016105da565b60a08201526109408201356001600160401b03811115610b8657600080fd5b610b928482850161031f565b60c08301525092915050565b600060208284031215610bb057600080fd5b81356001600160401b0380821115610bc757600080fd5b908301906103c08286031215610bdc57600080fd5b610be46102fc565b610bee86846105ea565b815260408301356020820152606083013582811115610c0c57600080fd5b610c188782860161031f565b604083015250610c2a60808401610623565b6060820152610c3b60a0840161063a565b608082015260c083013560a0820152610c578660e085016105ea565b60c08201526101208084013560e0830152610140610c778882870161064e565b610100840152610c8b886101e087016106ed565b828401526103a0850135915083821115610ca457600080fd5b610cb088838701610ae7565b90830152509594505050505056fea2646970667358221220f4a231719ef27d497bca56ce9f960dc7d783338eceb5c2fb2d3dd683c64d5cd064736f6c634300080c0033","sourceMap":"177:2681:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1313:1543;;;;;;:::i;:::-;;:::i;:::-;;;1625:18;1654:13;1664:2;1625:18;1654:8;;:13;:::i;:::-;1646:22;;;:::i;:::-;1683:15;;:44;;-1:-1:-1;;;1683:44:42;;;;;160:25:43;;;1625:43:42;;-1:-1:-1;;;;;;1683:15:42;;:32;;133:18:43;;1683:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1678:108;;1750:25;;-1:-1:-1;;;1750:25:42;;;;;160::43;;;133:18;;1750:25:42;;;;;;;1678:108;1814:17;;:296;;-1:-1:-1;;;1814:296:42;;-1:-1:-1;;;;;1814:17:42;;;;:33;;:296;;1865:15;;1898:30;;1946:18;;1982:15;;2015:11;;2044:26;;2088:8;;;;1814:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1796:378;;2142:21;;-1:-1:-1;;;2142:21:42;;;;;;;;;;;1796:378;2184:29;;2216:17;:8;2225:6;2216:8;;:17;:::i;:::-;2184:49;;-1:-1:-1;2184:49:42;-1:-1:-1;2243:44:42;2290:93;;;;2184:49;2290:93;:::i;:::-;2695:13;;;;:22;:25;;;:13;;-1:-1:-1;2691:159:42;;2770:15;2741:26;:44;2691:159;;;2823:16;;-1:-1:-1;;;2823:16:42;;;;;;;;;;;2691:159;1615:1241;;;;1313:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564\",\"dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x397815d85ebc75fc8813598d6f0a686813ba0d70bee687b13fc291b006b68df7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://678a7e5e5eaafea9bd13c5b5fb7a394b589b0cbd9607036c2fd02a42b179173a\",\"dweb:/ipfs/QmadGyDSq2bs12XNJZ6yXRi2Et1iuF9Y3DVymbfisRxuhy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"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"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e","urls":["bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564","dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x397815d85ebc75fc8813598d6f0a686813ba0d70bee687b13fc291b006b68df7","urls":["bzz-raw://678a7e5e5eaafea9bd13c5b5fb7a394b589b0cbd9607036c2fd02a42b179173a","dweb:/ipfs/QmadGyDSq2bs12XNJZ6yXRi2Et1iuF9Y3DVymbfisRxuhy"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file diff --git a/example/app/src/main.rs b/example/app/src/main.rs index 5f4165cf..d9b8a7fb 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -1,9 +1,16 @@ use aligned_sdk::core::types::Chain; -use alloy::{primitives::Address, providers::ProviderBuilder, sol_types::sol}; +use alloy::{ + primitives::{Address, U256}, + providers::ProviderBuilder, + sol_types::sol, +}; use clap::{Parser, Subcommand}; -use log::{error, info}; +use log::{debug, error, info}; use mina_bridge_core::{ - sdk::{get_bridged_chain_tip_state_hash, update_bridge_chain, validate_account}, + sdk::{ + get_bridged_chain_tip_state_hash, update_bridge_chain, validate_account, + AccountVerificationData, + }, utils::{ constants::{ BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_DEVNET_ETH_ADDR, BRIDGE_HOLESKY_ETH_ADDR, @@ -15,6 +22,7 @@ use mina_bridge_core::{ use std::{process, str::FromStr}; const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; +const SUDOKU_VALIDITY_ADDRESS: &str = "0xb19b36b1456E65E3A6D514D3F715f204BD59f431"; sol!( #[allow(clippy::too_many_arguments)] @@ -67,17 +75,17 @@ async fn main() { process::exit(1); }); + let provider = ProviderBuilder::new() + .with_recommended_fillers() + .wallet(wallet_alloy) + .on_http( + reqwest::Url::parse(ð_rpc_url) + .map_err(|err| err.to_string()) + .unwrap(), + ); + match cli.command { Command::DeployContract => { - let provider = ProviderBuilder::new() - .with_recommended_fillers() - .wallet(wallet_alloy) - .on_http( - reqwest::Url::parse(ð_rpc_url) - .map_err(|err| err.to_string()) - .unwrap(), - ); - // 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 = match chain { @@ -151,7 +159,15 @@ async fn main() { process::exit(1); }); - validate_account( + let AccountVerificationData { + proof_commitment, + proving_system_aux_data_commitment, + proof_generator_addr, + batch_merkle_root, + merkle_proof, + verification_data_batch_index, + pub_input, + } = validate_account( MINA_ZKAPP_ADDRESS, &tip_state_hash, &rpc_url, @@ -161,13 +177,40 @@ async fn main() { ð_rpc_url, &proof_generator_addr, wallet, - false, + true, ) .await .unwrap_or_else(|err| { error!("{}", err); process::exit(1); }); + + debug!("Creating contract instance"); + let contract = SudokuValidity::new( + Address::from_str(SUDOKU_VALIDITY_ADDRESS).unwrap(), + provider, + ); + + let call = contract.validateSolution( + proof_commitment.into(), + proving_system_aux_data_commitment.into(), + proof_generator_addr.into(), + batch_merkle_root.into(), + merkle_proof.into(), + U256::from(verification_data_batch_index), + pub_input.into(), + ); + + info!("Sending transaction to SudokuValidity contract..."); + let tx = call.send().await; + + match tx { + Ok(tx) => info!( + "SudokuValidity contract was updated! Transaction hash: {}", + tx.tx_hash() + ), + Err(err) => error!("SudokuValidity transaction failed!: {err}"), + } } } } diff --git a/example/eth_contract/src/SudokuValidity.sol b/example/eth_contract/src/SudokuValidity.sol index dbb16c8b..445d443c 100644 --- a/example/eth_contract/src/SudokuValidity.sol +++ b/example/eth_contract/src/SudokuValidity.sol @@ -39,13 +39,11 @@ contract SudokuValidity { uint256 verificationDataBatchIndex, bytes calldata pubInput ) external { - bytes32 ledgerHash = bytes32(pubInput[8:8 + 32]); + bytes32 ledgerHash = bytes32(pubInput[:32]); if (!stateSettlement.isLedgerVerified(ledgerHash)) { revert InvalidLedger(ledgerHash); } - bytes32 pubInputCommitment = keccak256(pubInput); - if ( !accountValidation.validateAccount( proofCommitment, From c5d1327e687fa624d8f8ad1b5e2cf83319fe19d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 18:20:26 -0300 Subject: [PATCH 33/48] Update makefile --- Makefile | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 1df8720a..af6eac62 100644 --- a/Makefile +++ b/Makefile @@ -6,10 +6,19 @@ submit_state: submit_account: @cargo run --manifest-path core/Cargo.toml --release -- submit-account ${PUBLIC_KEY} ${STATE_HASH} -gen_contract_abi: +gen_contract_abis: forge build --root contract/ + forge build --root example/eth_contract cp contract/out/MinaBridge.sol/MinaBridge.json core/abi/MinaBridge.json cp contract/out/MinaAccountValidation.sol/MinaAccountValidation.json core/abi/MinaAccountValidation.json + cp example/eth_contract/out/SudokuValidity.sol/SudokuValidity.json example/app/abi/SudokuValidity.json -deploy_contract: gen_contract_abi +deploy_contract: gen_contract_abis @cargo run --manifest-path contract_deployer/Cargo.toml --release + +deploy_example_contract: gen_contract_abis + @cargo run --manifest-path example/app/Cargo.toml --release -- deploy-contract + +execute_example: + cd example/mina_contract & npm run build & node build/src/run.js + cargo run --manifest-path example/app/Cargo.toml --release -- validate-solution From 4fbd95c9e1967f09742a40e09284d248d1c23221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 18:20:49 -0300 Subject: [PATCH 34/48] Add better log and getter function for timestamp --- example/app/abi/SudokuValidity.json | 2 +- example/app/src/main.rs | 31 +++++++++++++++++---- example/eth_contract/src/SudokuValidity.sol | 4 +++ 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/example/app/abi/SudokuValidity.json b/example/app/abi/SudokuValidity.json index 08993fef..38c86e65 100644 --- a/example/app/abi/SudokuValidity.json +++ b/example/app/abi/SudokuValidity.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610db7380380610db783398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610cf4806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103ab565b610089565b005b6000610098602082848661048c565b6100a1916104b6565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010f91906104e6565b61013357604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610171908c908c908c908c908c908c908c908c90600401610533565b602060405180830381865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906104e6565b6101cf5760405163f281a18360e01b815260040160405180910390fd5b3660006101df846028818861048c565b909250905060006101f283830184610b9e565b610140810151516020015190915061020d5742600255610226565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561026c5761026c610234565b60405290565b6040516101c081016001600160401b038111828210171561026c5761026c610234565b604051606081016001600160401b038111828210171561026c5761026c610234565b60405161010081016001600160401b038111828210171561026c5761026c610234565b60405160e081016001600160401b038111828210171561026c5761026c610234565b60405161016081016001600160401b038111828210171561026c5761026c610234565b600082601f83011261033057600080fd5b81356001600160401b038082111561034a5761034a610234565b604051601f8301601f19908116603f0116810190828211818310171561037257610372610234565b8160405283815286602085880101111561038b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103c757600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146103f257600080fd5b95506060890135945060808901356001600160401b038082111561041557600080fd5b6104218c838d0161031f565b955060a08b0135945060c08b013591508082111561043e57600080fd5b818b0191508b601f83011261045257600080fd5b81358181111561046157600080fd5b8c602082850101111561047357600080fd5b6020830194508093505050509295985092959890939650565b6000808585111561049c57600080fd5b838611156104a957600080fd5b5050820193919092039150565b803560208310156104cf57600019602084900360031b1b165b92915050565b80151581146104e357600080fd5b50565b6000602082840312156104f857600080fd5b8151610503816104d5565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b81811015610589578881018301518582016101000152820161056c565b8181111561059c57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105ca818301868861050a565b9c9b505050505050505050505050565b80356105e5816104d5565b919050565b6000604082840312156105fc57600080fd5b61060461024a565b9050813581526020820135610618816104d5565b602082015292915050565b80356001600160401b03811681146105e557600080fd5b803563ffffffff811681146105e557600080fd5b600060a0828403121561066057600080fd5b60405160a081018181106001600160401b038211171561068257610682610234565b60405290508061069183610623565b815261069f6020840161063a565b60208201526106b060408401610623565b60408201526106c16060840161063a565b60608201526106d260808401610623565b60808201525092915050565b8035600581106105e557600080fd5b60006101c0828403121561070057600080fd5b610708610272565b9050610713826106de565b8152610721602083016106de565b6020820152610732604083016106de565b6040820152610743606083016106de565b6060820152610754608083016106de565b608082015261076560a083016106de565b60a082015261077660c083016106de565b60c082015261078760e0830161063a565b60e082015261010061079a8184016106de565b908201526101206107ac8382016106de565b908201526101406107be8382016106de565b908201526101606107d08382016106de565b908201526101806107e28382016106de565b908201526101a06107f48382016106de565b9082015292915050565b600082601f83011261080f57600080fd5b6040516101008082018281106001600160401b038211171561083357610833610234565b6040528301818582111561084657600080fd5b845b82811015610860578035825260209182019101610848565b509195945050505050565b8035600381106105e557600080fd5b60006040828403121561088c57600080fd5b61089461024a565b9050813581526020820135602082015292915050565b600082601f8301126108bb57600080fd5b6040805160e081018181106001600160401b03821117156108de576108de610234565b8252806101c08501868111156108f357600080fd5b855b8181101561091657610907888261087a565b835260209092019184016108f5565b50919695505050505050565b600082601f83011261093357600080fd5b604080516101e081018181106001600160401b038211171561095757610957610234565b8252806103c085018681111561096c57600080fd5b855b8181101561091657610980888261087a565b8352602090920191840161096e565b60008183036107408112156109a357600080fd5b6109ab610295565b91506109b68361086b565b82526109c46020840161086b565b602083015261070080603f19830112156109dd57600080fd5b6109e56102b7565b91506109f485604086016108aa565b8252610a04856102008601610922565b6020830152610a17856105c0860161087a565b6040830152610a2a85610600860161087a565b6060830152610a3d85610640860161087a565b6080830152610a5085610680860161087a565b60a0830152610a63856106c0860161087a565b60c0830152610a748582860161087a565b60e083015250604082015292915050565b600082601f830112610a9657600080fd5b60405160a081018181106001600160401b0382111715610ab857610ab8610234565b6040528060a0840185811115610acd57600080fd5b845b81811015610860578035835260209283019201610acf565b60006109608284031215610afa57600080fd5b610b026102da565b9050610b0e83836107fe565b8152610b1e83610100840161098f565b6020820152610b30610840830161063a565b6040820152610b43836108608401610a85565b6060820152610b55610900830161063a565b6080820152610b6761092083016105da565b60a08201526109408201356001600160401b03811115610b8657600080fd5b610b928482850161031f565b60c08301525092915050565b600060208284031215610bb057600080fd5b81356001600160401b0380821115610bc757600080fd5b908301906103c08286031215610bdc57600080fd5b610be46102fc565b610bee86846105ea565b815260408301356020820152606083013582811115610c0c57600080fd5b610c188782860161031f565b604083015250610c2a60808401610623565b6060820152610c3b60a0840161063a565b608082015260c083013560a0820152610c578660e085016105ea565b60c08201526101208084013560e0830152610140610c778882870161064e565b610100840152610c8b886101e087016106ed565b828401526103a0850135915083821115610ca457600080fd5b610cb088838701610ae7565b90830152509594505050505056fea2646970667358221220f4a231719ef27d497bca56ce9f960dc7d783338eceb5c2fb2d3dd683c64d5cd064736f6c634300080c0033","sourceMap":"177:2681:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2681;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2681:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063319453e81461003b578063c4babc3014610074575b600080fd5b6100627f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b6100876100823660046103ab565b610089565b005b6000610098602082848661048c565b6100a1916104b6565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010f91906104e6565b61013357604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610171908c908c908c908c908c908c908c908c90600401610533565b602060405180830381865afa15801561018e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101b291906104e6565b6101cf5760405163f281a18360e01b815260040160405180910390fd5b3660006101df846028818861048c565b909250905060006101f283830184610b9e565b610140810151516020015190915061020d5742600255610226565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561026c5761026c610234565b60405290565b6040516101c081016001600160401b038111828210171561026c5761026c610234565b604051606081016001600160401b038111828210171561026c5761026c610234565b60405161010081016001600160401b038111828210171561026c5761026c610234565b60405160e081016001600160401b038111828210171561026c5761026c610234565b60405161016081016001600160401b038111828210171561026c5761026c610234565b600082601f83011261033057600080fd5b81356001600160401b038082111561034a5761034a610234565b604051601f8301601f19908116603f0116810190828211818310171561037257610372610234565b8160405283815286602085880101111561038b57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103c757600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146103f257600080fd5b95506060890135945060808901356001600160401b038082111561041557600080fd5b6104218c838d0161031f565b955060a08b0135945060c08b013591508082111561043e57600080fd5b818b0191508b601f83011261045257600080fd5b81358181111561046157600080fd5b8c602082850101111561047357600080fd5b6020830194508093505050509295985092959890939650565b6000808585111561049c57600080fd5b838611156104a957600080fd5b5050820193919092039150565b803560208310156104cf57600019602084900360031b1b165b92915050565b80151581146104e357600080fd5b50565b6000602082840312156104f857600080fd5b8151610503816104d5565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b81811015610589578881018301518582016101000152820161056c565b8181111561059c57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105ca818301868861050a565b9c9b505050505050505050505050565b80356105e5816104d5565b919050565b6000604082840312156105fc57600080fd5b61060461024a565b9050813581526020820135610618816104d5565b602082015292915050565b80356001600160401b03811681146105e557600080fd5b803563ffffffff811681146105e557600080fd5b600060a0828403121561066057600080fd5b60405160a081018181106001600160401b038211171561068257610682610234565b60405290508061069183610623565b815261069f6020840161063a565b60208201526106b060408401610623565b60408201526106c16060840161063a565b60608201526106d260808401610623565b60808201525092915050565b8035600581106105e557600080fd5b60006101c0828403121561070057600080fd5b610708610272565b9050610713826106de565b8152610721602083016106de565b6020820152610732604083016106de565b6040820152610743606083016106de565b6060820152610754608083016106de565b608082015261076560a083016106de565b60a082015261077660c083016106de565b60c082015261078760e0830161063a565b60e082015261010061079a8184016106de565b908201526101206107ac8382016106de565b908201526101406107be8382016106de565b908201526101606107d08382016106de565b908201526101806107e28382016106de565b908201526101a06107f48382016106de565b9082015292915050565b600082601f83011261080f57600080fd5b6040516101008082018281106001600160401b038211171561083357610833610234565b6040528301818582111561084657600080fd5b845b82811015610860578035825260209182019101610848565b509195945050505050565b8035600381106105e557600080fd5b60006040828403121561088c57600080fd5b61089461024a565b9050813581526020820135602082015292915050565b600082601f8301126108bb57600080fd5b6040805160e081018181106001600160401b03821117156108de576108de610234565b8252806101c08501868111156108f357600080fd5b855b8181101561091657610907888261087a565b835260209092019184016108f5565b50919695505050505050565b600082601f83011261093357600080fd5b604080516101e081018181106001600160401b038211171561095757610957610234565b8252806103c085018681111561096c57600080fd5b855b8181101561091657610980888261087a565b8352602090920191840161096e565b60008183036107408112156109a357600080fd5b6109ab610295565b91506109b68361086b565b82526109c46020840161086b565b602083015261070080603f19830112156109dd57600080fd5b6109e56102b7565b91506109f485604086016108aa565b8252610a04856102008601610922565b6020830152610a17856105c0860161087a565b6040830152610a2a85610600860161087a565b6060830152610a3d85610640860161087a565b6080830152610a5085610680860161087a565b60a0830152610a63856106c0860161087a565b60c0830152610a748582860161087a565b60e083015250604082015292915050565b600082601f830112610a9657600080fd5b60405160a081018181106001600160401b0382111715610ab857610ab8610234565b6040528060a0840185811115610acd57600080fd5b845b81811015610860578035835260209283019201610acf565b60006109608284031215610afa57600080fd5b610b026102da565b9050610b0e83836107fe565b8152610b1e83610100840161098f565b6020820152610b30610840830161063a565b6040820152610b43836108608401610a85565b6060820152610b55610900830161063a565b6080820152610b6761092083016105da565b60a08201526109408201356001600160401b03811115610b8657600080fd5b610b928482850161031f565b60c08301525092915050565b600060208284031215610bb057600080fd5b81356001600160401b0380821115610bc757600080fd5b908301906103c08286031215610bdc57600080fd5b610be46102fc565b610bee86846105ea565b815260408301356020820152606083013582811115610c0c57600080fd5b610c188782860161031f565b604083015250610c2a60808401610623565b6060820152610c3b60a0840161063a565b608082015260c083013560a0820152610c578660e085016105ea565b60c08201526101208084013560e0830152610140610c778882870161064e565b610100840152610c8b886101e087016106ed565b828401526103a0850135915083821115610ca457600080fd5b610cb088838701610ae7565b90830152509594505050505056fea2646970667358221220f4a231719ef27d497bca56ce9f960dc7d783338eceb5c2fb2d3dd683c64d5cd064736f6c634300080c0033","sourceMap":"177:2681:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1313:1543;;;;;;:::i;:::-;;:::i;:::-;;;1625:18;1654:13;1664:2;1625:18;1654:8;;:13;:::i;:::-;1646:22;;;:::i;:::-;1683:15;;:44;;-1:-1:-1;;;1683:44:42;;;;;160:25:43;;;1625:43:42;;-1:-1:-1;;;;;;1683:15:42;;:32;;133:18:43;;1683:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1678:108;;1750:25;;-1:-1:-1;;;1750:25:42;;;;;160::43;;;133:18;;1750:25:42;;;;;;;1678:108;1814:17;;:296;;-1:-1:-1;;;1814:296:42;;-1:-1:-1;;;;;1814:17:42;;;;:33;;:296;;1865:15;;1898:30;;1946:18;;1982:15;;2015:11;;2044:26;;2088:8;;;;1814:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1796:378;;2142:21;;-1:-1:-1;;;2142:21:42;;;;;;;;;;;1796:378;2184:29;;2216:17;:8;2225:6;2216:8;;:17;:::i;:::-;2184:49;;-1:-1:-1;2184:49:42;-1:-1:-1;2243:44:42;2290:93;;;;2184:49;2290:93;:::i;:::-;2695:13;;;;:22;:25;;;:13;;-1:-1:-1;2691:159:42;;2770:15;2741:26;:44;2691:159;;;2823:16;;-1:-1:-1;;;2823:16:42;;;;;;;;;;;2691:159;1615:1241;;;;1313:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564\",\"dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x397815d85ebc75fc8813598d6f0a686813ba0d70bee687b13fc291b006b68df7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://678a7e5e5eaafea9bd13c5b5fb7a394b589b0cbd9607036c2fd02a42b179173a\",\"dweb:/ipfs/QmadGyDSq2bs12XNJZ6yXRi2Et1iuF9Y3DVymbfisRxuhy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"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"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0xe5e5d30c53e8a31bf24b8235836e03395a449788b08450080462d09c868e918e","urls":["bzz-raw://6f9e3438f530699fa9579179ae8180f120a4b9a28459cc4ea564de5512456564","dweb:/ipfs/QmdxPdKHLcnEeWUnGtHWFMbtpQPfmMT1QvJ9A2AxC5PPDE"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x397815d85ebc75fc8813598d6f0a686813ba0d70bee687b13fc291b006b68df7","urls":["bzz-raw://678a7e5e5eaafea9bd13c5b5fb7a394b589b0cbd9607036c2fd02a42b179173a","dweb:/ipfs/QmadGyDSq2bs12XNJZ6yXRi2Et1iuF9Y3DVymbfisRxuhy"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610dca380380610dca83398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d07806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea264697066735822122020a64ecf83c5afd8d7a13ab9141fc49b8c66fd3101c75357880bd9ccb20713dd64736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2807;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2807:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea264697066735822122020a64ecf83c5afd8d7a13ab9141fc49b8c66fd3101c75357880bd9ccb20713dd64736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1439:1543;;;;;;:::i;:::-;;:::i;:::-;;1190:120;1277:26;;1190:120;;1439:1543;1751:18;1780:13;1790:2;1751:18;1780:8;;:13;:::i;:::-;1772:22;;;:::i;:::-;1809:15;;:44;;-1:-1:-1;;;1809:44:42;;;;;160:25:43;;;1751:43:42;;-1:-1:-1;;;;;;1809:15:42;;:32;;133:18:43;;1809:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1804:108;;1876:25;;-1:-1:-1;;;1876:25:42;;;;;160::43;;;133:18;;1876:25:42;;;;;;;1804:108;1940:17;;:296;;-1:-1:-1;;;1940:296:42;;-1:-1:-1;;;;;1940:17:42;;;;:33;;:296;;1991:15;;2024:30;;2072:18;;2108:15;;2141:11;;2170:26;;2214:8;;;;1940:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1922:378;;2268:21;;-1:-1:-1;;;2268:21:42;;;;;;;;;;;1922:378;2310:29;;2342:17;:8;2351:6;2342:8;;:17;:::i;:::-;2310:49;;-1:-1:-1;2310:49:42;-1:-1:-1;2369:44:42;2416:93;;;;2310:49;2416:93;:::i;:::-;2821:13;;;;:22;:25;;;:13;;-1:-1:-1;2817:159:42;;2896:15;2867:26;:44;2817:159;;;2949:16;;-1:-1:-1;;;2949:16:42;;;;;;;;;;;2817:159;1741:1241;;;;1439:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41\",\"dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455\",\"dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357","urls":["bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41","dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c","urls":["bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455","dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file diff --git a/example/app/src/main.rs b/example/app/src/main.rs index d9b8a7fb..4b1e7eed 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -19,7 +19,7 @@ use mina_bridge_core::{ wallet, wallet_alloy, }, }; -use std::{process, str::FromStr}; +use std::{process, str::FromStr, time::SystemTime}; const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; const SUDOKU_VALIDITY_ADDRESS: &str = "0xb19b36b1456E65E3A6D514D3F715f204BD59f431"; @@ -47,6 +47,7 @@ enum Command { #[tokio::main] async fn main() { let cli = Cli::parse(); + let now = SystemTime::now(); env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init(); let EnvironmentVariables { @@ -205,12 +206,32 @@ async fn main() { let tx = call.send().await; match tx { - Ok(tx) => info!( - "SudokuValidity contract was updated! Transaction hash: {}", - tx.tx_hash() - ), + Ok(tx) => { + let receipt = tx.get_receipt().await.unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + let new_timestamp: U256 = contract + .getLatestSolutionTimestamp() + .call() + .await + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }) + ._0; + + info!( + "SudokuValidity contract was updated! transaction hash: {}, gas cost: {}, new timestamp: {}", + receipt.transaction_hash, receipt.gas_used, new_timestamp + ); + } Err(err) => error!("SudokuValidity transaction failed!: {err}"), } } } + + if let Ok(elapsed) = now.elapsed() { + info!("Time spent: {} s", elapsed.as_secs()); + } } diff --git a/example/eth_contract/src/SudokuValidity.sol b/example/eth_contract/src/SudokuValidity.sol index 445d443c..22b26959 100644 --- a/example/eth_contract/src/SudokuValidity.sol +++ b/example/eth_contract/src/SudokuValidity.sol @@ -28,6 +28,10 @@ contract SudokuValidity { accountValidation = MinaAccountValidation(_accountValidationAddr); } + function getLatestSolutionTimestamp() external view returns (uint256) { + return latestSolutionValidationAt; + } + /// @notice Validates a Sudoku solution by bridging from Mina, and stores /// the last Unix time it was solved at. function validateSolution( From 4c21c35418cb2cd60ec41666127602a2618add7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Fri, 20 Sep 2024 18:21:02 -0300 Subject: [PATCH 35/48] Fix contract validateAccount call --- contract/src/MinaAccountValidation.sol | 29 +++++++++++++++ core/abi/MinaAccountValidation.json | 2 +- core/abi/MinaBridge.json | 2 +- core/src/eth.rs | 6 ++- core/src/sdk.rs | 51 ++++++++++++++++++++++---- 5 files changed, 79 insertions(+), 11 deletions(-) diff --git a/contract/src/MinaAccountValidation.sol b/contract/src/MinaAccountValidation.sol index d1acc6e8..55c5ad85 100644 --- a/contract/src/MinaAccountValidation.sol +++ b/contract/src/MinaAccountValidation.sol @@ -35,6 +35,35 @@ contract MinaAccountValidation { ); } + function validateAccountAndReturn( + bytes32 proofCommitment, + bytes32 provingSystemAuxDataCommitment, + bytes20 proofGeneratorAddr, + bytes32 batchMerkleRoot, + bytes memory merkleProof, + uint256 verificationDataBatchIndex, + bytes calldata pubInput + ) external view returns (Account memory) { + bytes32 pubInputCommitment = keccak256(pubInput); + + bool isAccountVerified = aligned.verifyBatchInclusion( + proofCommitment, + pubInputCommitment, + provingSystemAuxDataCommitment, + proofGeneratorAddr, + batchMerkleRoot, + merkleProof, + verificationDataBatchIndex, + address(0) + ); + + if (isAccountVerified) { + return abi.decode(pubInput[32 + 8:], (Account)); + } else { + revert(); + } + } + struct Account { CompressedECPoint publicKey; bytes32 tokenIdKeyHash; diff --git a/core/abi/MinaAccountValidation.json b/core/abi/MinaAccountValidation.json index e4bd6b24..a340bc44 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":"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"}],"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":"AccountIsNotVerified","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516113e23803806113e283398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61134f806100936000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a2d565b60405180910390f35b610061610167565b3660006100718460288188610b5f565b9150915060008585604051610087929190610b89565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b99565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c11565b9050801561014257610137838501856111f9565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b818111156106c5576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60058110610700576107006106da565b9052565b61070f8282516106f0565b602081015161072160208401826106f0565b50604081015161073460408401826106f0565b50606081015161074760608401826106f0565b50608081015161075a60808401826106f0565b5060a081015161076d60a08401826106f0565b5060c081015161078060c08401826106f0565b5060e081015161079860e084018263ffffffff169052565b50610100808201516107ac828501826106f0565b5050610120808201516107c1828501826106f0565b5050610140808201516107d6828501826106f0565b5050610160808201516107eb828501826106f0565b505061018080820151610800828501826106f0565b50506101a080820151610815828501826106f0565b50505050565b60038110610700576107006106da565b8060005b600f8110156108155761084d84835180518252602090810151910152565b604093909301926020919091019060010161082f565b61086e82825161081b565b6020808201516108808285018261081b565b50604082810151805160008684015b60078210156108bf576108ad81845180518252602090810151910152565b9185019160019190910190840161088f565b50505091820151916108d561020086018461082b565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b6005811015610815578151845260209384019390910190600101610967565b80516000906109609084835b60088110156109b1578251825260209283019290910190600101610992565b50505060208301516109c7610100860182610863565b50604083015163ffffffff1661084085015260608301516109ec610860860182610963565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a248286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a6b6103e085018361068d565b91506060850151610a8760a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610ac481870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b39610200880184610704565b870151868503601f1901848801529150610b5590508382610986565b9695505050505050565b60008085851115610b6f57600080fd5b83861115610b7c57600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bda8184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0e57600080fd5b50565b600060208284031215610c2357600080fd5b8151610c2e81610c00565b9392505050565b8035610c4081610c00565b919050565b600060408284031215610c5757600080fd5b610c5f61044b565b9050813581526020820135610c7381610c00565b602082015292915050565b80356001600160401b0381168114610c4057600080fd5b803563ffffffff81168114610c4057600080fd5b600060a08284031215610cbb57600080fd5b60405160a081018181106001600160401b0382111715610cdd57610cdd610435565b604052905080610cec83610c7e565b8152610cfa60208401610c95565b6020820152610d0b60408401610c7e565b6040820152610d1c60608401610c95565b6060820152610d2d60808401610c7e565b60808201525092915050565b803560058110610c4057600080fd5b60006101c08284031215610d5b57600080fd5b610d63610473565b9050610d6e82610d39565b8152610d7c60208301610d39565b6020820152610d8d60408301610d39565b6040820152610d9e60608301610d39565b6060820152610daf60808301610d39565b6080820152610dc060a08301610d39565b60a0820152610dd160c08301610d39565b60c0820152610de260e08301610c95565b60e0820152610100610df5818401610d39565b90820152610120610e07838201610d39565b90820152610140610e19838201610d39565b90820152610160610e2b838201610d39565b90820152610180610e3d838201610d39565b908201526101a0610e4f838201610d39565b9082015292915050565b600082601f830112610e6a57600080fd5b6040516101008082018281106001600160401b0382111715610e8e57610e8e610435565b60405283018185821115610ea157600080fd5b845b82811015610ebb578035825260209182019101610ea3565b509195945050505050565b803560038110610c4057600080fd5b600060408284031215610ee757600080fd5b610eef61044b565b9050813581526020820135602082015292915050565b600082601f830112610f1657600080fd5b6040805160e081018181106001600160401b0382111715610f3957610f39610435565b8252806101c0850186811115610f4e57600080fd5b855b81811015610f7157610f628882610ed5565b83526020909201918401610f50565b50919695505050505050565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610435565b8252806103c0850186811115610fc757600080fd5b855b81811015610f7157610fdb8882610ed5565b83526020909201918401610fc9565b6000818303610740811215610ffe57600080fd5b611006610496565b915061101183610ec6565b825261101f60208401610ec6565b602083015261070080603f198301121561103857600080fd5b6110406104b8565b915061104f8560408601610f05565b825261105f856102008601610f7d565b6020830152611072856105c08601610ed5565b6040830152611085856106008601610ed5565b6060830152611098856106408601610ed5565b60808301526110ab856106808601610ed5565b60a08301526110be856106c08601610ed5565b60c08301526110cf85828601610ed5565b60e083015250604082015292915050565b600082601f8301126110f157600080fd5b60405160a081018181106001600160401b038211171561111357611113610435565b6040528060a084018581111561112857600080fd5b845b81811015610ebb57803583526020928301920161112a565b6000610960828403121561115557600080fd5b61115d6104db565b90506111698383610e59565b8152611179836101008401610fea565b602082015261118b6108408301610c95565b604082015261119e8361086084016110e0565b60608201526111b06109008301610c95565b60808201526111c26109208301610c35565b60a08201526109408201356001600160401b038111156111e157600080fd5b6111ed84828501610520565b60c08301525092915050565b60006020828403121561120b57600080fd5b81356001600160401b038082111561122257600080fd5b908301906103c0828603121561123757600080fd5b61123f6104fd565b6112498684610c45565b81526040830135602082015260608301358281111561126757600080fd5b61127387828601610520565b60408301525061128560808401610c7e565b606082015261129660a08401610c95565b608082015260c083013560a08201526112b28660e08501610c45565b60c08201526101208084013560e08301526101406112d288828701610ca9565b6101008401526112e6886101e08701610d48565b828401526103a08501359150838211156112ff57600080fd5b61130b88838701611142565b90830152509594505050505056fea2646970667358221220b3c08ebe77de8b53f44e760ec486d921d1da412cda363f73467d6560c31b584f64736f6c634300080c0033","sourceMap":"171:3299:64:-:0;;;319:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;378:7;:57;;-1:-1:-1;;;;;;378:57:64;-1:-1:-1;;;;;378:57:64;;;;;;;;;;171:3299;;14:298:67;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:67;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:67:o;:::-;171:3299:64;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f4c7c1fa14610030575b600080fd5b61004361003e3660046105ac565b610059565b6040516100509190610a2d565b60405180910390f35b610061610167565b3660006100718460288188610b5f565b9150915060008585604051610087929190610b89565b6040518091039020905060008060009054906101000a90046001600160a01b03166001600160a01b03166306045a918e848f8f8f8f8f60006040518963ffffffff1660e01b81526004016100e2989796959493929190610b99565b602060405180830381865afa1580156100ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101239190610c11565b9050801561014257610137838501856111f9565b94505050505061015b565b604051634de35c5f60e11b815260040160405180910390fd5b98975050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e0860185905286519081018752848152928301849052948201839052810182905292830152610100810191909152610120810161026a604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161027761027c565b905290565b6040518060e0016040528061028f6102c9565b815260200161029c6102e8565b8152600060208201526040016102b0610307565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b6040805160608101825260008082526020820152908101610277610325565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103396103d0565b8152602001610346610409565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b60408051808201909152600080825260208201528152602001906001900390816103df5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e602082016103df565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561046d5761046d610435565b60405290565b6040516101c081016001600160401b038111828210171561046d5761046d610435565b604051606081016001600160401b038111828210171561046d5761046d610435565b60405161010081016001600160401b038111828210171561046d5761046d610435565b60405160e081016001600160401b038111828210171561046d5761046d610435565b60405161016081016001600160401b038111828210171561046d5761046d610435565b600082601f83011261053157600080fd5b81356001600160401b038082111561054b5761054b610435565b604051601f8301601f19908116603f0116810190828211818310171561057357610573610435565b8160405283815286602085880101111561058c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156105c857600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff19811681146105f357600080fd5b95506060890135945060808901356001600160401b038082111561061657600080fd5b6106228c838d01610520565b955060a08b0135945060c08b013591508082111561063f57600080fd5b818b0191508b601f83011261065357600080fd5b81358181111561066257600080fd5b8c602082850101111561067457600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b818110156106b357602081850181015186830182015201610697565b818111156106c5576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60058110610700576107006106da565b9052565b61070f8282516106f0565b602081015161072160208401826106f0565b50604081015161073460408401826106f0565b50606081015161074760608401826106f0565b50608081015161075a60808401826106f0565b5060a081015161076d60a08401826106f0565b5060c081015161078060c08401826106f0565b5060e081015161079860e084018263ffffffff169052565b50610100808201516107ac828501826106f0565b5050610120808201516107c1828501826106f0565b5050610140808201516107d6828501826106f0565b5050610160808201516107eb828501826106f0565b505061018080820151610800828501826106f0565b50506101a080820151610815828501826106f0565b50505050565b60038110610700576107006106da565b8060005b600f8110156108155761084d84835180518252602090810151910152565b604093909301926020919091019060010161082f565b61086e82825161081b565b6020808201516108808285018261081b565b50604082810151805160008684015b60078210156108bf576108ad81845180518252602090810151910152565b9185019160019190910190840161088f565b50505091820151916108d561020086018461082b565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b6005811015610815578151845260209384019390910190600101610967565b80516000906109609084835b60088110156109b1578251825260209283019290910190600101610992565b50505060208301516109c7610100860182610863565b50604083015163ffffffff1661084085015260608301516109ec610860860182610963565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610a248286018261068d565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610a6b6103e085018361068d565b91506060850151610a8760a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610ac481870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610b39610200880184610704565b870151868503601f1901848801529150610b5590508382610986565b9695505050505050565b60008085851115610b6f57600080fd5b83861115610b7c57600080fd5b5050820193919092039150565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610bda8184018761068d565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c0e57600080fd5b50565b600060208284031215610c2357600080fd5b8151610c2e81610c00565b9392505050565b8035610c4081610c00565b919050565b600060408284031215610c5757600080fd5b610c5f61044b565b9050813581526020820135610c7381610c00565b602082015292915050565b80356001600160401b0381168114610c4057600080fd5b803563ffffffff81168114610c4057600080fd5b600060a08284031215610cbb57600080fd5b60405160a081018181106001600160401b0382111715610cdd57610cdd610435565b604052905080610cec83610c7e565b8152610cfa60208401610c95565b6020820152610d0b60408401610c7e565b6040820152610d1c60608401610c95565b6060820152610d2d60808401610c7e565b60808201525092915050565b803560058110610c4057600080fd5b60006101c08284031215610d5b57600080fd5b610d63610473565b9050610d6e82610d39565b8152610d7c60208301610d39565b6020820152610d8d60408301610d39565b6040820152610d9e60608301610d39565b6060820152610daf60808301610d39565b6080820152610dc060a08301610d39565b60a0820152610dd160c08301610d39565b60c0820152610de260e08301610c95565b60e0820152610100610df5818401610d39565b90820152610120610e07838201610d39565b90820152610140610e19838201610d39565b90820152610160610e2b838201610d39565b90820152610180610e3d838201610d39565b908201526101a0610e4f838201610d39565b9082015292915050565b600082601f830112610e6a57600080fd5b6040516101008082018281106001600160401b0382111715610e8e57610e8e610435565b60405283018185821115610ea157600080fd5b845b82811015610ebb578035825260209182019101610ea3565b509195945050505050565b803560038110610c4057600080fd5b600060408284031215610ee757600080fd5b610eef61044b565b9050813581526020820135602082015292915050565b600082601f830112610f1657600080fd5b6040805160e081018181106001600160401b0382111715610f3957610f39610435565b8252806101c0850186811115610f4e57600080fd5b855b81811015610f7157610f628882610ed5565b83526020909201918401610f50565b50919695505050505050565b600082601f830112610f8e57600080fd5b604080516101e081018181106001600160401b0382111715610fb257610fb2610435565b8252806103c0850186811115610fc757600080fd5b855b81811015610f7157610fdb8882610ed5565b83526020909201918401610fc9565b6000818303610740811215610ffe57600080fd5b611006610496565b915061101183610ec6565b825261101f60208401610ec6565b602083015261070080603f198301121561103857600080fd5b6110406104b8565b915061104f8560408601610f05565b825261105f856102008601610f7d565b6020830152611072856105c08601610ed5565b6040830152611085856106008601610ed5565b6060830152611098856106408601610ed5565b60808301526110ab856106808601610ed5565b60a08301526110be856106c08601610ed5565b60c08301526110cf85828601610ed5565b60e083015250604082015292915050565b600082601f8301126110f157600080fd5b60405160a081018181106001600160401b038211171561111357611113610435565b6040528060a084018581111561112857600080fd5b845b81811015610ebb57803583526020928301920161112a565b6000610960828403121561115557600080fd5b61115d6104db565b90506111698383610e59565b8152611179836101008401610fea565b602082015261118b6108408301610c95565b604082015261119e8361086084016110e0565b60608201526111b06109008301610c95565b60808201526111c26109208301610c35565b60a08201526109408201356001600160401b038111156111e157600080fd5b6111ed84828501610520565b60c08301525092915050565b60006020828403121561120b57600080fd5b81356001600160401b038082111561122257600080fd5b908301906103c0828603121561123757600080fd5b61123f6104fd565b6112498684610c45565b81526040830135602082015260608301358281111561126757600080fd5b61127387828601610520565b60408301525061128560808401610c7e565b606082015261129660a08401610c95565b608082015260c083013560a08201526112b28660e08501610c45565b60c08201526101208084013560e08301526101406112d288828701610ca9565b6101008401526112e6886101e08701610d48565b828401526103a08501359150838211156112ff57600080fd5b61130b88838701611142565b90830152509594505050505056fea2646970667358221220b3c08ebe77de8b53f44e760ec486d921d1da412cda363f73467d6560c31b584f64736f6c634300080c0033","sourceMap":"171:3299:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:947;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;763:14;;:::i;:::-;789:29;;821:17;:8;830:6;821:8;;:17;:::i;:::-;789:49;;;;849:26;888:8;;878:19;;;;;;;:::i;:::-;;;;;;;;849:48;;908:22;933:7;;;;;;;;;-1:-1:-1;;;;;933:7:64;-1:-1:-1;;;;;933:28:64;;975:15;1004:18;1036:30;1080:18;1112:15;1141:11;1166:26;1214:1;933:293;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;908:318;;1241:17;1237:152;;;1281:37;;;;1292:14;1281:37;:::i;:::-;1274:44;;;;;;;;1237:152;1356:22;;-1:-1:-1;;;1356:22:64;;;;;;;;;;;448:947;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:127:67;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:67;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:250::-;475:2;469:9;517:6;505:19;;-1:-1:-1;;;;;539:34:67;;575:22;;;536:62;533:88;;;601:18;;:::i;663:253::-;735:2;729:9;777:4;765:17;;-1:-1:-1;;;;;797:34:67;;833:22;;;794:62;791:88;;;859:18;;:::i;921:255::-;993:2;987:9;1035:6;1023:19;;-1:-1:-1;;;;;1057:34:67;;1093:22;;;1054:62;1051:88;;;1119:18;;:::i;1181:253::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:67;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:67;;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:67;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:67;;;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:1251::-;2555:6;2563;2571;2579;2587;2595;2603;2611;2664:3;2652:9;2643:7;2639:23;2635:33;2632:53;;;2681:1;2678;2671:12;2632:53;2704:23;;;-1:-1:-1;2774:2:67;2759:18;;2746:32;;-1:-1:-1;2828:2:67;2813:18;;2800:32;-1:-1:-1;;2861:43:67;;2851:54;;2841:82;;2919:1;2916;2909:12;2841:82;2942:5;-1:-1:-1;2994:2:67;2979:18;;2966:32;;-1:-1:-1;3049:3:67;3034:19;;3021:33;-1:-1:-1;;;;;3103:14:67;;;3100:34;;;3130:1;3127;3120:12;3100:34;3153:49;3194:7;3185:6;3174:9;3170:22;3153:49;:::i;:::-;3143:59;;3249:3;3238:9;3234:19;3221:33;3211:43;;3307:3;3296:9;3292:19;3279:33;3263:49;;3337:2;3327:8;3324:16;3321:36;;;3353:1;3350;3343:12;3321:36;3391:8;3380:9;3376:24;3366:34;;3438:7;3431:4;3427:2;3423:13;3419:27;3409:55;;3460:1;3457;3450:12;3409:55;3500:2;3487:16;3526:2;3518:6;3515:14;3512:34;;;3542:1;3539;3532:12;3512:34;3587:7;3582:2;3573:6;3569:2;3565:15;3561:24;3558:37;3555:57;;;3608:1;3605;3598:12;3555:57;3639:2;3635;3631:11;3621:21;;3661:6;3651:16;;;;;2422:1251;;;;;;;;;;;:::o;3953:472::-;3995:3;4033:5;4027:12;4060:6;4055:3;4048:19;4085:1;4095:162;4109:6;4106:1;4103:13;4095:162;;;4171:4;4227:13;;;4223:22;;4217:29;4199:11;;;4195:20;;4188:59;4124:12;4095:162;;;4275:6;4272:1;4269:13;4266:87;;;4341:1;4334:4;4325:6;4320:3;4316:16;4312:27;4305:38;4266:87;-1:-1:-1;4407:2:67;4386:15;-1:-1:-1;;4382:29:67;4373:39;;;;4414:4;4369:50;;3953:472;-1:-1:-1;;3953:472:67:o;5108:127::-;5169:10;5164:3;5160:20;5157:1;5150:31;5200:4;5197:1;5190:15;5224:4;5221:1;5214:15;5240:143;5324:1;5317:5;5314:12;5304:46;;5330:18;;:::i;:::-;5359;;5240:143::o;5388:1834::-;5453:47;5496:3;5488:5;5482:12;5453:47;:::i;:::-;5546:4;5539:5;5535:16;5529:23;5561:58;5613:4;5608:3;5604:14;5590:12;5561:58;:::i;:::-;;5667:4;5660:5;5656:16;5650:23;5682:60;5736:4;5731:3;5727:14;5711;5682:60;:::i;:::-;;5790:4;5783:5;5779:16;5773:23;5805:60;5859:4;5854:3;5850:14;5834;5805:60;:::i;:::-;;5913:4;5906:5;5902:16;5896:23;5928:60;5982:4;5977:3;5973:14;5957;5928:60;:::i;:::-;;6036:4;6029:5;6025:16;6019:23;6051:60;6105:4;6100:3;6096:14;6080;6051:60;:::i;:::-;;6159:4;6152:5;6148:16;6142:23;6174:60;6228:4;6223:3;6219:14;6203;6174:60;:::i;:::-;;6282:4;6275:5;6271:16;6265:23;6297:49;6340:4;6335:3;6331:14;6315;4613:10;4602:22;4590:35;;4537:94;6297:49;;6365:6;6419:2;6412:5;6408:14;6402:21;6432:58;6486:2;6481:3;6477:12;6461:14;6432:58;:::i;:::-;;;6509:6;6563:2;6556:5;6552:14;6546:21;6576:58;6630:2;6625:3;6621:12;6605:14;6576:58;:::i;:::-;;;6653:6;6707:2;6700:5;6696:14;6690:21;6720:58;6774:2;6769:3;6765:12;6749:14;6720:58;:::i;:::-;;;6797:6;6852:2;6845:5;6841:14;6835:21;6865:59;6920:2;6915:3;6911:12;6894:15;6865:59;:::i;:::-;;;6943:6;6998:2;6991:5;6987:14;6981:21;7011:59;7066:2;7061:3;7057:12;7040:15;7011:59;:::i;:::-;;;7089:6;7144:2;7137:5;7133:14;7127:21;7157:59;7212:2;7207:3;7203:12;7186:15;7157:59;:::i;:::-;;;5388:1834;;:::o;7227:145::-;7313:1;7306:5;7303:12;7293:46;;7319:18;;:::i;7533:335::-;7636:5;7659:1;7669:193;7683:4;7680:1;7677:11;7669:193;;;7730:48;7774:3;7765:6;7759:13;7453:12;;7441:25;;7515:4;7504:16;;;7498:23;7482:14;;7475:47;7377:151;7730:48;7807:4;7798:14;;;;;7847:4;7835:17;;;;;7703:1;7696:9;7669:193;;7873:1627;7942:49;7987:3;7979:5;7973:12;7942:49;:::i;:::-;8010:4;8060:2;8053:5;8049:14;8043:21;8073:58;8127:2;8122:3;8118:12;8104;8073:58;:::i;:::-;-1:-1:-1;8150:4:67;8191:14;;;8185:21;8256;;8364:1;8225:12;;;8374:195;8388:4;8385:1;8382:11;8374:195;;;8435:50;8479:5;8470:6;8464:13;7453:12;;7441:25;;7515:4;7504:16;;;7498:23;7482:14;;7475:47;7377:151;8435:50;8544:15;;;;8408:1;8401:9;;;;;8507:14;;8374:195;;;-1:-1:-1;;;8606:23:67;;;8600:30;;8639:65;8699:3;8690:13;;8600:30;8639:65;:::i;:::-;8741:23;;;8735:30;7453:12;;8828:4;8819:14;;7441:25;7515:4;7504:16;;;7498:23;7482:14;;;7475:47;8891:4;8871:25;;8865:32;7453:12;;8960:4;8951:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9023:4;9003:25;;8997:32;7453:12;;9092:4;9083:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9155:4;9135:25;;9129:32;7453:12;;9224:4;9215:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9287:4;9267:25;;9261:32;7453:12;;9356:4;9347:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9419:4;9399:25;;;9393:32;7453:12;;9488:4;9479:14;;7441:25;7504:16;7498:23;7482:14;;;;7475:47;;;;-1:-1:-1;;7873:1627:67:o;9505:326::-;9598:5;9621:1;9631:194;9645:4;9642:1;9639:11;9631:194;;;9704:13;;9692:26;;9741:4;9765:12;;;;9800:15;;;;9665:1;9658:9;9631:194;;9836:1166;9944:12;;9891:3;;9919:6;;9978:3;9891;10055:200;10069:4;10066:1;10063:11;10055:200;;;10130:13;;10116:28;;10167:4;10230:15;;;;10193:14;;;;10089:1;10082:9;10055:200;;;10059:3;;;10301:4;10294:5;10290:16;10284:23;10316:65;10373:6;10368:3;10364:16;10350:12;10316:65;:::i;:::-;-1:-1:-1;10429:4:67;10418:16;;10412:23;4613:10;4602:22;10487:6;10478:16;;4590:35;10543:4;10532:16;;10526:23;10558:58;10608:6;10599:16;;10526:23;10558:58;:::i;:::-;-1:-1:-1;10664:4:67;10653:16;;10647:23;4613:10;4602:22;10722:6;10713:16;;4590:35;10778:4;10767:16;;10761:23;3748:13;3741:21;10834:6;10825:16;;3729:34;10890:4;10879:16;;10873:23;10921:6;10912:16;;10905:28;;;10949:47;10983:12;;;10873:23;10949:47;:::i;:::-;10942:54;9836:1166;-1:-1:-1;;;;;9836:1166:67:o;11007:1526::-;11188:2;11170:21;;;11236:13;;3857:12;;11251:18;;;3845:25;3922:16;3916:23;3909:31;3902:39;3886:14;;;3879:63;11324:2;11316:6;11312:15;11306:22;11301:2;11290:9;11286:18;11279:50;11151:4;11376;11368:6;11364:17;11358:24;11401:6;11444:2;11438:3;11427:9;11423:19;11416:31;11470:52;11517:3;11506:9;11502:19;11488:12;11470:52;:::i;:::-;11456:66;;11571:2;11563:6;11559:15;11553:22;11584:54;11633:3;11622:9;11618:19;11602:14;-1:-1:-1;;;;;4495:30:67;4483:43;;4430:102;11584:54;-1:-1:-1;11687:3:67;11675:16;;11669:23;4613:10;4602:22;;11750:3;11735:19;;4590:35;11701:54;11810:3;11802:6;11798:16;11792:23;11786:3;11775:9;11771:19;11764:52;11865:3;11857:6;11853:16;11847:23;11889:3;11901:71;11968:2;11957:9;11953:18;11937:14;3857:12;;3845:25;;3933:4;3922:16;;;3916:23;3909:31;3902:39;3886:14;;3879:63;3774:174;11901:71;12009:3;11997:16;;11991:23;12033:3;12052:18;;;12045:30;;;;12112:15;;;12106:22;4749:12;;-1:-1:-1;;;;;4745:21:67;;;12193:3;12178:19;;4733:34;4813:4;4802:16;;4796:23;4838:10;4880:21;;;4864:14;;;4857:45;4955:4;4944:16;;4938:23;4934:32;;4918:14;;;4911:56;5020:4;5009:16;;5003:23;4999:32;4983:14;;;4976:56;5085:4;5074:16;;;5068:23;5064:32;5048:14;;;5041:56;12247:6;12235:19;;12229:26;;-1:-1:-1;12264:66:67;12325:3;12310:19;;12229:26;12264:66;:::i;:::-;12367:15;;12361:22;12423;;;-1:-1:-1;;12419:36:67;12399:18;;;12392:64;12361:22;-1:-1:-1;12473:54:67;;-1:-1:-1;12427:6:67;12361:22;12473:54;:::i;:::-;12465:62;11007:1526;-1:-1:-1;;;;;;11007:1526:67:o;12538:331::-;12643:9;12654;12696:8;12684:10;12681:24;12678:44;;;12718:1;12715;12708:12;12678:44;12747:6;12737:8;12734:20;12731:40;;;12767:1;12764;12757:12;12731:40;-1:-1:-1;;12793:23:67;;;12838:25;;;;;-1:-1:-1;12538:331:67:o;12874:271::-;13057:6;13049;13044:3;13031:33;13013:3;13083:16;;13108:13;;;13083:16;12874:271;-1:-1:-1;12874:271:67:o;13150:805::-;13456:4;13485:3;13515:6;13504:9;13497:25;13558:6;13553:2;13542:9;13538:18;13531:34;13601:6;13596:2;13585:9;13581:18;13574:34;13660:26;13656:31;13648:6;13644:44;13639:2;13628:9;13624:18;13617:72;13726:6;13720:3;13709:9;13705:19;13698:35;13770:2;13764:3;13753:9;13749:19;13742:31;13790:45;13831:2;13820:9;13816:18;13808:6;13790:45;:::i;:::-;13866:3;13851:19;;13844:35;;;;-1:-1:-1;;;;;;;13916:32:67;;;;13910:3;13895:19;;;13888:61;13782:53;13150:805;-1:-1:-1;;;;;;13150:805:67:o;13960:118::-;14046:5;14039:13;14032:21;14025:5;14022:32;14012:60;;14068:1;14065;14058:12;14012:60;13960:118;:::o;14083:245::-;14150:6;14203:2;14191:9;14182:7;14178:23;14174:32;14171:52;;;14219:1;14216;14209:12;14171:52;14251:9;14245:16;14270:28;14292:5;14270:28;:::i;:::-;14317:5;14083:245;-1:-1:-1;;;14083:245:67:o;14333:128::-;14398:20;;14427:28;14398:20;14427:28;:::i;:::-;14333:128;;;:::o;14466:362::-;14530:5;14578:4;14566:9;14561:3;14557:19;14553:30;14550:50;;;14596:1;14593;14586:12;14550:50;14618:22;;:::i;:::-;14609:31;;14676:9;14663:23;14656:5;14649:38;14739:2;14728:9;14724:18;14711:32;14752:30;14774:7;14752:30;:::i;:::-;14809:2;14798:14;;14791:31;14802:5;14466:362;-1:-1:-1;;14466:362:67:o;14833:171::-;14900:20;;-1:-1:-1;;;;;14949:30:67;;14939:41;;14929:69;;14994:1;14991;14984:12;15009:163;15076:20;;15136:10;15125:22;;15115:33;;15105:61;;15162:1;15159;15152:12;15177:696;15230:5;15278:4;15266:9;15261:3;15257:19;15253:30;15250:50;;;15296:1;15293;15286:12;15250:50;15329:2;15323:9;15371:4;15363:6;15359:17;15442:6;15430:10;15427:22;-1:-1:-1;;;;;15394:10:67;15391:34;15388:62;15385:88;;;15453:18;;:::i;:::-;15489:2;15482:22;15522:6;-1:-1:-1;15522:6:67;15552:28;15570:9;15552:28;:::i;:::-;15544:6;15537:44;15614:37;15647:2;15636:9;15632:18;15614:37;:::i;:::-;15609:2;15601:6;15597:15;15590:62;15685:37;15718:2;15707:9;15703:18;15685:37;:::i;:::-;15680:2;15672:6;15668:15;15661:62;15756:37;15789:2;15778:9;15774:18;15756:37;:::i;:::-;15751:2;15743:6;15739:15;15732:62;15828:38;15861:3;15850:9;15846:19;15828:38;:::i;:::-;15822:3;15814:6;15810:16;15803:64;;15177:696;;;;:::o;15878:153::-;15956:20;;16005:1;15995:12;;15985:40;;16021:1;16018;16011:12;16036:1416;16094:5;16142:6;16130:9;16125:3;16121:19;16117:32;16114:52;;;16162:1;16159;16152:12;16114:52;16184:17;;:::i;:::-;16175:26;;16224:39;16253:9;16224:39;:::i;:::-;16217:5;16210:54;16296:48;16340:2;16329:9;16325:18;16296:48;:::i;:::-;16291:2;16284:5;16280:14;16273:72;16377:48;16421:2;16410:9;16406:18;16377:48;:::i;:::-;16372:2;16365:5;16361:14;16354:72;16458:48;16502:2;16491:9;16487:18;16458:48;:::i;:::-;16453:2;16446:5;16442:14;16435:72;16540:49;16584:3;16573:9;16569:19;16540:49;:::i;:::-;16534:3;16527:5;16523:15;16516:74;16623:49;16667:3;16656:9;16652:19;16623:49;:::i;:::-;16617:3;16610:5;16606:15;16599:74;16706:49;16750:3;16739:9;16735:19;16706:49;:::i;:::-;16700:3;16693:5;16689:15;16682:74;16789:38;16822:3;16811:9;16807:19;16789:38;:::i;:::-;16783:3;16776:5;16772:15;16765:63;16847:3;16882:48;16926:2;16915:9;16911:18;16882:48;:::i;:::-;16866:14;;;16859:72;16950:3;16985:48;17014:18;;;16985:48;:::i;:::-;16969:14;;;16962:72;17053:3;17088:48;17117:18;;;17088:48;:::i;:::-;17072:14;;;17065:72;17156:3;17191:48;17220:18;;;17191:48;:::i;:::-;17175:14;;;17168:72;17259:3;17294:48;17323:18;;;17294:48;:::i;:::-;17278:14;;;17271:72;17362:3;17397:48;17426:18;;;17397:48;:::i;:::-;17381:14;;;17374:72;17385:5;16036:1416;-1:-1:-1;;16036:1416:67:o;17457:668::-;17507:5;17560:3;17553:4;17545:6;17541:17;17537:27;17527:55;;17578:1;17575;17568:12;17527:55;17611:2;17605:9;17633:3;17675:2;17667:6;17663:15;17744:6;17732:10;17729:22;-1:-1:-1;;;;;17696:10:67;17693:34;17690:62;17687:88;;;17755:18;;:::i;:::-;17791:2;17784:22;17855:15;;17826:6;17882:15;;;17879:35;;;17910:1;17907;17900:12;17879:35;17934:6;17949:146;17965:6;17960:3;17957:15;17949:146;;;18033:17;;18021:30;;18080:4;18071:14;;;;17982;17949:146;;;-1:-1:-1;18113:6:67;;17457:668;-1:-1:-1;;;;;17457:668:67:o;18130:155::-;18210:20;;18259:1;18249:12;;18239:40;;18275:1;18272;18265:12;18290:285;18347:5;18395:4;18383:9;18378:3;18374:19;18370:30;18367:50;;;18413:1;18410;18403:12;18367:50;18435:22;;:::i;:::-;18426:31;;18493:9;18480:23;18473:5;18466:38;18564:2;18553:9;18549:18;18536:32;18531:2;18524:5;18520:14;18513:56;18290:285;;;;:::o;18580:720::-;18662:5;18715:3;18708:4;18700:6;18696:17;18692:27;18682:55;;18733:1;18730;18723:12;18682:55;18756:2;18787;18781:9;18829:3;18821:6;18817:16;18899:6;18887:10;18884:22;-1:-1:-1;;;;;18851:10:67;18848:34;18845:62;18842:88;;;18910:18;;:::i;:::-;18939:22;;18981:6;19022:3;19010:16;;19038:15;;;19035:35;;;19066:1;19063;19056:12;19035:35;19090:6;19105:165;19121:6;19116:3;19113:15;19105:165;;;19187:38;19221:3;19216;19187:38;:::i;:::-;19175:51;;19255:4;19246:14;;;;19138:12;;19105:165;;;-1:-1:-1;19288:6:67;;18580:720;-1:-1:-1;;;;;;18580:720:67:o;19305:698::-;19365:5;19418:3;19411:4;19403:6;19399:17;19395:27;19385:55;;19436:1;19433;19426:12;19385:55;19459:2;19490;19484:9;19532:3;19524:6;19520:16;19602:6;19590:10;19587:22;-1:-1:-1;;;;;19554:10:67;19551:34;19548:62;19545:88;;;19613:18;;:::i;:::-;19642:22;;19684:6;19725:3;19713:16;;19741:15;;;19738:35;;;19769:1;19766;19759:12;19738:35;19793:6;19808:165;19824:6;19819:3;19816:15;19808:165;;;19890:38;19924:3;19919;19890:38;:::i;:::-;19878:51;;19958:4;19949:14;;;;19841:12;;19808:165;;20008:1264;20070:5;20109:9;20104:3;20100:19;20139:6;20135:2;20131:15;20128:35;;;20159:1;20156;20149:12;20128:35;20181:22;;:::i;:::-;20172:31;;20226:41;20257:9;20226:41;:::i;:::-;20219:5;20212:56;20300:50;20346:2;20335:9;20331:18;20300:50;:::i;:::-;20295:2;20288:5;20284:14;20277:74;20370:6;20410:2;20404;20400:7;20396:2;20392:16;20388:25;20385:45;;;20426:1;20423;20416:12;20385:45;20454:22;;:::i;:::-;20439:37;;20501:81;20578:3;20573:2;20562:9;20558:18;20501:81;:::i;:::-;20492:7;20485:98;20617:60;20673:3;20667;20656:9;20652:19;20617:60;:::i;:::-;20612:2;20603:7;20599:16;20592:86;20712:55;20763:3;20756:4;20745:9;20741:20;20712:55;:::i;:::-;20707:2;20698:7;20694:16;20687:81;20804:55;20855:3;20848:4;20837:9;20833:20;20804:55;:::i;:::-;20797:4;20788:7;20784:18;20777:83;20896:55;20947:3;20940:4;20929:9;20925:20;20896:55;:::i;:::-;20889:4;20880:7;20876:18;20869:83;20988:55;21039:3;21032:4;21021:9;21017:20;20988:55;:::i;:::-;20981:4;20972:7;20968:18;20961:83;21080:55;21131:3;21124:4;21113:9;21109:20;21080:55;:::i;:::-;21073:4;21064:7;21060:18;21053:83;21172:53;21221:3;21216:2;21205:9;21201:18;21172:53;:::i;:::-;21165:4;21152:18;;21145:81;-1:-1:-1;21253:2:67;21242:14;;21235:31;21246:5;20008:1264;-1:-1:-1;;20008:1264:67:o;21277:659::-;21338:5;21391:3;21384:4;21376:6;21372:17;21368:27;21358:55;;21409:1;21406;21399:12;21358:55;21442:2;21436:9;21484:3;21476:6;21472:16;21554:6;21542:10;21539:22;-1:-1:-1;;;;;21506:10:67;21503:34;21500:62;21497:88;;;21565:18;;:::i;:::-;21601:2;21594:22;21636:6;21677:3;21665:16;;21693:15;;;21690:35;;;21721:1;21718;21711:12;21690:35;21745:6;21760:146;21776:6;21771:3;21768:15;21760:146;;;21844:17;;21832:30;;21891:4;21882:14;;;;21793;21760:146;;21941:848;22000:5;22048:6;22036:9;22031:3;22027:19;22023:32;22020:52;;;22068:1;22065;22058:12;22020:52;22090:22;;:::i;:::-;22081:31;;22135:40;22171:3;22160:9;22135:40;:::i;:::-;22128:5;22121:55;22210:59;22265:3;22259;22248:9;22244:19;22210:59;:::i;:::-;22203:4;22196:5;22192:16;22185:85;22304:39;22337:4;22326:9;22322:20;22304:39;:::i;:::-;22297:4;22290:5;22286:16;22279:65;22378:62;22436:3;22429:4;22418:9;22414:20;22378:62;:::i;:::-;22371:4;22364:5;22360:16;22353:88;22475:39;22508:4;22497:9;22493:20;22475:39;:::i;:::-;22468:4;22461:5;22457:16;22450:65;22549:37;22580:4;22569:9;22565:20;22549:37;:::i;:::-;22542:4;22535:5;22531:16;22524:63;22638:4;22627:9;22623:20;22610:34;-1:-1:-1;;;;;22659:6:67;22656:30;22653:50;;;22699:1;22696;22689:12;22653:50;22737:45;22778:3;22769:6;22758:9;22754:22;22737:45;:::i;:::-;22730:4;22723:5;22719:16;22712:71;;21941:848;;;;:::o;22794:1498::-;22879:6;22932:2;22920:9;22911:7;22907:23;22903:32;22900:52;;;22948:1;22945;22938:12;22900:52;22988:9;22975:23;-1:-1:-1;;;;;23058:2:67;23050:6;23047:14;23044:34;;;23074:1;23071;23064:12;23044:34;23097:22;;;;23153:6;23135:16;;;23131:29;23128:49;;;23173:1;23170;23163:12;23128:49;23199:22;;:::i;:::-;23244:48;23284:7;23280:2;23244:48;:::i;:::-;23237:5;23230:63;23346:2;23342;23338:11;23325:25;23320:2;23313:5;23309:14;23302:49;23397:2;23393;23389:11;23376:25;23426:2;23416:8;23413:16;23410:36;;;23442:1;23439;23432:12;23410:36;23478:44;23514:7;23503:8;23499:2;23495:17;23478:44;:::i;:::-;23473:2;23466:5;23462:14;23455:68;;23555:31;23581:3;23577:2;23573:12;23555:31;:::i;:::-;23550:2;23543:5;23539:14;23532:55;23620:31;23646:3;23642:2;23638:12;23620:31;:::i;:::-;23614:3;23607:5;23603:15;23596:56;23706:3;23702:2;23698:12;23685:26;23679:3;23672:5;23668:15;23661:51;23745:58;23795:7;23789:3;23785:2;23781:12;23745:58;:::i;:::-;23739:3;23732:5;23728:15;23721:83;23823:3;23880:2;23876;23872:11;23859:25;23853:3;23846:5;23842:15;23835:50;23904:3;23943:46;23981:7;23976:2;23972;23968:11;23943:46;:::i;:::-;23934:6;23927:5;23923:18;23916:74;24022:52;24066:7;24060:3;24056:2;24052:12;24022:52;:::i;:::-;24017:2;24010:5;24006:14;23999:76;24121:3;24117:2;24113:12;24100:26;24084:42;;24151:2;24141:8;24138:16;24135:36;;;24167:1;24164;24157:12;24135:36;24203:58;24253:7;24242:8;24238:2;24234:17;24203:58;:::i;:::-;24187:14;;;24180:82;-1:-1:-1;24191:5:67;22794:1498;-1:-1:-1;;;;;22794:1498:67:o","linkReferences":{}},"methodIdentifiers":{"validateAccount(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"f4c7c1fa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccountIsNotVerified\",\"type\":\"error\"},{\"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\"}],\"name\":\"validateAccount\",\"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\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x38da39b17be3ff80bdcd182f07365d6f6895b907d4a1cac5e9fa0541255fee67\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://422e0b0741b3599b9c0813886c166a1b909c583e4571b165f8329734ff26fee6\",\"dweb:/ipfs/QmezhvP6D1ifbBpVpLKQUiDv84naWbYUQEpFkDGdCbKwAG\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"src/MinaAccountValidation.sol\":{\"keccak256\":\"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc\",\"dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccountIsNotVerified"},{"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"}],"stateMutability":"view","type":"function","name":"validateAccount","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":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x38da39b17be3ff80bdcd182f07365d6f6895b907d4a1cac5e9fa0541255fee67","urls":["bzz-raw://422e0b0741b3599b9c0813886c166a1b909c583e4571b165f8329734ff26fee6","dweb:/ipfs/QmezhvP6D1ifbBpVpLKQUiDv84naWbYUQEpFkDGdCbKwAG"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"src/MinaAccountValidation.sol":{"keccak256":"0xa6b0d0d800c74341814b90bfe81a774ba1ef8aed33e88b55165910a959835385","urls":["bzz-raw://5f9de046b12fc312d4198f11995862080c0422fdc86d9b2d80ce65630dd992bc","dweb:/ipfs/QmSAwmbB5YZ1w7DYzrBhpKxhB2h468H8MgmVq4JEUeKz2q"],"license":"UNLICENSED"}},"version":1},"id":64} \ 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":"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"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"validateAccountAndReturn","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"}],"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"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161148038038061148083398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b6113ed806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063307b7a151461003b578063f4c7c1fa14610064575b600080fd5b61004e61004936600461064a565b610087565b60405161005b9190610acb565b60405180910390f35b61007761007236600461064a565b61015c565b604051901515815260200161005b565b61008f610205565b600083836040516100a1929190610bfd565b604051908190038120600080546306045a9160e01b8452919350916001600160a01b03909116906306045a91906100ea908e9086908f908f908f908f908f908b90600401610c0d565b602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b9190610c85565b90508015610036576101408460288188610ca9565b81019061014d9190611297565b9b9a5050505050505050505050565b600080838360405161016f929190610bfd565b604051908190038120600080546306045a9160e01b84529193506001600160a01b03909116916306045a91916101b6918e9186918f918f918f918f918f9190600401610c0d565b602060405180830381865afa1580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f79190610c85565b9a9950505050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e08601859052865190810187528481529283018490529482018390528101829052928301526101008101919091526101208101610308604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161031561031a565b905290565b6040518060e0016040528061032d610367565b815260200161033a610386565b81526000602082015260400161034e6103a5565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016103156103c3565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103d761046e565b81526020016103e46104a7565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161047d5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161047d565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561050b5761050b6104d3565b60405290565b6040516101c081016001600160401b038111828210171561050b5761050b6104d3565b604051606081016001600160401b038111828210171561050b5761050b6104d3565b60405161010081016001600160401b038111828210171561050b5761050b6104d3565b60405160e081016001600160401b038111828210171561050b5761050b6104d3565b60405161016081016001600160401b038111828210171561050b5761050b6104d3565b600082601f8301126105cf57600080fd5b81356001600160401b03808211156105e9576105e96104d3565b604051601f8301601f19908116603f01168101908282118183101715610611576106116104d3565b8160405283815286602085880101111561062a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b03121561066657600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461069157600080fd5b95506060890135945060808901356001600160401b03808211156106b457600080fd5b6106c08c838d016105be565b955060a08b0135945060c08b01359150808211156106dd57600080fd5b818b0191508b601f8301126106f157600080fd5b81358181111561070057600080fd5b8c602082850101111561071257600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b8181101561075157602081850181015186830182015201610735565b81811115610763576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6005811061079e5761079e610778565b9052565b6107ad82825161078e565b60208101516107bf602084018261078e565b5060408101516107d2604084018261078e565b5060608101516107e5606084018261078e565b5060808101516107f8608084018261078e565b5060a081015161080b60a084018261078e565b5060c081015161081e60c084018261078e565b5060e081015161083660e084018263ffffffff169052565b506101008082015161084a8285018261078e565b50506101208082015161085f8285018261078e565b5050610140808201516108748285018261078e565b5050610160808201516108898285018261078e565b50506101808082015161089e8285018261078e565b50506101a0808201516108b38285018261078e565b50505050565b6003811061079e5761079e610778565b8060005b600f8110156108b3576108eb84835180518252602090810151910152565b60409390930192602091909101906001016108cd565b61090c8282516108b9565b60208082015161091e828501826108b9565b50604082810151805160008684015b600782101561095d5761094b81845180518252602090810151910152565b9185019160019190910190840161092d565b50505091820151916109736102008601846108c9565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b60058110156108b3578151845260209384019390910190600101610a05565b80516000906109609084835b6008811015610a4f578251825260209283019290910190600101610a30565b5050506020830151610a65610100860182610901565b50604083015163ffffffff166108408501526060830151610a8a610860860182610a01565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610ac28286018261072b565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610b096103e085018361072b565b91506060850151610b2560a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610b6281870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610bd76102008801846107a2565b870151868503601f1901848801529150610bf390508382610a24565b9695505050505050565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610c4e8184018761072b565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c8257600080fd5b50565b600060208284031215610c9757600080fd5b8151610ca281610c74565b9392505050565b60008085851115610cb957600080fd5b83861115610cc657600080fd5b5050820193919092039150565b8035610cde81610c74565b919050565b600060408284031215610cf557600080fd5b610cfd6104e9565b9050813581526020820135610d1181610c74565b602082015292915050565b80356001600160401b0381168114610cde57600080fd5b803563ffffffff81168114610cde57600080fd5b600060a08284031215610d5957600080fd5b60405160a081018181106001600160401b0382111715610d7b57610d7b6104d3565b604052905080610d8a83610d1c565b8152610d9860208401610d33565b6020820152610da960408401610d1c565b6040820152610dba60608401610d33565b6060820152610dcb60808401610d1c565b60808201525092915050565b803560058110610cde57600080fd5b60006101c08284031215610df957600080fd5b610e01610511565b9050610e0c82610dd7565b8152610e1a60208301610dd7565b6020820152610e2b60408301610dd7565b6040820152610e3c60608301610dd7565b6060820152610e4d60808301610dd7565b6080820152610e5e60a08301610dd7565b60a0820152610e6f60c08301610dd7565b60c0820152610e8060e08301610d33565b60e0820152610100610e93818401610dd7565b90820152610120610ea5838201610dd7565b90820152610140610eb7838201610dd7565b90820152610160610ec9838201610dd7565b90820152610180610edb838201610dd7565b908201526101a0610eed838201610dd7565b9082015292915050565b600082601f830112610f0857600080fd5b6040516101008082018281106001600160401b0382111715610f2c57610f2c6104d3565b60405283018185821115610f3f57600080fd5b845b82811015610f59578035825260209182019101610f41565b509195945050505050565b803560038110610cde57600080fd5b600060408284031215610f8557600080fd5b610f8d6104e9565b9050813581526020820135602082015292915050565b600082601f830112610fb457600080fd5b6040805160e081018181106001600160401b0382111715610fd757610fd76104d3565b8252806101c0850186811115610fec57600080fd5b855b8181101561100f576110008882610f73565b83526020909201918401610fee565b50919695505050505050565b600082601f83011261102c57600080fd5b604080516101e081018181106001600160401b0382111715611050576110506104d3565b8252806103c085018681111561106557600080fd5b855b8181101561100f576110798882610f73565b83526020909201918401611067565b600081830361074081121561109c57600080fd5b6110a4610534565b91506110af83610f64565b82526110bd60208401610f64565b602083015261070080603f19830112156110d657600080fd5b6110de610556565b91506110ed8560408601610fa3565b82526110fd85610200860161101b565b6020830152611110856105c08601610f73565b6040830152611123856106008601610f73565b6060830152611136856106408601610f73565b6080830152611149856106808601610f73565b60a083015261115c856106c08601610f73565b60c083015261116d85828601610f73565b60e083015250604082015292915050565b600082601f83011261118f57600080fd5b60405160a081018181106001600160401b03821117156111b1576111b16104d3565b6040528060a08401858111156111c657600080fd5b845b81811015610f595780358352602092830192016111c8565b600061096082840312156111f357600080fd5b6111fb610579565b90506112078383610ef7565b8152611217836101008401611088565b60208201526112296108408301610d33565b604082015261123c83610860840161117e565b606082015261124e6109008301610d33565b60808201526112606109208301610cd3565b60a08201526109408201356001600160401b0381111561127f57600080fd5b61128b848285016105be565b60c08301525092915050565b6000602082840312156112a957600080fd5b81356001600160401b03808211156112c057600080fd5b908301906103c082860312156112d557600080fd5b6112dd61059b565b6112e78684610ce3565b81526040830135602082015260608301358281111561130557600080fd5b611311878286016105be565b60408301525061132360808401610d1c565b606082015261133460a08401610d33565b608082015260c083013560a08201526113508660e08501610ce3565b60c08201526101208084013560e083015261014061137088828701610d47565b610100840152611384886101e08701610de6565b828401526103a085013591508382111561139d57600080fd5b6113a9888387016111e0565b90830152509594505050505056fea2646970667358221220408401dcf79b112a5d4db083ac49d1c032701dd0d75f7bf39ab9954a6600271e64736f6c634300080c0033","sourceMap":"140:3981:40:-:0;;;288:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;347:7;:57;;-1:-1:-1;;;;;;347:57:40;-1:-1:-1;;;;;347:57:40;;;;;;;;;;140:3981;;14:298:41;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:41;;222:42;;212:70;;278:1;275;268:12;212:70;301:5;14:298;-1:-1:-1;;;14:298:41:o;:::-;140:3981:40;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063307b7a151461003b578063f4c7c1fa14610064575b600080fd5b61004e61004936600461064a565b610087565b60405161005b9190610acb565b60405180910390f35b61007761007236600461064a565b61015c565b604051901515815260200161005b565b61008f610205565b600083836040516100a1929190610bfd565b604051908190038120600080546306045a9160e01b8452919350916001600160a01b03909116906306045a91906100ea908e9086908f908f908f908f908f908b90600401610c0d565b602060405180830381865afa158015610107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012b9190610c85565b90508015610036576101408460288188610ca9565b81019061014d9190611297565b9b9a5050505050505050505050565b600080838360405161016f929190610bfd565b604051908190038120600080546306045a9160e01b84529193506001600160a01b03909116916306045a91916101b6918e9186918f918f918f918f918f9190600401610c0d565b602060405180830381865afa1580156101d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f79190610c85565b9a9950505050505050505050565b604080516101a081018252600061016082018181526101808301829052825260208083018290526060838501819052808401839052608080850184905260a08086018590528651808801885285815280850186905260c087015260e08601859052865190810187528481529283018490529482018390528101829052928301526101008101919091526101208101610308604080516101c0810190915280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526000602082018190526040909101908152602001600081526020016000815260200160008152602001600081526020016000905290565b815260200161031561031a565b905290565b6040518060e0016040528061032d610367565b815260200161033a610386565b81526000602082015260400161034e6103a5565b8152600060208201819052604082015260609081015290565b6040518061010001604052806008906020820280368337509192915050565b60408051606081018252600080825260208201529081016103156103c3565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806103d761046e565b81526020016103e46104a7565b8152604080518082018252600080825260208083018290528085019290925282518084018452818152808301829052838501528251808401845281815280830182905260608501528251808401845281815280830182905260808501528251808401845281815280830182905260a085015282518084019093528083529082015260c09091015290565b6040518060e001604052806007905b604080518082019091526000808252602082015281526020019060019003908161047d5790505090565b60408051610220810190915260006101e082018181526102008301919091528152600e6020820161047d565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561050b5761050b6104d3565b60405290565b6040516101c081016001600160401b038111828210171561050b5761050b6104d3565b604051606081016001600160401b038111828210171561050b5761050b6104d3565b60405161010081016001600160401b038111828210171561050b5761050b6104d3565b60405160e081016001600160401b038111828210171561050b5761050b6104d3565b60405161016081016001600160401b038111828210171561050b5761050b6104d3565b600082601f8301126105cf57600080fd5b81356001600160401b03808211156105e9576105e96104d3565b604051601f8301601f19908116603f01168101908282118183101715610611576106116104d3565b8160405283815286602085880101111561062a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b03121561066657600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461069157600080fd5b95506060890135945060808901356001600160401b03808211156106b457600080fd5b6106c08c838d016105be565b955060a08b0135945060c08b01359150808211156106dd57600080fd5b818b0191508b601f8301126106f157600080fd5b81358181111561070057600080fd5b8c602082850101111561071257600080fd5b6020830194508093505050509295985092959890939650565b6000815180845260005b8181101561075157602081850181015186830182015201610735565b81811115610763576000602083870101525b50601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b6005811061079e5761079e610778565b9052565b6107ad82825161078e565b60208101516107bf602084018261078e565b5060408101516107d2604084018261078e565b5060608101516107e5606084018261078e565b5060808101516107f8608084018261078e565b5060a081015161080b60a084018261078e565b5060c081015161081e60c084018261078e565b5060e081015161083660e084018263ffffffff169052565b506101008082015161084a8285018261078e565b50506101208082015161085f8285018261078e565b5050610140808201516108748285018261078e565b5050610160808201516108898285018261078e565b50506101808082015161089e8285018261078e565b50506101a0808201516108b38285018261078e565b50505050565b6003811061079e5761079e610778565b8060005b600f8110156108b3576108eb84835180518252602090810151910152565b60409390930192602091909101906001016108cd565b61090c8282516108b9565b60208082015161091e828501826108b9565b50604082810151805160008684015b600782101561095d5761094b81845180518252602090810151910152565b9185019160019190910190840161092d565b50505091820151916109736102008601846108c9565b9081015180516105c08601526020908101516105e0860152606082015180516106008701528101516106208601526080820151805161064087015281015161066086015260a082015180516106808701528101516106a086015260c082015180516106c08701528101516106e086015260e09091015180516107008601520151610720909301929092525050565b8060005b60058110156108b3578151845260209384019390910190600101610a05565b80516000906109609084835b6008811015610a4f578251825260209283019290910190600101610a30565b5050506020830151610a65610100860182610901565b50604083015163ffffffff166108408501526060830151610a8a610860860182610a01565b50608083015163ffffffff1661090085015260a0830151151561092085015260c08301516109408501829052610ac28286018261072b565b95945050505050565b6020808252825180518383015201511515604082015260208201516060820152600060408301516103c0806080850152610b096103e085018361072b565b91506060850151610b2560a08601826001600160401b03169052565b50608085015163ffffffff811660c08601525060a085015160e085015260c0850151610100610b6281870183805182526020908101511515910152565b60e0870151610140878101919091528188015180516001600160401b039081166101608a0152602082015163ffffffff9081166101808b0152604083015182166101a08b01526060830151166101c08a0152608090910151166101e08801526101208801519250610bd76102008801846107a2565b870151868503601f1901848801529150610bf390508382610a24565b9695505050505050565b8183823760009101908152919050565b60006101008a83528960208401528860408401526bffffffffffffffffffffffff19881660608401528660808401528060a0840152610c4e8184018761072b565b60c084019590955250506001600160a01b039190911660e0909101529695505050505050565b8015158114610c8257600080fd5b50565b600060208284031215610c9757600080fd5b8151610ca281610c74565b9392505050565b60008085851115610cb957600080fd5b83861115610cc657600080fd5b5050820193919092039150565b8035610cde81610c74565b919050565b600060408284031215610cf557600080fd5b610cfd6104e9565b9050813581526020820135610d1181610c74565b602082015292915050565b80356001600160401b0381168114610cde57600080fd5b803563ffffffff81168114610cde57600080fd5b600060a08284031215610d5957600080fd5b60405160a081018181106001600160401b0382111715610d7b57610d7b6104d3565b604052905080610d8a83610d1c565b8152610d9860208401610d33565b6020820152610da960408401610d1c565b6040820152610dba60608401610d33565b6060820152610dcb60808401610d1c565b60808201525092915050565b803560058110610cde57600080fd5b60006101c08284031215610df957600080fd5b610e01610511565b9050610e0c82610dd7565b8152610e1a60208301610dd7565b6020820152610e2b60408301610dd7565b6040820152610e3c60608301610dd7565b6060820152610e4d60808301610dd7565b6080820152610e5e60a08301610dd7565b60a0820152610e6f60c08301610dd7565b60c0820152610e8060e08301610d33565b60e0820152610100610e93818401610dd7565b90820152610120610ea5838201610dd7565b90820152610140610eb7838201610dd7565b90820152610160610ec9838201610dd7565b90820152610180610edb838201610dd7565b908201526101a0610eed838201610dd7565b9082015292915050565b600082601f830112610f0857600080fd5b6040516101008082018281106001600160401b0382111715610f2c57610f2c6104d3565b60405283018185821115610f3f57600080fd5b845b82811015610f59578035825260209182019101610f41565b509195945050505050565b803560038110610cde57600080fd5b600060408284031215610f8557600080fd5b610f8d6104e9565b9050813581526020820135602082015292915050565b600082601f830112610fb457600080fd5b6040805160e081018181106001600160401b0382111715610fd757610fd76104d3565b8252806101c0850186811115610fec57600080fd5b855b8181101561100f576110008882610f73565b83526020909201918401610fee565b50919695505050505050565b600082601f83011261102c57600080fd5b604080516101e081018181106001600160401b0382111715611050576110506104d3565b8252806103c085018681111561106557600080fd5b855b8181101561100f576110798882610f73565b83526020909201918401611067565b600081830361074081121561109c57600080fd5b6110a4610534565b91506110af83610f64565b82526110bd60208401610f64565b602083015261070080603f19830112156110d657600080fd5b6110de610556565b91506110ed8560408601610fa3565b82526110fd85610200860161101b565b6020830152611110856105c08601610f73565b6040830152611123856106008601610f73565b6060830152611136856106408601610f73565b6080830152611149856106808601610f73565b60a083015261115c856106c08601610f73565b60c083015261116d85828601610f73565b60e083015250604082015292915050565b600082601f83011261118f57600080fd5b60405160a081018181106001600160401b03821117156111b1576111b16104d3565b6040528060a08401858111156111c657600080fd5b845b81811015610f595780358352602092830192016111c8565b600061096082840312156111f357600080fd5b6111fb610579565b90506112078383610ef7565b8152611217836101008401611088565b60208201526112296108408301610d33565b604082015261123c83610860840161117e565b606082015261124e6109008301610d33565b60808201526112606109208301610cd3565b60a08201526109408201356001600160401b0381111561127f57600080fd5b61128b848285016105be565b60c08301525092915050565b6000602082840312156112a957600080fd5b81356001600160401b03808211156112c057600080fd5b908301906103c082860312156112d557600080fd5b6112dd61059b565b6112e78684610ce3565b81526040830135602082015260608301358281111561130557600080fd5b611311878286016105be565b60408301525061132360808401610d1c565b606082015261133460a08401610d33565b608082015260c083013560a08201526113508660e08501610ce3565b60c08201526101208084013560e083015261014061137088828701610d47565b610100840152611384886101e08701610de6565b828401526103a085013591508382111561139d57600080fd5b6113a9888387016111e0565b90830152509594505050505056fea2646970667358221220408401dcf79b112a5d4db083ac49d1c032701dd0d75f7bf39ab9954a6600271e64736f6c634300080c0033","sourceMap":"140:3981:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:878;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;417:745;;;;;;:::i;:::-;;:::i;:::-;;;12703:14:41;;12696:22;12678:41;;12666:2;12651:18;417:745:40;12538:187:41;1168:878:40;1492:14;;:::i;:::-;1518:26;1557:8;;1547:19;;;;;;;:::i;:::-;;;;;;;;;1577:22;1602:7;;-1:-1:-1;;;1602:293:40;;1547:19;;-1:-1:-1;1577:22:40;-1:-1:-1;;;;;1602:7:40;;;;:28;;:293;;1644:15;;1547:19;;1705:30;;1749:18;;1781:15;;1810:11;;1835:26;;1577:22;;1602:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1577:318;;1910:17;1906:134;;;1961:17;:8;1970:6;1961:8;;:17;:::i;:::-;1950:40;;;;;;;:::i;:::-;1943:47;1168:878;-1:-1:-1;;;;;;;;;;;1168:878:40:o;417:745::-;732:4;748:26;787:8;;777:19;;;;;;;:::i;:::-;;;;;;;;;826:7;;;-1:-1:-1;;;826:329:40;;777:19;;-1:-1:-1;;;;;;826:7:40;;;;:28;;:329;;872:15;;777:19;;941:30;;989:18;;1025:15;;1058:11;;1087:26;;826:7;:329;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;807:348;417:745;-1:-1:-1;;;;;;;;;;417:745:40:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14:127:41;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:257;218:4;212:11;;;250:17;;-1:-1:-1;;;;;282:34:41;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:4;373:24;146:257;:::o;408:255::-;480:2;474:9;522:6;510:19;;-1:-1:-1;;;;;544:34:41;;580:22;;;541:62;538:88;;;606:18;;:::i;668:253::-;740:2;734:9;782:4;770:17;;-1:-1:-1;;;;;802:34:41;;838:22;;;799:62;796:88;;;864:18;;:::i;926:255::-;998:2;992:9;1040:6;1028:19;;-1:-1:-1;;;;;1062:34:41;;1098:22;;;1059:62;1056:88;;;1124:18;;:::i;1186:248::-;1253:2;1247:9;1295:4;1283:17;;-1:-1:-1;;;;;1315:34:41;;1351:22;;;1312:62;1309:88;;;1377:18;;:::i;1439:255::-;1511:2;1505:9;1553:6;1541:19;;-1:-1:-1;;;;;1575:34:41;;1611:22;;;1572:62;1569:88;;;1637:18;;:::i;1699:718::-;1741:5;1794:3;1787:4;1779:6;1775:17;1771:27;1761:55;;1812:1;1809;1802:12;1761:55;1848:6;1835:20;-1:-1:-1;;;;;1911:2:41;1907;1904:10;1901:36;;;1917:18;;:::i;:::-;1992:2;1986:9;1960:2;2046:13;;-1:-1:-1;;2042:22:41;;;2066:2;2038:31;2034:40;2022:53;;;2090:18;;;2110:22;;;2087:46;2084:72;;;2136:18;;:::i;:::-;2176:10;2172:2;2165:22;2211:2;2203:6;2196:18;2257:3;2250:4;2245:2;2237:6;2233:15;2229:26;2226:35;2223:55;;;2274:1;2271;2264:12;2223:55;2338:2;2331:4;2323:6;2319:17;2312:4;2304:6;2300:17;2287:54;2385:1;2378:4;2373:2;2365:6;2361:15;2357:26;2350:37;2405:6;2396:15;;;;;;1699:718;;;;:::o;2422:1251::-;2555:6;2563;2571;2579;2587;2595;2603;2611;2664:3;2652:9;2643:7;2639:23;2635:33;2632:53;;;2681:1;2678;2671:12;2632:53;2704:23;;;-1:-1:-1;2774:2:41;2759:18;;2746:32;;-1:-1:-1;2828:2:41;2813:18;;2800:32;-1:-1:-1;;2861:43:41;;2851:54;;2841:82;;2919:1;2916;2909:12;2841:82;2942:5;-1:-1:-1;2994:2:41;2979:18;;2966:32;;-1:-1:-1;3049:3:41;3034:19;;3021:33;-1:-1:-1;;;;;3103:14:41;;;3100:34;;;3130:1;3127;3120:12;3100:34;3153:49;3194:7;3185:6;3174:9;3170:22;3153:49;:::i;:::-;3143:59;;3249:3;3238:9;3234:19;3221:33;3211:43;;3307:3;3296:9;3292:19;3279:33;3263:49;;3337:2;3327:8;3324:16;3321:36;;;3353:1;3350;3343:12;3321:36;3391:8;3380:9;3376:24;3366:34;;3438:7;3431:4;3427:2;3423:13;3419:27;3409:55;;3460:1;3457;3450:12;3409:55;3500:2;3487:16;3526:2;3518:6;3515:14;3512:34;;;3542:1;3539;3532:12;3512:34;3587:7;3582:2;3573:6;3569:2;3565:15;3561:24;3558:37;3555:57;;;3608:1;3605;3598:12;3555:57;3639:2;3635;3631:11;3621:21;;3661:6;3651:16;;;;;2422:1251;;;;;;;;;;;:::o;3953:472::-;3995:3;4033:5;4027:12;4060:6;4055:3;4048:19;4085:1;4095:162;4109:6;4106:1;4103:13;4095:162;;;4171:4;4227:13;;;4223:22;;4217:29;4199:11;;;4195:20;;4188:59;4124:12;4095:162;;;4275:6;4272:1;4269:13;4266:87;;;4341:1;4334:4;4325:6;4320:3;4316:16;4312:27;4305:38;4266:87;-1:-1:-1;4407:2:41;4386:15;-1:-1:-1;;4382:29:41;4373:39;;;;4414:4;4369:50;;3953:472;-1:-1:-1;;3953:472:41:o;5108:127::-;5169:10;5164:3;5160:20;5157:1;5150:31;5200:4;5197:1;5190:15;5224:4;5221:1;5214:15;5240:143;5324:1;5317:5;5314:12;5304:46;;5330:18;;:::i;:::-;5359;;5240:143::o;5388:1834::-;5453:47;5496:3;5488:5;5482:12;5453:47;:::i;:::-;5546:4;5539:5;5535:16;5529:23;5561:58;5613:4;5608:3;5604:14;5590:12;5561:58;:::i;:::-;;5667:4;5660:5;5656:16;5650:23;5682:60;5736:4;5731:3;5727:14;5711;5682:60;:::i;:::-;;5790:4;5783:5;5779:16;5773:23;5805:60;5859:4;5854:3;5850:14;5834;5805:60;:::i;:::-;;5913:4;5906:5;5902:16;5896:23;5928:60;5982:4;5977:3;5973:14;5957;5928:60;:::i;:::-;;6036:4;6029:5;6025:16;6019:23;6051:60;6105:4;6100:3;6096:14;6080;6051:60;:::i;:::-;;6159:4;6152:5;6148:16;6142:23;6174:60;6228:4;6223:3;6219:14;6203;6174:60;:::i;:::-;;6282:4;6275:5;6271:16;6265:23;6297:49;6340:4;6335:3;6331:14;6315;4613:10;4602:22;4590:35;;4537:94;6297:49;;6365:6;6419:2;6412:5;6408:14;6402:21;6432:58;6486:2;6481:3;6477:12;6461:14;6432:58;:::i;:::-;;;6509:6;6563:2;6556:5;6552:14;6546:21;6576:58;6630:2;6625:3;6621:12;6605:14;6576:58;:::i;:::-;;;6653:6;6707:2;6700:5;6696:14;6690:21;6720:58;6774:2;6769:3;6765:12;6749:14;6720:58;:::i;:::-;;;6797:6;6852:2;6845:5;6841:14;6835:21;6865:59;6920:2;6915:3;6911:12;6894:15;6865:59;:::i;:::-;;;6943:6;6998:2;6991:5;6987:14;6981:21;7011:59;7066:2;7061:3;7057:12;7040:15;7011:59;:::i;:::-;;;7089:6;7144:2;7137:5;7133:14;7127:21;7157:59;7212:2;7207:3;7203:12;7186:15;7157:59;:::i;:::-;;;5388:1834;;:::o;7227:145::-;7313:1;7306:5;7303:12;7293:46;;7319:18;;:::i;7533:335::-;7636:5;7659:1;7669:193;7683:4;7680:1;7677:11;7669:193;;;7730:48;7774:3;7765:6;7759:13;7453:12;;7441:25;;7515:4;7504:16;;;7498:23;7482:14;;7475:47;7377:151;7730:48;7807:4;7798:14;;;;;7847:4;7835:17;;;;;7703:1;7696:9;7669:193;;7873:1627;7942:49;7987:3;7979:5;7973:12;7942:49;:::i;:::-;8010:4;8060:2;8053:5;8049:14;8043:21;8073:58;8127:2;8122:3;8118:12;8104;8073:58;:::i;:::-;-1:-1:-1;8150:4:41;8191:14;;;8185:21;8256;;8364:1;8225:12;;;8374:195;8388:4;8385:1;8382:11;8374:195;;;8435:50;8479:5;8470:6;8464:13;7453:12;;7441:25;;7515:4;7504:16;;;7498:23;7482:14;;7475:47;7377:151;8435:50;8544:15;;;;8408:1;8401:9;;;;;8507:14;;8374:195;;;-1:-1:-1;;;8606:23:41;;;8600:30;;8639:65;8699:3;8690:13;;8600:30;8639:65;:::i;:::-;8741:23;;;8735:30;7453:12;;8828:4;8819:14;;7441:25;7515:4;7504:16;;;7498:23;7482:14;;;7475:47;8891:4;8871:25;;8865:32;7453:12;;8960:4;8951:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9023:4;9003:25;;8997:32;7453:12;;9092:4;9083:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9155:4;9135:25;;9129:32;7453:12;;9224:4;9215:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9287:4;9267:25;;9261:32;7453:12;;9356:4;9347:14;;7441:25;7504:16;;7498:23;7482:14;;;7475:47;9419:4;9399:25;;;9393:32;7453:12;;9488:4;9479:14;;7441:25;7504:16;7498:23;7482:14;;;;7475:47;;;;-1:-1:-1;;7873:1627:41:o;9505:326::-;9598:5;9621:1;9631:194;9645:4;9642:1;9639:11;9631:194;;;9704:13;;9692:26;;9741:4;9765:12;;;;9800:15;;;;9665:1;9658:9;9631:194;;9836:1166;9944:12;;9891:3;;9919:6;;9978:3;9891;10055:200;10069:4;10066:1;10063:11;10055:200;;;10130:13;;10116:28;;10167:4;10230:15;;;;10193:14;;;;10089:1;10082:9;10055:200;;;10059:3;;;10301:4;10294:5;10290:16;10284:23;10316:65;10373:6;10368:3;10364:16;10350:12;10316:65;:::i;:::-;-1:-1:-1;10429:4:41;10418:16;;10412:23;4613:10;4602:22;10487:6;10478:16;;4590:35;10543:4;10532:16;;10526:23;10558:58;10608:6;10599:16;;10526:23;10558:58;:::i;:::-;-1:-1:-1;10664:4:41;10653:16;;10647:23;4613:10;4602:22;10722:6;10713:16;;4590:35;10778:4;10767:16;;10761:23;3748:13;3741:21;10834:6;10825:16;;3729:34;10890:4;10879:16;;10873:23;10921:6;10912:16;;10905:28;;;10949:47;10983:12;;;10873:23;10949:47;:::i;:::-;10942:54;9836:1166;-1:-1:-1;;;;;9836:1166:41:o;11007:1526::-;11188:2;11170:21;;;11236:13;;3857:12;;11251:18;;;3845:25;3922:16;3916:23;3909:31;3902:39;3886:14;;;3879:63;11324:2;11316:6;11312:15;11306:22;11301:2;11290:9;11286:18;11279:50;11151:4;11376;11368:6;11364:17;11358:24;11401:6;11444:2;11438:3;11427:9;11423:19;11416:31;11470:52;11517:3;11506:9;11502:19;11488:12;11470:52;:::i;:::-;11456:66;;11571:2;11563:6;11559:15;11553:22;11584:54;11633:3;11622:9;11618:19;11602:14;-1:-1:-1;;;;;4495:30:41;4483:43;;4430:102;11584:54;-1:-1:-1;11687:3:41;11675:16;;11669:23;4613:10;4602:22;;11750:3;11735:19;;4590:35;11701:54;11810:3;11802:6;11798:16;11792:23;11786:3;11775:9;11771:19;11764:52;11865:3;11857:6;11853:16;11847:23;11889:3;11901:71;11968:2;11957:9;11953:18;11937:14;3857:12;;3845:25;;3933:4;3922:16;;;3916:23;3909:31;3902:39;3886:14;;3879:63;3774:174;11901:71;12009:3;11997:16;;11991:23;12033:3;12052:18;;;12045:30;;;;12112:15;;;12106:22;4749:12;;-1:-1:-1;;;;;4745:21:41;;;12193:3;12178:19;;4733:34;4813:4;4802:16;;4796:23;4838:10;4880:21;;;4864:14;;;4857:45;4955:4;4944:16;;4938:23;4934:32;;4918:14;;;4911:56;5020:4;5009:16;;5003:23;4999:32;4983:14;;;4976:56;5085:4;5074:16;;;5068:23;5064:32;5048:14;;;5041:56;12247:6;12235:19;;12229:26;;-1:-1:-1;12264:66:41;12325:3;12310:19;;12229:26;12264:66;:::i;:::-;12367:15;;12361:22;12423;;;-1:-1:-1;;12419:36:41;12399:18;;;12392:64;12361:22;-1:-1:-1;12473:54:41;;-1:-1:-1;12427:6:41;12361:22;12473:54;:::i;:::-;12465:62;11007:1526;-1:-1:-1;;;;;;11007:1526:41:o;12730:271::-;12913:6;12905;12900:3;12887:33;12869:3;12939:16;;12964:13;;;12939:16;12730:271;-1:-1:-1;12730:271:41:o;13006:805::-;13312:4;13341:3;13371:6;13360:9;13353:25;13414:6;13409:2;13398:9;13394:18;13387:34;13457:6;13452:2;13441:9;13437:18;13430:34;13516:26;13512:31;13504:6;13500:44;13495:2;13484:9;13480:18;13473:72;13582:6;13576:3;13565:9;13561:19;13554:35;13626:2;13620:3;13609:9;13605:19;13598:31;13646:45;13687:2;13676:9;13672:18;13664:6;13646:45;:::i;:::-;13722:3;13707:19;;13700:35;;;;-1:-1:-1;;;;;;;13772:32:41;;;;13766:3;13751:19;;;13744:61;13638:53;13006:805;-1:-1:-1;;;;;;13006:805:41:o;13816:118::-;13902:5;13895:13;13888:21;13881:5;13878:32;13868:60;;13924:1;13921;13914:12;13868:60;13816:118;:::o;13939:245::-;14006:6;14059:2;14047:9;14038:7;14034:23;14030:32;14027:52;;;14075:1;14072;14065:12;14027:52;14107:9;14101:16;14126:28;14148:5;14126:28;:::i;:::-;14173:5;13939:245;-1:-1:-1;;;13939:245:41:o;14189:331::-;14294:9;14305;14347:8;14335:10;14332:24;14329:44;;;14369:1;14366;14359:12;14329:44;14398:6;14388:8;14385:20;14382:40;;;14418:1;14415;14408:12;14382:40;-1:-1:-1;;14444:23:41;;;14489:25;;;;;-1:-1:-1;14189:331:41:o;14525:128::-;14590:20;;14619:28;14590:20;14619:28;:::i;:::-;14525:128;;;:::o;14658:362::-;14722:5;14770:4;14758:9;14753:3;14749:19;14745:30;14742:50;;;14788:1;14785;14778:12;14742:50;14810:22;;:::i;:::-;14801:31;;14868:9;14855:23;14848:5;14841:38;14931:2;14920:9;14916:18;14903:32;14944:30;14966:7;14944:30;:::i;:::-;15001:2;14990:14;;14983:31;14994:5;14658:362;-1:-1:-1;;14658:362:41:o;15025:171::-;15092:20;;-1:-1:-1;;;;;15141:30:41;;15131:41;;15121:69;;15186:1;15183;15176:12;15201:163;15268:20;;15328:10;15317:22;;15307:33;;15297:61;;15354:1;15351;15344:12;15369:696;15422:5;15470:4;15458:9;15453:3;15449:19;15445:30;15442:50;;;15488:1;15485;15478:12;15442:50;15521:2;15515:9;15563:4;15555:6;15551:17;15634:6;15622:10;15619:22;-1:-1:-1;;;;;15586:10:41;15583:34;15580:62;15577:88;;;15645:18;;:::i;:::-;15681:2;15674:22;15714:6;-1:-1:-1;15714:6:41;15744:28;15762:9;15744:28;:::i;:::-;15736:6;15729:44;15806:37;15839:2;15828:9;15824:18;15806:37;:::i;:::-;15801:2;15793:6;15789:15;15782:62;15877:37;15910:2;15899:9;15895:18;15877:37;:::i;:::-;15872:2;15864:6;15860:15;15853:62;15948:37;15981:2;15970:9;15966:18;15948:37;:::i;:::-;15943:2;15935:6;15931:15;15924:62;16020:38;16053:3;16042:9;16038:19;16020:38;:::i;:::-;16014:3;16006:6;16002:16;15995:64;;15369:696;;;;:::o;16070:153::-;16148:20;;16197:1;16187:12;;16177:40;;16213:1;16210;16203:12;16228:1421;16286:5;16334:6;16322:9;16317:3;16313:19;16309:32;16306:52;;;16354:1;16351;16344:12;16306:52;16376:22;;:::i;:::-;16367:31;;16421:39;16450:9;16421:39;:::i;:::-;16414:5;16407:54;16493:48;16537:2;16526:9;16522:18;16493:48;:::i;:::-;16488:2;16481:5;16477:14;16470:72;16574:48;16618:2;16607:9;16603:18;16574:48;:::i;:::-;16569:2;16562:5;16558:14;16551:72;16655:48;16699:2;16688:9;16684:18;16655:48;:::i;:::-;16650:2;16643:5;16639:14;16632:72;16737:49;16781:3;16770:9;16766:19;16737:49;:::i;:::-;16731:3;16724:5;16720:15;16713:74;16820:49;16864:3;16853:9;16849:19;16820:49;:::i;:::-;16814:3;16807:5;16803:15;16796:74;16903:49;16947:3;16936:9;16932:19;16903:49;:::i;:::-;16897:3;16890:5;16886:15;16879:74;16986:38;17019:3;17008:9;17004:19;16986:38;:::i;:::-;16980:3;16973:5;16969:15;16962:63;17044:3;17079:48;17123:2;17112:9;17108:18;17079:48;:::i;:::-;17063:14;;;17056:72;17147:3;17182:48;17211:18;;;17182:48;:::i;:::-;17166:14;;;17159:72;17250:3;17285:48;17314:18;;;17285:48;:::i;:::-;17269:14;;;17262:72;17353:3;17388:48;17417:18;;;17388:48;:::i;:::-;17372:14;;;17365:72;17456:3;17491:48;17520:18;;;17491:48;:::i;:::-;17475:14;;;17468:72;17559:3;17594:48;17623:18;;;17594:48;:::i;:::-;17578:14;;;17571:72;17582:5;16228:1421;-1:-1:-1;;16228:1421:41:o;17654:668::-;17704:5;17757:3;17750:4;17742:6;17738:17;17734:27;17724:55;;17775:1;17772;17765:12;17724:55;17808:2;17802:9;17830:3;17872:2;17864:6;17860:15;17941:6;17929:10;17926:22;-1:-1:-1;;;;;17893:10:41;17890:34;17887:62;17884:88;;;17952:18;;:::i;:::-;17988:2;17981:22;18052:15;;18023:6;18079:15;;;18076:35;;;18107:1;18104;18097:12;18076:35;18131:6;18146:146;18162:6;18157:3;18154:15;18146:146;;;18230:17;;18218:30;;18277:4;18268:14;;;;18179;18146:146;;;-1:-1:-1;18310:6:41;;17654:668;-1:-1:-1;;;;;17654:668:41:o;18327:155::-;18407:20;;18456:1;18446:12;;18436:40;;18472:1;18469;18462:12;18487:285;18544:5;18592:4;18580:9;18575:3;18571:19;18567:30;18564:50;;;18610:1;18607;18600:12;18564:50;18632:22;;:::i;:::-;18623:31;;18690:9;18677:23;18670:5;18663:38;18761:2;18750:9;18746:18;18733:32;18728:2;18721:5;18717:14;18710:56;18487:285;;;;:::o;18777:698::-;18837:5;18890:3;18883:4;18875:6;18871:17;18867:27;18857:55;;18908:1;18905;18898:12;18857:55;18931:2;18962;18956:9;19004:3;18996:6;18992:16;19074:6;19062:10;19059:22;-1:-1:-1;;;;;19026:10:41;19023:34;19020:62;19017:88;;;19085:18;;:::i;:::-;19114:22;;19156:6;19197:3;19185:16;;19213:15;;;19210:35;;;19241:1;19238;19231:12;19210:35;19265:6;19280:165;19296:6;19291:3;19288:15;19280:165;;;19362:38;19396:3;19391;19362:38;:::i;:::-;19350:51;;19430:4;19421:14;;;;19313:12;;19280:165;;;-1:-1:-1;19463:6:41;;18777:698;-1:-1:-1;;;;;;18777:698:41:o;19480:720::-;19562:5;19615:3;19608:4;19600:6;19596:17;19592:27;19582:55;;19633:1;19630;19623:12;19582:55;19656:2;19687;19681:9;19729:3;19721:6;19717:16;19799:6;19787:10;19784:22;-1:-1:-1;;;;;19751:10:41;19748:34;19745:62;19742:88;;;19810:18;;:::i;:::-;19839:22;;19881:6;19922:3;19910:16;;19938:15;;;19935:35;;;19966:1;19963;19956:12;19935:35;19990:6;20005:165;20021:6;20016:3;20013:15;20005:165;;;20087:38;20121:3;20116;20087:38;:::i;:::-;20075:51;;20155:4;20146:14;;;;20038:12;;20005:165;;20205:1264;20267:5;20306:9;20301:3;20297:19;20336:6;20332:2;20328:15;20325:35;;;20356:1;20353;20346:12;20325:35;20378:22;;:::i;:::-;20369:31;;20423:41;20454:9;20423:41;:::i;:::-;20416:5;20409:56;20497:50;20543:2;20532:9;20528:18;20497:50;:::i;:::-;20492:2;20485:5;20481:14;20474:74;20567:6;20607:2;20601;20597:7;20593:2;20589:16;20585:25;20582:45;;;20623:1;20620;20613:12;20582:45;20651:22;;:::i;:::-;20636:37;;20698:59;20753:3;20748:2;20737:9;20733:18;20698:59;:::i;:::-;20689:7;20682:76;20792:82;20870:3;20864;20853:9;20849:19;20792:82;:::i;:::-;20787:2;20778:7;20774:16;20767:108;20909:55;20960:3;20953:4;20942:9;20938:20;20909:55;:::i;:::-;20904:2;20895:7;20891:16;20884:81;21001:55;21052:3;21045:4;21034:9;21030:20;21001:55;:::i;:::-;20994:4;20985:7;20981:18;20974:83;21093:55;21144:3;21137:4;21126:9;21122:20;21093:55;:::i;:::-;21086:4;21077:7;21073:18;21066:83;21185:55;21236:3;21229:4;21218:9;21214:20;21185:55;:::i;:::-;21178:4;21169:7;21165:18;21158:83;21277:55;21328:3;21321:4;21310:9;21306:20;21277:55;:::i;:::-;21270:4;21261:7;21257:18;21250:83;21369:53;21418:3;21413:2;21402:9;21398:18;21369:53;:::i;:::-;21362:4;21349:18;;21342:81;-1:-1:-1;21450:2:41;21439:14;;21432:31;21443:5;20205:1264;-1:-1:-1;;20205:1264:41:o;21474:659::-;21535:5;21588:3;21581:4;21573:6;21569:17;21565:27;21555:55;;21606:1;21603;21596:12;21555:55;21639:2;21633:9;21681:3;21673:6;21669:16;21751:6;21739:10;21736:22;-1:-1:-1;;;;;21703:10:41;21700:34;21697:62;21694:88;;;21762:18;;:::i;:::-;21798:2;21791:22;21833:6;21874:3;21862:16;;21890:15;;;21887:35;;;21918:1;21915;21908:12;21887:35;21942:6;21957:146;21973:6;21968:3;21965:15;21957:146;;;22041:17;;22029:30;;22088:4;22079:14;;;;21990;21957:146;;22138:843;22197:5;22245:6;22233:9;22228:3;22224:19;22220:32;22217:52;;;22265:1;22262;22255:12;22217:52;22287:17;;:::i;:::-;22278:26;;22327:40;22363:3;22352:9;22327:40;:::i;:::-;22320:5;22313:55;22402:59;22457:3;22451;22440:9;22436:19;22402:59;:::i;:::-;22395:4;22388:5;22384:16;22377:85;22496:39;22529:4;22518:9;22514:20;22496:39;:::i;:::-;22489:4;22482:5;22478:16;22471:65;22570:62;22628:3;22621:4;22610:9;22606:20;22570:62;:::i;:::-;22563:4;22556:5;22552:16;22545:88;22667:39;22700:4;22689:9;22685:20;22667:39;:::i;:::-;22660:4;22653:5;22649:16;22642:65;22741:37;22772:4;22761:9;22757:20;22741:37;:::i;:::-;22734:4;22727:5;22723:16;22716:63;22830:4;22819:9;22815:20;22802:34;-1:-1:-1;;;;;22851:6:41;22848:30;22845:50;;;22891:1;22888;22881:12;22845:50;22929:45;22970:3;22961:6;22950:9;22946:22;22929:45;:::i;:::-;22922:4;22915:5;22911:16;22904:71;;22138:843;;;;:::o;22986:1498::-;23071:6;23124:2;23112:9;23103:7;23099:23;23095:32;23092:52;;;23140:1;23137;23130:12;23092:52;23180:9;23167:23;-1:-1:-1;;;;;23250:2:41;23242:6;23239:14;23236:34;;;23266:1;23263;23256:12;23236:34;23289:22;;;;23345:6;23327:16;;;23323:29;23320:49;;;23365:1;23362;23355:12;23320:49;23391:22;;:::i;:::-;23436:48;23476:7;23472:2;23436:48;:::i;:::-;23429:5;23422:63;23538:2;23534;23530:11;23517:25;23512:2;23505:5;23501:14;23494:49;23589:2;23585;23581:11;23568:25;23618:2;23608:8;23605:16;23602:36;;;23634:1;23631;23624:12;23602:36;23670:44;23706:7;23695:8;23691:2;23687:17;23670:44;:::i;:::-;23665:2;23658:5;23654:14;23647:68;;23747:31;23773:3;23769:2;23765:12;23747:31;:::i;:::-;23742:2;23735:5;23731:14;23724:55;23812:31;23838:3;23834:2;23830:12;23812:31;:::i;:::-;23806:3;23799:5;23795:15;23788:56;23898:3;23894:2;23890:12;23877:26;23871:3;23864:5;23860:15;23853:51;23937:58;23987:7;23981:3;23977:2;23973:12;23937:58;:::i;:::-;23931:3;23924:5;23920:15;23913:83;24015:3;24072:2;24068;24064:11;24051:25;24045:3;24038:5;24034:15;24027:50;24096:3;24135:46;24173:7;24168:2;24164;24160:11;24135:46;:::i;:::-;24126:6;24119:5;24115:18;24108:74;24214:52;24258:7;24252:3;24248:2;24244:12;24214:52;:::i;:::-;24209:2;24202:5;24198:14;24191:76;24313:3;24309:2;24305:12;24292:26;24276:42;;24343:2;24333:8;24330:16;24327:36;;;24359:1;24356;24349:12;24327:36;24395:58;24445:7;24434:8;24430:2;24426:17;24395:58;:::i;:::-;24379:14;;;24372:82;-1:-1:-1;24383:5:41;22986:1498;-1:-1:-1;;;;;22986:1498:41:o","linkReferences":{}},"methodIdentifiers":{"validateAccount(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"f4c7c1fa","validateAccountAndReturn(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"307b7a15"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}],\"name\":\"validateAccount\",\"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\"}],\"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\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaAccountValidation.sol\":{\"keccak256\":\"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41\",\"dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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"}],"stateMutability":"view","type":"function","name":"validateAccount","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"}],"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":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaAccountValidation.sol":{"keccak256":"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357","urls":["bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41","dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk"],"license":"UNLICENSED"}},"version":1},"id":40} \ No newline at end of file diff --git a/core/abi/MinaBridge.json b/core/abi/MinaBridge.json index 6cf85336..f15bc2b2 100644 --- a/core/abi/MinaBridge.json +++ b/core/abi/MinaBridge.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":"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516106bf3803806106bf83398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d2565b0155506100e89050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b6000828210156100cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b6105c8806100f76000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fb565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046103d0565b610160565b005b6100956102cd565b610095601081565b6100d06102dc565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dc565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261047f565b60108110610159576101596104a4565b0154905090565b602081015160006101736001601061047f565b60108110610183576101836104a4565b015481146101d25780600061019a6001601061047f565b601081106101aa576101aa6104a4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061021b908d9086908e908e908e908e908e908b906004016104ba565b602060405180830381865afa158015610238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025c9190610569565b905080156102a85760006010604086016102408701835b601081101561029e578251855581518455600194850194938401936020938401939092019101610273565b50505050506102c1565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061047f565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610324578151835260209283019290910190600101610305565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035457600080fd5b813567ffffffffffffffff8082111561036f5761036f61032d565b604051601f8301601f19908116603f011681019082821181831017156103975761039761032d565b816040528381528660208588010111156103b057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156103eb57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff198116811461041657600080fd5b945060608801359350608088013567ffffffffffffffff8082111561043a57600080fd5b6104468b838c01610343565b945060a08a0135935060c08a013591508082111561046357600080fd5b506104708a828b01610343565b91505092959891949750929550565b60008282101561049f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561051b578783018201518584016101200152918101916104fc565b8083111561052e57600061012082870101525b60c08501879052601f01601f1916840161012001925061055c91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561057b57600080fd5b8151801515811461058b57600080fd5b939250505056fea2646970667358221220f67050a4ae1e0b02650c780caac27ab639b26cd5fb868d6465d8b448b291078a64736f6c634300080c0033","sourceMap":"345:4056:65:-:0;;;1053:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1135:7;:57;;-1:-1:-1;;;;;;1135:57:65;-1:-1:-1;;;;;1135:57:65;;;;;1257:13;-1:-1:-1;1219:34:65;-1:-1:-1;548:2:65;1219:34;:::i;:::-;1202:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;345:4056:65;;-1:-1:-1;345:4056:65;14:359:67;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:67;;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:67:o;378:222::-;418:4;446:1;443;440:8;437:131;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;437:131;-1:-1:-1;585:9:67;;378:222::o;605:127::-;666:10;661:3;657:20;654:1;647:31;697:4;694:1;687:15;721:4;718:1;711:15;605:127;345:4056:65;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806303f93e50146100675780632bc4f8d9146100855780633886c09b1461008d578063a92d923a146100a3578063b8184745146100b8578063fb299cd8146100c0575b600080fd5b61006f6100c8565b60405161007c91906102fb565b60405180910390f35b61006f610104565b61009561013a565b60405190815260200161007c565b6100b66100b13660046103d0565b610160565b005b6100956102cd565b610095601081565b6100d06102dc565b604080516102008101918290529060009060109082845b8154815260200190600101908083116100e7575050505050905090565b61010c6102dc565b60408051610200810191829052601080548252909181906011602085018083116100e7575050505050905090565b6000601061014960018261047f565b60108110610159576101596104a4565b0154905090565b602081015160006101736001601061047f565b60108110610183576101836104a4565b015481146101d25780600061019a6001601061047f565b601081106101aa576101aa6104a4565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a919061021b908d9086908e908e908e908e908e908b906004016104ba565b602060405180830381865afa158015610238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025c9190610569565b905080156102a85760006010604086016102408701835b601081101561029e578251855581518455600194850194938401936020938401939092019101610273565b50505050506102c1565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101496001601061047f565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b6010811015610324578151835260209283019290910190600101610305565b50505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261035457600080fd5b813567ffffffffffffffff8082111561036f5761036f61032d565b604051601f8301601f19908116603f011681019082821181831017156103975761039761032d565b816040528381528660208588010111156103b057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156103eb57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff198116811461041657600080fd5b945060608801359350608088013567ffffffffffffffff8082111561043a57600080fd5b6104468b838c01610343565b945060a08a0135935060c08a013591508082111561046357600080fd5b506104708a828b01610343565b91505092959891949750929550565b60008282101561049f57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b8083101561051b578783018201518584016101200152918101916104fc565b8083111561052e57600061012082870101525b60c08501879052601f01601f1916840161012001925061055c91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561057b57600080fd5b8151801515811461058b57600080fd5b939250505056fea2646970667358221220f67050a4ae1e0b02650c780caac27ab639b26cd5fb868d6465d8b448b291078a64736f6c634300080c0033","sourceMap":"345:4056:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:142;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1953:144;;;:::i;1533:137::-;;;:::i;:::-;;;662:25:67;;;650:2;635:18;1533:137:65;516:177:67;2103:2296:65;;;;;;:::i;:::-;;:::i;:::-;;1337:135;;;:::i;491:59::-;;548:2;491:59;;1740:142;1794:46;;:::i;:::-;1852:23;;;;;;;;;;;-1:-1:-1;;1852:23:65;;-1:-1:-1;1852:23:65;;;;;;;;;;;;;;;;;;;;;;;;1740:142;:::o;1953:144::-;2008:46;;:::i;:::-;2066:24;;;;;;;;;;2073:17;2066:24;;;;;;2073:17;;2066:24;;;;;;;;;;;;;;;;1953:144;:::o;1533:137::-;1584:7;1610:17;1628:34;1661:1;1610:17;1628:34;:::i;:::-;1610:53;;;;;;;:::i;:::-;;;1603:60;;1533:137;:::o;2103:2296::-;2525:4;2511:19;;2505:26;2408:34;2602;2635:1;548:2;2602:34;:::i;:::-;2585:52;;;;;;;:::i;:::-;;;2555:26;:82;2551:217;;2676:26;2704:16;2721:34;2754:1;548:2;2721:34;:::i;:::-;2704:52;;;;;;;:::i;:::-;;;2660:97;;-1:-1:-1;;;2660:97:65;;;;;3274:25:67;;;;3315:18;;;3308:34;3247:18;;2660:97:65;;;;;;;2551:217;2807:19;;;;;;;;;;2863:7;;:293;;-1:-1:-1;;;2863:293:65;;2778:26;;-1:-1:-1;;;;;2863:7:65;;:28;;:293;;2905:15;;2807:19;;2966:30;;3010:18;;3042:15;;3071:11;;3096:26;;2778;;2863:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2837:319;;3171:18;3167:1226;;;3309:21;3367:22;3657:2;3643:17;;3792:57;;;3309:21;3867:444;3892:30;3889:1;3886:37;3867:444;;;3985:18;;3965:39;;4158:19;;4137:41;;4113:1;4096:19;;;;4273:20;;;;4057:2;4040:20;;;;4215:21;;;;3931:9;3867:444;;;3871:14;;;;;3167:1226;;;4362:20;;-1:-1:-1;;;4362:20:65;;;;;;;;;;;3167:1226;2398:2001;;;2103:2296;;;;;;;:::o;1337:135::-;1387:7;;1430:34;1463:1;548:2;1430:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:67:-;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;698:127::-;759:10;754:3;750:20;747:1;740:31;790:4;787:1;780:15;814:4;811:1;804:15;830:718;872:5;925:3;918:4;910:6;906:17;902:27;892:55;;943:1;940;933:12;892:55;979:6;966:20;1005:18;1042:2;1038;1035:10;1032:36;;;1048:18;;:::i;:::-;1123:2;1117:9;1091:2;1177:13;;-1:-1:-1;;1173:22:67;;;1197:2;1169:31;1165:40;1153:53;;;1221:18;;;1241:22;;;1218:46;1215:72;;;1267:18;;:::i;:::-;1307:10;1303:2;1296:22;1342:2;1334:6;1327:18;1388:3;1381:4;1376:2;1368:6;1364:15;1360:26;1357:35;1354:55;;;1405:1;1402;1395:12;1354:55;1469:2;1462:4;1454:6;1450:17;1443:4;1435:6;1431:17;1418:54;1516:1;1509:4;1504:2;1496:6;1492:15;1488:26;1481:37;1536:6;1527:15;;;;;;830:718;;;;:::o;1553:1001::-;1684:6;1692;1700;1708;1716;1724;1732;1785:3;1773:9;1764:7;1760:23;1756:33;1753:53;;;1802:1;1799;1792:12;1753:53;1825:23;;;-1:-1:-1;1895:2:67;1880:18;;1867:32;;-1:-1:-1;1949:2:67;1934:18;;1921:32;-1:-1:-1;;1982:43:67;;1972:54;;1962:82;;2040:1;2037;2030:12;1962:82;2063:5;-1:-1:-1;2115:2:67;2100:18;;2087:32;;-1:-1:-1;2170:3:67;2155:19;;2142:33;2194:18;2224:14;;;2221:34;;;2251:1;2248;2241:12;2221:34;2274:49;2315:7;2306:6;2295:9;2291:22;2274:49;:::i;:::-;2264:59;;2370:3;2359:9;2355:19;2342:33;2332:43;;2428:3;2417:9;2413:19;2400:33;2384:49;;2458:2;2448:8;2445:16;2442:36;;;2474:1;2471;2464:12;2442:36;;2497:51;2540:7;2529:8;2518:9;2514:24;2497:51;:::i;:::-;2487:61;;;1553:1001;;;;;;;;;;:::o;2741:222::-;2781:4;2809:1;2806;2803:8;2800:131;;;2853:10;2848:3;2844:20;2841:1;2834:31;2888:4;2885:1;2878:15;2916:4;2913:1;2906:15;2800:131;-1:-1:-1;2948:9:67;;2741:222::o;2968:127::-;3029:10;3024:3;3020:20;3017:1;3010:31;3060:4;3057:1;3050:15;3084:4;3081:1;3074:15;3462:1171;3768:4;3797:3;3827:6;3816:9;3809:25;3853:2;3891:6;3886:2;3875:9;3871:18;3864:34;3934:6;3929:2;3918:9;3914:18;3907:34;3993:26;3989:31;3981:6;3977:44;3972:2;3961:9;3957:18;3950:72;4059:6;4053:3;4042:9;4038:19;4031:35;4103:2;4097:3;4086:9;4082:19;4075:31;4135:6;4129:13;4178:6;4173:2;4162:9;4158:18;4151:34;4203:1;4194:10;;4213:141;4227:6;4224:1;4221:13;4213:141;;;4323:14;;;4319:23;;4313:30;4288:17;;;4307:3;4284:27;4277:67;4242:10;;;;4213:141;;;4372:6;4369:1;4366:13;4363:92;;;4443:1;4437:3;4428:6;4417:9;4413:22;4409:32;4402:43;4363:92;4558:3;4543:19;;4536:35;;;4516:2;4495:15;-1:-1:-1;;4491:29:67;4476:45;;4523:3;4472:55;;-1:-1:-1;4580:47:67;;-1:-1:-1;;4622:3:67;4607:19;;4599:6;-1:-1:-1;;;;;3419:31:67;3407:44;;3353:104;4580:47;3462:1171;;;;;;;;;;;:::o;4638:277::-;4705:6;4758:2;4746:9;4737:7;4733:23;4729:32;4726:52;;;4774:1;4771;4764:12;4726:52;4806:9;4800:16;4859:5;4852:13;4845:21;4838:5;4835:32;4825:60;;4881:1;4878;4871:12;4825:60;4904:5;4638:277;-1:-1:-1;;;4638:277:67:o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_TRANSITION_FRONTIER_LEN()":"fb299cd8","getChainLedgerHashes()":"2bc4f8d9","getChainStateHashes()":"03f93e50","getTipLedgerHash()":"3886c09b","getTipStateHash()":"b8184745","updateChain(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MinaBridge.sol\":\"MinaBridge\"},\"evmVersion\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x38da39b17be3ff80bdcd182f07365d6f6895b907d4a1cac5e9fa0541255fee67\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://422e0b0741b3599b9c0813886c166a1b909c583e4571b165f8329734ff26fee6\",\"dweb:/ipfs/QmezhvP6D1ifbBpVpLKQUiDv84naWbYUQEpFkDGdCbKwAG\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0xb337a4c05daea96d77a83d15c585fc26e50069f2738fc126ce1a6d3a5e3be103\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://34f01073396bf26f5ab1101298988d2aaf9821ee24915ebec53d2df00ee17a14\",\"dweb:/ipfs/QmbS6UVTDV91UZierYjf1yWGca5tqwg1BbKmCj2zs6pS5u\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"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"}],"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."}},"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/MinaBridge.sol":"MinaBridge"},"evmVersion":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x38da39b17be3ff80bdcd182f07365d6f6895b907d4a1cac5e9fa0541255fee67","urls":["bzz-raw://422e0b0741b3599b9c0813886c166a1b909c583e4571b165f8329734ff26fee6","dweb:/ipfs/QmezhvP6D1ifbBpVpLKQUiDv84naWbYUQEpFkDGdCbKwAG"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"src/MinaBridge.sol":{"keccak256":"0xb337a4c05daea96d77a83d15c585fc26e50069f2738fc126ce1a6d3a5e3be103","urls":["bzz-raw://34f01073396bf26f5ab1101298988d2aaf9821ee24915ebec53d2df00ee17a14","dweb:/ipfs/QmbS6UVTDV91UZierYjf1yWGca5tqwg1BbKmCj2zs6pS5u"],"license":"UNLICENSED"}},"version":1},"id":65} \ No newline at end of file +{"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161078238038061078283398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d2565b0155506100e89050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b6000828210156100cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b61068b806100f76000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633e16b0111161005b5780633e16b011146100be578063a92d923a146100e1578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a05780633886c09b146100a8575b600080fd5b61008a610106565b6040516100979190610382565b60405180910390f35b61008a610142565b6100b0610178565b604051908152602001610097565b6100d16100cc3660046103b4565b61019e565b6040519015158152602001610097565b6100f46100ef366004610470565b6101e7565b005b6100b0610354565b6100b0601081565b61010e610363565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a610363565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b60006010610187600182610535565b601081106101975761019761054c565b0154905090565b6000806101ad60016010610535565b90505b82601082601081106101c4576101c461054c565b015414156101d55750600192915050565b806101df81610562565b9150506101b0565b602081015160006101fa60016010610535565b6010811061020a5761020a61054c565b015481146102595780600061022160016010610535565b601081106102315761023161054c565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906102a2908d9086908e908e908e908e908e908b9060040161057d565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061062c565b9050801561032f5760006010604086016102408701835b60108110156103255782518555815184556001948501949384019360209384019390920191016102fa565b5050505050610348565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b60008061018760016010610535565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103ab57815183526020928301929091019060010161038c565b50505092915050565b6000602082840312156103c657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126103f457600080fd5b813567ffffffffffffffff8082111561040f5761040f6103cd565b604051601f8301601f19908116603f01168101908282118183101715610437576104376103cd565b8160405283815286602085880101111561045057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a03121561048b57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104b657600080fd5b945060608801359350608088013567ffffffffffffffff808211156104da57600080fd5b6104e68b838c016103e3565b945060a08a0135935060c08a013591508082111561050357600080fd5b506105108a828b016103e3565b91505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b6000828210156105475761054761051f565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156105765761057661051f565b5060010190565b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105de578783018201518584016101200152918101916105bf565b808311156105f157600061012082870101525b60c08501879052601f01601f1916840161012001925061061f91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561063e57600080fd5b8151801515811461064e57600080fd5b939250505056fea2646970667358221220a988c9fcbf4d0657afe5338a33ba635f7a09f06486c5155439b68268391ae98864736f6c634300080c0033","sourceMap":"345:4475:65:-:0;;;1053:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1135:7;:57;;-1:-1:-1;;;;;;1135:57:65;-1:-1:-1;;;;;1135:57:65;;;;;1257:13;-1:-1:-1;1219:34:65;-1:-1:-1;548:2:65;1219:34;:::i;:::-;1202:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;345:4475:65;;-1:-1:-1;345:4475:65;14:359:67;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:67;;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:67:o;378:222::-;418:4;446:1;443;440:8;437:131;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;437:131;-1:-1:-1;585:9:67;;378:222::o;605:127::-;666:10;661:3;657:20;654:1;647:31;697:4;694:1;687:15;721:4;718:1;711:15;605:127;345:4475:65;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633e16b0111161005b5780633e16b011146100be578063a92d923a146100e1578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a05780633886c09b146100a8575b600080fd5b61008a610106565b6040516100979190610382565b60405180910390f35b61008a610142565b6100b0610178565b604051908152602001610097565b6100d16100cc3660046103b4565b61019e565b6040519015158152602001610097565b6100f46100ef366004610470565b6101e7565b005b6100b0610354565b6100b0601081565b61010e610363565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a610363565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b60006010610187600182610535565b601081106101975761019761054c565b0154905090565b6000806101ad60016010610535565b90505b82601082601081106101c4576101c461054c565b015414156101d55750600192915050565b806101df81610562565b9150506101b0565b602081015160006101fa60016010610535565b6010811061020a5761020a61054c565b015481146102595780600061022160016010610535565b601081106102315761023161054c565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906102a2908d9086908e908e908e908e908e908b9060040161057d565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061062c565b9050801561032f5760006010604086016102408701835b60108110156103255782518555815184556001948501949384019360209384019390920191016102fa565b5050505050610348565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b60008061018760016010610535565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103ab57815183526020928301929091019060010161038c565b50505092915050565b6000602082840312156103c657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126103f457600080fd5b813567ffffffffffffffff8082111561040f5761040f6103cd565b604051601f8301601f19908116603f01168101908282118183101715610437576104376103cd565b8160405283815286602085880101111561045057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a03121561048b57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104b657600080fd5b945060608801359350608088013567ffffffffffffffff808211156104da57600080fd5b6104e68b838c016103e3565b945060a08a0135935060c08a013591508082111561050357600080fd5b506105108a828b016103e3565b91505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b6000828210156105475761054761051f565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156105765761057661051f565b5060010190565b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105de578783018201518584016101200152918101916105bf565b808311156105f157600061012082870101525b60c08501879052601f01601f1916840161012001925061061f91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561063e57600080fd5b8151801515811461064e57600080fd5b939250505056fea2646970667358221220a988c9fcbf4d0657afe5338a33ba635f7a09f06486c5155439b68268391ae98864736f6c634300080c0033","sourceMap":"345:4475:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1981:172;;;:::i;1533:137::-;;;:::i;:::-;;;662:25:67;;;650:2;635:18;1533:137:65;516:177:67;2229:287:65;;;;;;:::i;:::-;;:::i;:::-;;;1048:14:67;;1041:22;1023:41;;1011:2;996:18;2229:287:65;883:187:67;2522:2296:65;;;;;;:::i;:::-;;:::i;:::-;;1337:135;;;:::i;491:59::-;;548:2;491:59;;1740:170;1818:46;;:::i;:::-;1880:23;;;;;;;;;;;-1:-1:-1;;1880:23:65;;-1:-1:-1;1880:23:65;;;;;;;;;;;;;;;;;;;;;;;;1740:170;:::o;1981:172::-;2060:46;;:::i;:::-;2122:24;;;;;;;;;;2129:17;2122:24;;;;;;2129:17;;2122:24;;;;;;;;;;;;;;;;1981:172;:::o;1533:137::-;1584:7;1610:17;1628:34;1661:1;1610:17;1628:34;:::i;:::-;1610:53;;;;;;;:::i;:::-;;;1603:60;;1533:137;:::o;2229:287::-;2298:4;;2331:34;2364:1;548:2;2331:34;:::i;:::-;2319:46;;2314:174;2422:10;2398:17;2416:1;2398:20;;;;;;;:::i;:::-;;;:34;2394:84;;;-1:-1:-1;2459:4:65;;2229:287;-1:-1:-1;;2229:287:65:o;2394:84::-;2375:3;;;;:::i;:::-;;;;2314:174;;2522:2296;2944:4;2930:19;;2924:26;2827:34;3021;3054:1;548:2;3021:34;:::i;:::-;3004:52;;;;;;;:::i;:::-;;;2974:26;:82;2970:217;;3095:26;3123:16;3140:34;3173:1;548:2;3140:34;:::i;:::-;3123:52;;;;;;;:::i;:::-;;;3079:97;;-1:-1:-1;;;3079:97:65;;;;;3826:25:67;;;;3867:18;;;3860:34;3799:18;;3079:97:65;;;;;;;2970:217;3226:19;;;;;;;;;;3282:7;;:293;;-1:-1:-1;;;3282:293:65;;3197:26;;-1:-1:-1;;;;;3282:7:65;;:28;;:293;;3324:15;;3226:19;;3385:30;;3429:18;;3461:15;;3490:11;;3515:26;;3197;;3282:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3256:319;;3590:18;3586:1226;;;3728:21;3786:22;4076:2;4062:17;;4211:57;;;3728:21;4286:444;4311:30;4308:1;4305:37;4286:444;;;4404:18;;4384:39;;4577:19;;4556:41;;4532:1;4515:19;;;;4692:20;;;;4476:2;4459:20;;;;4634:21;;;;4350:9;4286:444;;;4290:14;;;;;3586:1226;;;4781:20;;-1:-1:-1;;;4781:20:65;;;;;;;;;;;3586:1226;2817:2001;;;2522:2296;;;;;;;:::o;1337:135::-;1387:7;;1430:34;1463:1;548:2;1430:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:67:-;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;698:180::-;757:6;810:2;798:9;789:7;785:23;781:32;778:52;;;826:1;823;816:12;778:52;-1:-1:-1;849:23:67;;698:180;-1:-1:-1;698:180:67:o;1075:127::-;1136:10;1131:3;1127:20;1124:1;1117:31;1167:4;1164:1;1157:15;1191:4;1188:1;1181:15;1207:718;1249:5;1302:3;1295:4;1287:6;1283:17;1279:27;1269:55;;1320:1;1317;1310:12;1269:55;1356:6;1343:20;1382:18;1419:2;1415;1412:10;1409:36;;;1425:18;;:::i;:::-;1500:2;1494:9;1468:2;1554:13;;-1:-1:-1;;1550:22:67;;;1574:2;1546:31;1542:40;1530:53;;;1598:18;;;1618:22;;;1595:46;1592:72;;;1644:18;;:::i;:::-;1684:10;1680:2;1673:22;1719:2;1711:6;1704:18;1765:3;1758:4;1753:2;1745:6;1741:15;1737:26;1734:35;1731:55;;;1782:1;1779;1772:12;1731:55;1846:2;1839:4;1831:6;1827:17;1820:4;1812:6;1808:17;1795:54;1893:1;1886:4;1881:2;1873:6;1869:15;1865:26;1858:37;1913:6;1904:15;;;;;;1207:718;;;;:::o;1930:1001::-;2061:6;2069;2077;2085;2093;2101;2109;2162:3;2150:9;2141:7;2137:23;2133:33;2130:53;;;2179:1;2176;2169:12;2130:53;2202:23;;;-1:-1:-1;2272:2:67;2257:18;;2244:32;;-1:-1:-1;2326:2:67;2311:18;;2298:32;-1:-1:-1;;2359:43:67;;2349:54;;2339:82;;2417:1;2414;2407:12;2339:82;2440:5;-1:-1:-1;2492:2:67;2477:18;;2464:32;;-1:-1:-1;2547:3:67;2532:19;;2519:33;2571:18;2601:14;;;2598:34;;;2628:1;2625;2618:12;2598:34;2651:49;2692:7;2683:6;2672:9;2668:22;2651:49;:::i;:::-;2641:59;;2747:3;2736:9;2732:19;2719:33;2709:43;;2805:3;2794:9;2790:19;2777:33;2761:49;;2835:2;2825:8;2822:16;2819:36;;;2851:1;2848;2841:12;2819:36;;2874:51;2917:7;2906:8;2895:9;2891:24;2874:51;:::i;:::-;2864:61;;;1930:1001;;;;;;;;;;:::o;3118:127::-;3179:10;3174:3;3170:20;3167:1;3160:31;3210:4;3207:1;3200:15;3234:4;3231:1;3224:15;3250:125;3290:4;3318:1;3315;3312:8;3309:34;;;3323:18;;:::i;:::-;-1:-1:-1;3360:9:67;;3250:125::o;3380:127::-;3441:10;3436:3;3432:20;3429:1;3422:31;3472:4;3469:1;3462:15;3496:4;3493:1;3486:15;3512:135;3551:3;-1:-1:-1;;3572:17:67;;3569:43;;;3592:18;;:::i;:::-;-1:-1:-1;3639:1:67;3628:13;;3512:135::o;4014:1171::-;4320:4;4349:3;4379:6;4368:9;4361:25;4405:2;4443:6;4438:2;4427:9;4423:18;4416:34;4486:6;4481:2;4470:9;4466:18;4459:34;4545:26;4541:31;4533:6;4529:44;4524:2;4513:9;4509:18;4502:72;4611:6;4605:3;4594:9;4590:19;4583:35;4655:2;4649:3;4638:9;4634:19;4627:31;4687:6;4681:13;4730:6;4725:2;4714:9;4710:18;4703:34;4755:1;4746:10;;4765:141;4779:6;4776:1;4773:13;4765:141;;;4875:14;;;4871:23;;4865:30;4840:17;;;4859:3;4836:27;4829:67;4794:10;;;;4765:141;;;4924:6;4921:1;4918:13;4915:92;;;4995:1;4989:3;4980:6;4969:9;4965:22;4961:32;4954:43;4915:92;5110:3;5095:19;;5088:35;;;5068:2;5047:15;-1:-1:-1;;5043:29:67;5028:45;;5075:3;5024:55;;-1:-1:-1;5132:47:67;;-1:-1:-1;;5174:3:67;5159:19;;5151:6;-1:-1:-1;;;;;3971:31:67;3959:44;;3905:104;5132:47;4014:1171;;;;;;;;;;;:::o;5190:277::-;5257:6;5310:2;5298:9;5289:7;5285:23;5281:32;5278:52;;;5326:1;5323;5316:12;5278:52;5358:9;5352:16;5411:5;5404:13;5397:21;5390:5;5387:32;5377:60;;5433:1;5430;5423:12;5377:60;5456:5;5190:277;-1:-1:-1;;;5190:277:67: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)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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/MinaBridge.sol\":\"MinaBridge\"},\"evmVersion\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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"}],"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/MinaBridge.sol":"MinaBridge"},"evmVersion":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"}},"version":1},"id":65} \ No newline at end of file diff --git a/core/src/eth.rs b/core/src/eth.rs index a909867e..2a25b64a 100644 --- a/core/src/eth.rs +++ b/core/src/eth.rs @@ -258,7 +258,7 @@ pub async fn validate_account( pub_input: &MinaAccountPubInputs, chain: &Chain, eth_rpc_url: &str, -) -> Result { +) -> Result<(), String> { let bridge_eth_addr = Address::from_str(match chain { Chain::Devnet => BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, _ => { @@ -313,7 +313,9 @@ pub async fn validate_account( call.estimate_gas().await.map_err(|err| err.to_string())? ); - call.await.map_err(|err| err.to_string()) + call.await.map_err(|err| err.to_string())?; + + Ok(()) } pub async fn deploy_mina_bridge_contract( diff --git a/core/src/sdk.rs b/core/src/sdk.rs index 1f427a79..2bfc7b5e 100644 --- a/core/src/sdk.rs +++ b/core/src/sdk.rs @@ -1,9 +1,9 @@ use std::str::FromStr; -use aligned_sdk::core::types::Chain; +use aligned_sdk::core::types::{AlignedVerificationData, Chain, VerificationDataCommitment}; use ethers::core::k256::ecdsa::SigningKey; use ethers_signers::Wallet; -use mina_p2p_messages::v2::{MinaBaseAccountBinableArgStableV2 as MinaAccount, StateHash}; +use mina_p2p_messages::v2::StateHash; use crate::{ aligned::submit, @@ -12,6 +12,16 @@ use crate::{ proof::MinaProof, }; +pub struct AccountVerificationData { + pub proof_commitment: [u8; 32], + pub proving_system_aux_data_commitment: [u8; 32], + pub proof_generator_addr: [u8; 20], + pub batch_merkle_root: [u8; 32], + pub merkle_proof: Vec, + pub verification_data_batch_index: usize, + pub pub_input: Vec, +} + pub async fn is_state_verified( hash: &str, chain: &Chain, @@ -77,11 +87,9 @@ pub async fn validate_account( proof_generator_addr: &str, wallet: Wallet, save_proof: bool, -) -> Result { +) -> Result { let (proof, pub_input) = get_mina_proof_of_account(public_key, state_hash, rpc_url).await?; - let account = proof.account.clone(); - let verification_data = submit( MinaProof::Account((proof, pub_input.clone())), chain, @@ -94,7 +102,36 @@ pub async fn validate_account( ) .await?; - eth::validate_account(verification_data, &pub_input, chain, eth_rpc_url).await?; + eth::validate_account(verification_data.clone(), &pub_input, chain, eth_rpc_url).await?; + + let AlignedVerificationData { + verification_data_commitment, + batch_merkle_root, + batch_inclusion_proof, + index_in_batch, + } = verification_data; + let merkle_proof = batch_inclusion_proof + .merkle_path + .clone() + .into_iter() + .flatten() + .collect(); - Ok(account) + let VerificationDataCommitment { + proof_commitment, + proving_system_aux_data_commitment, + proof_generator_addr, + .. + } = verification_data_commitment; + + Ok(AccountVerificationData { + proof_commitment, + proving_system_aux_data_commitment, + proof_generator_addr, + batch_merkle_root, + merkle_proof, + verification_data_batch_index: index_in_batch, + pub_input: bincode::serialize(&pub_input) + .map_err(|err| format!("Failed to encode public inputs: {err}"))?, + }) } From 36822a6e80d427fdb46350b7edc9e7606191cd80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 12:58:16 -0300 Subject: [PATCH 36/48] Add retrying logic for mina zkapp --- example/mina_zkapp/package-lock.json | 4 +- example/mina_zkapp/src/run.ts | 94 +++++++++++++--------------- 2 files changed, 44 insertions(+), 54 deletions(-) diff --git a/example/mina_zkapp/package-lock.json b/example/mina_zkapp/package-lock.json index 63d84c4b..406342ee 100644 --- a/example/mina_zkapp/package-lock.json +++ b/example/mina_zkapp/package-lock.json @@ -1,11 +1,11 @@ { - "name": "package-name", + "name": "sudoku", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "package-name", + "name": "sudoku", "version": "0.1.0", "license": "Apache-2.0", "devDependencies": { diff --git a/example/mina_zkapp/src/run.ts b/example/mina_zkapp/src/run.ts index 8000fce2..7b9d0bed 100644 --- a/example/mina_zkapp/src/run.ts +++ b/example/mina_zkapp/src/run.ts @@ -1,15 +1,3 @@ -/** - * This file specifies how to run the `SudokuZkApp` smart contract locally using the `Mina.LocalBlockchain()` method. - * The `Mina.LocalBlockchain()` method specifies a ledger of accounts and contains logic for updating the ledger. - * - * Please note that this deployment is local and does not deploy to a live network. - * If you wish to deploy to a live network, please use the zkapp-cli to deploy. - * - * To run locally: - * Build the project: `$ npm run build` - * Run with node: `$ node build/src/run.js`. - */ -import { setTimeout } from "timers/promises"; import fs from 'fs/promises'; import { Sudoku, SudokuZkApp } from './sudoku.js'; import { generateSudoku, solveSudoku } from './sudoku-lib.js'; @@ -17,6 +5,7 @@ import { Mina, PrivateKey, PublicKey, NetworkId, fetchAccount } from 'o1js'; const deployAlias = "devnet"; const ZKAPP_ADDRESS = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; +const TX_MAX_TRIES = 5; // parse config and private key from file type Config = { @@ -55,57 +44,27 @@ Mina.setActiveInstance(Network); const zkApp = new SudokuZkApp(zkAppAddress); const sudoku = generateSudoku(0.5); -console.log('compiling Sudoku...'); +console.log('Compiling Sudoku'); await SudokuZkApp.compile(); -await fetchAccount({ publicKey: zkAppAddress }); -console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); - -console.log('updating sudoku to solve'); -try { - // call update() and send transaction - console.log('build transaction and create proof...'); - let tx = await Mina.transaction( - { sender: feepayerAddress, fee }, - async () => { - await zkApp.update(Sudoku.from(sudoku)); - } - ); - await tx.prove(); - - console.log('send transaction...'); - const sentTx = await tx.sign([feepayerKey]).send(); - if (sentTx.status === 'pending') { - console.log( - '\nSuccess! Update transaction sent.\n' + - '\nYour smart contract state will be updated' + - '\nas soon as the transaction is included in a block:' + - `\n${getTxnUrl(config.url, sentTx.hash)}` - ); +console.log("Sending update transaction and waiting until it's included in a block"); +await sendTx( + { sender: feepayerAddress, fee }, + async () => { + await zkApp.update(Sudoku.from(sudoku)); } - -} catch (err) { - console.log(err); -} - -console.log('Is the sudoku solved? (should be false)', zkApp.isSolved.get().toBoolean()); - -console.log("Waiting 4 min..."); -await setTimeout(1000 * 60 * 4); -console.log("Done"); +); let solution = solveSudoku(sudoku); if (solution === undefined) throw Error('cannot happen'); // submit the solution -console.log('Submitting solution...'); -let tx = await Mina.transaction({ sender: feepayerAddress, fee }, async () => { +console.log("Sending submit transaction and waiting until it's included in a block"); +await sendTx({ sender: feepayerAddress, fee }, async () => { await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(solution!)); }); -await tx.prove(); -await tx.sign([feepayerKey]).send(); -console.log('Is the sudoku solved? (should be true)', zkApp.isSolved.get().toBoolean()); +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); function getTxnUrl(graphQlUrl: string, txnHash: string | undefined) { const hostName = new URL(graphQlUrl).hostname; @@ -120,3 +79,34 @@ function getTxnUrl(graphQlUrl: string, txnHash: string | undefined) { } return `Transaction hash: ${txnHash}`; } + +async function sendTx(sender: Mina.FeePayerSpec, f: () => Promise) { + for (let i = 1; i <= TX_MAX_TRIES; i++) { + try { + console.log("Defining transaction"); + const tx = await Mina.transaction(f); + + console.log("Proving transaction"); + await tx.prove(); + + console.log('Signing and sending transaction'); + let pendingTx; + pendingTx = await tx.sign([feepayerKey]).send(); + console.log("Transaction hash:", pendingTx.hash); + + if (pendingTx.status === 'pending') { + console.log('\nSuccess! Transaction sent:', getTxnUrl(config.url, pendingTx.hash)); + + console.log("Waiting for transaction to be included in a block"); + await pendingTx.wait(); + } + } catch (err) { + console.log(`Failed attempt ${i}/${TX_MAX_TRIES}, will try again`); + console.log(err); + continue; + } + } + + console.log("Failed all attempts, terminating."); + process.exit(1); +} From cad1f56cc89006d19c0d2ab17ebb2cc53e5817d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 13:03:29 -0300 Subject: [PATCH 37/48] Fix Makefile --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index af6eac62..0ada52e6 100644 --- a/Makefile +++ b/Makefile @@ -20,5 +20,7 @@ deploy_example_contract: gen_contract_abis @cargo run --manifest-path example/app/Cargo.toml --release -- deploy-contract execute_example: - cd example/mina_contract & npm run build & node build/src/run.js + cd example/mina_zkapp; \ + npm run build; \ + node build/src/run.js cargo run --manifest-path example/app/Cargo.toml --release -- validate-solution From 591a593f6e02d5669675bf483073aa5b3bdd343d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 15:09:51 -0300 Subject: [PATCH 38/48] Zkapp fixes --- example/mina_zkapp/src/run.ts | 36 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/example/mina_zkapp/src/run.ts b/example/mina_zkapp/src/run.ts index 7b9d0bed..148155a2 100644 --- a/example/mina_zkapp/src/run.ts +++ b/example/mina_zkapp/src/run.ts @@ -48,57 +48,45 @@ console.log('Compiling Sudoku'); await SudokuZkApp.compile(); console.log("Sending update transaction and waiting until it's included in a block"); -await sendTx( +await trySendTx( { sender: feepayerAddress, fee }, async () => { await zkApp.update(Sudoku.from(sudoku)); } ); +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); + let solution = solveSudoku(sudoku); if (solution === undefined) throw Error('cannot happen'); // submit the solution console.log("Sending submit transaction and waiting until it's included in a block"); -await sendTx({ sender: feepayerAddress, fee }, async () => { +await trySendTx({ sender: feepayerAddress, fee }, async () => { await zkApp.submitSolution(Sudoku.from(sudoku), Sudoku.from(solution!)); }); console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); -function getTxnUrl(graphQlUrl: string, txnHash: string | undefined) { - const hostName = new URL(graphQlUrl).hostname; - const txnBroadcastServiceName = hostName - .split('.') - .filter((item) => item === 'minascan')?.[0]; - const networkName = graphQlUrl - .split('/') - .filter((item) => item === 'mainnet' || item === 'devnet')?.[0]; - if (txnBroadcastServiceName && networkName) { - return `https://minascan.io/${networkName}/tx/${txnHash}?type=zk-tx`; - } - return `Transaction hash: ${txnHash}`; -} - -async function sendTx(sender: Mina.FeePayerSpec, f: () => Promise) { +async function trySendTx(sender: Mina.FeePayerSpec, f: () => Promise) { for (let i = 1; i <= TX_MAX_TRIES; i++) { try { console.log("Defining transaction"); - const tx = await Mina.transaction(f); + const tx = await Mina.transaction(sender, f); console.log("Proving transaction"); await tx.prove(); console.log('Signing and sending transaction'); - let pendingTx; - pendingTx = await tx.sign([feepayerKey]).send(); - console.log("Transaction hash:", pendingTx.hash); + let pendingTx = await tx.sign([feepayerKey]).send(); if (pendingTx.status === 'pending') { - console.log('\nSuccess! Transaction sent:', getTxnUrl(config.url, pendingTx.hash)); - - console.log("Waiting for transaction to be included in a block"); + console.log( + `Success! transaction ${pendingTx.hash} sent\n` + + "Waiting for transaction to be included in a block" + ); await pendingTx.wait(); + return; } } catch (err) { console.log(`Failed attempt ${i}/${TX_MAX_TRIES}, will try again`); From 983dbf485d415635048db69ceb6ed7c1e8db78f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 15:49:53 -0300 Subject: [PATCH 39/48] Fix ledger hash search --- contract/src/MinaBridge.sol | 30 ++++++++++++++++++++++------- core/abi/MinaBridge.json | 2 +- core/src/sdk.rs | 2 ++ example/app/abi/SudokuValidity.json | 2 +- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/contract/src/MinaBridge.sol b/contract/src/MinaBridge.sol index 309180a4..ce7ff7cf 100644 --- a/contract/src/MinaBridge.sol +++ b/contract/src/MinaBridge.sol @@ -58,8 +58,11 @@ contract MinaBridge { /// @notice Returns true if this snarked ledger hash was bridged. function isLedgerVerified(bytes32 ledgerHash) external view returns (bool) { - for (uint256 i = BRIDGE_TRANSITION_FRONTIER_LEN - 1; i >= 0; i++) { - if (chainLedgerHashes[i] == ledgerHash) { + for (uint256 i = 0; i < BRIDGE_TRANSITION_FRONTIER_LEN; i++) { + if ( + chainLedgerHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1 - i] == + ledgerHash + ) { return true; } } @@ -80,8 +83,14 @@ contract MinaBridge { pubInputBridgeTipStateHash := mload(add(pubInput, 0x20)) } - if (pubInputBridgeTipStateHash != chainStateHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1]) { - revert TipStateIsWrong(pubInputBridgeTipStateHash, chainStateHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1]); + if ( + pubInputBridgeTipStateHash != + chainStateHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1] + ) { + revert TipStateIsWrong( + pubInputBridgeTipStateHash, + chainStateHashes[BRIDGE_TRANSITION_FRONTIER_LEN - 1] + ); } bytes32 pubInputCommitment = keccak256(pubInput); @@ -108,9 +117,16 @@ contract MinaBridge { // the next BRIDGE_TRANSITION_FRONTIER_LEN sets of 32 bytes are state hashes. let addr_states := add(pubInput, 64) // 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)) - - for { let i := 0 } lt(i, BRIDGE_TRANSITION_FRONTIER_LEN) { i := add(i, 1) } { + let addr_ledgers := add( + addr_states, + mul(32, BRIDGE_TRANSITION_FRONTIER_LEN) + ) + + for { + let i := 0 + } lt(i, BRIDGE_TRANSITION_FRONTIER_LEN) { + i := add(i, 1) + } { sstore(slot_states, mload(addr_states)) addr_states := add(addr_states, 32) slot_states := add(slot_states, 1) diff --git a/core/abi/MinaBridge.json b/core/abi/MinaBridge.json index f15bc2b2..f839d919 100644 --- a/core/abi/MinaBridge.json +++ b/core/abi/MinaBridge.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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161078238038061078283398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d2565b0155506100e89050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b6000828210156100cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b61068b806100f76000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633e16b0111161005b5780633e16b011146100be578063a92d923a146100e1578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a05780633886c09b146100a8575b600080fd5b61008a610106565b6040516100979190610382565b60405180910390f35b61008a610142565b6100b0610178565b604051908152602001610097565b6100d16100cc3660046103b4565b61019e565b6040519015158152602001610097565b6100f46100ef366004610470565b6101e7565b005b6100b0610354565b6100b0601081565b61010e610363565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a610363565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b60006010610187600182610535565b601081106101975761019761054c565b0154905090565b6000806101ad60016010610535565b90505b82601082601081106101c4576101c461054c565b015414156101d55750600192915050565b806101df81610562565b9150506101b0565b602081015160006101fa60016010610535565b6010811061020a5761020a61054c565b015481146102595780600061022160016010610535565b601081106102315761023161054c565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906102a2908d9086908e908e908e908e908e908b9060040161057d565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061062c565b9050801561032f5760006010604086016102408701835b60108110156103255782518555815184556001948501949384019360209384019390920191016102fa565b5050505050610348565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b60008061018760016010610535565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103ab57815183526020928301929091019060010161038c565b50505092915050565b6000602082840312156103c657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126103f457600080fd5b813567ffffffffffffffff8082111561040f5761040f6103cd565b604051601f8301601f19908116603f01168101908282118183101715610437576104376103cd565b8160405283815286602085880101111561045057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a03121561048b57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104b657600080fd5b945060608801359350608088013567ffffffffffffffff808211156104da57600080fd5b6104e68b838c016103e3565b945060a08a0135935060c08a013591508082111561050357600080fd5b506105108a828b016103e3565b91505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b6000828210156105475761054761051f565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156105765761057661051f565b5060010190565b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105de578783018201518584016101200152918101916105bf565b808311156105f157600061012082870101525b60c08501879052601f01601f1916840161012001925061061f91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561063e57600080fd5b8151801515811461064e57600080fd5b939250505056fea2646970667358221220a988c9fcbf4d0657afe5338a33ba635f7a09f06486c5155439b68268391ae98864736f6c634300080c0033","sourceMap":"345:4475:65:-:0;;;1053:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1135:7;:57;;-1:-1:-1;;;;;;1135:57:65;-1:-1:-1;;;;;1135:57:65;;;;;1257:13;-1:-1:-1;1219:34:65;-1:-1:-1;548:2:65;1219:34;:::i;:::-;1202:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;345:4475:65;;-1:-1:-1;345:4475:65;14:359:67;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:67;;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:67:o;378:222::-;418:4;446:1;443;440:8;437:131;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;437:131;-1:-1:-1;585:9:67;;378:222::o;605:127::-;666:10;661:3;657:20;654:1;647:31;697:4;694:1;687:15;721:4;718:1;711:15;605:127;345:4475:65;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633e16b0111161005b5780633e16b011146100be578063a92d923a146100e1578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a05780633886c09b146100a8575b600080fd5b61008a610106565b6040516100979190610382565b60405180910390f35b61008a610142565b6100b0610178565b604051908152602001610097565b6100d16100cc3660046103b4565b61019e565b6040519015158152602001610097565b6100f46100ef366004610470565b6101e7565b005b6100b0610354565b6100b0601081565b61010e610363565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a610363565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b60006010610187600182610535565b601081106101975761019761054c565b0154905090565b6000806101ad60016010610535565b90505b82601082601081106101c4576101c461054c565b015414156101d55750600192915050565b806101df81610562565b9150506101b0565b602081015160006101fa60016010610535565b6010811061020a5761020a61054c565b015481146102595780600061022160016010610535565b601081106102315761023161054c565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906102a2908d9086908e908e908e908e908e908b9060040161057d565b602060405180830381865afa1580156102bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e3919061062c565b9050801561032f5760006010604086016102408701835b60108110156103255782518555815184556001948501949384019360209384019390920191016102fa565b5050505050610348565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b60008061018760016010610535565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103ab57815183526020928301929091019060010161038c565b50505092915050565b6000602082840312156103c657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126103f457600080fd5b813567ffffffffffffffff8082111561040f5761040f6103cd565b604051601f8301601f19908116603f01168101908282118183101715610437576104376103cd565b8160405283815286602085880101111561045057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a03121561048b57600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104b657600080fd5b945060608801359350608088013567ffffffffffffffff808211156104da57600080fd5b6104e68b838c016103e3565b945060a08a0135935060c08a013591508082111561050357600080fd5b506105108a828b016103e3565b91505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b6000828210156105475761054761051f565b500390565b634e487b7160e01b600052603260045260246000fd5b60006000198214156105765761057661051f565b5060010190565b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105de578783018201518584016101200152918101916105bf565b808311156105f157600061012082870101525b60c08501879052601f01601f1916840161012001925061061f91505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561063e57600080fd5b8151801515811461064e57600080fd5b939250505056fea2646970667358221220a988c9fcbf4d0657afe5338a33ba635f7a09f06486c5155439b68268391ae98864736f6c634300080c0033","sourceMap":"345:4475:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1981:172;;;:::i;1533:137::-;;;:::i;:::-;;;662:25:67;;;650:2;635:18;1533:137:65;516:177:67;2229:287:65;;;;;;:::i;:::-;;:::i;:::-;;;1048:14:67;;1041:22;1023:41;;1011:2;996:18;2229:287:65;883:187:67;2522:2296:65;;;;;;:::i;:::-;;:::i;:::-;;1337:135;;;:::i;491:59::-;;548:2;491:59;;1740:170;1818:46;;:::i;:::-;1880:23;;;;;;;;;;;-1:-1:-1;;1880:23:65;;-1:-1:-1;1880:23:65;;;;;;;;;;;;;;;;;;;;;;;;1740:170;:::o;1981:172::-;2060:46;;:::i;:::-;2122:24;;;;;;;;;;2129:17;2122:24;;;;;;2129:17;;2122:24;;;;;;;;;;;;;;;;1981:172;:::o;1533:137::-;1584:7;1610:17;1628:34;1661:1;1610:17;1628:34;:::i;:::-;1610:53;;;;;;;:::i;:::-;;;1603:60;;1533:137;:::o;2229:287::-;2298:4;;2331:34;2364:1;548:2;2331:34;:::i;:::-;2319:46;;2314:174;2422:10;2398:17;2416:1;2398:20;;;;;;;:::i;:::-;;;:34;2394:84;;;-1:-1:-1;2459:4:65;;2229:287;-1:-1:-1;;2229:287:65:o;2394:84::-;2375:3;;;;:::i;:::-;;;;2314:174;;2522:2296;2944:4;2930:19;;2924:26;2827:34;3021;3054:1;548:2;3021:34;:::i;:::-;3004:52;;;;;;;:::i;:::-;;;2974:26;:82;2970:217;;3095:26;3123:16;3140:34;3173:1;548:2;3140:34;:::i;:::-;3123:52;;;;;;;:::i;:::-;;;3079:97;;-1:-1:-1;;;3079:97:65;;;;;3826:25:67;;;;3867:18;;;3860:34;3799:18;;3079:97:65;;;;;;;2970:217;3226:19;;;;;;;;;;3282:7;;:293;;-1:-1:-1;;;3282:293:65;;3197:26;;-1:-1:-1;;;;;3282:7:65;;:28;;:293;;3324:15;;3226:19;;3385:30;;3429:18;;3461:15;;3490:11;;3515:26;;3197;;3282:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3256:319;;3590:18;3586:1226;;;3728:21;3786:22;4076:2;4062:17;;4211:57;;;3728:21;4286:444;4311:30;4308:1;4305:37;4286:444;;;4404:18;;4384:39;;4577:19;;4556:41;;4532:1;4515:19;;;;4692:20;;;;4476:2;4459:20;;;;4634:21;;;;4350:9;4286:444;;;4290:14;;;;;3586:1226;;;4781:20;;-1:-1:-1;;;4781:20:65;;;;;;;;;;;3586:1226;2817:2001;;;2522:2296;;;;;;;:::o;1337:135::-;1387:7;;1430:34;1463:1;548:2;1430:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:67:-;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;698:180::-;757:6;810:2;798:9;789:7;785:23;781:32;778:52;;;826:1;823;816:12;778:52;-1:-1:-1;849:23:67;;698:180;-1:-1:-1;698:180:67:o;1075:127::-;1136:10;1131:3;1127:20;1124:1;1117:31;1167:4;1164:1;1157:15;1191:4;1188:1;1181:15;1207:718;1249:5;1302:3;1295:4;1287:6;1283:17;1279:27;1269:55;;1320:1;1317;1310:12;1269:55;1356:6;1343:20;1382:18;1419:2;1415;1412:10;1409:36;;;1425:18;;:::i;:::-;1500:2;1494:9;1468:2;1554:13;;-1:-1:-1;;1550:22:67;;;1574:2;1546:31;1542:40;1530:53;;;1598:18;;;1618:22;;;1595:46;1592:72;;;1644:18;;:::i;:::-;1684:10;1680:2;1673:22;1719:2;1711:6;1704:18;1765:3;1758:4;1753:2;1745:6;1741:15;1737:26;1734:35;1731:55;;;1782:1;1779;1772:12;1731:55;1846:2;1839:4;1831:6;1827:17;1820:4;1812:6;1808:17;1795:54;1893:1;1886:4;1881:2;1873:6;1869:15;1865:26;1858:37;1913:6;1904:15;;;;;;1207:718;;;;:::o;1930:1001::-;2061:6;2069;2077;2085;2093;2101;2109;2162:3;2150:9;2141:7;2137:23;2133:33;2130:53;;;2179:1;2176;2169:12;2130:53;2202:23;;;-1:-1:-1;2272:2:67;2257:18;;2244:32;;-1:-1:-1;2326:2:67;2311:18;;2298:32;-1:-1:-1;;2359:43:67;;2349:54;;2339:82;;2417:1;2414;2407:12;2339:82;2440:5;-1:-1:-1;2492:2:67;2477:18;;2464:32;;-1:-1:-1;2547:3:67;2532:19;;2519:33;2571:18;2601:14;;;2598:34;;;2628:1;2625;2618:12;2598:34;2651:49;2692:7;2683:6;2672:9;2668:22;2651:49;:::i;:::-;2641:59;;2747:3;2736:9;2732:19;2719:33;2709:43;;2805:3;2794:9;2790:19;2777:33;2761:49;;2835:2;2825:8;2822:16;2819:36;;;2851:1;2848;2841:12;2819:36;;2874:51;2917:7;2906:8;2895:9;2891:24;2874:51;:::i;:::-;2864:61;;;1930:1001;;;;;;;;;;:::o;3118:127::-;3179:10;3174:3;3170:20;3167:1;3160:31;3210:4;3207:1;3200:15;3234:4;3231:1;3224:15;3250:125;3290:4;3318:1;3315;3312:8;3309:34;;;3323:18;;:::i;:::-;-1:-1:-1;3360:9:67;;3250:125::o;3380:127::-;3441:10;3436:3;3432:20;3429:1;3422:31;3472:4;3469:1;3462:15;3496:4;3493:1;3486:15;3512:135;3551:3;-1:-1:-1;;3572:17:67;;3569:43;;;3592:18;;:::i;:::-;-1:-1:-1;3639:1:67;3628:13;;3512:135::o;4014:1171::-;4320:4;4349:3;4379:6;4368:9;4361:25;4405:2;4443:6;4438:2;4427:9;4423:18;4416:34;4486:6;4481:2;4470:9;4466:18;4459:34;4545:26;4541:31;4533:6;4529:44;4524:2;4513:9;4509:18;4502:72;4611:6;4605:3;4594:9;4590:19;4583:35;4655:2;4649:3;4638:9;4634:19;4627:31;4687:6;4681:13;4730:6;4725:2;4714:9;4710:18;4703:34;4755:1;4746:10;;4765:141;4779:6;4776:1;4773:13;4765:141;;;4875:14;;;4871:23;;4865:30;4840:17;;;4859:3;4836:27;4829:67;4794:10;;;;4765:141;;;4924:6;4921:1;4918:13;4915:92;;;4995:1;4989:3;4980:6;4969:9;4965:22;4961:32;4954:43;4915:92;5110:3;5095:19;;5088:35;;;5068:2;5047:15;-1:-1:-1;;5043:29:67;5028:45;;5075:3;5024:55;;-1:-1:-1;5132:47:67;;-1:-1:-1;;5174:3:67;5159:19;;5151:6;-1:-1:-1;;;;;3971:31:67;3959:44;;3905:104;5132:47;4014:1171;;;;;;;;;;;:::o;5190:277::-;5257:6;5310:2;5298:9;5289:7;5285:23;5281:32;5278:52;;;5326:1;5323;5316:12;5278:52;5358:9;5352:16;5411:5;5404:13;5397:21;5390:5;5387:32;5377:60;;5433:1;5430;5423:12;5377:60;5456:5;5190:277;-1:-1:-1;;;5190:277:67: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)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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/MinaBridge.sol\":\"MinaBridge\"},\"evmVersion\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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"}],"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/MinaBridge.sol":"MinaBridge"},"evmVersion":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"}},"version":1},"id":65} \ No newline at end of file +{"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"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"NewStateIsNotValid","inputs":[]},{"type":"error","name":"TipStateIsWrong","inputs":[{"name":"pubInputTipStateHash","type":"bytes32","internalType":"bytes32"},{"name":"tipStatehash","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161079b38038061079b83398101604081905261002f91610073565b602080546001600160a01b0319166001600160a01b038416179055806000610059600160106100ad565b60108110610069576100696100d2565b0155506100e89050565b6000806040838503121561008657600080fd5b82516001600160a01b038116811461009d57600080fd5b6020939093015192949293505050565b6000828210156100cd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b6106a4806100f76000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80633e16b0111161005b5780633e16b011146100be578063a92d923a146100e1578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a05780633886c09b146100a8575b600080fd5b61008a610106565b604051610097919061039b565b60405180910390f35b61008a610142565b6100b0610178565b604051908152602001610097565b6100d16100cc3660046103cd565b61019e565b6040519015158152602001610097565b6100f46100ef366004610489565b610200565b005b6100b061036d565b6100b0601081565b61010e61037c565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a61037c565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b6000601061018760018261054e565b6010811061019757610197610565565b0154905090565b6000805b60108110156101f757826010826101ba60018361054e565b6101c4919061054e565b601081106101d4576101d4610565565b015414156101e55750600192915050565b806101ef8161057b565b9150506101a2565b50600092915050565b602081015160006102136001601061054e565b6010811061022357610223610565565b015481146102725780600061023a6001601061054e565b6010811061024a5761024a610565565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906102bb908d9086908e908e908e908e908e908b90600401610596565b602060405180830381865afa1580156102d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fc9190610645565b905080156103485760006010604086016102408701835b601081101561033e578251855581518455600194850194938401936020938401939092019101610313565b5050505050610361565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101876001601061054e565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103c45781518352602092830192909101906001016103a5565b50505092915050565b6000602082840312156103df57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261040d57600080fd5b813567ffffffffffffffff80821115610428576104286103e6565b604051601f8301601f19908116603f01168101908282118183101715610450576104506103e6565b8160405283815286602085880101111561046957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156104a457600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104cf57600080fd5b945060608801359350608088013567ffffffffffffffff808211156104f357600080fd5b6104ff8b838c016103fc565b945060a08a0135935060c08a013591508082111561051c57600080fd5b506105298a828b016103fc565b91505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b60008282101561056057610560610538565b500390565b634e487b7160e01b600052603260045260246000fd5b600060001982141561058f5761058f610538565b5060010190565b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105f7578783018201518584016101200152918101916105d8565b8083111561060a57600061012082870101525b60c08501879052601f01601f1916840161012001925061063891505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561065757600080fd5b8151801515811461066757600080fd5b939250505056fea26469706673582212204e84be234d08bc7364f2bbb84eb76e581134598fa3e9d9785f29d76ecc96df2364736f6c634300080c0033","sourceMap":"345:4763:64:-:0;;;1053:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1135:7;:57;;-1:-1:-1;;;;;;1135:57:64;-1:-1:-1;;;;;1135:57:64;;;;;1257:13;-1:-1:-1;1219:34:64;-1:-1:-1;548:2:64;1219:34;:::i;:::-;1202:52;;;;;;;:::i;:::-;;:68;-1:-1:-1;345:4763:64;;-1:-1:-1;345:4763:64;14:359:66;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:66;;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:66:o;378:222::-;418:4;446:1;443;440:8;437:131;;;490:10;485:3;481:20;478:1;471:31;525:4;522:1;515:15;553:4;550:1;543:15;437:131;-1:-1:-1;585:9:66;;378:222::o;605:127::-;666:10;661:3;657:20;654:1;647:31;697:4;694:1;687:15;721:4;718:1;711:15;605:127;345:4763:64;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80633e16b0111161005b5780633e16b011146100be578063a92d923a146100e1578063b8184745146100f6578063fb299cd8146100fe57600080fd5b806303f93e50146100825780632bc4f8d9146100a05780633886c09b146100a8575b600080fd5b61008a610106565b604051610097919061039b565b60405180910390f35b61008a610142565b6100b0610178565b604051908152602001610097565b6100d16100cc3660046103cd565b61019e565b6040519015158152602001610097565b6100f46100ef366004610489565b610200565b005b6100b061036d565b6100b0601081565b61010e61037c565b604080516102008101918290529060009060109082845b815481526020019060010190808311610125575050505050905090565b61014a61037c565b6040805161020081019182905260108054825290918190601160208501808311610125575050505050905090565b6000601061018760018261054e565b6010811061019757610197610565565b0154905090565b6000805b60108110156101f757826010826101ba60018361054e565b6101c4919061054e565b601081106101d4576101d4610565565b015414156101e55750600192915050565b806101ef8161057b565b9150506101a2565b50600092915050565b602081015160006102136001601061054e565b6010811061022357610223610565565b015481146102725780600061023a6001601061054e565b6010811061024a5761024a610565565b015460405163177b002560e31b81526004810192909252602482015260440160405180910390fd5b815160208084019190912090546040516306045a9160e01b81526000916001600160a01b0316906306045a91906102bb908d9086908e908e908e908e908e908b90600401610596565b602060405180830381865afa1580156102d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fc9190610645565b905080156103485760006010604086016102408701835b601081101561033e578251855581518455600194850194938401936020938401939092019101610313565b5050505050610361565b604051630114602f60e41b815260040160405180910390fd5b50505050505050505050565b6000806101876001601061054e565b6040518061020001604052806010906020820280368337509192915050565b6102008101818360005b60108110156103c45781518352602092830192909101906001016103a5565b50505092915050565b6000602082840312156103df57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261040d57600080fd5b813567ffffffffffffffff80821115610428576104286103e6565b604051601f8301601f19908116603f01168101908282118183101715610450576104506103e6565b8160405283815286602085880101111561046957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600080600060e0888a0312156104a457600080fd5b873596506020880135955060408801356bffffffffffffffffffffffff19811681146104cf57600080fd5b945060608801359350608088013567ffffffffffffffff808211156104f357600080fd5b6104ff8b838c016103fc565b945060a08a0135935060c08a013591508082111561051c57600080fd5b506105298a828b016103fc565b91505092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b60008282101561056057610560610538565b500390565b634e487b7160e01b600052603260045260246000fd5b600060001982141561058f5761058f610538565b5060010190565b60006101008a835260208a818501528960408501526bffffffffffffffffffffffff19891660608501528760808501528160a085015286518083860152600092505b808310156105f7578783018201518584016101200152918101916105d8565b8083111561060a57600061012082870101525b60c08501879052601f01601f1916840161012001925061063891505060e08301846001600160a01b03169052565b9998505050505050505050565b60006020828403121561065757600080fd5b8151801515811461066757600080fd5b939250505056fea26469706673582212204e84be234d08bc7364f2bbb84eb76e581134598fa3e9d9785f29d76ecc96df2364736f6c634300080c0033","sourceMap":"345:4763:64:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1740:170;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1981:172;;;:::i;1533:137::-;;;:::i;:::-;;;662:25:66;;;650:2;635:18;1533:137:64;516:177:66;2229:365:64;;;;;;:::i;:::-;;:::i;:::-;;;1048:14:66;;1041:22;1023:41;;1011:2;996:18;2229:365:64;883:187:66;2600:2506:64;;;;;;:::i;:::-;;:::i;:::-;;1337:135;;;:::i;491:59::-;;548:2;491:59;;1740:170;1818:46;;:::i;:::-;1880:23;;;;;;;;;;;-1:-1:-1;;1880:23:64;;-1:-1:-1;1880:23:64;;;;;;;;;;;;;;;;;;;;;;;;1740:170;:::o;1981:172::-;2060:46;;:::i;:::-;2122:24;;;;;;;;;;2129:17;2122:24;;;;;;2129:17;;2122:24;;;;;;;;;;;;;;;;1981:172;:::o;1533:137::-;1584:7;1610:17;1628:34;1661:1;1610:17;1628:34;:::i;:::-;1610:53;;;;;;;:::i;:::-;;;1603:60;;1533:137;:::o;2229:365::-;2298:4;;2314:252;548:2;2334:1;:34;2314:252;;;2487:10;2410:17;2465:1;2428:34;2461:1;2410:17;2428:34;:::i;:::-;:38;;;;:::i;:::-;2410:57;;;;;;;:::i;:::-;;;:87;2389:167;;;-1:-1:-1;2537:4:64;;2229:365;-1:-1:-1;;2229:365:64:o;2389:167::-;2370:3;;;;:::i;:::-;;;;2314:252;;;-1:-1:-1;2582:5:64;;2229:365;-1:-1:-1;;2229:365:64:o;2600:2506::-;3022:4;3008:19;;3002:26;2905:34;3124;3157:1;548:2;3124:34;:::i;:::-;3107:52;;;;;;;:::i;:::-;;;3065:26;:94;3048:297;;3224:26;3268:16;3285:34;3318:1;548:2;3285:34;:::i;:::-;3268:52;;;;;;;:::i;:::-;;;3191:143;;-1:-1:-1;;;3191:143:64;;;;;3826:25:66;;;;3867:18;;;3860:34;3799:18;;3191:143:64;;;;;;;3048:297;3384:19;;;;;;;;;;3440:7;;:293;;-1:-1:-1;;;3440:293:64;;3355:26;;-1:-1:-1;;;;;3440:7:64;;:28;;:293;;3482:15;;3384:19;;3543:30;;3587:18;;3619:15;;3648:11;;3673:26;;3355;;3440:293;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3414:319;;3748:18;3744:1356;;;3886:21;3944:22;4234:2;4220:17;;4369:115;;;3886:21;4502:516;4563:30;4560:1;4557:37;4502:516;;;4692:18;;4672:39;;4865:19;;4844:41;;4820:1;4803:19;;;;4980:20;;;;4764:2;4747:20;;;;4922:21;;;;4622:9;4502:516;;;4506:50;;;;;3744:1356;;;5069:20;;-1:-1:-1;;;5069:20:64;;;;;;;;;;;3744:1356;2895:2211;;;2600:2506;;;;;;;:::o;1337:135::-;1387:7;;1430:34;1463:1;548:2;1430:34;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:497:66:-;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;698:180::-;757:6;810:2;798:9;789:7;785:23;781:32;778:52;;;826:1;823;816:12;778:52;-1:-1:-1;849:23:66;;698:180;-1:-1:-1;698:180:66:o;1075:127::-;1136:10;1131:3;1127:20;1124:1;1117:31;1167:4;1164:1;1157:15;1191:4;1188:1;1181:15;1207:718;1249:5;1302:3;1295:4;1287:6;1283:17;1279:27;1269:55;;1320:1;1317;1310:12;1269:55;1356:6;1343:20;1382:18;1419:2;1415;1412:10;1409:36;;;1425:18;;:::i;:::-;1500:2;1494:9;1468:2;1554:13;;-1:-1:-1;;1550:22:66;;;1574:2;1546:31;1542:40;1530:53;;;1598:18;;;1618:22;;;1595:46;1592:72;;;1644:18;;:::i;:::-;1684:10;1680:2;1673:22;1719:2;1711:6;1704:18;1765:3;1758:4;1753:2;1745:6;1741:15;1737:26;1734:35;1731:55;;;1782:1;1779;1772:12;1731:55;1846:2;1839:4;1831:6;1827:17;1820:4;1812:6;1808:17;1795:54;1893:1;1886:4;1881:2;1873:6;1869:15;1865:26;1858:37;1913:6;1904:15;;;;;;1207:718;;;;:::o;1930:1001::-;2061:6;2069;2077;2085;2093;2101;2109;2162:3;2150:9;2141:7;2137:23;2133:33;2130:53;;;2179:1;2176;2169:12;2130:53;2202:23;;;-1:-1:-1;2272:2:66;2257:18;;2244:32;;-1:-1:-1;2326:2:66;2311:18;;2298:32;-1:-1:-1;;2359:43:66;;2349:54;;2339:82;;2417:1;2414;2407:12;2339:82;2440:5;-1:-1:-1;2492:2:66;2477:18;;2464:32;;-1:-1:-1;2547:3:66;2532:19;;2519:33;2571:18;2601:14;;;2598:34;;;2628:1;2625;2618:12;2598:34;2651:49;2692:7;2683:6;2672:9;2668:22;2651:49;:::i;:::-;2641:59;;2747:3;2736:9;2732:19;2719:33;2709:43;;2805:3;2794:9;2790:19;2777:33;2761:49;;2835:2;2825:8;2822:16;2819:36;;;2851:1;2848;2841:12;2819:36;;2874:51;2917:7;2906:8;2895:9;2891:24;2874:51;:::i;:::-;2864:61;;;1930:1001;;;;;;;;;;:::o;3118:127::-;3179:10;3174:3;3170:20;3167:1;3160:31;3210:4;3207:1;3200:15;3234:4;3231:1;3224:15;3250:125;3290:4;3318:1;3315;3312:8;3309:34;;;3323:18;;:::i;:::-;-1:-1:-1;3360:9:66;;3250:125::o;3380:127::-;3441:10;3436:3;3432:20;3429:1;3422:31;3472:4;3469:1;3462:15;3496:4;3493:1;3486:15;3512:135;3551:3;-1:-1:-1;;3572:17:66;;3569:43;;;3592:18;;:::i;:::-;-1:-1:-1;3639:1:66;3628:13;;3512:135::o;4014:1171::-;4320:4;4349:3;4379:6;4368:9;4361:25;4405:2;4443:6;4438:2;4427:9;4423:18;4416:34;4486:6;4481:2;4470:9;4466:18;4459:34;4545:26;4541:31;4533:6;4529:44;4524:2;4513:9;4509:18;4502:72;4611:6;4605:3;4594:9;4590:19;4583:35;4655:2;4649:3;4638:9;4634:19;4627:31;4687:6;4681:13;4730:6;4725:2;4714:9;4710:18;4703:34;4755:1;4746:10;;4765:141;4779:6;4776:1;4773:13;4765:141;;;4875:14;;;4871:23;;4865:30;4840:17;;;4859:3;4836:27;4829:67;4794:10;;;;4765:141;;;4924:6;4921:1;4918:13;4915:92;;;4995:1;4989:3;4980:6;4969:9;4965:22;4961:32;4954:43;4915:92;5110:3;5095:19;;5088:35;;;5068:2;5047:15;-1:-1:-1;;5043:29:66;5028:45;;5075:3;5024:55;;-1:-1:-1;5132:47:66;;-1:-1:-1;;5174:3:66;5159:19;;5151:6;-1:-1:-1;;;;;3971:31:66;3959:44;;3905:104;5132:47;4014:1171;;;;;;;;;;;:::o;5190:277::-;5257:6;5310:2;5298:9;5289:7;5285:23;5281:32;5278:52;;;5326:1;5323;5316:12;5278:52;5358:9;5352:16;5411:5;5404:13;5397:21;5390:5;5387:32;5377:60;;5433:1;5430;5423:12;5377:60;5456:5;5190:277;-1:-1:-1;;;5190:277:66: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)":"a92d923a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_alignedServiceAddr\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_tipStateHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"}],\"name\":\"updateChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Mina to Ethereum Bridge's smart contract.\",\"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/MinaBridge.sol\":\"MinaBridge\"},\"evmVersion\":\"london\",\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"src/MinaBridge.sol\":{\"keccak256\":\"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81\",\"dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address payable","name":"_alignedServiceAddr","type":"address"},{"internalType":"bytes32","name":"_tipStateHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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"}],"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/MinaBridge.sol":"MinaBridge"},"evmVersion":"london","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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"src/MinaBridge.sol":{"keccak256":"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced","urls":["bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81","dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1"],"license":"UNLICENSED"}},"version":1},"id":64} \ No newline at end of file diff --git a/core/src/sdk.rs b/core/src/sdk.rs index 2bfc7b5e..7eaa6f05 100644 --- a/core/src/sdk.rs +++ b/core/src/sdk.rs @@ -3,6 +3,7 @@ use std::str::FromStr; use aligned_sdk::core::types::{AlignedVerificationData, Chain, VerificationDataCommitment}; use ethers::core::k256::ecdsa::SigningKey; use ethers_signers::Wallet; +use log::debug; use mina_p2p_messages::v2::StateHash; use crate::{ @@ -56,6 +57,7 @@ pub async fn update_bridge_chain( let candidate_root_state_hash = pub_input.candidate_chain_state_hashes.first().unwrap(); if is_state_verified(&candidate_root_state_hash.to_string(), chain, eth_rpc_url).await? { + debug!("Candidate root {candidate_root_state_hash} is verified, so the bridge chain is updated"); return Err("Latest chain is already verified".to_string()); } diff --git a/example/app/abi/SudokuValidity.json b/example/app/abi/SudokuValidity.json index 38c86e65..8e4ab551 100644 --- a/example/app/abi/SudokuValidity.json +++ b/example/app/abi/SudokuValidity.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610dca380380610dca83398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d07806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea264697066735822122020a64ecf83c5afd8d7a13ab9141fc49b8c66fd3101c75357880bd9ccb20713dd64736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2807;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2807:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea264697066735822122020a64ecf83c5afd8d7a13ab9141fc49b8c66fd3101c75357880bd9ccb20713dd64736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1439:1543;;;;;;:::i;:::-;;:::i;:::-;;1190:120;1277:26;;1190:120;;1439:1543;1751:18;1780:13;1790:2;1751:18;1780:8;;:13;:::i;:::-;1772:22;;;:::i;:::-;1809:15;;:44;;-1:-1:-1;;;1809:44:42;;;;;160:25:43;;;1751:43:42;;-1:-1:-1;;;;;;1809:15:42;;:32;;133:18:43;;1809:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1804:108;;1876:25;;-1:-1:-1;;;1876:25:42;;;;;160::43;;;133:18;;1876:25:42;;;;;;;1804:108;1940:17;;:296;;-1:-1:-1;;;1940:296:42;;-1:-1:-1;;;;;1940:17:42;;;;:33;;:296;;1991:15;;2024:30;;2072:18;;2108:15;;2141:11;;2170:26;;2214:8;;;;1940:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1922:378;;2268:21;;-1:-1:-1;;;2268:21:42;;;;;;;;;;;1922:378;2310:29;;2342:17;:8;2351:6;2342:8;;:17;:::i;:::-;2310:49;;-1:-1:-1;2310:49:42;-1:-1:-1;2369:44:42;2416:93;;;;2310:49;2416:93;:::i;:::-;2821:13;;;;:22;:25;;;:13;;-1:-1:-1;2817:159:42;;2896:15;2867:26;:44;2817:159;;;2949:16;;-1:-1:-1;;;2949:16:42;;;;;;;;;;;2817:159;1741:1241;;;;1439:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41\",\"dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2\",\"dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455\",\"dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357","urls":["bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41","dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x2838ccd12d04fc57d18b6affffa499f247bee39973bde32b134dcb66a80d3272","urls":["bzz-raw://df52ebb55b3c1abb8a92d1934823499b95f081df0404c438f823dc364f8a62c2","dweb:/ipfs/QmPjHe2mo5Z6Ad4he54KS32WN6PKU5oyRNJaWi63HdDXP6"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c","urls":["bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455","dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610dca380380610dca83398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d07806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea26469706673582212201f1054193320d52313f51c7a06db9ca0f1ab84e7366c1e3cbab557a1b37ea39564736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2807;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2807:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea26469706673582212201f1054193320d52313f51c7a06db9ca0f1ab84e7366c1e3cbab557a1b37ea39564736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1439:1543;;;;;;:::i;:::-;;:::i;:::-;;1190:120;1277:26;;1190:120;;1439:1543;1751:18;1780:13;1790:2;1751:18;1780:8;;:13;:::i;:::-;1772:22;;;:::i;:::-;1809:15;;:44;;-1:-1:-1;;;1809:44:42;;;;;160:25:43;;;1751:43:42;;-1:-1:-1;;;;;;1809:15:42;;:32;;133:18:43;;1809:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1804:108;;1876:25;;-1:-1:-1;;;1876:25:42;;;;;160::43;;;133:18;;1876:25:42;;;;;;;1804:108;1940:17;;:296;;-1:-1:-1;;;1940:296:42;;-1:-1:-1;;;;;1940:17:42;;;;:33;;:296;;1991:15;;2024:30;;2072:18;;2108:15;;2141:11;;2170:26;;2214:8;;;;1940:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1922:378;;2268:21;;-1:-1:-1;;;2268:21:42;;;;;;;;;;;1922:378;2310:29;;2342:17;:8;2351:6;2342:8;;:17;:::i;:::-;2310:49;;-1:-1:-1;2310:49:42;-1:-1:-1;2369:44:42;2416:93;;;;2310:49;2416:93;:::i;:::-;2821:13;;;;:22;:25;;;:13;;-1:-1:-1;2817:159:42;;2896:15;2867:26;:44;2817:159;;;2949:16;;-1:-1:-1;;;2949:16:42;;;;;;;;;;;2817:159;1741:1241;;;;1439:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41\",\"dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81\",\"dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455\",\"dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357","urls":["bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41","dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced","urls":["bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81","dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c","urls":["bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455","dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file From 69a73587073a66cf4ea8cc097965a99cd78e153f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 16:19:00 -0300 Subject: [PATCH 40/48] Add log --- example/mina_zkapp/src/run.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/example/mina_zkapp/src/run.ts b/example/mina_zkapp/src/run.ts index 148155a2..1f8caf43 100644 --- a/example/mina_zkapp/src/run.ts +++ b/example/mina_zkapp/src/run.ts @@ -42,6 +42,9 @@ Mina.setActiveInstance(Network); // define zkapp and create sudoku to upload const zkApp = new SudokuZkApp(zkAppAddress); +await fetchAccount({ publicKey: zkAppAddress }); +console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); + const sudoku = generateSudoku(0.5); console.log('Compiling Sudoku'); @@ -55,8 +58,6 @@ await trySendTx( } ); -console.log('Is the sudoku solved?', zkApp.isSolved.get().toBoolean()); - let solution = solveSudoku(sudoku); if (solution === undefined) throw Error('cannot happen'); From c7f2709852d1d3bdf204cd2aa7eafc4ea1708f14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 16:19:17 -0300 Subject: [PATCH 41/48] Fix boolean comparison --- example/eth_contract/src/SudokuValidity.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/eth_contract/src/SudokuValidity.sol b/example/eth_contract/src/SudokuValidity.sol index 22b26959..0dab777c 100644 --- a/example/eth_contract/src/SudokuValidity.sol +++ b/example/eth_contract/src/SudokuValidity.sol @@ -74,7 +74,7 @@ contract SudokuValidity { // revert IncorrectZkappAccount(account.verificationKeyHash); // } - if (account.zkapp.appState[1] == 0) { + if (account.zkapp.appState[1] != 0) { latestSolutionValidationAt = block.timestamp; } else { revert UnsolvedSudoku(); From e31b797163e100b8af85eb80ee62904176540ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 16:19:42 -0300 Subject: [PATCH 42/48] Add debug to query_candidate_chain() --- core/src/mina.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/src/mina.rs b/core/src/mina.rs index 931a8f8b..b7eb3ea7 100644 --- a/core/src/mina.rs +++ b/core/src/mina.rs @@ -225,6 +225,9 @@ pub async fn query_candidate_chain( .map_err(|err| format!("Couldn't read state proof binprot: {err}")) })?; + debug!("Queried state hashes: {chain_state_hashes:?}"); + debug!("Queried ledger hashes: {chain_ledger_hashes:?}"); + Ok(( chain_states, chain_state_hashes, From b3a58e97f4566d10ffe39478c02bdf6e46b63b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Mon, 23 Sep 2024 16:20:30 -0300 Subject: [PATCH 43/48] Update app --- example/app/abi/SudokuValidity.json | 2 +- example/app/src/main.rs | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/example/app/abi/SudokuValidity.json b/example/app/abi/SudokuValidity.json index 8e4ab551..4b6b2181 100644 --- a/example/app/abi/SudokuValidity.json +++ b/example/app/abi/SudokuValidity.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610dca380380610dca83398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d07806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea26469706673582212201f1054193320d52313f51c7a06db9ca0f1ab84e7366c1e3cbab557a1b37ea39564736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2807;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2807:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103be565b61009c565b005b60025461006d565b60006100ab602082848661049f565b6100b4916104c9565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104f9565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610546565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104f9565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f2846028818861049f565b9092509050600061020583830184610bb1565b61014081015151602001519091506102205742600255610239565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561027f5761027f610247565b60405290565b6040516101c081016001600160401b038111828210171561027f5761027f610247565b604051606081016001600160401b038111828210171561027f5761027f610247565b60405161010081016001600160401b038111828210171561027f5761027f610247565b60405160e081016001600160401b038111828210171561027f5761027f610247565b60405161016081016001600160401b038111828210171561027f5761027f610247565b600082601f83011261034357600080fd5b81356001600160401b038082111561035d5761035d610247565b604051601f8301601f19908116603f0116810190828211818310171561038557610385610247565b8160405283815286602085880101111561039e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103da57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040557600080fd5b95506060890135945060808901356001600160401b038082111561042857600080fd5b6104348c838d01610332565b955060a08b0135945060c08b013591508082111561045157600080fd5b818b0191508b601f83011261046557600080fd5b81358181111561047457600080fd5b8c602082850101111561048657600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104af57600080fd5b838611156104bc57600080fd5b5050820193919092039150565b803560208310156104e257600019602084900360031b1b165b92915050565b80151581146104f657600080fd5b50565b60006020828403121561050b57600080fd5b8151610516816104e8565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059c578881018301518582016101000152820161057f565b818111156105af57600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105dd818301868861051d565b9c9b505050505050505050505050565b80356105f8816104e8565b919050565b60006040828403121561060f57600080fd5b61061761025d565b905081358152602082013561062b816104e8565b602082015292915050565b80356001600160401b03811681146105f857600080fd5b803563ffffffff811681146105f857600080fd5b600060a0828403121561067357600080fd5b60405160a081018181106001600160401b038211171561069557610695610247565b6040529050806106a483610636565b81526106b26020840161064d565b60208201526106c360408401610636565b60408201526106d46060840161064d565b60608201526106e560808401610636565b60808201525092915050565b8035600581106105f857600080fd5b60006101c0828403121561071357600080fd5b61071b610285565b9050610726826106f1565b8152610734602083016106f1565b6020820152610745604083016106f1565b6040820152610756606083016106f1565b6060820152610767608083016106f1565b608082015261077860a083016106f1565b60a082015261078960c083016106f1565b60c082015261079a60e0830161064d565b60e08201526101006107ad8184016106f1565b908201526101206107bf8382016106f1565b908201526101406107d18382016106f1565b908201526101606107e38382016106f1565b908201526101806107f58382016106f1565b908201526101a06108078382016106f1565b9082015292915050565b600082601f83011261082257600080fd5b6040516101008082018281106001600160401b038211171561084657610846610247565b6040528301818582111561085957600080fd5b845b8281101561087357803582526020918201910161085b565b509195945050505050565b8035600381106105f857600080fd5b60006040828403121561089f57600080fd5b6108a761025d565b9050813581526020820135602082015292915050565b600082601f8301126108ce57600080fd5b6040805160e081018181106001600160401b03821117156108f1576108f1610247565b8252806101c085018681111561090657600080fd5b855b818110156109295761091a888261088d565b83526020909201918401610908565b50919695505050505050565b600082601f83011261094657600080fd5b604080516101e081018181106001600160401b038211171561096a5761096a610247565b8252806103c085018681111561097f57600080fd5b855b8181101561092957610993888261088d565b83526020909201918401610981565b60008183036107408112156109b657600080fd5b6109be6102a8565b91506109c98361087e565b82526109d76020840161087e565b602083015261070080603f19830112156109f057600080fd5b6109f86102ca565b9150610a0785604086016108bd565b8252610a17856102008601610935565b6020830152610a2a856105c0860161088d565b6040830152610a3d85610600860161088d565b6060830152610a5085610640860161088d565b6080830152610a6385610680860161088d565b60a0830152610a76856106c0860161088d565b60c0830152610a878582860161088d565b60e083015250604082015292915050565b600082601f830112610aa957600080fd5b60405160a081018181106001600160401b0382111715610acb57610acb610247565b6040528060a0840185811115610ae057600080fd5b845b81811015610873578035835260209283019201610ae2565b60006109608284031215610b0d57600080fd5b610b156102ed565b9050610b218383610811565b8152610b318361010084016109a2565b6020820152610b43610840830161064d565b6040820152610b56836108608401610a98565b6060820152610b68610900830161064d565b6080820152610b7a61092083016105ed565b60a08201526109408201356001600160401b03811115610b9957600080fd5b610ba584828501610332565b60c08301525092915050565b600060208284031215610bc357600080fd5b81356001600160401b0380821115610bda57600080fd5b908301906103c08286031215610bef57600080fd5b610bf761030f565b610c0186846105fd565b815260408301356020820152606083013582811115610c1f57600080fd5b610c2b87828601610332565b604083015250610c3d60808401610636565b6060820152610c4e60a0840161064d565b608082015260c083013560a0820152610c6a8660e085016105fd565b60c08201526101208084013560e0830152610140610c8a88828701610661565b610100840152610c9e886101e08701610700565b828401526103a0850135915083821115610cb757600080fd5b610cc388838701610afa565b90830152509594505050505056fea26469706673582212201f1054193320d52313f51c7a06db9ca0f1ab84e7366c1e3cbab557a1b37ea39564736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1439:1543;;;;;;:::i;:::-;;:::i;:::-;;1190:120;1277:26;;1190:120;;1439:1543;1751:18;1780:13;1790:2;1751:18;1780:8;;:13;:::i;:::-;1772:22;;;:::i;:::-;1809:15;;:44;;-1:-1:-1;;;1809:44:42;;;;;160:25:43;;;1751:43:42;;-1:-1:-1;;;;;;1809:15:42;;:32;;133:18:43;;1809:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1804:108;;1876:25;;-1:-1:-1;;;1876:25:42;;;;;160::43;;;133:18;;1876:25:42;;;;;;;1804:108;1940:17;;:296;;-1:-1:-1;;;1940:296:42;;-1:-1:-1;;;;;1940:17:42;;;;:33;;:296;;1991:15;;2024:30;;2072:18;;2108:15;;2141:11;;2170:26;;2214:8;;;;1940:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1922:378;;2268:21;;-1:-1:-1;;;2268:21:42;;;;;;;;;;;1922:378;2310:29;;2342:17;:8;2351:6;2342:8;;:17;:::i;:::-;2310:49;;-1:-1:-1;2310:49:42;-1:-1:-1;2369:44:42;2416:93;;;;2310:49;2416:93;:::i;:::-;2821:13;;;;:22;:25;;;:13;;-1:-1:-1;2817:159:42;;2896:15;2867:26;:44;2817:159;;;2949:16;;-1:-1:-1;;;2949:16:42;;;;;;;;;;;2817:159;1741:1241;;;;1439:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41\",\"dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81\",\"dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455\",\"dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357","urls":["bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41","dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced","urls":["bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81","dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x1a9e473a84c4f4c37b9d1249542e51d0c74d59878ebdeae3503c7e05908a9c6c","urls":["bzz-raw://c6e31b42f40759818131e36fc7dd9b269e7ddd37dcb383e369a3686c515e7455","dweb:/ipfs/QmXzq5X27taZXtv1TYkziGfejMghJ1bKxwYbwAN812gbq2"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_stateSettlementAddr","type":"address","internalType":"address"},{"name":"_accountValidationAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLatestSolutionTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"validateSolution","inputs":[{"name":"proofCommitment","type":"bytes32","internalType":"bytes32"},{"name":"provingSystemAuxDataCommitment","type":"bytes32","internalType":"bytes32"},{"name":"proofGeneratorAddr","type":"bytes20","internalType":"bytes20"},{"name":"batchMerkleRoot","type":"bytes32","internalType":"bytes32"},{"name":"merkleProof","type":"bytes","internalType":"bytes"},{"name":"verificationDataBatchIndex","type":"uint256","internalType":"uint256"},{"name":"pubInput","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"IncorrectZkappAccount","inputs":[{"name":"verificationKeyHash","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidLedger","inputs":[{"name":"ledgerHash","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"InvalidZkappAccount","inputs":[]},{"type":"error","name":"UnsolvedSudoku","inputs":[]}],"bytecode":{"object":"0x6080604052600060025534801561001557600080fd5b50604051610dcb380380610dcb83398101604081905261003491610081565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100b4565b80516001600160a01b038116811461007c57600080fd5b919050565b6000806040838503121561009457600080fd5b61009d83610065565b91506100ab60208401610065565b90509250929050565b610d08806100c36000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103bf565b61009c565b005b60025461006d565b60006100ab60208284866104a0565b6100b4916104ca565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104fa565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610547565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104fa565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f284602881886104a0565b9092509050600061020583830184610bb2565b610140810151516020015190915015610221574260025561023a565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561028057610280610248565b60405290565b6040516101c081016001600160401b038111828210171561028057610280610248565b604051606081016001600160401b038111828210171561028057610280610248565b60405161010081016001600160401b038111828210171561028057610280610248565b60405160e081016001600160401b038111828210171561028057610280610248565b60405161016081016001600160401b038111828210171561028057610280610248565b600082601f83011261034457600080fd5b81356001600160401b038082111561035e5761035e610248565b604051601f8301601f19908116603f0116810190828211818310171561038657610386610248565b8160405283815286602085880101111561039f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103db57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040657600080fd5b95506060890135945060808901356001600160401b038082111561042957600080fd5b6104358c838d01610333565b955060a08b0135945060c08b013591508082111561045257600080fd5b818b0191508b601f83011261046657600080fd5b81358181111561047557600080fd5b8c602082850101111561048757600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104b057600080fd5b838611156104bd57600080fd5b5050820193919092039150565b803560208310156104e357600019602084900360031b1b165b92915050565b80151581146104f757600080fd5b50565b60006020828403121561050c57600080fd5b8151610517816104e9565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059d5788810183015185820161010001528201610580565b818111156105b057600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105de818301868861051e565b9c9b505050505050505050505050565b80356105f9816104e9565b919050565b60006040828403121561061057600080fd5b61061861025e565b905081358152602082013561062c816104e9565b602082015292915050565b80356001600160401b03811681146105f957600080fd5b803563ffffffff811681146105f957600080fd5b600060a0828403121561067457600080fd5b60405160a081018181106001600160401b038211171561069657610696610248565b6040529050806106a583610637565b81526106b36020840161064e565b60208201526106c460408401610637565b60408201526106d56060840161064e565b60608201526106e660808401610637565b60808201525092915050565b8035600581106105f957600080fd5b60006101c0828403121561071457600080fd5b61071c610286565b9050610727826106f2565b8152610735602083016106f2565b6020820152610746604083016106f2565b6040820152610757606083016106f2565b6060820152610768608083016106f2565b608082015261077960a083016106f2565b60a082015261078a60c083016106f2565b60c082015261079b60e0830161064e565b60e08201526101006107ae8184016106f2565b908201526101206107c08382016106f2565b908201526101406107d28382016106f2565b908201526101606107e48382016106f2565b908201526101806107f68382016106f2565b908201526101a06108088382016106f2565b9082015292915050565b600082601f83011261082357600080fd5b6040516101008082018281106001600160401b038211171561084757610847610248565b6040528301818582111561085a57600080fd5b845b8281101561087457803582526020918201910161085c565b509195945050505050565b8035600381106105f957600080fd5b6000604082840312156108a057600080fd5b6108a861025e565b9050813581526020820135602082015292915050565b600082601f8301126108cf57600080fd5b6040805160e081018181106001600160401b03821117156108f2576108f2610248565b8252806101c085018681111561090757600080fd5b855b8181101561092a5761091b888261088e565b83526020909201918401610909565b50919695505050505050565b600082601f83011261094757600080fd5b604080516101e081018181106001600160401b038211171561096b5761096b610248565b8252806103c085018681111561098057600080fd5b855b8181101561092a57610994888261088e565b83526020909201918401610982565b60008183036107408112156109b757600080fd5b6109bf6102a9565b91506109ca8361087f565b82526109d86020840161087f565b602083015261070080603f19830112156109f157600080fd5b6109f96102cb565b9150610a0885604086016108be565b8252610a18856102008601610936565b6020830152610a2b856105c0860161088e565b6040830152610a3e85610600860161088e565b6060830152610a5185610640860161088e565b6080830152610a6485610680860161088e565b60a0830152610a77856106c0860161088e565b60c0830152610a888582860161088e565b60e083015250604082015292915050565b600082601f830112610aaa57600080fd5b60405160a081018181106001600160401b0382111715610acc57610acc610248565b6040528060a0840185811115610ae157600080fd5b845b81811015610874578035835260209283019201610ae3565b60006109608284031215610b0e57600080fd5b610b166102ee565b9050610b228383610812565b8152610b328361010084016109a3565b6020820152610b44610840830161064e565b6040820152610b57836108608401610a99565b6060820152610b69610900830161064e565b6080820152610b7b61092083016105ee565b60a08201526109408201356001600160401b03811115610b9a57600080fd5b610ba684828501610333565b60c08301525092915050565b600060208284031215610bc457600080fd5b81356001600160401b0380821115610bdb57600080fd5b908301906103c08286031215610bf057600080fd5b610bf8610310565b610c0286846105fe565b815260408301356020820152606083013582811115610c2057600080fd5b610c2c87828601610333565b604083015250610c3e60808401610637565b6060820152610c4f60a0840161064e565b608082015260c083013560a0820152610c6b8660e085016105fe565b60c08201526101208084013560e0830152610140610c8b88828701610662565b610100840152610c9f886101e08701610701565b828401526103a0850135915083821115610cb857600080fd5b610cc488838701610afb565b90830152509594505050505056fea264697066735822122066ff66f2dbea5afafe4cf7ffdcae3ec2d43aede89c25b2307e63a265c60c4efc64736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;960:1;923:38;;968:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1052:15;:50;;-1:-1:-1;;;;;1052:50:42;;;-1:-1:-1;;;;;;1052:50:42;;;;;;;;1112:65;;;;;;;;;;;177:2807;;14:177:43;93:13;;-1:-1:-1;;;;;135:31:43;;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;:::-;177:2807:42;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063319453e814610046578063c4babc301461007f578063c681e9a314610094575b600080fd5b61006d7f2add19f6522426ca4bcf032dbee2987ac6f248ae68f716e68085d004645f62c381565b60405190815260200160405180910390f35b61009261008d3660046103bf565b61009c565b005b60025461006d565b60006100ab60208284866104a0565b6100b4916104ca565b600054604051633e16b01160e01b8152600481018390529192506001600160a01b031690633e16b01190602401602060405180830381865afa1580156100fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012291906104fa565b61014657604051633b78a2f560e11b81526004810182905260240160405180910390fd5b600154604051637a63e0fd60e11b81526001600160a01b039091169063f4c7c1fa90610184908c908c908c908c908c908c908c908c90600401610547565b602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c591906104fa565b6101e25760405163f281a18360e01b815260040160405180910390fd5b3660006101f284602881886104a0565b9092509050600061020583830184610bb2565b610140810151516020015190915015610221574260025561023a565b6040516351bc860760e11b815260040160405180910390fd5b505050505050505050505050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561028057610280610248565b60405290565b6040516101c081016001600160401b038111828210171561028057610280610248565b604051606081016001600160401b038111828210171561028057610280610248565b60405161010081016001600160401b038111828210171561028057610280610248565b60405160e081016001600160401b038111828210171561028057610280610248565b60405161016081016001600160401b038111828210171561028057610280610248565b600082601f83011261034457600080fd5b81356001600160401b038082111561035e5761035e610248565b604051601f8301601f19908116603f0116810190828211818310171561038657610386610248565b8160405283815286602085880101111561039f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060008060e0898b0312156103db57600080fd5b883597506020890135965060408901356bffffffffffffffffffffffff198116811461040657600080fd5b95506060890135945060808901356001600160401b038082111561042957600080fd5b6104358c838d01610333565b955060a08b0135945060c08b013591508082111561045257600080fd5b818b0191508b601f83011261046657600080fd5b81358181111561047557600080fd5b8c602082850101111561048757600080fd5b6020830194508093505050509295985092959890939650565b600080858511156104b057600080fd5b838611156104bd57600080fd5b5050820193919092039150565b803560208310156104e357600019602084900360031b1b165b92915050565b80151581146104f757600080fd5b50565b60006020828403121561050c57600080fd5b8151610517816104e9565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8881526000602089818401526bffffffffffffffffffffffff198916604084015287606084015260e0608084015286518060e085015260005b8181101561059d5788810183015185820161010001528201610580565b818111156105b057600061010083870101525b50601f19601f82011684019150506101008660a0850152808483030160c08501526105de818301868861051e565b9c9b505050505050505050505050565b80356105f9816104e9565b919050565b60006040828403121561061057600080fd5b61061861025e565b905081358152602082013561062c816104e9565b602082015292915050565b80356001600160401b03811681146105f957600080fd5b803563ffffffff811681146105f957600080fd5b600060a0828403121561067457600080fd5b60405160a081018181106001600160401b038211171561069657610696610248565b6040529050806106a583610637565b81526106b36020840161064e565b60208201526106c460408401610637565b60408201526106d56060840161064e565b60608201526106e660808401610637565b60808201525092915050565b8035600581106105f957600080fd5b60006101c0828403121561071457600080fd5b61071c610286565b9050610727826106f2565b8152610735602083016106f2565b6020820152610746604083016106f2565b6040820152610757606083016106f2565b6060820152610768608083016106f2565b608082015261077960a083016106f2565b60a082015261078a60c083016106f2565b60c082015261079b60e0830161064e565b60e08201526101006107ae8184016106f2565b908201526101206107c08382016106f2565b908201526101406107d28382016106f2565b908201526101606107e48382016106f2565b908201526101806107f68382016106f2565b908201526101a06108088382016106f2565b9082015292915050565b600082601f83011261082357600080fd5b6040516101008082018281106001600160401b038211171561084757610847610248565b6040528301818582111561085a57600080fd5b845b8281101561087457803582526020918201910161085c565b509195945050505050565b8035600381106105f957600080fd5b6000604082840312156108a057600080fd5b6108a861025e565b9050813581526020820135602082015292915050565b600082601f8301126108cf57600080fd5b6040805160e081018181106001600160401b03821117156108f2576108f2610248565b8252806101c085018681111561090757600080fd5b855b8181101561092a5761091b888261088e565b83526020909201918401610909565b50919695505050505050565b600082601f83011261094757600080fd5b604080516101e081018181106001600160401b038211171561096b5761096b610248565b8252806103c085018681111561098057600080fd5b855b8181101561092a57610994888261088e565b83526020909201918401610982565b60008183036107408112156109b757600080fd5b6109bf6102a9565b91506109ca8361087f565b82526109d86020840161087f565b602083015261070080603f19830112156109f157600080fd5b6109f96102cb565b9150610a0885604086016108be565b8252610a18856102008601610936565b6020830152610a2b856105c0860161088e565b6040830152610a3e85610600860161088e565b6060830152610a5185610640860161088e565b6080830152610a6485610680860161088e565b60a0830152610a77856106c0860161088e565b60c0830152610a888582860161088e565b60e083015250604082015292915050565b600082601f830112610aaa57600080fd5b60405160a081018181106001600160401b0382111715610acc57610acc610248565b6040528060a0840185811115610ae157600080fd5b845b81811015610874578035835260209283019201610ae3565b60006109608284031215610b0e57600080fd5b610b166102ee565b9050610b228383610812565b8152610b328361010084016109a3565b6020820152610b44610840830161064e565b6040820152610b57836108608401610a99565b6060820152610b69610900830161064e565b6080820152610b7b61092083016105ee565b60a08201526109408201356001600160401b03811115610b9a57600080fd5b610ba684828501610333565b60c08301525092915050565b600060208284031215610bc457600080fd5b81356001600160401b0380821115610bdb57600080fd5b908301906103c08286031215610bf057600080fd5b610bf8610310565b610c0286846105fe565b815260408301356020820152606083013582811115610c2057600080fd5b610c2c87828601610333565b604083015250610c3e60808401610637565b6060820152610c4f60a0840161064e565b608082015260c083013560a0820152610c6b8660e085016105fe565b60c08201526101208084013560e0830152610140610c8b88828701610662565b610100840152610c9f886101e08701610701565b828401526103a0850135915083821115610cb857600080fd5b610cc488838701610afb565b90830152509594505050505056fea264697066735822122066ff66f2dbea5afafe4cf7ffdcae3ec2d43aede89c25b2307e63a265c60c4efc64736f6c634300080c0033","sourceMap":"177:2807:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;432:139;;494:77;432:139;;;;;160:25:43;;;148:2;133:18;432:139:42;;;;;;;1439:1543;;;;;;:::i;:::-;;:::i;:::-;;1190:120;1277:26;;1190:120;;1439:1543;1751:18;1780:13;1790:2;1751:18;1780:8;;:13;:::i;:::-;1772:22;;;:::i;:::-;1809:15;;:44;;-1:-1:-1;;;1809:44:42;;;;;160:25:43;;;1751:43:42;;-1:-1:-1;;;;;;1809:15:42;;:32;;133:18:43;;1809:44:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1804:108;;1876:25;;-1:-1:-1;;;1876:25:42;;;;;160::43;;;133:18;;1876:25:42;;;;;;;1804:108;1940:17;;:296;;-1:-1:-1;;;1940:296:42;;-1:-1:-1;;;;;1940:17:42;;;;:33;;:296;;1991:15;;2024:30;;2072:18;;2108:15;;2141:11;;2170:26;;2214:8;;;;1940:296;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1922:378;;2268:21;;-1:-1:-1;;;2268:21:42;;;;;;;;;;;1922:378;2310:29;;2342:17;:8;2351:6;2342:8;;:17;:::i;:::-;2310:49;;-1:-1:-1;2310:49:42;-1:-1:-1;2369:44:42;2416:93;;;;2310:49;2416:93;:::i;:::-;2821:13;;;;:22;:25;;;:13;;-1:-1:-1;2821:30:42;2817:159;;2896:15;2867:26;:44;2817:159;;;2949:16;;-1:-1:-1;;;2949:16:42;;;;;;;;;;;2817:159;1741:1241;;;;1439:1543;;;;;;;;:::o;196:127:43:-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:252;395:4;389:11;;;427:17;;-1:-1:-1;;;;;459:34:43;;495:22;;;456:62;453:88;;;521:18;;:::i;:::-;557:4;550:24;328:252;:::o;585:255::-;657:2;651:9;699:6;687:19;;-1:-1:-1;;;;;721:34:43;;757:22;;;718:62;715:88;;;783:18;;:::i;845:253::-;917:2;911:9;959:4;947:17;;-1:-1:-1;;;;;979:34:43;;1015:22;;;976:62;973:88;;;1041:18;;:::i;1103:255::-;1175:2;1169:9;1217:6;1205:19;;-1:-1:-1;;;;;1239:34:43;;1275:22;;;1236:62;1233:88;;;1301:18;;:::i;1363:253::-;1435:2;1429:9;1477:4;1465:17;;-1:-1:-1;;;;;1497:34:43;;1533:22;;;1494:62;1491:88;;;1559:18;;:::i;1621:255::-;1693:2;1687:9;1735:6;1723:19;;-1:-1:-1;;;;;1757:34:43;;1793:22;;;1754:62;1751:88;;;1819:18;;:::i;1881:718::-;1923:5;1976:3;1969:4;1961:6;1957:17;1953:27;1943:55;;1994:1;1991;1984:12;1943:55;2030:6;2017:20;-1:-1:-1;;;;;2093:2:43;2089;2086:10;2083:36;;;2099:18;;:::i;:::-;2174:2;2168:9;2142:2;2228:13;;-1:-1:-1;;2224:22:43;;;2248:2;2220:31;2216:40;2204:53;;;2272:18;;;2292:22;;;2269:46;2266:72;;;2318:18;;:::i;:::-;2358:10;2354:2;2347:22;2393:2;2385:6;2378:18;2439:3;2432:4;2427:2;2419:6;2415:15;2411:26;2408:35;2405:55;;;2456:1;2453;2446:12;2405:55;2520:2;2513:4;2505:6;2501:17;2494:4;2486:6;2482:17;2469:54;2567:1;2560:4;2555:2;2547:6;2543:15;2539:26;2532:37;2587:6;2578:15;;;;;;1881:718;;;;:::o;2604:1251::-;2737:6;2745;2753;2761;2769;2777;2785;2793;2846:3;2834:9;2825:7;2821:23;2817:33;2814:53;;;2863:1;2860;2853:12;2814:53;2886:23;;;-1:-1:-1;2956:2:43;2941:18;;2928:32;;-1:-1:-1;3010:2:43;2995:18;;2982:32;-1:-1:-1;;3043:43:43;;3033:54;;3023:82;;3101:1;3098;3091:12;3023:82;3124:5;-1:-1:-1;3176:2:43;3161:18;;3148:32;;-1:-1:-1;3231:3:43;3216:19;;3203:33;-1:-1:-1;;;;;3285:14:43;;;3282:34;;;3312:1;3309;3302:12;3282:34;3335:49;3376:7;3367:6;3356:9;3352:22;3335:49;:::i;:::-;3325:59;;3431:3;3420:9;3416:19;3403:33;3393:43;;3489:3;3478:9;3474:19;3461:33;3445:49;;3519:2;3509:8;3506:16;3503:36;;;3535:1;3532;3525:12;3503:36;3573:8;3562:9;3558:24;3548:34;;3620:7;3613:4;3609:2;3605:13;3601:27;3591:55;;3642:1;3639;3632:12;3591:55;3682:2;3669:16;3708:2;3700:6;3697:14;3694:34;;;3724:1;3721;3714:12;3694:34;3769:7;3764:2;3755:6;3751:2;3747:15;3743:24;3740:37;3737:57;;;3790:1;3787;3780:12;3737:57;3821:2;3817;3813:11;3803:21;;3843:6;3833:16;;;;;2604:1251;;;;;;;;;;;:::o;3860:331::-;3965:9;3976;4018:8;4006:10;4003:24;4000:44;;;4040:1;4037;4030:12;4000:44;4069:6;4059:8;4056:20;4053:40;;;4089:1;4086;4079:12;4053:40;-1:-1:-1;;4115:23:43;;;4160:25;;;;;-1:-1:-1;3860:331:43:o;4196:255::-;4316:19;;4355:2;4347:11;;4344:101;;;-1:-1:-1;;4416:2:43;4412:12;;;4409:1;4405:20;4401:33;4390:45;4344:101;4196:255;;;;:::o;4638:118::-;4724:5;4717:13;4710:21;4703:5;4700:32;4690:60;;4746:1;4743;4736:12;4690:60;4638:118;:::o;4761:245::-;4828:6;4881:2;4869:9;4860:7;4856:23;4852:32;4849:52;;;4897:1;4894;4887:12;4849:52;4929:9;4923:16;4948:28;4970:5;4948:28;:::i;:::-;4995:5;4761:245;-1:-1:-1;;;4761:245:43:o;5011:266::-;5099:6;5094:3;5087:19;5151:6;5144:5;5137:4;5132:3;5128:14;5115:43;-1:-1:-1;5203:1:43;5178:16;;;5196:4;5174:27;;;5167:38;;;;5259:2;5238:15;;;-1:-1:-1;;5234:29:43;5225:39;;;5221:50;;5011:266::o;5282:1201::-;5625:6;5614:9;5607:25;5588:4;5651:2;5689:6;5684:2;5673:9;5669:18;5662:34;5748:26;5744:31;5736:6;5732:44;5727:2;5716:9;5712:18;5705:72;5813:6;5808:2;5797:9;5793:18;5786:34;5857:3;5851;5840:9;5836:19;5829:32;5890:6;5884:13;5934:6;5928:3;5917:9;5913:19;5906:35;5959:1;5969:141;5983:6;5980:1;5977:13;5969:141;;;6079:14;;;6075:23;;6069:30;6044:17;;;6063:3;6040:27;6033:67;5998:10;;5969:141;;;6128:6;6125:1;6122:13;6119:92;;;6199:1;6193:3;6184:6;6173:9;6169:22;6165:32;6158:43;6119:92;;6270:2;6266:7;6261:2;6253:6;6249:15;6245:29;6234:9;6230:45;6220:55;;;6294:3;6334:6;6328:3;6317:9;6313:19;6306:35;6402:2;6390:9;6386:2;6382:18;6378:27;6372:3;6361:9;6357:19;6350:56;6423:54;6473:2;6469;6465:11;6457:6;6449;6423:54;:::i;:::-;6415:62;5282:1201;-1:-1:-1;;;;;;;;;;;;5282:1201:43:o;6488:128::-;6553:20;;6582:28;6553:20;6582:28;:::i;:::-;6488:128;;;:::o;6621:357::-;6685:5;6733:4;6721:9;6716:3;6712:19;6708:30;6705:50;;;6751:1;6748;6741:12;6705:50;6773:17;;:::i;:::-;6764:26;;6826:9;6813:23;6806:5;6799:38;6889:2;6878:9;6874:18;6861:32;6902:30;6924:7;6902:30;:::i;:::-;6959:2;6948:14;;6941:31;6952:5;6621:357;-1:-1:-1;;6621:357:43:o;6983:171::-;7050:20;;-1:-1:-1;;;;;7099:30:43;;7089:41;;7079:69;;7144:1;7141;7134:12;7159:163;7226:20;;7286:10;7275:22;;7265:33;;7255:61;;7312:1;7309;7302:12;7327:696;7380:5;7428:4;7416:9;7411:3;7407:19;7403:30;7400:50;;;7446:1;7443;7436:12;7400:50;7479:2;7473:9;7521:4;7513:6;7509:17;7592:6;7580:10;7577:22;-1:-1:-1;;;;;7544:10:43;7541:34;7538:62;7535:88;;;7603:18;;:::i;:::-;7639:2;7632:22;7672:6;-1:-1:-1;7672:6:43;7702:28;7720:9;7702:28;:::i;:::-;7694:6;7687:44;7764:37;7797:2;7786:9;7782:18;7764:37;:::i;:::-;7759:2;7751:6;7747:15;7740:62;7835:37;7868:2;7857:9;7853:18;7835:37;:::i;:::-;7830:2;7822:6;7818:15;7811:62;7906:37;7939:2;7928:9;7924:18;7906:37;:::i;:::-;7901:2;7893:6;7889:15;7882:62;7978:38;8011:3;8000:9;7996:19;7978:38;:::i;:::-;7972:3;7964:6;7960:16;7953:64;;7327:696;;;;:::o;8028:153::-;8106:20;;8155:1;8145:12;;8135:40;;8171:1;8168;8161:12;8186:1421;8244:5;8292:6;8280:9;8275:3;8271:19;8267:32;8264:52;;;8312:1;8309;8302:12;8264:52;8334:22;;:::i;:::-;8325:31;;8379:39;8408:9;8379:39;:::i;:::-;8372:5;8365:54;8451:48;8495:2;8484:9;8480:18;8451:48;:::i;:::-;8446:2;8439:5;8435:14;8428:72;8532:48;8576:2;8565:9;8561:18;8532:48;:::i;:::-;8527:2;8520:5;8516:14;8509:72;8613:48;8657:2;8646:9;8642:18;8613:48;:::i;:::-;8608:2;8601:5;8597:14;8590:72;8695:49;8739:3;8728:9;8724:19;8695:49;:::i;:::-;8689:3;8682:5;8678:15;8671:74;8778:49;8822:3;8811:9;8807:19;8778:49;:::i;:::-;8772:3;8765:5;8761:15;8754:74;8861:49;8905:3;8894:9;8890:19;8861:49;:::i;:::-;8855:3;8848:5;8844:15;8837:74;8944:38;8977:3;8966:9;8962:19;8944:38;:::i;:::-;8938:3;8931:5;8927:15;8920:63;9002:3;9037:48;9081:2;9070:9;9066:18;9037:48;:::i;:::-;9021:14;;;9014:72;9105:3;9140:48;9169:18;;;9140:48;:::i;:::-;9124:14;;;9117:72;9208:3;9243:48;9272:18;;;9243:48;:::i;:::-;9227:14;;;9220:72;9311:3;9346:48;9375:18;;;9346:48;:::i;:::-;9330:14;;;9323:72;9414:3;9449:48;9478:18;;;9449:48;:::i;:::-;9433:14;;;9426:72;9517:3;9552:48;9581:18;;;9552:48;:::i;:::-;9536:14;;;9529:72;9540:5;8186:1421;-1:-1:-1;;8186:1421:43:o;9612:668::-;9662:5;9715:3;9708:4;9700:6;9696:17;9692:27;9682:55;;9733:1;9730;9723:12;9682:55;9766:2;9760:9;9788:3;9830:2;9822:6;9818:15;9899:6;9887:10;9884:22;-1:-1:-1;;;;;9851:10:43;9848:34;9845:62;9842:88;;;9910:18;;:::i;:::-;9946:2;9939:22;10010:15;;9981:6;10037:15;;;10034:35;;;10065:1;10062;10055:12;10034:35;10089:6;10104:146;10120:6;10115:3;10112:15;10104:146;;;10188:17;;10176:30;;10235:4;10226:14;;;;10137;10104:146;;;-1:-1:-1;10268:6:43;;9612:668;-1:-1:-1;;;;;9612:668:43:o;10285:155::-;10365:20;;10414:1;10404:12;;10394:40;;10430:1;10427;10420:12;10445:280;10502:5;10550:4;10538:9;10533:3;10529:19;10525:30;10522:50;;;10568:1;10565;10558:12;10522:50;10590:17;;:::i;:::-;10581:26;;10643:9;10630:23;10623:5;10616:38;10714:2;10703:9;10699:18;10686:32;10681:2;10674:5;10670:14;10663:56;10445:280;;;;:::o;10730:698::-;10790:5;10843:3;10836:4;10828:6;10824:17;10820:27;10810:55;;10861:1;10858;10851:12;10810:55;10884:2;10915;10909:9;10957:3;10949:6;10945:16;11027:6;11015:10;11012:22;-1:-1:-1;;;;;10979:10:43;10976:34;10973:62;10970:88;;;11038:18;;:::i;:::-;11067:22;;11109:6;11150:3;11138:16;;11166:15;;;11163:35;;;11194:1;11191;11184:12;11163:35;11218:6;11233:165;11249:6;11244:3;11241:15;11233:165;;;11315:38;11349:3;11344;11315:38;:::i;:::-;11303:51;;11383:4;11374:14;;;;11266:12;;11233:165;;;-1:-1:-1;11416:6:43;;10730:698;-1:-1:-1;;;;;;10730:698:43:o;11433:720::-;11515:5;11568:3;11561:4;11553:6;11549:17;11545:27;11535:55;;11586:1;11583;11576:12;11535:55;11609:2;11640;11634:9;11682:3;11674:6;11670:16;11752:6;11740:10;11737:22;-1:-1:-1;;;;;11704:10:43;11701:34;11698:62;11695:88;;;11763:18;;:::i;:::-;11792:22;;11834:6;11875:3;11863:16;;11891:15;;;11888:35;;;11919:1;11916;11909:12;11888:35;11943:6;11958:165;11974:6;11969:3;11966:15;11958:165;;;12040:38;12074:3;12069;12040:38;:::i;:::-;12028:51;;12108:4;12099:14;;;;11991:12;;11958:165;;12158:1264;12220:5;12259:9;12254:3;12250:19;12289:6;12285:2;12281:15;12278:35;;;12309:1;12306;12299:12;12278:35;12331:22;;:::i;:::-;12322:31;;12376:41;12407:9;12376:41;:::i;:::-;12369:5;12362:56;12450:50;12496:2;12485:9;12481:18;12450:50;:::i;:::-;12445:2;12438:5;12434:14;12427:74;12520:6;12560:2;12554;12550:7;12546:2;12542:16;12538:25;12535:45;;;12576:1;12573;12566:12;12535:45;12604:22;;:::i;:::-;12589:37;;12651:59;12706:3;12701:2;12690:9;12686:18;12651:59;:::i;:::-;12642:7;12635:76;12745:82;12823:3;12817;12806:9;12802:19;12745:82;:::i;:::-;12740:2;12731:7;12727:16;12720:108;12862:55;12913:3;12906:4;12895:9;12891:20;12862:55;:::i;:::-;12857:2;12848:7;12844:16;12837:81;12954:55;13005:3;12998:4;12987:9;12983:20;12954:55;:::i;:::-;12947:4;12938:7;12934:18;12927:83;13046:55;13097:3;13090:4;13079:9;13075:20;13046:55;:::i;:::-;13039:4;13030:7;13026:18;13019:83;13138:55;13189:3;13182:4;13171:9;13167:20;13138:55;:::i;:::-;13131:4;13122:7;13118:18;13111:83;13230:55;13281:3;13274:4;13263:9;13259:20;13230:55;:::i;:::-;13223:4;13214:7;13210:18;13203:83;13322:53;13371:3;13366:2;13355:9;13351:18;13322:53;:::i;:::-;13315:4;13302:18;;13295:81;-1:-1:-1;13403:2:43;13392:14;;13385:31;13396:5;12158:1264;-1:-1:-1;;12158:1264:43:o;13427:659::-;13488:5;13541:3;13534:4;13526:6;13522:17;13518:27;13508:55;;13559:1;13556;13549:12;13508:55;13592:2;13586:9;13634:3;13626:6;13622:16;13704:6;13692:10;13689:22;-1:-1:-1;;;;;13656:10:43;13653:34;13650:62;13647:88;;;13715:18;;:::i;:::-;13751:2;13744:22;13786:6;13827:3;13815:16;;13843:15;;;13840:35;;;13871:1;13868;13861:12;13840:35;13895:6;13910:146;13926:6;13921:3;13918:15;13910:146;;;13994:17;;13982:30;;14041:4;14032:14;;;;13943;13910:146;;14091:848;14150:5;14198:6;14186:9;14181:3;14177:19;14173:32;14170:52;;;14218:1;14215;14208:12;14170:52;14240:22;;:::i;:::-;14231:31;;14285:40;14321:3;14310:9;14285:40;:::i;:::-;14278:5;14271:55;14360:59;14415:3;14409;14398:9;14394:19;14360:59;:::i;:::-;14353:4;14346:5;14342:16;14335:85;14454:39;14487:4;14476:9;14472:20;14454:39;:::i;:::-;14447:4;14440:5;14436:16;14429:65;14528:62;14586:3;14579:4;14568:9;14564:20;14528:62;:::i;:::-;14521:4;14514:5;14510:16;14503:88;14625:39;14658:4;14647:9;14643:20;14625:39;:::i;:::-;14618:4;14611:5;14607:16;14600:65;14699:37;14730:4;14719:9;14715:20;14699:37;:::i;:::-;14692:4;14685:5;14681:16;14674:63;14788:4;14777:9;14773:20;14760:34;-1:-1:-1;;;;;14809:6:43;14806:30;14803:50;;;14849:1;14846;14839:12;14803:50;14887:45;14928:3;14919:6;14908:9;14904:22;14887:45;:::i;:::-;14880:4;14873:5;14869:16;14862:71;;14091:848;;;;:::o;14944:1498::-;15029:6;15082:2;15070:9;15061:7;15057:23;15053:32;15050:52;;;15098:1;15095;15088:12;15050:52;15138:9;15125:23;-1:-1:-1;;;;;15208:2:43;15200:6;15197:14;15194:34;;;15224:1;15221;15214:12;15194:34;15247:22;;;;15303:6;15285:16;;;15281:29;15278:49;;;15323:1;15320;15313:12;15278:49;15349:22;;:::i;:::-;15394:48;15434:7;15430:2;15394:48;:::i;:::-;15387:5;15380:63;15496:2;15492;15488:11;15475:25;15470:2;15463:5;15459:14;15452:49;15547:2;15543;15539:11;15526:25;15576:2;15566:8;15563:16;15560:36;;;15592:1;15589;15582:12;15560:36;15628:44;15664:7;15653:8;15649:2;15645:17;15628:44;:::i;:::-;15623:2;15616:5;15612:14;15605:68;;15705:31;15731:3;15727:2;15723:12;15705:31;:::i;:::-;15700:2;15693:5;15689:14;15682:55;15770:31;15796:3;15792:2;15788:12;15770:31;:::i;:::-;15764:3;15757:5;15753:15;15746:56;15856:3;15852:2;15848:12;15835:26;15829:3;15822:5;15818:15;15811:51;15895:58;15945:7;15939:3;15935:2;15931:12;15895:58;:::i;:::-;15889:3;15882:5;15878:15;15871:83;15973:3;16030:2;16026;16022:11;16009:25;16003:3;15996:5;15992:15;15985:50;16054:3;16093:46;16131:7;16126:2;16122;16118:11;16093:46;:::i;:::-;16084:6;16077:5;16073:18;16066:74;16172:52;16216:7;16210:3;16206:2;16202:12;16172:52;:::i;:::-;16167:2;16160:5;16156:14;16149:76;16271:3;16267:2;16263:12;16250:26;16234:42;;16301:2;16291:8;16288:16;16285:36;;;16317:1;16314;16307:12;16285:36;16353:58;16403:7;16392:8;16388:2;16384:17;16353:58;:::i;:::-;16337:14;;;16330:82;-1:-1:-1;16341:5:43;14944:1498;-1:-1:-1;;;;;14944:1498:43:o","linkReferences":{}},"methodIdentifiers":{"ZKAPP_VERIFICATION_KEY_HASH()":"319453e8","getLatestSolutionTimestamp()":"c681e9a3","validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":"c4babc30"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stateSettlementAddr\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accountValidationAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"verificationKeyHash\",\"type\":\"uint256\"}],\"name\":\"IncorrectZkappAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"ledgerHash\",\"type\":\"bytes32\"}],\"name\":\"InvalidLedger\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidZkappAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsolvedSudoku\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZKAPP_VERIFICATION_KEY_HASH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLatestSolutionTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"proofCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"provingSystemAuxDataCommitment\",\"type\":\"bytes32\"},{\"internalType\":\"bytes20\",\"name\":\"proofGeneratorAddr\",\"type\":\"bytes20\"},{\"internalType\":\"bytes32\",\"name\":\"batchMerkleRoot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"merkleProof\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"verificationDataBatchIndex\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"pubInput\",\"type\":\"bytes\"}],\"name\":\"validateSolution\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ZKAPP_VERIFICATION_KEY_HASH()\":{\"notice\":\"The Sudoku zkApp verification key hash.\"},\"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)\":{\"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\":\"london\",\"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/forge-std/src/console.sol\":{\"keccak256\":\"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194\",\"dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn\"]},\"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol\":{\"keccak256\":\"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a\",\"dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S\"]},\"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\":\"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5\",\"dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol\":{\"keccak256\":\"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817\",\"urls\":[\"bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d\",\"dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68\"]},\"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol\":{\"keccak256\":\"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b\",\"dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M\"]},\"lib/mina_bridge/contract/src/MinaAccountValidation.sol\":{\"keccak256\":\"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41\",\"dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk\"]},\"lib/mina_bridge/contract/src/MinaBridge.sol\":{\"keccak256\":\"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81\",\"dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1\"]},\"src/SudokuValidity.sol\":{\"keccak256\":\"0x881a1a18088097ed4cc8595c370bf85adbce77be1bc2df213ccd66025c1826c7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://debdfe4981df45b72aa466c1d7de4b3f32f9095502ca9d9c1022957d274da742\",\"dweb:/ipfs/QmXQs85vraHDRtDdYMCYrQByHtu8VPaPqrQN7vXYhTS6UQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_stateSettlementAddr","type":"address"},{"internalType":"address","name":"_accountValidationAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"verificationKeyHash","type":"uint256"}],"type":"error","name":"IncorrectZkappAccount"},{"inputs":[{"internalType":"bytes32","name":"ledgerHash","type":"bytes32"}],"type":"error","name":"InvalidLedger"},{"inputs":[],"type":"error","name":"InvalidZkappAccount"},{"inputs":[],"type":"error","name":"UnsolvedSudoku"},{"inputs":[],"stateMutability":"view","type":"function","name":"ZKAPP_VERIFICATION_KEY_HASH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLatestSolutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"proofCommitment","type":"bytes32"},{"internalType":"bytes32","name":"provingSystemAuxDataCommitment","type":"bytes32"},{"internalType":"bytes20","name":"proofGeneratorAddr","type":"bytes20"},{"internalType":"bytes32","name":"batchMerkleRoot","type":"bytes32"},{"internalType":"bytes","name":"merkleProof","type":"bytes"},{"internalType":"uint256","name":"verificationDataBatchIndex","type":"uint256"},{"internalType":"bytes","name":"pubInput","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"validateSolution"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ZKAPP_VERIFICATION_KEY_HASH()":{"notice":"The Sudoku zkApp verification key hash."},"validateSolution(bytes32,bytes32,bytes20,bytes32,bytes,uint256,bytes)":{"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":"london","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0xf61cb43a94d8318049d0a7f567af8c0aa952b5762a43851b130b90b3fcde0c6a","urls":["bzz-raw://53a52c6c3aeb22f7a18f53fca16af590308a8e3e5507e74df9b8e2561c932194","dweb:/ipfs/QmaaXuY8mC66YoE2xyZdWuLHXqAxLjbnNxiofx8BTP1MRn"],"license":"MIT"},"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/eigenlayer-contracts/src/contracts/permissions/Pausable.sol":{"keccak256":"0xce8ee0ab28f2bce9e94aa19fffe55bebef080327632ac98ff3ab14994b369bc0","urls":["bzz-raw://5c7e2be97a8840fa2a0434077a36136553a84efd9bff4b46712ce9fddb813a6a","dweb:/ipfs/QmZKvgPxLAbGo1CqTA4AX6MCDPFLSSNt43ZKWRjvvzFp7S"],"license":"BUSL-1.1"},"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":"0x5345cf4a00d5ea9b89e8133698c7bf3eda3728a858a22cbbeb151bfd88a5122d","urls":["bzz-raw://c461760571bf1aac1038d4df57e40b38c87420471f80834c4b5d0f78e04d3de5","dweb:/ipfs/QmUWh9Gk4QqVc1P7bP8sfuPEKwJSbZwLCFn3j8tgXBW72S"],"license":"UNLICENSED"},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/AlignedLayerServiceManagerStorage.sol":{"keccak256":"0xabc512eb0a600c2e6465b0813cc2d1b26edd0225f03d9c1de2f6fe96db531817","urls":["bzz-raw://64c7675966d4d3503e011ed3184ffaebb85128b04e892f81cb47996788ca744d","dweb:/ipfs/QmXqm57dvJCPUGgwMhf6k4sbPa3DUUTY3UVu2UCbHejY68"],"license":null},"lib/mina_bridge/contract/lib/aligned_layer/contracts/src/core/IAlignedLayerServiceManager.sol":{"keccak256":"0x8d2bfeabfc2cde8b699778f7395c5efe44ded0bc57f0d0ea14cdc18a87d8433b","urls":["bzz-raw://b2f47bfa5a21219889cde76d1bf30800c7765648ab68e1148c268b83362e040b","dweb:/ipfs/QmWADSHQrj5qxMJ3kiksWDVe82w2WMPxgtLYxGnv8kGr9M"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaAccountValidation.sol":{"keccak256":"0x8e1af574d9a0326c5a1fa462cc63a9409a307560407ee5e0d219f95adddd1357","urls":["bzz-raw://b33dff6ec111a096bcf0e88419ad4fe5e49e59b59233e4de382100baa16e7c41","dweb:/ipfs/QmVjErhv14bq6xx2ZKRy5HNRR4eQLW8s6HGn3qKbPX2vhk"],"license":"UNLICENSED"},"lib/mina_bridge/contract/src/MinaBridge.sol":{"keccak256":"0x12d3ad63cf3c382e3ac9c53ac3845386a5569a0e8b0062702fd12d75872b9ced","urls":["bzz-raw://3c214e71fa5042ed146e8805758fc04df0bb14f50313faa85ce527fe31fa5d81","dweb:/ipfs/QmdbnNtio5oXS6hE26aDGFFSjitwoWQwxCD8giZA1WkCN1"],"license":"UNLICENSED"},"src/SudokuValidity.sol":{"keccak256":"0x881a1a18088097ed4cc8595c370bf85adbce77be1bc2df213ccd66025c1826c7","urls":["bzz-raw://debdfe4981df45b72aa466c1d7de4b3f32f9095502ca9d9c1022957d274da742","dweb:/ipfs/QmXQs85vraHDRtDdYMCYrQByHtu8VPaPqrQN7vXYhTS6UQ"],"license":"UNLICENSED"}},"version":1},"id":42} \ No newline at end of file diff --git a/example/app/src/main.rs b/example/app/src/main.rs index 4b1e7eed..01351e2e 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -64,11 +64,6 @@ async fn main() { process::exit(1); }); - let wallet = wallet::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) - .unwrap_or_else(|err| { - error!("{}", err); - process::exit(1); - }); let wallet_alloy = wallet_alloy::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) .unwrap_or_else(|err| { @@ -129,6 +124,14 @@ async fn main() { // if !is_state_verified { // info!("State that includes the zkApp tx isn't verified. Bridging latest chain..."); + + let wallet = + wallet::get_wallet(&chain, keystore_path.as_deref(), private_key.as_deref()) + .unwrap_or_else(|err| { + error!("{}", err); + process::exit(1); + }); + let state_verification_result = update_bridge_chain( &rpc_url, &chain, @@ -178,7 +181,7 @@ async fn main() { ð_rpc_url, &proof_generator_addr, wallet, - true, + false, ) .await .unwrap_or_else(|err| { From 8f699d59223199b4c9333804eceaf715157a3bbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 24 Sep 2024 16:44:50 -0300 Subject: [PATCH 44/48] Update to aligned 0.7 --- core/Cargo.lock | 2 +- core/Cargo.toml | 2 +- core/src/eth.rs | 6 ++- core/src/mina.rs | 4 -- core/src/utils/constants.rs | 3 +- example/app/Cargo.lock | 102 +++++++++++++++--------------------- example/app/Cargo.toml | 2 +- example/app/src/main.rs | 18 ++++--- 8 files changed, 64 insertions(+), 75 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index bd0ee290..26d98284 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=mina#7a2b55567656308606fba20db3cef69dcd433926" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#1501e75937edc3d6beef4caa4881f5491a692cea" dependencies = [ "ciborium", "ethers", diff --git a/core/Cargo.toml b/core/Cargo.toml index c10d7ec1..141e078e 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 = "mina" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } ethers = { tag = "v2.0.15-fix-reconnections", features = [ "ws", "rustls", diff --git a/core/src/eth.rs b/core/src/eth.rs index 2a25b64a..2e3394c2 100644 --- a/core/src/eth.rs +++ b/core/src/eth.rs @@ -16,8 +16,9 @@ use crate::{ proof::{account_proof::MinaAccountPubInputs, state_proof::MinaStatePubInputs}, sol::serialization::SolSerialize, utils::constants::{ - ANVIL_CHAIN_ID, BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_DEVNET_ETH_ADDR, - BRIDGE_HOLESKY_ETH_ADDR, BRIDGE_TRANSITION_FRONTIER_LEN, HOLESKY_CHAIN_ID, + ANVIL_CHAIN_ID, BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR, + BRIDGE_DEVNET_ETH_ADDR, BRIDGE_HOLESKY_ETH_ADDR, BRIDGE_TRANSITION_FRONTIER_LEN, + HOLESKY_CHAIN_ID, }, }; @@ -261,6 +262,7 @@ pub async fn validate_account( ) -> Result<(), String> { let bridge_eth_addr = Address::from_str(match chain { Chain::Devnet => BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, + Chain::Holesky => BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR, _ => { error!("Unimplemented Ethereum contract on selected chain"); unimplemented!() diff --git a/core/src/mina.rs b/core/src/mina.rs index b7eb3ea7..2ee437af 100644 --- a/core/src/mina.rs +++ b/core/src/mina.rs @@ -74,10 +74,6 @@ pub async fn get_mina_proof_of_state( .last() .ok_or("Missing candidate tip state hash".to_string())?; - if bridge_tip_state_hash == *candidate_tip_state_hash { - return Err("Candidate chain is already verified".to_string()); - } - let bridge_tip_state = query_state(rpc_url, &bridge_tip_state_hash).await?; info!("Queried Mina candidate chain with tip {candidate_tip_state_hash} and its proof"); diff --git a/core/src/utils/constants.rs b/core/src/utils/constants.rs index ab71122a..61b34b18 100644 --- a/core/src/utils/constants.rs +++ b/core/src/utils/constants.rs @@ -18,9 +18,10 @@ pub const MINA_HASH_SIZE: usize = 32; // Bridge related constants pub const BRIDGE_DEVNET_ETH_ADDR: &str = "0x700b6A60ce7EaaEA56F065753d8dcB9653dbAD35"; -pub const BRIDGE_HOLESKY_ETH_ADDR: &str = "0x42c6AA216f895278BAcfbD01E3aae2B99d2e4673"; +pub const BRIDGE_HOLESKY_ETH_ADDR: &str = "0x1b25d5F7a68130723047906F84Db49729e8986a5"; pub const BRIDGE_TRANSITION_FRONTIER_LEN: usize = 16; pub const BRIDGE_ACCOUNT_DEVNET_ETH_ADDR: &str = "0xA15BB66138824a1c7167f5E85b957d04Dd34E468"; +pub const BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR: &str = "0x09c8a617F2C72eC42B054B3d6b2DefdA81AadbfD"; // Aligned related constants pub const PROOF_GENERATOR_ADDR: &str = "0x66f9664f97F2b50F62D13eA064982f936dE76657"; diff --git a/example/app/Cargo.lock b/example/app/Cargo.lock index 2e172133..ecf7aade 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=mina#7a2b55567656308606fba20db3cef69dcd433926" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#1501e75937edc3d6beef4caa4881f5491a692cea" dependencies = [ "ciborium", "ethers", @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.31" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68b94c159bcc2ca5f758b8663d7b00fc7c5e40569984595ddf2221b0f7f7f6e" +checksum = "805f7a974de5804f5c053edc6ca43b20883bdd3a733b3691200ae3a4b454a2db" dependencies = [ "num_enum", "strum 0.26.3", @@ -380,7 +380,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.1", + "tower", "tracing", ] @@ -426,7 +426,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.1", + "tower", "tracing", "url", ] @@ -607,7 +607,7 @@ dependencies = [ "serde_json", "thiserror", "tokio", - "tower 0.5.1", + "tower", "tracing", "url", ] @@ -622,7 +622,7 @@ dependencies = [ "alloy-transport", "reqwest 0.12.7", "serde_json", - "tower 0.5.1", + "tower", "tracing", "url", ] @@ -972,9 +972,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", @@ -1411,9 +1411,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.17" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" +checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3" dependencies = [ "clap_builder", "clap_derive", @@ -1421,9 +1421,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.17" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" +checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b" dependencies = [ "anstream", "anstyle", @@ -1433,9 +1433,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -3041,9 +3041,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", @@ -3054,7 +3054,6 @@ dependencies = [ "pin-project-lite", "socket2", "tokio", - "tower 0.4.13", "tower-service", "tracing", ] @@ -3276,9 +3275,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -3402,9 +3401,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libm" @@ -4077,7 +4076,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.4", + "redox_syscall 0.5.5", "smallvec", "windows-targets 0.52.6", ] @@ -4144,9 +4143,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.12" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea" +checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", "thiserror", @@ -4268,9 +4267,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "poly-commitment" @@ -4563,9 +4562,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" +checksum = "62871f2d65009c0256aed1b9cfeeb8ac272833c404e13d53d400cd0dad7a2ac0" dependencies = [ "bitflags 2.6.0", ] @@ -5102,9 +5101,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -5637,18 +5636,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", @@ -5819,7 +5818,7 @@ dependencies = [ "tokio-native-tls", "tokio-rustls 0.26.0", "tungstenite 0.23.0", - "webpki-roots 0.26.5", + "webpki-roots 0.26.6", ] [[package]] @@ -5867,9 +5866,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.21" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap 2.5.0", "serde", @@ -5878,21 +5877,6 @@ dependencies = [ "winnow", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", -] - [[package]] name = "tower" version = "0.5.1" @@ -6076,9 +6060,9 @@ dependencies = [ [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unreachable" @@ -6319,9 +6303,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.5" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ "rustls-pki-types", ] @@ -6552,9 +6536,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "c52ac009d615e79296318c1bcce2d422aaca15ad08515e344feeda07df67a587" dependencies = [ "memchr", ] diff --git a/example/app/Cargo.toml b/example/app/Cargo.toml index 1e60c26f..d216b6cc 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 = "mina" } +aligned-sdk = { git = "https://github.com/lambdaclass/aligned_layer.git", branch = "update_to_0_7_for_real" } [patch.crates-io] ark-ff = { git = "https://github.com/openmina/algebra", branch = "openmina" } diff --git a/example/app/src/main.rs b/example/app/src/main.rs index 01351e2e..70bbb7e2 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -13,7 +13,8 @@ use mina_bridge_core::{ }, utils::{ constants::{ - BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_DEVNET_ETH_ADDR, BRIDGE_HOLESKY_ETH_ADDR, + BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR, + BRIDGE_DEVNET_ETH_ADDR, BRIDGE_HOLESKY_ETH_ADDR, }, env::EnvironmentVariables, wallet, wallet_alloy, @@ -22,7 +23,8 @@ use mina_bridge_core::{ use std::{process, str::FromStr, time::SystemTime}; const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; -const SUDOKU_VALIDITY_ADDRESS: &str = "0xb19b36b1456E65E3A6D514D3F715f204BD59f431"; +const SUDOKU_VALIDITY_DEVNET_ADDRESS: &str = "0xb19b36b1456E65E3A6D514D3F715f204BD59f431"; +const SUDOKU_VALIDITY_HOLESKY_ADDRESS: &str = "0xb3057D8593F18e0fB2Db2fcb4167a017B9A36B8E"; sol!( #[allow(clippy::too_many_arguments)] @@ -92,6 +94,7 @@ async fn main() { let account_validation_addr = match chain { Chain::Devnet => BRIDGE_ACCOUNT_DEVNET_ETH_ADDR, + Chain::Holesky => BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR, _ => todo!(), }; @@ -190,10 +193,13 @@ async fn main() { }); debug!("Creating contract instance"); - let contract = SudokuValidity::new( - Address::from_str(SUDOKU_VALIDITY_ADDRESS).unwrap(), - provider, - ); + let sudoku_address = match chain { + Chain::Devnet => SUDOKU_VALIDITY_DEVNET_ADDRESS, + Chain::Holesky => SUDOKU_VALIDITY_HOLESKY_ADDRESS, + _ => todo!(), + }; + let contract = + SudokuValidity::new(Address::from_str(sudoku_address).unwrap(), provider); let call = contract.validateSolution( proof_commitment.into(), From e722d2a499d253b56c3a17bb9e423e2543ab4822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 24 Sep 2024 18:23:24 -0300 Subject: [PATCH 45/48] Update constants --- core/Cargo.lock | 2 +- core/src/utils/constants.rs | 6 +++--- example/app/Cargo.lock | 2 +- example/app/src/main.rs | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/Cargo.lock b/core/Cargo.lock index 5ad42c9b..899865e9 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#1501e75937edc3d6beef4caa4881f5491a692cea" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#9bac7bc5a683ea1f68db9a928bed9a87e5f7b97f" dependencies = [ "ciborium", "ethers", diff --git a/core/src/utils/constants.rs b/core/src/utils/constants.rs index 8c28b092..3d154220 100644 --- a/core/src/utils/constants.rs +++ b/core/src/utils/constants.rs @@ -18,12 +18,12 @@ pub const MINA_HASH_SIZE: usize = 32; // Bridge related constants pub const BRIDGE_DEVNET_ETH_ADDR: &str = "0x700b6A60ce7EaaEA56F065753d8dcB9653dbAD35"; -pub const BRIDGE_HOLESKY_ETH_ADDR: &str = "0xC8c2F48A7F40db01F04123F69e93401b7B0D6304"; +pub const BRIDGE_HOLESKY_ETH_ADDR: &str = "0x8ee69DeEb2692E1D260356419FB716AA55e37Ee4"; pub const BRIDGE_TRANSITION_FRONTIER_LEN: usize = 16; pub const BRIDGE_ACCOUNT_DEVNET_ETH_ADDR: &str = "0xA15BB66138824a1c7167f5E85b957d04Dd34E468"; -pub const BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR: &str = "0xB2D4Cab9394ac8E82C9494F74193899Fbc43e85D"; +pub const BRIDGE_ACCOUNT_HOLESKY_ETH_ADDR: &str = "0xF2e55D6ddde772dAcaEfEb5bbA4C0E76B0d80d1d"; // Aligned related constants pub const PROOF_GENERATOR_ADDR: &str = "0x66f9664f97F2b50F62D13eA064982f936dE76657"; pub const ALIGNED_SM_DEVNET_ETH_ADDR: &str = "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8"; -pub const ALIGNED_SM_HOLESKY_ETH_ADDR: &str = "0x8B744d6E01d13C868AB1cf69c8788D88C6058A92"; +pub const ALIGNED_SM_HOLESKY_ETH_ADDR: &str = "0x39cFAb7498d73d75F3cb38a3d321de451779989D"; diff --git a/example/app/Cargo.lock b/example/app/Cargo.lock index ecf7aade..11c8ed1a 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#1501e75937edc3d6beef4caa4881f5491a692cea" +source = "git+https://github.com/lambdaclass/aligned_layer.git?branch=update_to_0_7_for_real#9bac7bc5a683ea1f68db9a928bed9a87e5f7b97f" dependencies = [ "ciborium", "ethers", diff --git a/example/app/src/main.rs b/example/app/src/main.rs index d9ae8cdb..44dd029b 100644 --- a/example/app/src/main.rs +++ b/example/app/src/main.rs @@ -24,7 +24,7 @@ use std::{process, str::FromStr, time::SystemTime}; const MINA_ZKAPP_ADDRESS: &str = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; const SUDOKU_VALIDITY_DEVNET_ADDRESS: &str = "0xb19b36b1456E65E3A6D514D3F715f204BD59f431"; -const SUDOKU_VALIDITY_HOLESKY_ADDRESS: &str = "0x492B66e01921c0b4588Cf54D5564F2B21B98Bf1E"; +const SUDOKU_VALIDITY_HOLESKY_ADDRESS: &str = "0x0091D1d9Bd92FFcfEb38383079AE849639224e3D"; sol!( #[allow(clippy::too_many_arguments)] From 163d64724fcdd2fee6738848673402c460d060c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Tue, 24 Sep 2024 18:32:50 -0300 Subject: [PATCH 46/48] Change zkapp config --- example/mina_zkapp/config.json | 18 ++++++------------ example/mina_zkapp/src/run.ts | 20 ++++++-------------- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/example/mina_zkapp/config.json b/example/mina_zkapp/config.json index d7f389f7..34c4da64 100644 --- a/example/mina_zkapp/config.json +++ b/example/mina_zkapp/config.json @@ -1,14 +1,8 @@ { - "version": 1, - "deployAliases": { - "devnet": { - "networkId": "testnet", - "url": "https://api.minascan.io/node/devnet/v1/graphql", - "keyPath": "keys/devnet.json", - "feepayerKeyPath": "/Users/xqft/.cache/zkapp-cli/keys/xqft-fee-payer.json", - "feepayerAlias": "xqft-fee-payer", - "fee": "0.1", - "smartContract": "SudokuZkApp" - } - } + "networkId": "testnet", + "url": "https://api.minascan.io/node/devnet/v1/graphql", + "feepayerKeyPath": "", + "feepayerAlias": "", + "fee": "0.1", + "smartContract": "SudokuZkApp" } diff --git a/example/mina_zkapp/src/run.ts b/example/mina_zkapp/src/run.ts index 1f8caf43..73859f8d 100644 --- a/example/mina_zkapp/src/run.ts +++ b/example/mina_zkapp/src/run.ts @@ -3,26 +3,18 @@ import { Sudoku, SudokuZkApp } from './sudoku.js'; import { generateSudoku, solveSudoku } from './sudoku-lib.js'; import { Mina, PrivateKey, PublicKey, NetworkId, fetchAccount } from 'o1js'; -const deployAlias = "devnet"; const ZKAPP_ADDRESS = "B62qmpq1JBejZYDQrZwASPRM5oLXW346WoXgbApVf5HJZXMWFPWFPuA"; const TX_MAX_TRIES = 5; // parse config and private key from file type Config = { - deployAliases: Record< - string, - { - networkId?: string; - url: string; - keyPath: string; - fee: string; - feepayerKeyPath: string; - feepayerAlias: string; - } - >; + networkId?: string; + url: string; + fee: string; + feepayerKeyPath: string; + feepayerAlias: string; }; -let configJson: Config = JSON.parse(await fs.readFile('config.json', 'utf8')); -let config = configJson.deployAliases[deployAlias]; +let config: Config = JSON.parse(await fs.readFile('config.json', 'utf8')); let feepayerKeysBase58: { privateKey: string; publicKey: string } = JSON.parse( await fs.readFile(config.feepayerKeyPath, 'utf8') ); From 44c1c81de1576ed8cb93e61a15f4758ab00ca0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Wed, 25 Sep 2024 11:11:57 -0300 Subject: [PATCH 47/48] Fix clippy --- core/src/sdk.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/sdk.rs b/core/src/sdk.rs index f907c86a..2e14e323 100644 --- a/core/src/sdk.rs +++ b/core/src/sdk.rs @@ -43,6 +43,7 @@ pub async fn get_bridged_chain_tip_state_hash( .map(|hashes| hashes.last().unwrap().to_string()) } +#[allow(clippy::too_many_arguments)] pub async fn update_bridge_chain( rpc_url: &str, chain: &Chain, @@ -54,7 +55,7 @@ pub async fn update_bridge_chain( batcher_payment_service: &str, save_proof: bool, ) -> Result<(), String> { - let (proof, pub_input) = get_mina_proof_of_state(&rpc_url, &chain, ð_rpc_url).await?; + let (proof, pub_input) = get_mina_proof_of_state(rpc_url, chain, eth_rpc_url).await?; let candidate_root_state_hash = pub_input.candidate_chain_state_hashes.first().unwrap(); if is_state_verified(&candidate_root_state_hash.to_string(), chain, eth_rpc_url).await? { @@ -87,6 +88,7 @@ pub async fn update_bridge_chain( Ok(()) } +#[allow(clippy::too_many_arguments)] pub async fn validate_account( public_key: &str, state_hash: &str, From b02c2baeb51d299caa8d4476aecfe7c7884893c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Est=C3=A9fano=20Bargas?= Date: Wed, 25 Sep 2024 11:23:59 -0300 Subject: [PATCH 48/48] Add example diagram --- example/example_diagram.png | Bin 0 -> 1797635 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 example/example_diagram.png diff --git a/example/example_diagram.png b/example/example_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..fe4dac4792661176994322ce526c3b8982cffee8 GIT binary patch literal 1797635 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

)&p=Pq7aq7KsC+F?mIUP_< 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ⅈd{IQFg^#dEKBaaT!9HTnvv@@yEG7`IR{Lq+K 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ℜN@3iA8V! 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

n2sn8bK{g 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

  • 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
    WdRJmR^tkea_t_t>^cQa$ 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 z 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 z z&M(`RP!#$^>(tkhzpS`s8=KZ9x-#U;7LevppWv;G{lDcbeW@V6|5YXY0lE&_V}pX~ zU__ZW2(}#GjlI{tJ-1<<5GS(~nxnxiK%Lt9`7q!HvjDya|}hKfnPSM?}^i8ogc$q!pwvD)4s?MM(i z1y!S&R29%6ea#Fdbk>HxOSzD7x8khN?x7;*G74--)9$sMfrmvJs}lyu%fq;@tJGSM zpL)_>1xWK{jSGhz_ji!uaCsKaVF1J&1}-Gxs|;lC=ZZ9SxIp2cFijT;1PzP zeZ&&7bbhC=DU?EvEvd%b-C4lMH1o4)QGcz=O~<3t+`b3OK-R|8_^0Rgh|TR0pIfmj zIb!_$%iO5`#n)ru!ozd%R#=Z3%|#S*Q0Ugi|7b%&sE?n-rvo@)~O;l?cy31U`EdoD`DXzS)>x>@LTK> z=1jh3Y5guX?INDC#iO_E*0sVS;;C%g-)78%KlCek6mp@b{RXhpOxt5z5?Q*8Z;@b2 z)lN`_=II!n3@aOU9-ijX^U*kBiO)2A|J=M>wG@ZQ-p`~hsja0;2?FGWcB@s>bb7aD z#G*X5F9pu6kkY#}c5h0Jub*vZi{=rvynpSWQmvlWb`SK=t_Kb+Qf~=5P{E0=w^-w~ zJi90dblh?CAV5~{K``Job^CxQBq8^|^}1?ckAX z5R3#tpV9>Yu2_PO<}ZlF3*QrRUQ|SA=tyGDXVD+tc4K4RrAd?n-@F#cUQk4-92MAY z3s6BQC?V~OeI)_<7XkZ26U79e2*V?6-TWLO$-K`oWg<@*9!=1dArBrla*dn=7nA8Q zch!f2_xXiq7v99P7nY{XL%5cCy`7cTC;`-+&W#-6(7Oe+`zqeSvyFbslHP=`Y#s3n z5Am3U8}S7uMrgez?;r(6utHb@HHPjb(bpW%bwc@tm_7Y$^mT4|x#-^cGfCM?&ifV( zOAhafe(k*eym$9{=h(Duz|!5^mFKTw{FfJn%v#&0@)`$JdTn~4U=svcyEHUV?e&D9 zQ61Z9Y_8yX83{6A03r# zg%Ug%hOBG!^d;2#0*-nTZaySJ*V6MLsehGo
    t-FXaH6!><0*`Dt86TQ;?RX+QP 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�HYVLvzvUGAm#cY|KCGZ&D_OOifCS~68u>9r(9?!Vp%Of; z2#G53k)>>nlJ6OJQOUz|Vb|&(oMgCTar%kCY;JOcJNm=Wu^;-*eQS!~m>o!D^HzzR zl9m6k$;I@S*^#IHnQ1`z?T1)~<60Ej>86~~sV~ccc2k6=?C{Nw=s<|$kFabzFKi|N zam?|2m^fE3$J*0qfR$ULm&HHz_EYQV75LYmJ^J@i3jZ;7{hlg|IvR61d6#aBstQOx z?){e+f1FV5MY<`pYn{)&c2R5Vkr)pk1yfLgW{!9Ujpj&^J|v#l>wl=br3gDG+U2V{ z=|Dgt_!hnumfB18C+8?qsgn0Gm)i=O^xryH3p;;rw0JFIR8rEC;(voxlgmVo@ z2R;*2RaTgi?}M$$=1QB%z<2Ngmvn&T>IZYJd6F$& z$FmI74U9LTkL$0_S+yAIM3pTJOH#ec0D~KBpxnyv8~t7RpWTC9 z@mJ4}K5c_BrLHV#erY9|p^=5qlWYNmlaZKPLFlObyXF4=lKu2sKd^iPL?M>|Di28~ z2}0kLKji)A`O?II5~&+9(xOulChqvlvF6ih9{Ig~EefuG0OYIcuAOpJu6kOsp=G_3 z!(piyV-_)$VgIJR^Nj`wv;fbmUThETzpZ#FDk88S$&08>JDpCAf*MN&+>%VDDA(mt zKHwvUe`CjDK-Op$SO8a*Ap>AU=t`T{Uld_q!XNd!`xmrGxt~p7?`L_A}^l3oI{8M|%)S?f@$I=?RXBL4cSOSB20vOb7!> zSK)aLR8Ilx^?aI^(ABNO$#?*XGy4JFtWJ2@cM}hREEwe&;lY6e?+rrzbccse^)lr! zYwq-A9^IIY`jD39gyDt#lm}adq~;b}#~c z2L7QbL*2xIeBV1X8*Pj6aX{9FUL{2>NOK;kuRP>3F8dSb|K@;=0XH`QA@Le8RseTp zlb4Tq3s^*We~)#EPT{tgx1S_+S(YG0B0CNk-q4N3u>*+k=P$UOMMOdR6trMKmYcI+ zrpIa84_XOK7sZ&itdXz04j}Rfa9QqvgfLG)ltv=-l^7<@pn?tzm#`QNk~&7pWKtU) zd2#Dh{^b`am^@!Dw?TT(&^eGQ6)*0-=OV1Be7cE4P9h#eb5AgVuA#Y$ZcbZqk&x*aOzwU&c&Wv z{EZ8~EOKErrU#pMU|B6Mpds?Bi7-Ri_{(@Zn-urmonTTwb2y@6NI^-w_R{9jD0Rey z^okTzMif%=prfU~?quWOx3w4qb5=;2n)&$p3GCe;g~~%H=qeJ2z>?@-bMz=Eg^3*c%UBLcBM9XcNM}1G|AfZX;1ntgO%q zf?1jO+XfMdUD{6HhX8Dw@amU46N6A}3jo_P^xsBjuS8-7joL6^#iv3NZw1=iE=ZDI|8}j!gw_nZsXvVX4^nHix&I zA=>SJWFdecO+b?UPcP5@r`jd1(D{G7AQsr*vtZs%ZdIA2gV0>bPH}`*hcwDapFe#b zhj38_-AYO)irsy~mg`x;K05R={NjM1D2bn1eYTk$YVS2**qDpnpbXP;G$xQe_~55k z{qN5p>LxCD(5K<^oBtIxj{`G?jzTdbSPkhHKCYawmlyqDsE{r9dKQSce{?+rpWBN8 zWVgU2^SNL-R+*UY)e+_X7X7iCTO}QI-2W3V0x8Y4`ZV7mk=5|XLi66@pe2`8R`jp? z#X9`_TPD&_Yx2C+jlMd>qJ3bP@4{S6{@L=9_4%~wkeh#IXujHLw=W(D9o3R0u4}#` zk1)Z9?ze~ZVBnEegN(E55{ud3yP(DH-m=B9aj?DcWq`G~rg zKEy~XUcLs{%CXs5brynvDY9tHt%T^Wy}0P%D$L^5!o!&n#(w37{7>%Y#8LsO?e)CCd`N8(`Oq%h7vG+G6{jggCsrQ{^~)l_7! zc656_e*s33UfBo$%(=oDLjL55fSzSeFuV37wBE#Dp$7(-{<@L-G4mK>wbmn`h1S_IFI>0-UkGvu3B%gh{8gvD`nV+ zlVTc#FzW;q1GXN3#El#}=weq*hSs!2Wy5saW>h|)xNaw*w3BD1wpc!8s_@{STbN*Ia_uF8WgJM?v#W1YE_!l3ws*U>9f(Aip2We}?JH zlO3i%CMSm0B7C(t@6em$*CB?3tqfH5%#R4My_>}f zi$%acyO$S}YgoC)-8^Pqw)6?2(FXYRt=`4gX_ivR!XEWPEeJS+(2R7^h4X!LrEQ$O z5pn9klx_C`%vTTRK>D!B!`JVzeyV&8@8`Ev#uYMh)Sr>Z0_F;DFGqmSJdg{3u?j?; z@Wv@irG&D`u;#DtviSKm7QCw9hP8dBuPTOSKF?jC?FW)2GuWkf7vFISvzd#%&-H9( zs6>y6j__jfo$?NXfZciqh9ZWEu0G!lRoeb--CCO8d z1c5nB1A4i3r;stHa^^iG#sYvMH6jcUXm=dQ<`2mA8yX=eja!P@g0?ZKsy{`i(v+Hd zt#NCv5ZolwP>}=M0q{>i+fH5AH!1=DP_G*p81_ zJviZiTWQ^4^xhn!2qY@@dmmD*-Sjp(8=5{O0ACblXaX+YD+8VslMS!19mwCP-d~t4 zOeJx1gURFXSZWT4e6u->AEoWEbBl{A*l#{iP!dITA_iLXHjRr4$W+s|1IMs>BNWu% zm{%#gA6~Tz3xInrtOnc}A7DA@@#jEAk_QDduON?DNaRT{P{8H`j7~i7WxveU7EU;> zALwYTnk^!K6T#-kb16JDr@j4s&44529t^0lt)}6i{H?w&@4!7vvJZasC6E zweVm{PqiLknrk0H5{KeDX7TSIkh2F1+-_+*jj5w{SCU${cwmUxImJgh zPDJLtX0qhiMj@D1D*wN~^u1>KUU}r4`YWI^%Vn?AkJ}+(z`Ek_Apt@nF-Bd1`47mRTMM*+w7_)l zlSd`pf>y2lxJp9%F2O_`B9Yn>JUY-MaG(E67o|uu2*f5d8@41oJ92Z?)x?x!vDW1D z*D+aUR>jzS<#+G&{H$8htKz3aTpYBeyhF49xv6^JaD0Q<>C2Ez=0Srd z(^Fi3DQU{0YDg#wRiX3mYOx5kK~)TJE9ViADm}!43e1-9Is zGjP7@ag@Ji4CoJaG2zjf+!U5wPk8HQhbz}T?YD8|7=;^c)K46 z88S?(Q?Mn;VNH|=dCsEUXd*w5f1OO=_-F(rc8T;Lf z1zaIO>^D9m!CCEVQOsDa>1|-o;ZwF^lWq(Fl1M%M)_K(aejU7|MoT@w1CU=;cLq`f zXnx6;=03!p;~91QLs^Z`U{$6x^5r&1b4ZLVhu4T)7nD*npmyYOYuZc0S3``2ll|^i zWNXrtw2uY1#C$Z`7sNeJ9Oqs0Ja@$*`F>ROz8!n`+dankkf2$4l+_`gm|L%*_DcZ> z-6EZxudz3tP`cUiaM3+Em8;aoZ?JIJ^AvhUc=&{pdxj5}1NPRp^OjZG42u`JY{Djq z#3jKIB?+xZ3&)KGdwVr<@?GsTq5+VGs3;^)7z2`Sp^7f9Z2 zw4`L89E-G%4H40(hnIS%y-&gB;BB{#i<#~ZWC#|0&ov}3PwVJYBS zRQo^r1hgBI?E0HvHX}D9ldUgfOf!-%;#zb;yF%|&toPMfBT%}-|*xeVHy{wAs; zyFleSKRsw>fPr+HJs0SyUD|*U1`(Gj^IWaLx`Nav*#LSbZ<_Al*y?Hfah>XZo#sj+ z(MN|c6pVu{4$Qgm=A!GzY79RG;$d{+J5J=z7>FGaLTS7s+Ww{8L+1&Qe%xvU%CdxB>)FsOD7q>ohqt35VtLrT)!GLE3sKEe8RpxVJQQ@}R6b-Aho|VN=Ea6-Q$?+|CG?jP-#+{D0 z8CkdP98#SdRW+9vJGBIzSoHHPZ(P4)z<1ugVt$m%Y%QkFD2q>=yZgC|lGNPYq4GK7 z`kPq)6Tprao&H$_K@~UaLo7H1@kWK_-%#J}I*Z}yPo_dSx67_OpVCe`@)&CecW4?f z;lVH$NhfB?PqvV&iM`yW*Xau^-+CzUPhmby^$jhFJ;6g!v30Lv6J6*m9EKANM8w|>+mG!ppW(rv@Cg{|yw^mU=ijrN=1-R73}u~PY6II~GREqlUl{LRI= zfqoY|L}#aDGudviQG3;*diL9on!mEKcw~uOg!7`sY#>R73#$S35bE$*X!$xrmo)2U zT+Dn`OE4e?-vTby6@VIT6`J|D(e|D}QbS@4p$v@D8&{vdn*)3%N|ZzHJWU($~( zrLz^_y*7Qcadph_po99yr^OrOew6z7x&2 zwu;|_-srv_W%CLd4cL@@A(#kqYdNGkQZiVD|8I;8I4l&p2gs$u*KxHO-!RR{}q%?e|i268%m<9ieu0r9qN-%QxK=yiA%5FV_l? zSH=SxZy)R(s%x4}OmnBToi}!Zch{zmH(CwBfM3S*9sN0^s=ELhbLDRP`Mr4f+$w5d zPKFYquQ9qYDSOFJuTz~kT5pv{6f>PBangEBIFD9SXem}RjDUao%K1L?Y2u;$xlHLp zT4;t1k~3NI0>LHx{o>d3?3R)jg*8}7nLW)072FE*NjAc(Ag^?Q8kD)ZrW+PjWVRav zVK_bTR`{N}0-!c$AfZT^+O}6355Jc2QkfVBYL}}VvW3{(cx-%w-4(qPX&TC=asX!VQT2U znDUKX!ZQIBz$aws_LYzldNX3%8esAK#BllC{n?=`uf)-a)&MLXGrR3J@xR{fBW;9;V1~Ee-GHv%hl9e^G1^IDDv6J zo4Y8?%{0yNp~Ij!AApU81ljOHcNdu=1`uEZlQ}fKT43UcHBdiB(>Su=uVMAb24}eq ziqe-E=KZ70ak?XuYU67Y#9k}^*2hFOS}$4 zBs@TR)xhWQXeqJ&qT*1N5`3M=l)~sTUnRB-%Ld9dGTWJ6Rnh$2FnfC%b`}K3hG6~t z15)4xQAs^lcWfiy*{5jfBXXWPoA;F5B#_E7;)c462)+d*WfL<--kAc=y%IA7f>*CQ z;JfIzrsf_lGL{`Z!C@fY)Fvx1gJ! zjn>A;oHfOm6xLM2Nli2i*pTith?k^#9J&f?QN0OfXUDVhHrh_SK9xZtuxi7u?T85r z_K3uDMZvTvt6Me<)ow;TQejE(8yD-@+V9`9Z6qCfSLY-XuZz`soL9qr)Q00~AA6l*$Ry-~}|myw~Ib%s7b8x#8LNb6fVDxr~AR#CgE4C{kGiTvZyS zVq2e$dpiqR59&4yzxc(2;2e~oR5Op3D(U$2Cr^6@G)IBxOMgt(<4WZ>0-OI4#%rB+ zwXCVs-&oU?uz8};$Yv|B*;>@7DeA`v)dQ7W44BX=O%_NMzTIl&v(3;fzK@J3U@xTD zU&FGp9I$~qA=)t@jTBUXP{%Dh+GaEy(Upj}sY1P~#Vg!~{N}2NO+$^Qn;l5aW$i1M zP{khEj;U(&A`MoWPP@|9?M`3G3()lm7c}lXCF*o+teU?p-r(c(hNAZ-OE?fes=?}}&gb3Jo`%kQctVh%M} zr_YLYL=J?{XVW@?n)qTp*jnPlN-&6ACgzdYXxYo8a62ASM>;%2g$8qU5&GQl$5uWT zpD(x0jTz{!57kkWt2uNPM|&65aH4&erZNtL93hxghzSEG6&hG-yA23n)c=u*+V*FE zyy&Omr+R@;RW>-;hK-Ly_FO`^4X8ho0j`mbM;&OFogpa7kySLv!PehO7ztD?y91L! z<68lwV8Aj5TjEZH{aps*>8TfeU1$UYS_urZX2uX7D;?8x#sJ06;A>j`^8GitK&>sT zZ^&Y${F^st4al~w9}G@@+Fets0p`I0nFW|EYr2jnvXtH;j&sEx7X4Z{Wmk)1OjvD| z#Rt6eO+=2|0yW5RP7`l~L^~KRdIPxoS6H(85=MMKm>uLCEthVEfX|Sv32K$hOsQQ@ zeFdm;hfq=OVAI zovJfUEUh(i3XU%T^q2<#pdIi?=Xm4}eTO~&+VA|rv{fJjmf`vk`_fEQ2hYE{g`nC% z_!O-!4t;rXL<(kHDoktcnNE#ueeB=n!ELTP4UWkfI`A?CrojG`1GL=I74kRX+0Te0 zwjmanhM$1RQaU_?*mpE6E!oj|_l)$(GSm-X1C`&sJcfPEbYE(yar=P69MAb5I{?R<*OqgATTXhs=bFeo605>kye9YicxebC2~apFLkHse~f7pRDL_&v}s(JI{P z$*S~XX$fdhf8%%aX;av>0BoX*bHqO#T>PGcqnL9nHZ6QCy*aiCJ~i^CW>%2Czdxll7|mY|>)YI$VPO1Y0p3XftF7{1+) zk}`b1YhyLZU{BQn1%&296GEp4t_@fj=N||@?$7TtTt^ z?x|0irq-sxPOZH>(@nB@JAa{w3vGLsFy3W>k@4h?j;YoU=a}VW#$ZwBZse}R$@G?j zJ6>F^bPqrj&B&I6H4%{Fwd6Qx0FHqLKxY#W2`Cm`0Fa3jcxV1Gn2H`L!7$G?d5r5Dl+RlM{*-XtTdTVSSvy#8{Xnlb* zeX_f+hu5R4-k$!>kDTO2$%w0pa~Sg(V{B;b+^UM(Ribib`!Dw9b6zyak5b(f{Crk3 z?YIwRTIIk+J_RL#YlmAUH3#ye9`ddBbbmiRO_h`fVrWtS<1OJfCo1s9$DRiBKAGQ>S2 zSnJAVB6H2aZE}mwtbHh@O>~#*JL<{O5iVO=Q=V%AJp1RkI1;)oJtysUbnk8N3?5)@ z%6H6Hd8=BK$4pAKGsS+pUD#(GEgISUy{acG0}ck?&@Wv@aDX*Ow4O29^F2qJ<-6(A z>AJm)Nvq#Y7EYR9$e8T0FFHljbTr!Ku-sp&L%ZVDRIClxIbX{2o9c+Z_3E(fY`s>l zteny3Ud?m8V!l;pZMrL@=PqQeZj0*tEY=`V^^n}#@6nWvQcfz3;}C&nKvd51C*2VT8K60ggIrSkHg$#B@yeWW7&Scn2q3 ziZX~+z>bD>ZeL14WKoNOQ9zzcPjU#W|H`MDfttV(?Qdw{y$GDO2KoA^_MA|uK)-7J z_D#rDt_PBD3s@v051edu+w#C%p}!7b!AIK+fFjfI3m5QsPWJ+FxCYE>7bvwsVC!K> z=B-=Z0X0TU(I!;=(wLqY8iE2slHO$W`r7@OwdLssok1N2bq13;LAwuDrYRer{$^v8 zh4xhJ(-w}xNPl4)=c?1!7XHxLGR0_9^yclGV!lWI-mggO>E8x+pJ=c5>WufWvN9=* z@_v`pUN1Tj{Fyl_IH9<(D6-P~Q{!XZ&n{$&)#>yNyJ#~k5(`g{u~n_1GjGgi8xzSp zkX*HkBke@Lif3|r6|(_@Z2Ae)*Ds#3<(In_M;7*SaI}S`+awO16J_i0zUrFF&T*PP zSuWfeB3o?@mQ#y(-mU%a(9DZa|$mwM1- zG-i|u$aexT-#P*~VqrT;v!(3;#yoN@P=#nwdXpG1dHe^`X4*%r^eDd1WhL&PbpbP2a0JIRJU;6HZ>L4 z7k=e*N^b#o;w2laCg$GsSGx(_!c!&`0*gb3D(*A7YbkanYFS%##0N(yL`#cp7~L+- zq^Vb>kfz%0m^kGfX4fDRFj(a?Hmx8ztydYFt35Ccj4XKo=V*oAqgWQo#=2D{z~Rjx z^3iv_2(4&XGzM6mD(fsMvGdYmwP^NF9<~DMQK$;St%*O`d}pWODGoy`C~egq=HsIs zZCZbmoqUs`!J$1f+#%iO;Xzg90}h~4T{U>3CPY!O(V}ilb}o7;Rw+SeyNd%`!}Q2x zO7_t;wS^_nND_NppeD0Ocyd5C^PP;QxarNPN`7VyX@*hF48^(urDGwbG}?Sq;WF6K zh54Wz9i0=y13djxgKlVWhX1v9;Sccp}<6FFI8y2)UB6C9+2IncBA| zR6dSX8Fx?ksG#T9FGu@8w=@x`kMgPjB!@b9;ocXvfw;Kk_f(W0s)+w|IcrK8?d)JX z$2Y3iC2~#nUV}ybA@*G_Wc8C(<|bM!#iIZDa&nGMHu4?W4Ko3Z(zB@Yfr2uz2tqRR zK>pzV;GIhC(Q=2Q0%GLU4HG40B_m4N@|_hs>OZGk_$*qPpr4Y!rSeeJl&OMMqM+|c zAdOz3cwsA{-Y1*jv$^vxx#0M|{fnR+X;(wJ!NDp9W>_G~c#Us7^YQ>)Ub`0wdrn~v z(@thCriOH;v=b%`Cas6KiCkVr0-0$IjL?{V>J z(h9Fk_j6Rc!vk_fSm-L0yW}0Rnkp)a)2DTr2YY%4avh>GcWe!wW+b1EKCEg#E}&2n zbsLQx0o2d_{OdajdYQt%df3II%OA#bQ%Er6&ZFhT*b-%l7(SxTOon4=g-F&J;Uh_y zl&ZxJxzo&t*A)Z+;2}jM)~UjZJt;3&?KB&G+

    H{Z=-FqZF|3*|Z)I?B&rNnn-8QC=kgR?|A7glaILyQ;!p)7ni%wrnhW)O-bc}8;Tc=d{`v`k45ii4p zHpMR4sE=}$&AE!JgI3<03M(Bhe#i?*+PdpYhG~u@!4HN`2_z zzQgUy$BG?^*7Z-fr?7Z_Y_Am0eY>F`uSnBXKDf_Asn5Qbqspt8>XDR5Bq5iZYTT=O zLaqxZ-Mu(gOLR&nGrO9I^~pRjcvt(5ukeIXE0|AvB~Cdv!rtR_Z>tyG63)#_T3 z_3PIk=eFSPFYVjQ;N_j_E=C7NySZOW$ko_1dj64H_Fl#f*#d&@Rs!7%jJ`+~D#bQpW;l`>O*hZ}NldF7-N zOQ$K?ObX=WQ-SRvk!zf0+$`TS-N8Vr$~5WGRGE@izp|#%nDl4rt!aZ17gDz9ks8Tc zd~_LI*RoBQ^zp-U^fAOWU$*qJ+wMQiN-MQ3D4_p_a88=vml^AphvLC+Bice(6*&e@ z8S1%Ak{Zgs3b;~JO2p`)z^^GvQscy6Eu6_*f9pa|p;kmda;fxVNqS+PEZ_E-xVU_S zs~_JL5Q*L|=#V}^b?uJJbD?Kjv;scYM8~VT@(!yyryM&w7U8 zCP%!D*zX>g<$ti_5wBH_mGrKp9oz!36TMIO47}PxnC0i)Nn$PJ>Lh)MjxdSFD%pjL zb$5PSjp$5@_F*NO;L^iqCK7zjgo`9>qzCQhZ%xT4z6sHEsqG2ZFQ&00hbQ^@Xr`t{ zJ6J+Vay8un^s%R8V%Rb|GMB>r*2`tVDo`WvfmrmQmaTxITQzRr6i4L>Psc0pTt zd2;k+_9V06v<}|Gg)?3Qw7KlcMr3{lBp$x*q;`fr)*MUgJm74~`dJu_@|h z=~Ok!dnF;D*l{zx4EA%tT(AZrX6cZ}!!i7Sv?2>)l>il#vWd!Kr>5vIp8GAZ zmjK;C7{qb9OJTX+&$1`<%FJjLgcyzYfSH&Uv8$meakO!hgh75&s4-&mf$gTj8o~UX z6e;7ktHQ*yQG5dL5kP|%sv0a^Tppbls?}4~M=UG9cgAaqjhBOFv=({`T}@fGXjFVg z32I7PqR|$^)FX;?cTgMA@>fywHB`!ohKh_KDN2m?kY!FQO`K41cU==o1ms4b11q#;nk7I1_`G~i_=k_W^AqD zPKuwBVPmV8SeUs=MMO=FMp$G@+^~M}7bgWpxv21GCgJVe3HM|iwpZB9>3`CDLXyIu z=XlY#=^V+YcWIHPjz*LCm#O_NJERQybaQva^=XAstyffh7C1GUELS*QQ)$wFZ~JIS z29<_In}We4pN5`QUE@?jR1)8iWxmf?xhD^mFH2IX*Jx&A?Re;z-{@Fw4TS3CdEBj#N6o`jXtV;cHXnDg{EU$dqru+h`)f_ z)WD0joXXsI3jqx;Wv!uLF(bFL@deRJE^?j%wuQFR3{g)U4R2p@tt#M@y_TiURG0!Z z2TBpv*0GOVtdvrvMX6#ttl7v1!@xerhKHg0sMMFm3tfe=krJ23{?XHph4F+pu z4zijW>X9dWQKE}dk`a+13gh>*r}8d3|M6L~#s^=r2$=)N%S1eF-6kL2|1cdL*4kdh zbgfL?@pw@?|A^rip7j}S;m3VaR2~?eyLrP$A=95wM)SD3gkqY%Ld#dl%zEQZ}R+XMBSLn#0_d+#p)`n48o*7rfKX|;F>8(i9$uhMy zqE6eHGi&gr-pBO(?70s&qP;b}U5snUhO4|YS(pktJtz-^MBi+5SBy*G<+c z$;BFdTEDHMq;#sXU&b_Ra7s*X0QLES3CIb`!vgHpYB#qZR1=HCA5 zuSl=dJuNDrO+EgPwA9I@!MnlnV=46;y}Rx61V;Z6lM)DF8C96zzZ_XxHTFJo+~@3c zORn~)wuh|Pa6)-%HdZP*WBI8R%hEj^JG0nWs zkjPldo)EgV&u7KEZxF28QtT`+%ZX@B(a6Lc`K=bMo`H@f^tgUlhy`*06B&$pHf0t{ z84G_w`yj^6D>EUXT!D3lPXAS9<*3sVFtf`w&x<)XOf9NOSxImHQPTWheC%&EWZ|24 zQ9_tt{?O^c%7KVD@?Gp5fBP^AqyRo03!+>~i{t-+WJ-h(Oqp`$UZQUyz_Oozp)i*n z$be*Ync=#A5))cN5A*-Q>k9@rtbzL=#D0|Q|Mo>zs0QUKP(-WswqJ2o_qW>h$CnZ$ z-3Xh0l+3D1wRvuoLhFLfL9S6l&CawspDp`ivxEXhK9Gc|dVOwp0JbktFxh z7m;;FPw@T+j~GBpsGnG)8FT65D?j;EuVp@6mmmhFKrNbeN6(48PW+N=zfyn%j_2y3 z8w9X*Owl zlDI3G2QX;+ z2+xD`S7Jkd2!s{EI-TOZmpQglVvf83x7FUQ%Y2U?-@L#MlstnhrT0T!^fDJwn{NfR zGmOXkAE+>#tN}7?j0(BSbgXA0L4p+`JD`rZ(6YwjMQ4mDoc7^lK?s-aK=q{$%x3zF zzW*O%R$YWmCE9d*nP(kvT<|sf-5WU1wI*J&8TQ~gK#Ix5rw2?E_W;A2z;ff`%C22I z=z%HIGT$oXE~?$0A;toHzP&%0Y;&-{jLvC~gL@^LV22jM>=P-*y;|mnf0Ge8HAw8F zu;NlEI)5CTU@_p+Begyy>EakNwH;sg1fUX+@GZa{vh$Cp6f+*XAdT}|KRyOm;0qM} z+lxv;1j)5}nezU*clPZyi4I&s!?;lRR+Oqk6YdC-b_{5yR&p%`Pa@Fa!`ezLc;jDB zzUWbum?B%iWfh4^A3y#?{siVzVjWW>fJj~TBjW3k{syZZ&%9U0Kp$}4`|uyH$%1bO z@d)z4bA{gx!=&u;t1aAo~eq9}(gSs8$jyj8`p9NIxt3SrQoQ>HedPa8Emc0u|hk z$;`8LY#)!b1clU?|6d;x`(SG@$PED4)HzJg6F{11 z-?WS~2d<29&C#!&!XCiPd2e0HeBA=M|H8U$!UOc6A;Ou-RG9#tGzXCUVH8Gt7KSEE zeJ+@phxmbZnb!zoxn>)OejUvHs{@@!WQ`PpxAuXDVsnra3s4dDrl?rYik(K7f1&t& zU`=@50Qf_NtrQTU8USql|6H69oL6W#p%w;WU$eZ$v{U+Z;)Z95IABOJxn_XhJ0h-S z1ExU)LOjc1wz3HhOd`U(TO6LJ16cA2X)6a%ktGJkUV+gg#C{b?d-mpLxJiFWu32cZ zM$9k(C!{xos1yG+;N#mpxJ)%2SYb_@i4Wkj_A1zsn=6#4z zz%#PM23QIe1HSk2TO0V4z3)jDPRk2wtedXOno&es-s~tPU`8Baq#bVCc8jXo!wg(p zjPco@qU@zTM93p>hUPbjvHNxwT%%v#%Iks~k(<7|`>%GK{6a7^8%Bk9!Z|A(E7T&sknWk`F^rs;H>Nvhk6MSYP_|l#ybht5ynI6V}x{a0v zMjMY4p#|oBfQ~ordU7{Wp$_e@$=hXm`aklVh?usc*xx_oeE#DDL$DE1w&H~WtaY(MeT_6Ys`OTNzwbp^h?=r=04=#NG>ftpf;spCc- zNyHN$oNcyc&CLvKom2&bW(@0^+zqM|(O83NF`t~&02(ua9X6!@<< z*TebdMW1n@rO~zqg(b6fmcgxH8f=1DZpId%iYzKdi`IB&M#>&qUIUed{yE`pG%o;q zto8t=$0Ip2kHYFrg`8@`9ao|yjA$)#qaa?{u~6`Td}`=~;KnQScecw7&-P21zdFny z+toV*)qgU;w#%w0fJtm(EGf%3ISXI|IbM2EI}m|v%NGRKFXkOS9RZ}K4W&m*7fNQS z4+I!lIP$~gkys$*(*7`D2tr%EX+GJ#IH!H~z@=AfY2N^G%9dv^1y@-OyQ500^4avK zDw8sa5mpQKt-iS6inv1`>UJTJF3#UCBHcxv=Zr7tb_LgtWnvfv>p;i!yxl+G$f+dz zYl|EW)~bG-j~6D3H}Vb&?lOL}c`fFj4V-%rYiu>ZEn5Mxe7c?oiZHFQ1x$KsEP*)L z!&2WxmmUfV27E%xY{l;ZMh)*rKbbBseBehW0m+KUI|5}oqN2=_jXGZkM8xVqWQqt{ zw;$F#tv(Ao@F;+RW1H$i$G$Xq!&hSHQ1gFF{=sGbbuDU$dMD%JEiosEx5Fx%dXVVk zXK3`h8YTiDH@rQ1rk&Z=4iQlvxrAsjfEmywGZBGufRo29SpX)Ts$tB9%vDSo=Lmli z$*&wa#tVF+thD&cU;V-_RPilxrTcM3g`vR!g%T_DMjt03)MhJ!*H%B)t9H|Ews=WE z`aDk=QHI9(&oHoP!DcfS!+OqNqA7o`H!_f`$r8BiUFIvtpMwOK{gEfGaGYo^p{0Nu zZ3b^1Klg}6%%0q$dav;(v~dGC%V?v>&C4Z?VGVa+bfGr~Gc+r_ged zO3xmKF0TwW|88eUQDpIoZh5W@LxCD}&H{LU;T+l59Zf(M)3LWw$+Ymw=XbQCYG7k{ zU{V1wgTHg;1D2y!j;u*B^?n#8B}QvwVlT3BZM&@Ox zC1=tHYurV3lVP0}4Eb)h>&+v-tmI>yyJJ!h2^z&%b}R^BifA+&@{h+Z^ZdW+>;Kle z$L|?*P@SfPop$cqS**tT5P(WVvjJdi#!xw=j`9cNZwv&Ophn=bhTc*+w?)GuIuo?1 zF%O)T5%V$yIdA(Fz(o}fE#e4pbsJYezi_eacxYiJT4L`%aAK#yw$NPtc8YegL|-)j z45KF0cMz_g#d>1!O#+(uMvRJvt(1~0QJ?>9nT2jmI*jR}`K~t&yJxyi4rL5ni|%vm zE(^|k`;cnuxH#WvIcNK0X^~u5Up6+>;ce6ry>S=kL8)QBm5H4Wa>@=fT)X!R6Zzw8 zevv|~!=M4pws(()Q^xumc+k-CsSGzOFqpETFY8eB2w5fb*7JTageebm=Bc-x_AM{m zo_|i?yC#)il;+%8Hp20xoYX=ao@N@&S?PLL3hbA}T#crU0 zc9hV6>x@3!_57(rHbZlifq5#Bmc7M5$ki{c+chavQb{LhE zXuCR3S9XSF+=QsEh<~aNEmf)ETD{x)65{Kgv{-4KgB0UFKjL-(1cd_I=}l=72%*3yNS6|C?M!J@B??fOtGo|~JlK&)=UwEnbY#1sX zPM-c;u$8M3cmp5mMpc%!!oQiKWlwf{foIfwJE1TH!c{4X_vwJ}Zl_D|YqKdTqp3pjbF4Vf#hek%Et#rC(sSRiGvNpN;y) z{jj5Y2N)*R&l+e7_^?)yBjmCf6>LOHdjed6!W!wEu6|}a@!_IZj$B&hdPfOZD0|lQ-20oD<%#<7P38yH z1&^%v_(zkV%tI^p;Gz3my#tx%wj=IQ+!e|dX8l^x6%HxNJn2(4ojyHNc|)c(7j>W( z6lP%!%qpco$tM572tz<}3Jy5J!e;}n8vS&LILh?n(qr8A?RgPN?VFf^b6tM?!Y}Mz zh``?%gHbI5Y8=<7t%gBkQ3jCYyM`shqJc876>?G+&tVMYl#GRHq5cv^ZVSNn=cpSb zm9_WSoo)EpGCU7g_UxJr@a#KwM@8bC)E}Q+TM(X|=$?@d&a;Q8V$k+)F+biE^$)NY zJ`kq0;@ZA0R)VQ6xzIU8X2@Q1;gL%RnxQO%{*3I0Bp`9>2Feg7oroX&+silyjN2Y0 zexF#rWs2VxiQmW&muOFW4+eIB1p>K2s`@CJr~q&1rX(h-R+nttDm5)o6&Mf80t2Bq zmn2n%_P!e=RLBOduUb*^R?U~%Hef!8CbsW7t<___u>dF_hvN#|7AmrToCQ-~3|CZ9>IS`8{_r0YIAKv%C4rpLIZV!=E7?m4y7;nI)|)P#IrP`2Re&k740 zV6gx=&w%rZg3=`LdXFU}aQTwYMB{-&+sHqm)&oo@{~6iAWjIN3bzghdn)+Lb&(E&t zJfCfW7Y@094EQB+B=HA(t-&J3hxYn@l1ovIovEKl@4(yxB?@?%mJ#*r)EjlFrJ$Pw%8({ma8ZGU>G2l4w z@taeMUjtvl*y3T}@`uyIeRjc&b!+s)FPp5xu~CB3#BT}ptza`o8Knb5>Di>`hATS6 z|FwcWAg&&RCPom@Qoe|CXBSwia2CofKxoYxeZ9?j`j3{U13k)uYKj?;6miQUUSZil z9pbt{V0uub9eitVD8TH*%td=v#4f=~2Z!j?!?_L1;P>yaX0d+>s6ns9eo}`D=atS> zA4F{+vL#(LXkZNuTE2z9byOpm9_o{ssdC3an{XYSw7T%9V zOsrrWdL{k)r6+KVM?e$-8bmkii^-E^I1F9r=P>ad9OcfovU{0>l$hnD!805s{#SVX z^9AUULHE)`5!dm1#byH?ODSMX=@Uz!JvssdJsj<#qL!UK4e{*(wnsA7oIM*bR`Cu-=P>%fr^rpOZEV9I3*4 z$+~5>)hr>FlZ~z?!HF(0K@10NrYFn*=_jNAL^;i(yO5(vKVMM_H<-kEonO0~0Lis* zqG$7-%rEC!M6(wCrEK9JQW(E)lmDtMV&|Fxk|B(y+36Dx&P@*o14<+EfRQk6 zDEV*ATJ&H3_i;v8c$5eb;)ly?Vhc$B6?MA=e1pMYJL1&WWlc28V{XHK5MBhX5W6a>yP{0xe;(v&`I^g;K_4^ckSIgUaWDRBmj9X94N=M} z1ECACVi(i~Ejv85{yXZ1*2bE_q_iAE91P$D1^Zcs{byn~*z@F->$pQY=60Z)0v#Xt z{Qr)+0d!QXHP;E8DVR2KpvSoKpHa6*;@k(Eb_-;xuPb1PJ8cPp`F}{=peAJYnuy~p z!&c_M1ORMco)Iy*ycB6Z?qo#qp#zuh&gEfsp^%4H*W+5Jj^n_gUJCs^ADYu1XJT#x zKN1rkAU*y&%64-Vkq9CZ%sJ%Cb6FhL@P_|qBDawbCxc=AMWp&Vv{M@uNTnNHYFBik zP9kuk&$u__EHSgd=05CjqF#lPwQF$lvhsv%Xo-6Q^S6A=d)Q(3fZ|Fs=Km^kGw65z z;;w2VjF`+6)G!26dH2aXZCZ2o_2Yll-97>4+@KVJqTbk5l;|*kM z?jx`fGtl4W%Yhkye5LsBwwc&FZp2%lkYwmvsbcks6|&QRmVTnCs>PRkoRohP?RbWaC{-~J0TM?3*r(LL{Tb$E=x3O?7q4+(lzX0TO`P@Uo2 z>61&XS?`wv^OK_f1$QvZffy|kDJ>6`rXS0Kdm%g3qUDeiYrND?U8n^xR19Z)huyF~ znH8u8pZZ#jbUj3C!pnmt{Nr2f>D}0M>@p~?ccXRW_Ir}AWOYCrQH(y~#ZkLwqP=4f zbU%lar{^0fIo1tGZDww5aHa2WR~CYe2o#HeR`Dq1_vEH80dYUG0!%bEZ^xqfD2_H` zZ=DEK`DE=~_;LKBV6!d3*To8enUa+^8))PkZwbb&e&GH-R;~a2y=Qpfpu;XZjw`nC zxkpq&qX_ND2+Sc-jQC=g-!}xbWr1iN8G_9dP@Qz9@J*~YDLACX5IF_r>H!5H&bA#9 zKW6|HPzlIK#C0Ae464BN{V4>NhQ5w;53GJirEbZGoC5%h;D#3Qbfhfv z+EjU}c`pf*?oyGFw-p&itc`Bpc@^)UfPoeb}=Id@vsasxS zeKm*82O5<_o)#KMAKkDRFtYkHw2b^(a#)r?mbpN>*l!E4fU7I> z2{Eq*!T30dSuOPH%77wPuXEF9&B>{zIX`qi-XC<~N)z|z=VOd{v&CHMb)WEVK%u@r z7)&gu#3BaZ$U>-cnWx%F`|=)jq&yoKr8s@^G{ETPstP=^)~>Nes+vz9eH!+-6s`AQ zNW2Zy8|S43YQZ*w_GlT2Klizt&P+JXwp){}B&!z{h*vd5cj{VP>%XU@vJ z?S>>%8c6QF-`$@x+6mgN3?OTFy0LhqbTC8{dG6B(%|EHtUziR?F#1>hqZ@F zILMc#Gp7$8RWSP?B-+En;Y+#w0<5tikUs9w03=@rIixx2V&s&~Wnj&{d`8~@P;QH( zd+wgVP-;eiv_2ltg{1n;;7x$^a8x&Sr}WjEYkRJkoWx=Qd|+6iJ9np1M7+(dtGVMI zCjyx8KOe)3tK{r^@mfmByD)GDRt3DjUEa=d-n+2<)~BCtGuCkakZAmRRCj6h`Gnhr z)jgu-%r|xl_R(C(In8G^b{Z|6XMC?uxDv_1)k2cvMoW9jLL{FNawAmk*K1#~uB%Gb zwlLBh#&=wK2Y_j~3~wF78Iw6L3m+DZ6EI*ENqC1Ds+!#pAPa*r3+pZ~w5Uf^7nSEK zw><@$+YKv3Bf2lODm)OZ4@aBAU*0zYI8c0tmtNwYwTh997#LR;5V|gFV>LH3uBW$l zcvHwew1A5B%3w2{3|iG;2A7&+XNtRuZu=co3VM-dV3*5V2!n6{r#OG|<1-if;;$DwULOuB zr`YzH6T8Sj`mp$sy9mn2nB06L!Q$gIYzhHe2eExx1Q%SLPvy`-ip?#LH_ft{DTT>K z!aI2bvgaJ$W!R&v!um7`QfAs{6MMzggDJxRkBQH+)9$enI3KrUlwaI$8aCDkx z&jV((XW%*Cczv7*fKa(;$ic)Et{MRIFABrr2dX8e8@B)bitNuq2snV6ZG^$kPvB^v z_BK2;ZiGr`LX3!LA+h=2?YAld`<2zl!bW}xmT&|D+ACdcqU6c3vLma>&z9+Ue@gxu5`Y~en1aZ5 zrW6@-RF0prYtE{fJ0Y*wTNxS73Jy!P6h#S{U_I)SzYzB6C9bZx!A|m0Ve<>uCKNlw zLoku>O@*oMb5b_I8eM|2LLaWfIm4%^&eY+lUK^FMA9o!7=X9r1aLVm7CpZVdHYf>l zsbybB%3VvtzIzFh6$f`wu{K;7ClLwt~V4XrC%6<+Y_&+mybK{4{PK-^R-UK?}e>L|p&5eLxg*$wRrR0x0e z*bW;BlbAU*C$D)>HtV0Q6YT4TJTjgOh>&fxuV$;vVUh`m(aWHhRSK)Lyi+d^G-_K| zLVOl{}_tl!}RG(+4?Yt5}MK#n7dezOc_EFMnHYD2|` zJi2-!*cNER5xlevjlp*K+s^tF?7h3Il)?WZVggry5;)<8cECzXZ1xJl@!Hrh1~)AC zx&dH=pi3gUKLK6$z5tS~peuIf7IkVjiAvEt#C~0A{6DKb?#Cmu9>4`Arhq?(tx}$< z(2Fg+^e&&}$SFVwXhl*?!9{jM>Cd*82BwK?E~Jf=ik6{Uf!ZIeFbgT-4-{XYyCHrJ zt568@X25$(d5oW@=Qax&SNKfoIR2UPuR~cvgBrX>ta$B&>vys|Y9SYb0FL|q&zjK}vxVIs0(?!&~C*?X3}_)P?LIAUB> zT3)G0;x;#WaC#;f%dKe6pe#H(Qz51i?4bu*@om(rh+W#Y@Y*l>xeGmLNj+dciTy6! zVw@Rrwq=<38Ui~WE(#eHZ9zpJpgGY00(qQ?DO3eMh634(4)lZH&NQJ;A{lTB2AV@a zRly1{K85JOu(i8EjPWqIL~54O_0*vhAQY<639Mr|^BS9a<527SmOd}_DL_X{O}|IS zplpLr3}dTl-8EYNg&6`QAMb4z**e|`6$>A3i#`wT%l$ryK+I4cDC+J~IR)(7(zgh6 zi-A$(@j7<nnu+N(@**E;}266$%Ad$i>J}kWVlw;LP-2 z&Jz7pn-FfHUmpz=9JZ#72^DB}#8=FA|IM&hRd6_2^(vkEK*1=F7HHGWFctCmSq*J1 zPQ2oGe3OQ<&oQMcN$Ke~ajcb&dJMCgcAXZyaa8x%{j8uLs%G%8Vv0AW7`CzogF#_2 zh%00dg=q&*wl|~O#?MW^x!i^dsZ$%mBT0s}l&Mfz`k&PsA|fxoUjkGuL>dAC^L#xM z++af-4}un9#A})3)-o4*pY$~=&Mz!A=)lyX!bR8i^PFhW!OPWvbPz>@MW3=e3%8t? z9-JHB|eaKN1&# zCBMx3O`*c2<0>N?>i$_3B0Mu#CLSnn3YC}BH&<^gx_#fZj`BLq4bLc;%B?Q}93UGh zr94AdMA#%%c^`PxLV`^v-bx%`#LIvYw1{%3P0^(_!Hi5dFtbOMYe8&WP(g+fy+^Ls6SBibRi#Zz_StvGDlQ6+yqf7r_04{_0 z*Sdm>antcG9od8DZng74t+pGoySD_#b1zr-sg--|iAr0$m8R`RVXOjgbW6?QDKZt{ z8#A?1(e%8Sf1bXJ2Mlk0dYocR79%CANm2H@nwfDh%=Hsrmq);ViJ|&W2iNgAMEx_q zwb%_RlEpF&L;8*bH%w;7IH7weeXFQ~m6Itdh4b#jB=~02x!jbZS>^3H3BF7^y9=TC5ylPt6EpE?@~Uz$*6wH?&)zD|XOyb^&@0wf zEB4HruMcJkB@fI^7tfuo*D}tkC{OXJ9a%z^wH%5>ielxCxJW0G1Dlu=bJs=1DW+eN z$zP|yxTPQnC!GAZw_W^S*ifc;&jJ#)U_`pod~=N=*eW@q$DM|!WGCc~WoSLJ&3IE} z0eWo)#;LG@#=E9#jejZ>VhAlpku76VPA#7_)GG9HU8m!H_!0w21{5nxA`YN<8_2q*rorf~LDFayWazu1Cf7wxWJmy90G#BMQdOvd0Rer9q z;x_&SB=URAyGr(wwp0T9cD?EIa;ocUyYFKL3z?FOh@}El}wA+AuCZD)VY-+ z#Hl?yu2=aqrZZVU4x)S)J^L*3mMKF+g?cRzjjFwEtAbtD4yq9Y!`G`igJ>2kZ~dOB z;r<844b^`x`e!xZ7Q}bp4SmjsAXkP(9VXqyHF6yfXsl9Rkz(S9!RUc($kxBb(IsBT z|90c;&}jNzAV3rYvIx<@cFNOjaOEPSx6oDE{S`4i_!y>s_=H~AkImtW^G~)Zof5Sv zAZ!m^mjr5)q`l??TzxOgvA%Pqv70rweN>z@0J1U(;J`s+A zmmCbPXW0dUzBi-X&<*Ltv#?J9{uT}~pbBn);$DhcQka4>1z)M}B)jWPiy0@brDs(o8q_JAYeii`2*xXwe9e`-ht{iTKe??N z7?kSO1_M}c8#E+%hmJeBBOW1XUV3QBD3|Us9-uIN&q8pmn5)yL{%~@=LJJw1W*1Qq z=zn4}^TqY7R*EkLBzf^*gXDM^UL_;*bHiryrBP^oa23LAJgJ%d{bTr5LdlA<4$YMj z0eM+7pNw>1DlF=E5Hmo6We{f-PVc*Q~W&g#JIF`0x4%5?gO*rUy13eVV!P}4}_ zVW}vb*#|P)if2GEx$TEBYw zA~PKXhb%`uuh0-+m?L$N=vZ_)Lu#lSCGfT0A^ny4kG=3m`}0}17MytDxmp-o~m%s?g%?nhhS5~qIlM|qo2 zp6KAWQ2Zb$r&x)e{(Z4^;=}WTj{wF~&(jUziI_uI>(>{50>0 zx^Na$R3A<+nw?|O6QPk;o>>O7tAxU&9JPT-1Pw|ILg1)esGY*fWE78njeH0ifOcq* zl>n+O-_Y|T$W7@(5bCe7;ebMf?CLEnmdQy7=wgZ2TrV3S*>;9XxZ#{q@;=hVf+^>9 zW!rD~&lVashUgQ=_cgWZ!{xR*e5Gk-r+%TTtb-6TQGBRKq&^P5(A;HE{t=fULyccZ zi6x_DZv3;lk_XCGpRkX2Z=Van#jUqQ8i00a=+zgxTaZJB=PUO2BxdIUpDMCS*s|E& zUcUo&O0+6#u+LIMWRtgs?r6Th0s2v-ZX}k{e%Vq18=KJ;aGIjm8^ip&EAnda4BLfp z85DANkT6BcN%ZE1Dg&m&JbX;<$5WC9Zis0Y8Yyg+b5O2MU|*M_;l5TWcNG1VH~Rs} zC;QW$9*Wq`=WOaOPJ=s%q@X!MpE!f>#LSEs-2}oCBXf1fyJ+k)a(+VutwkPhXQ~>g zjNW%J7o`BA6-26OcULg1@3>hMkCTmG&Sw+CQ^ao!z#>Wu;ne2U%3-P{^`UPF(Q%c@ z$FT(hS+dPjT|iSHoLMfk-AOQw!|V#~p~gr&gsnoSb`J~Z*8Yqd*2@?;?yS?EZgv^f zij>@`=a!)p?5MX7&ual_I27@2GBLeIf+AaQLnxuS4ZU+;BXVGrob=&YM(a>jhN=$e z;>)wUN`Vw_g9!QZ<^&*pj1SPE6lXcOz26s)R?hn7imu&rpJs4y(Wg>T}H0>vAHtj949eaU^~4Rb$$e@TGx zUIlJ5*lv=D*d|}Q=o|u?so~vWaCF`MkGbxDNu8LL(M4z80AgvZX+ODVLKDTbGRQf`5H{$xoUlZY^aw3Xx*S3b{-ma+ z-v;s3pQRAAButRk^!KQi=IBkRw?Nu2m$^J;q^%XL$ShjxGnL2MHpnZSAKPlS++2t^ z3=9;=$_#W>?xbR#MCe(4T&j37t~G3XfVz_OMO0D49+Bzm`fA+qAki;ZsP@gC^LW4D^)$&RUuRa^q38RG^k`ccq_~SRVA9S z3}!2QjVIqk_V0FgZGg;?b`B7Vi1ttRwlL>FJRsk?2{^CR)o3fBiNaW37c^99iG3{% zdiTTGjR%Gai+cd9K!{_FmI*L?dsXD-Eo?tOP$UtL@(dtHEDi^*)2d-M%33mSWJgLc>SjAve0ys@e$3~mLGF1DhX_|&s~3QO32Xz_wx}o(##Fy zFsC9Ylrc2kbeq}7D;`)F@G3(s)PUelkBaVn34e|&lA7`!5CwG6oR)*2<<{uXr@#(rfz+DaR)xI;l9X$Ihy{1Xd7zElGa$qaW2q0ZxE^R;55n zP&;bp0nDIhrs2NXt!U1}H0JiirRWt&w+hzC`^>82#?M7b#0kw*=wB^Bk<-Y#pK7`| zcxL>vUNL)Jv#61*lD|jF4^`+C{kqn`lqCTiBjZMvk%R58Ke0fl z(wuvZv|QR61%z%Z3-0^epSC{reV2_v$@vFI?KnVI1aU!M^2j zH7K^OBjh3WxgjV|vBxf%W%lH$cIpwL5VT)uCL7YgWYzRcyr|eXBslf94#f1AoLNU8 z(R2X_vpZmlVEADJu8ZkC;2{yqw>Y)ESH=raHYHFvOQcY9eIi#Ce7UHKH3}9mYS^}l zq&+0fQJ~Q%nA#;Cja)1cQu3d?%d_vFhYI)4{FHXzWM}TK*--B?bO`(PKAiXRBDE|x zZ4I&OZpn^*d`cwA7nb%+v8ZwWg03-PC0X}vw<%){ee3t*1z`T2W@MzVh)wEpYY4cr zqU&vcSCjq)QniTDVryaG@VN8PdeK3`v*3YR1ObW26i+W~Ic>1mLAY0~#zo-9SM zaexaoC-ZJ+>VWVtRpTmV&NHxvjd!K0GX?QsldD@Jd-u0T)!Aw{b+3c;%lO`ryI=Yt zw%9?b@l#2q>X_y67EqQ1*b@ahW{RHXgaZhtH4u)XLdM!B`T#z3^~)?v+4{u8qU}a^ zk8};{nGA;t7;F{x+rQQb5Um2UqxZ0=O6Nc>oVJ~qnqHiu;|Co@hFqp{ktrfzFow&J z04ddME4d4U4(+e^ zR+7H(A*#d>3}2RO=_LsHIz_I_3yP_Dd#PBSo1}FBFKL*(c3q>1x;Z<*F=*G0sMo`I zm1&Op`6M;ojqzVj$%QETvsVI8juatkE|A5P4NR{bU;aB$!NDOvHc?MRtBKTJ#EG>HQj6IE z{|9B(@pG3>(DJj<2%)LIqc8S>GvX`2gkmHl0T5m+Vt%z{v1oxbsq&fMq2ziA2~lZy zoULzl=2GT+5Dw5h(vUE|F=!{x1#!sFA@D~8z;H>3w`k5C_@1^Gr9hoQV^}o6t)tp4 ze!>mJ>20hH^zw5&gfkA{9Z9_6f|xS{%&+}pn}2UHDB_JS;l~wF79|V={!OgE^x7qd zKO7RBn%-0Dl<&&)g^UlWL})6?zyO}Q1YzKjp(AYD4z{WLO;6+V(l<0PH69fWETn!2x+?fD@Y!o(qf#IO7{pLv{?+;KC zsEalPEX)_yOqO;}euofrW3q{|Vi%D6JJ4`iPLvYHS_Vw;A6YC8Xuv*9 zrI@$<&utNeKj_)7Jrg865YAdoV|9T9V+DvGrB}rWX9!k9>^^Os2TiyS{LWvYfP<^t z=oIj>$AgR^QC>scr@4AIH6NdkP9XgaW`BC|ObVM>Pv#>AnLo(Cyt36R+}h?i`3yzh zUeE~DB3b~1!_^?WyFNeI4j5Ym2{1n|0uhf=-;?LmZ1#K4T{=4l>~-CHZ4){Ydg2dS z$jFd*`{`6ikikWGN`1oYM~1H)pk$CRy|>zUoUCC+nSLNeMW-LSkBGiJQ{}c;gaP={ zQp)LtN{Nbc0L};vewL@D7NMy~gkHY$!3^ZBxS}1U&g-LyA_MWj@{6m~W7s>&YmLW- z&i@l?h)d9W^AM5rMuJOFG5FE7AytYU9bqU*x1v2mRW{WQU8*Q^x11z{;^1i-x-{lk zYUsDp9ll4O)3by*07f#Rb+rLo`_}C8sQVd27j*~|@<4NPT5}5_EfIt_QKuHl&LlX` zT0zyKwB32WXp&^*>3v%)k|y{p#b-gmg(&|9OKWXVuI-A}lH!_`EY?u8gH%fUlr>h9 z{d603j-{KxcyvrQX6@JI2fk*2h*Q7cMI@RV{nKz$Xr{EAY_odwcDGg~p(syYSp-n{ zxl8^RX$tUlo{w!bQN;e<*vp@qzfpPxBjVFu>=Vj1z0tR}Iqv@%fy4k|0YH$93XKOX z$s6T#kQ4(sK=sp5KHyUzdmv?RDC;|Ya6$cAp%`}&1P8<^_pw9LV3h$rEskd`LPM8; zhIL1U8VBO^npHUT#53^xy*AitME$YTL|UZ1GZ-=}F^$3DIc3K_2JUFvnERWC8TzqaV#X z#R!;g2l*@s;ROyIQ$wOmr0Ga#X0tHnY!r}f@e}VgZ0*85@f@&4$K_ihc@rAEj!&bV_;H9+R zvwcvdw*wpYa&r@KgJ1^;xbgbXjg03)6d`%Y_lN9VuD1=^Kah}3CqCLk9Kr}uQNvU{ z=_*G|lRtRmOnwJTe?O0!ouAb<9J2D}8?S*q;wCO1JsHg)gf~{AZ=r@2bA^?_H!c7JtN^a;DyEM2CVBP;-H9?MysR(~o4?FPV$Y_Dm z4nii!FBXeS;-%j4zaYQ(H`QpzGsy5lwP_yDQ3P5|Y|y{EI8Lw7#z-W6|XpFe=9WgbYF$1K4EVA{`C&&QGKv*%!i8 z0xE(oNmQU0WI&3{mmkd_f|eIa$1AL&b3~ctu{;g)(zXp+;sk&4HiJ1r1W-l(ESDr) z8;+Ubwr4h4{*M-O$Wh6hrEnlFVF%kEJ0EF8sC|5h`vsKB7E7Z6Z*qpU-Ug0;p;XZ{ zXC;iSV~}>&IKnWLCefvA^;l9`a2o2G|B*(ZMJCs{4C`O50BrF}p&Qb345%MoBhglF zpMDlq9{^O0Y?U4nq6?;Z6gy$YzUdYPz#^j*TgCq%UgFy{Nf4HH71%~*p^|L&$>=oX zo_Y7y=HjDG2FzxvjWiV`A|Y}1IG>iyXKLGSNkv_2!fX;<(@ln0c8Fz8pZfzRN5JYp zqlI6nGJ7J(BX5KIT51^tY-(*&7B?tu?|^Tv|?NT%~JY>j>P0PtmHRiK*Y%sFe+H|D9lAS?Ki$~zqMEbz%}DJkcZ?I zNr~IWI88(#>KUdf?gCvoYK9?iE>VIefEh0!b-!n7ug{pIFG~S@<2cNXH!U?J3D-h8sWcXlOq4n_=+Ms) z17cp9rlPDo5VNE!34f45<_#+`eoFviCbYCOZQ)U&79)Jri%DdpgmJ{YNlB4FFY75Z zIMp4g${CM>g8mTnywbRnd~S@l{lPF>#e2vMh$NPtP9&{^ee%0<=jJd#iplB)7TE1> z5IvLOB>9L2V0=`KLCKJk{R)IzETTtL-TarI*)ru3;|9_x3G?Jo^)OX*Uhc^Nin)lO zddC6aRWx8tp~XI5+*C)s@(6nzU|NavA%Cb#5OUm>ab565Y;&u zVIW8mLIY$^v_%|h zy;`B4RhbWIkUJ0NFK#U(vYcteP&crq>E^XPeICMj6B>HUKQunD2N?;*l}OrIm%WZC=>l zxZMXLy5q$Ndq*QQHS-pj;HzcOhG0vIwv51iQ~$AzQsM@YHLlwQPwz#Ia3FkA=(oYq zP>hf=YM2q+6TS?SMy08ovt|&9Q*-mTs{2XfuLBEdO%6bwYRBRUK$N3!YXB%@Fa}(O z)--*mNp-Xss1IpmkZi(a2%+u37hXPO;@XW&1|h7Ry<4f`vYKCrmd6WpA(t3YWkKK#EO~YWZH)^>1ka>a3d0O^m9!?nL)}Qhd!4+XMqyKi>No=on&2_Q zEfBHLu^Sj0!_bN`JQbM>t}Az2xv0qKG3`xGeIs6Q7uC^p^A~uF;-JkF)se;et+7{0 z!}`;s;l@3l**+df8**3`;{`jDS`TB1(aJJ9{jjKGn}A6Ksm!C16xJT-h})r;S8o~r zW3GTUBqMGZnO8rPfBJ(ulx*)?OaE*QP1!hbK5aj;ZUQTv_lsv&*{z_+WIu`HpPA%^ z&&NqxQvg&)_q%Vf8)=b9gRS4-I=O_LUvVPW8RWU3z>1MbH-{z#(UZ|m?eAwfUj4xl zvb(>}FC-LSDD1@~amq%1nt(SrSSlhU>&voKO~B{iFVz>uyH6Q<*u}?^e*&j$9txNOs)j>pZj@re}t0~qMR^#==@~hBgh>g_*63z88W=c0_ z70=5wKrwh3G8Knnw+pH)%!{h?pkV}#|*UFEIr}Q|2iTa2C*|_ad$&oV# zXYLrlGe(oHtgp^=F5{P0D?vR^4ZOd1a=vDZU-doL6ttkWsNZQ8^C)om?#(vzzhi!D z_Lc+2O=M6&tU5Vev*ez49j7YO`x{mx0vTaqN2BgFMH~0Y^k*N>%$lvFEu_Ew?CcVh zD=HRx#OYmVX^QEgvJ%PN{sK!$*eTNH2o|>lT8g5bp$neoy59Yok7GF+S8-bzQB&618{~f&t-W++6e%MvOc9b3N|B3^1XzMV$bDP!dojW zSJ0=Kv@`%tm39Ky?d4e`r^TWJl~|Vj`O$Av43o&^2nKy(q1o3t*Jp!$tMh~XD4k_Ah>%3O(luwZpU&UjUSC*8pP8Zh zwP${jm@<ADraFyv@Ljnd16rZn>o1u`AD6klO#6?n48UKP>vi^H-ju%&`)xvjBwY-8VKis$I z;ie6ZN~VsOZ^o!Q%=f$iEP#8y0;-NBC}KF%Gljo{E-v^g8Ilvi=|E08%h0O@C@ zs;HeqOMYeQd_qUIp`;TmAk7r*V!O|**NkAG@&y##VZ}pO`7npB2n3@Zd1S#wSEc2a zTV;41HW!{~5+wTW8Eph*e6lD#*5AGc>UlcYuWPiYzjU);>y4|$OChQ&Z|csN;u&J9Z#TL~zOv4wE?4JI~ku&mE?N~+}=>2B@% z;F8h@$q(+QHO<9#HSeCkUTz`xh-$1q^SBqCJURe`BGsQ64b^LDGaKbq-YE(@O!@R76_4YjCX|9`zI)QO8G*Pl*#R6bh1j}XcLpe0o ztS|>$N5=D3kF;Nq^hM%rb088p|;Gon{E?@L#@8q z6G8TT4!94+vjWq>;=DAKtSW^H&?vW+xj5dQGm_PSP+~X;QA-pep1!lR*U>xCoTE$I zFf0|h)(bTqg|5WBAq4psH1b!%wAFp^j4PkxoGS{0nA0lDwH}XgTS-t|>17V?cv~@f z&&%ugWp2AEg}}Lp)cUp0*vk?GRbX=LN6{dyV#<>~)ezvQ#1kb#5=5S!dO@p5`+6Jo z7%xMkh>CpVz9Q@WCVKeJ9207B0-hcx)?u9V6{6Qb=a=EVQ>$<*o4VOw_JE?vi1Z3t zH-z1!<44H{U>kJ2M~X;GT39OZNA}s@T}=7pN1Ss)-~U3x&gL>hvpsosp6j+lEyh!z z;zCmtQzOxBNp~(lbrCT}qlO(dUE>_nrr(jG60@CsznPJIU?$hd1C7H~Op3>@0rU3l z_snKhV_bF!DNTucCguj1w9Dx?mnUxomYMZtv$}5CWlW^krk*c2<{xVdQE*(5TjAE< zJnBQKPKX9drE9Cx6o(dBJk|<6(@GG=m?YqGhR{P0vj2wTe=uhKTEP1~4|?aoYM$u4 zX*&^63Z)8~l+8?3SpU%(9=ov`JkV$c8Phwwx$8O5%|>YfsRzvnM}S<$qu@AU&`sFA z1`=b#D(_=xYbK3CSuKE1d~vxV`iYEik!+C(JDPQ-7ZiDqc&Qw97_~lNHQzhv}WmP`7QClqnOsSN7B_F1W71C5%SC)WmzC_+Pk=uivk4-BeEsVh) z*HC6eV7R?D7jv?oX>~;-<&E*Y=mKHB#UL%xju|m0xJ~uQ)av^zX5b>B6OhWVhHbHFi^*BQY}wic5m7(Jd+2+T}wb0 zQYV|^DRMvf5hqDeobP;c4XvWdzv4CznvXT~nM*pYyqVGzoDg5*C-E}4;(sl+Q4$D1 zg2H?v*?y=>YNZZ_%?l+|0MpjvC?)q?63v`@9EaZYU%V9ffrT>5$?qaaCAumTuGJA2 z3VMK>Mz~0`fgB})Ke(Y)B-u=LLMp?$MpMEg_r=GmJzb=igu zmjThf^&=2xq$dRStE7~aRD88YmY$FKwda~WY7gHQS9B-K-v+2sw?AlbZw)$u2AD_D z%y$8zXB;FTj+=w?gC(NE=>z_X8-X`G&4EJ8qB$$G-Qv0deV=59G##61my}Y5mU)VL zuF+l9OdZd+9N%e;--Y>37llE$AU^RW!qvhBPANY{L1EfA6y;QF`JJyu{N)u@U;j;> zp34?SqJ`9m*Vnu* zN_OrxOyqU%V7^f_BdD*yrFF~-r2R5c)*8)>MvOh(LgzBI@YxlXAo`&fXY+nQ|BfE6 zeOv^QO*wwylAz&dY;MnyO{l*N&dD9clUOh)&UgwrL~rj$l7PjT*sIWbiVg{kb@8yG?4&Pk(=^M=sxFTtAT zK95g)s7gN+_x^n8DSMotheX14>rlLWLWY57(q5VGod|psD;PUGi8y*x^w(nQpMU$W zA+<^qGVCld7)ulwqGTZX7(hG|RPTZcRV-bj2-cxdivZg-8kJ9s-jc#bZaa&&GlZm0 zQRMgzA_#t{E~n3NVphydIrvqT>la;J;at}xFeQknVYZ)9pwTXW*iwVmZ^=?2)+`xs z2rKax0m0n;wj$g6{fi8sGquCxA;#lt|8X@n{-PIorhzhyhtNQ;wcJzgE2!#21~*QU zjet=%S*xtrcn`wf3pfHOVvEylr?6q+d(|meTo+;Xoz>iuG$27x1Ho|PP18SklVchx z?hslfOuh#JOjP7>v3;sRLnuS*Vy~h~>4PjNO+KvHKuOMU^y~M&V+wK6%|tmpvR>H} zO);j9T1b28dfXfryTg`C4Y0)4qTH?W(sy`s^BL4pE=zC`kE(TcnA&?1gzPISe z!A)*Ik^wdEmA)=Gh%(V;ygn4e<|+1y`Ea@B3Yh~F`BKrnM)D#kl6lwQ>m^fc(iL{h zL}!d`gJkej-lD=A*e&QW`B@hV3)KoY*M_XiBpNe(`9Pwo;jGN?#cg9^|La*l|KykT zrxxH}|M&m>*Ap0q?5ENVA-i<292BU-UI`LJO1v;@Sei?Qx<~$tfOjxM6Bt6vs>(D4 zHGTp#<)KW@6n)Qo7~j4z+XC!yos56}lWXA0DgfmT5XnxN_E~1!fCdXSYRyE>hrVdA z2bH`+yvVVeu3Ne0FTuEj9dod%sK@6H;)o;%EyQI!O|KUg!{sqXMlqUok`E_wN$7*) zMg1dd;>#iQWu1NN%VPZQmEsef9h_p{zIh0O4E-&#*YF-osMzgy3$WmoOQcO%_a;h` z%Cn~ipTl!#_bBilhbhMF6M>Q@I#Ds}!2Qr71|qe_nq|(NsM~!djv0o$ylXZP*vJCk zm4(6>y@cOs8jYD*Yc7L20(lB@i-e1}%Sm>*E8%;qozDShmrT3`|Ahsp$8QB|n3WMAW7UfmmwMUxi+7%X9 z^nEdtr=H#JHiCBS1(+vf_$H4gLSM;jKE}559y+R1q@?$IlW?3&dSa6F3d%qElio;2 ztPU~7J5DO${r=Oi&RjEEt^J^~$mIVpC{p?%saZ=3Pq)?TY$}ofoIqssvXt~8s8Co zu8h4>a(@@9n{Qt~`QN%0>^owl(*YEC;Jt=dH2PR!sy=x}oWV&toU8J;Q{#25$Y~P= znUzG3I)*Z8(gKGW_kIxaegeREp&6zsQ8@IxaQ1r5Z1Mgq3o?Apspbzqu3wpMm$tY6 z!jke$FM%s=AsG(Sz_5r8iH%7g3=`D9H;Q=g9CW;U*&JJHB zU|8kcihU}xfTks0MVr1>ZTh4igzu|;8Hx{#V|kpu!OfMi>laXHnRR^4=X%P#7z&Lx zP;iON7Aa@qnn|Yd@;+{kxPE(UZO*heDH8Dzdg|*obMq5p2Lo)d8YkKH{tZel-uruy z>f1`4Y#TB;&IP zK{kOJ+FXgFNo+e*5UI-F?C+}^qq+fFo?Tv(xpDS}MYKY)+$UrE24@(wVtMo=tsa{5 zZ!o)fM{fJrjV^-M&}KWE-MKLEW>jTVgDqNIxDZn_t*QaqFn#a(Xg=4z?Cpg-$2LtDLYUig!as+yo0E)gGqNf19|0rWi~dk?VHwLy_KbuMos!WaD0v9WU5XP z5nWoIYL~=3>fNaVDuvIiI zdCLZgC33X!yO7FYZIXL?iQBGoP<5AmLkL|M;mL_)?ZFCr{yS+?d4?N5MxQD! zPuuf`F=`aHaFX_hAjR^nC+}QZt;F#%?9^8J^zHYSs8<|+ukUBGO!0<0OhdKQ5!0BG z(ez_C{JbmGlgc}U|8^DqypP}a)_EfX`7Tbw)uuv>r* zX(|B;-ZydVw&ZREE(B-$K zK42UXhbYF1_9Ic)xFm%;O#tdKu6&NF)y=*mE@n8}z(fEkE*^D9bh zQ{vSL0}T*WX~@5h=NgfPDvre85Y$?9P4;@3b(MpIcZe5zbb8I1PX!KMOQu=3)zNd^ zT(&QXtJ&a-#xm#&oP^(f4!%R3udCTH@0Jz0oxf=#!WP#qPY~6Pk*;3Qq%Rwp|Mr6| z`H#twXHRtcSEO_1R zRwBm_7O4lz%zptv1ZMDXL1O2ADDV-|SncgN(a0q{Y3Mm-=3kd+&~oShjZ}I;`ym~IV0NJ4dY>Q})|AxQ>2U_{@^L!^T!S=QJ89v(KFGAxR1d2{B%~ zEfcvG+EZ!>ODE>0Z4C-?2+pmb^9SLi-&i&;Yy5 zcBdo9W;~5u=LrEUNt?}pF*)(U;@2e@*^`8|`La(zAb%e;4T;d3Kt&OHxnLOho7!z@ zGqbc4=XrWMk_tS{ots)HS=L{uTzfreuo|uc0Kp6T=naYMIQ3L`aWHxL?8ZWXi*k(80lu+z{`C$D>pPe+;mQcq6l z1l4C~Y4_{iOaEF}$iFyGLmd+hTsAIa-Z3-VC%4)E54rOV;E}O!*vL}gE{BF7g?05~ ze8+3%>0R&cUV<*K4B}9)6>wdAk6)*0mUN-0vuUBR4g(;O>&&BWd$tiY)R5>oHU&v9 z8I#VGar>w@JtKe=h29u?P|Z*H`IBM7mNPlY5l{VcLS#(W z8Jc_I%J=S!*B?K9Dl+4@o04?`ep+fd3-^N!&*HxF-EMoRb9{?l#(#JY-7bEQ8^8i_ z)OZ>aX&`FiN5JA%_LaO7XE|GbNQVIDERAKzjW^Y{{2XU>Q_kjFoh~OZs`ZN#&h#b( z3ENq_!1_B8TR49Gc&ycRsO&7ygO*f*+KoA20L(d!$ig+PB9g=rk5$m1M!u_tS|R}~ zy3o!uFW`tYkpg@X>^s05et)OyP!4PplXhQwa5fN`;sD^d_G+v+qc6IH@MYCx`{Cx& zXBgenIo`9rUM{IA8X5u}{jxg{=qC=|8QTWzfv zKYjYtI)cj6ytVY}7rcL*{e&)pm*@Re1oeSzh49v)#Oy~BpvqIRnWvO)amUqfYE-F`Mih%$+j3u^QCr>_kCN zI_5q*yJcByH~kGJ+Fl}6)&`AITKL?S$+ZS(lJR~sclq!LdkIYAHonKtwt{58q*f4W zCqtOjtlMwVSV_F@rEYc713(kyeTsF%grYI8rcRD#hBJ?gI@@Um4vw|? ztXH2qxav~0HUG*@fKEgd7$StCj8c~xq80YFzU0!f5t83>?j(mEzNC+U919^>Br zY!U6A`_&!Ssx74RBz&M!Xf-NQoAY2%Z!D6y;=*iJE0jJW1-2P+7>?v$3Jn`b#uA}{ zr!Y_YF09f*ve0uCg{d66^aNB471nC11wXCY(cC;BQ`fL_rY!e(LZ~ISE?$ z*%l7?9`vO6_r+czIAEth{}5A09T#MB1(ilnsNdmNg&V;pRw(<%G&txY2(N( zJeuX&EO(Gd=xfWBd|cDKlkOaCbS?gTvp8O`&BAT3bh|nH3w&nZXPwPEez4*-wq=TH zH(%@v+A;~(gKk^It5`@eU8{_ischwiA*Uv+`9x3yiIYb*-SxUU2$VzsWbt~=B%^cZ z9{aM_{Kk=zfqhuY~LLLF%#=n;xFo8-jG1=(LpD$e`q-oUW{|E zi?fU;3cVs7SqD`#DdE`t;6rcvFJ1~kgYgdQ~#3+A&P_`SjcD(yX1bB#v1CS?e%AxlWm8@C9Vfyq4=G`j< z6clu@YVxBy5h!IOE#Wj?Sv#f5x?GvF{TVPrkc+&h{>#3eRDtLmcsG z`}T}ctMnR}@}?!n06$v~&Vw%p`0##lO`s?V=#hqkTAKgR7bRr)0b5(L$Yxw)0&bQF z6OGsHzjU$(Z`^i_wM|C;U?Hliy8C&J!klFz_Gx;rgO* zyG|q&+v2bds&o*4-XBCgh1PGuy`YjU6ON=8gLqMGSs8%BzqA4rn;4=x_hC#QP~EMFr8vEg^De9>=mtVRdl z@n75lls??!QtfEqjwN8ui55g*SpyFyn_>t_&ALECkC2MSe9&oyL3Jkq4oR26LTE@o z3mfyZhz{H-AObYo%>Y?M2z#k3$EAoor$`GQEXEVor+AvoC;kra{Z>IaP-ra-eY3tv zDinLHz*|+U2wpn$VE_IlmN4W3oonsC9W3VrKH>uSh%Z-UV;JTHp!8xx{Xf1F0+e46 z;LcnSX#@f8cx6A^^%=t4H<%KBaq0F+&=ZFM{=d;>geu?ycv>o)`9pX!h^FXaA-+Il zB69E5*b(1pVNTZKTOie8dzS@78u|lN$lWO31WFG9I~0ONvpTOBwHvUFD0smf{g7&I@OyhcAq882FhqC5xD2uNYgov!U*2~I zJ1@BG@MCaq@8MQi5eQIHVZ+zCN=&E37FY&QbsOyZC(%S+K%pvo0_`9M^*DnnI5g6O zRpt-6h;80T4y_agny3E$%clHnz6S%*;ZOS4PX#EkQD(RajOK^>K#{;o_^}qd>w;HT1*^DE*mpla6P-pobsz86DABm{s5GcQuS#-ifAe)p7 zis*m~{6pV@VS2Q;)G5c{OL%L>EpT=WK$wceMkI4UMZVjIA9(Tazu3X6BM^h_hnXzd ze`x97y%gsjjqI(kO}O>!4Gki{ydn-`ag8oZ}3P zNe{k>Alz-qKA z8*1l@by2TF&*JZ2VoAWt5%}E3cql3<981%#&;s4UH`c3|{qZJGBTgKA$H7JLzb=-) zN&%^~{-hAvc>o8x1TI@a8=EW`STAxap@v0j<4`O(-uESNUpU@LfYUfq zIZW*1b)W;rY`YM6=wkmq z$|KP|AW}AlM_GyH`vXao-2OwS^;_B<@C}K z6rk*=>WjDViIBB9-7=C3YY-`b=Vjc1y8)^?#=}+v4mDFs*PwynoyXQPpFwn3xt(zI zm#<_86q-@|?8dkUFN)Fx8??2T0Y|or0B!!=k^!kh?ZUqnz<>Og&}9hIPe!Kyq;;rn zjlhG-HtS{GghAp&A)n)NAliL$hWpngP=7luaZ3lv1Bl9`VT-4FNLU(b1%CNKA70{= zLJ*()gMIYE5AEPzc_|VOPn0lU=fvUM#D`sWwu3>A$3P@dtv zU%8?~k;+>RsYzzqZyXG+0v}QEY;HqUInFwS6y(F@u9xneJaPKq`uLB}{4aYOZs&{BwQtC?i~8VFtn2FY&AgpA;o4vPizz z>vtUb>VhQUT=pq&?A*uyzurL|(Cf3B^)QF&67`T6r`A0+jJ zD>}TDMPMrjXSUNE++P9-$NuaE!*p+eju$#VB4c^o(tq#~e|(}q529zym#nV*2jBFG z5ySy1=S?!6L)V#!^@m*4cKR9g;M48+2jB2tZ0yUV@EI@4+X^g)Lt$nJ8P%dT?Mf53 zWENr2D05Z>js2D4JHX^JioA{cb;#_`Z|iA92+e?+(hH|Uj{r*nT&VeipAuayUJ=w$ z7x-*^_TXYU^t}JKmoJcFpqya~q|uid8D$V@DTq@F`^7-f5-@yQ4eVdhD|7wp^O?A( zuTdi6#SW0yg7Sydxc#3zTwO|tE--p3d}tG)+&uwzs)G?@O&nO?8yOUr{y~8J{hR*O zel%{c_JNu!7bFT$pP3geLM=lLg4>}RXR8<_Lg{G$AI&@~2&%1bU;~0EFMX}N?E?Rc z$N&3NApkqRe9=BX7OjJ2kY_Loh)G#Ej&r^Z#O@bWk8}NF&9&z>0F)ayzYal90i&kE z5zM-eY6HK1{h9!Bs3wY&){TE?uX&zPUAb}#fWJ!szThqzP4mfNfg=ARxmF=`PBbt< z0wk9($W71CRO8QZt`6AD58S+IKl5q_j!Lju`X-JHwOE&iFlut?VN%+ExnVhUnm1{x zIgsLph8v;)-QfdjB7XAKX&O1K&WI+eJ0pPfhXJfq4>K$@h~5Bf1MXxSd_Ltwr2Fyb z-q*qfFtYzam&ec@5W=Xb<(tufzs0fs?ce5I%e3@3P;V+hCW^3c*)Y+9Ofn!a1q>~e z6Fhs8{_?FyIX)lYQ;X;CHg9fal;4-y;A7p}MJU4F+b_pts-mGxr^Tk4<`bzc*86l^ z6?7#)o!x@@sLQ}Y7AF8pMcaMlri|aZ^=IqOi0jC97r1=vN3Y=J_ayqiKa$6 zKBF%CCA1aWn~sgXjg6v%qV=^|+9YxaaUwJ}`DcA;lA z0QfN;-*;635hObA_?T|OGeoA@fcPe?6;4x34F%Me%1l`K>>Y1E45F5is#DYwg}E7m zyfW$47!;@Retr)uX&tzg=*i>sf6gNXelWg0u+0?`uT_Z3HEzEJ-N8I-G%%iLMxUI< zdUO%t2Vi&+#%|I%=Pkh0z71pswX4Zbkef#ki}~E{f*yMptfX+hjN^BVZ-s;(Sr|J- z^ws|N4I)HWdH=UJt4WT(zx;bxg)LlqUwFpbr!xPYn%)(!gOBEa1sM)L0wm-_<%otu zBqJ0vP(BXm0Ww;o@J?0`ZsAzk-QV&MQVANIQ+VkJ%Qg;7X$aDsgT+1#IC+M9kwhyN z0SHX5o-f5lHUpy1{K0o1e7L1@65qygB2vQ?rn2wAew1n-&eZk#21RXAHraBy{cNap zS|D)3)|IM&H6tP^-B~4=-WCy_OvA~TJcTzBPpLzlY1B#urxd=OPJ}FS^e3hmd;$w7 zhASW=ENhT@eBulhd;oq)uk8YbgJhKl56VcO3p}gzQvi`Q`5bkF$pM9>F#?^4T$}*L z>#g20mjWKJ$>1|@xP`2CX6(JaZOct?Y8VGZZwcg3PuK;UBU9+2yoRkIDA z1O6b69Bm0ojt^(G>bCq6wh1)3Q!}Rk!uSl_x$r%)+C8Etx$D+&LMw+*So3Rs%kNRt z60ew>XioqBIOFenG@p#OR*WF}J+1E33FuI`U>?q~C$Yf6^&;#k+hlQ_sH2=I2Orsg zRWxV;2^PxP1!OQHAPOZ0&;hhy93k)&t_}rPlasfh@wGtvS$vk$s?vdOZW-(gILAdoe&?K=Olyit4j@y}R0cJxC zL7VP)bQ}DFoSeY&tSS;@X}{wfHHA7KFlk`ORwalx*sJ|*c)np7>jphL#9t7hp?+ zz#Q22m56n7CENfgF%c$i(9-()`iX$>ma~24Ks}(gf?z?TS)8lf|53SXdl=?iH**;% zdU3IqmN5qi#bhvnWF^}DZVQA^&HbXGS1?=b1ooPjLA*RXxSR?voh03w?z8r%!a5A>^W9&mm16Y3I=h#ZWXC9)4Xs( zSk5?1N3ddwu5O2XnH-ADm*qXdIDmYgP@+mmN1b)>OgP8kh4{-W4ND59o|g<@}Y^0Y}-khOJ6>xfD}#`5csi-^!VZ! zu$ZcS5IzcFRbwI%CYn8v%bKITWm{&1pH`C{{je7s>3Mupo@M^}|ww@;PH7`Ms>BASj=<30qz z<~gnb3W24GM$?qH>({}e^%ytrylb_EI9c#-o}llNL3|J7@$dqe)br_)03^VF2~pZ~ z3r-*e8_0-%d-(9fj6gLD(2P_!ZN4${2(6yK+VYwdtKp?v8g`W-zyI3mO&G^qgt6B= z>b#9@S68{(v4uHURNj>w?ip?yd89N8V=x|Y6$r=d9WB9yz?Jh)UzB36xRAJV=vQS! z!l#jq^EfsE+o5KgZyn5xCz}{ROmw}o0>-va)2p;3?!kT=hqFDOlC9_rFU;i0c%ikx zRl<7Tl9>u8(9^d}pz!;B&z*9==95)!Hw-*}UlJSikTsg^%zkFIe`TBCXsneWMN$|A zXElW4zx{lr#y@Wq$)I#}QaXSAUcf^zjzUX-3W>-S6;e?T61zko^lvfC%Spg!hsXuC z2#5{|Y_^X5P>M-FAdxa3|NQdy%0&+vdGv}Tf9t@Lq{kuPvm-!$!@}(5EADD54iIM~fI;B*L(H ze8qB}(TF%~=y8a9`O=`!JA?1KnzsXEovgZ5Sa5vM9VzLlqxy3bWsub_H#T-JW@{Rt z0NB1`H*ClB_~f}IGP^Tpa+b|s{Q*JsSft^Pc0OL*N`<0T6lxCJf+F~&&oEE9+sQMB zB!GNOQbvtnWO7)mdlKJB)~t{i7M!^#Sq#uiC5QjPtmDnCwz(J<^K4>ZUNs@%;`eXFoj87 zs-h|k0*<@fci(8a^$n#m*ML~O?3#6#O|3hq4W}S79MH$#4GTMYmXi|ZqO3LtAvlf$ z@EC-OgT;690^h(!I(_+R1~mo1yRLv}H2}qgbLI@@X!dLDvF(&^d%c1N-=7DZ`n{oB zfJS|JD1hP5mhg`@@5LJdC?^bn5MsQ3HIw1YJWA@!KkfiAL7@@Fn}Ktdm`3hnb`>bF)xm2VCD!Nd@ zazo|%PzF<;p6-;X1zzki=o=9!C3$G>^QFvool$nP9$5~v9-aOezTk4u`Nr2qR$Le; zbeL0viQT8Q$@#xaaL+KGEE$o+%a(+dU%8byT1WB#tTz~hkAOCa9@^y^OcivCBs8*Yp<3UUahAV6h@d zpGb0Pe5)t11*6PZzhBc>%P~S<;CYbwv8HCr-fv4a!)=1%J@t!uVYl5?k9lFiM>)3kgD|F#_5B_@Dz;Hnok-0 z;YO1P+UyCj46QN^x1{b05J8H3l*8I~Q|51IYtB6t3f`Kxp*tZZ)H=b+iUq+GcVb=9 zfsSbI^*NE6^PjK%9+rM+LE2hq?7=*^J}A!|&$Sp-Q%X}AWnBjFJ-obB(wFW3u!;zN zAOgCzS6c!li(|D>w06IXW~Rc}3mO&-vdK>(U!eElUM+r2N zC4?tKu1J$t1Xu$CESIGxDz6UtA{dEvFb=uXc8854-cup=kvZEt)BU~OP)z9t$=(dnjaH=eiP4eu1}GKUPUKT%;uz-%S6QeQ+SS=U{&!A0?cRbN>D*10QZP? z0DK2IwNuh&n+-__4^FkXV7aQi{%Pi8L}2l+V1-du(Y8&$z66D)MES$bN?}TRtQ9_m zh1*1-M#t+~J+9&vTQQLvKnLO2~o)z@4E!OinOpL2>q^s``#16 zng<}OY_+o6ZEaqIOi%k8{&~BLerwG#kS0Ge)@gMs3I|?;nrnVx42;1qB29Sh0_I!Z zZ!Ame*&|=#AnC_{FgVr#ffktnM`NfA-mg_|lV#aWr`3%>Tp{kW9Fv6GIu1a{$);~F zdL%O!90&KKaL>8HxQ7A23F6VmqAvY#{~4v0w`ogOgVvf)_ALCq#GWVt3>I&17(sfl zxbo1(j=W*Xh%9d7>(Tp9S~6ZHvHV`I9g1ha^ztX!*eh&W_d+qa51a)M+SE<;qHAU< z-$-XV$0_AC5D49I3A?*zPE%?RDMm@2c2$0zaMIPU()k9H<WjMY)c zySu)*_Ph6fzxSMTUBC05@BIGRmx>$V;eO^l=NMy-;RAriA4OX$5qewPcJN}6h<#ra zJgJ8tenP*^4aQ|p?l{y0?%Wf{&eUGod>gH!ln5{eeW&@{k#@F;Ohf=qdjL^-n$|O& zZ$bKdT5Fv__PRo~y8Qi{&?;E@>SwpWJ*^t;0wybw&^6vm*atI~OHkHKUk3bnSMV3U zn@_DN#LZD`kthbEn?(-#TD0J78U^1Mex7~u;M8b8Y|xx|fvME!3Fxb^oACo13`OCK zrApP>^2>^wfx_lKU=xG`25u@?({8+PoL1qhI9(v|uT|^)G5Bs?QGA(k0}ga}4&$Nf zF=T?McmW4_7AdgF33-uPBl>jv@!vY7icqqQ(`qzFUko^pUVu7HA)bN z_AW;XM?QsqY_Qnbc`xfL%t75nj)t_cfJenv+Nf`ub;sAI%64O74?s1>>iLN@!K{I!T$;ZM3Ulf$jR

    bH=dk4r^>gtj_d->%u5Ku0?M<*V(u#I zk|dZiUC{m#)wsFblNQnXMx^C-;}``7_L$>le+3SHCTRaDlOmcT<@7)p$8&d?5o_SA zN4%38UtYt*0}mochHro3l5d#|I`@l6MtgEz)NPRkk#4~> zzXlVcL6Yt7AzaYwIT*Q)X4><@VRySF=xCiarXRN~1dYH6y<}mgT@+3<3`kM@dAEfD zf$J~MC{1W|KBC8Mr9r~FO_}vyn!N&t(Ft&&Nu^--<}2lePH|g>RTw8Y8Xz8cs64m- z4)6h)1uWc=W#`Q0S#JNu5ZIOK?S0G_tQlko7(cw(}L>TC&PjkDgNzFE0@OP$6G;4tF`+x`#8UnVK? z^50uA>+$&voy5l!r?Pc}19V2EJJ9bLVGJV8*3WSm6>PXY@*hKgFi*<}Ty{>-@;dyC?m>J2 zIf0>YLfc_YIKxg+&~ac@m=@zMfKTtigy-WHVAyx)TPKU3bCk1_6~@U0RW|CAG6-K| z5OtWjWebgIcZvdD#L%7U=q1iydJ8OGa~@UXjS{ZM0y)q~~bPYya6#(m0wTQjU z;>p>1lWDKi`i9OkeY+z^qRV00PzWImpk^+b^jm|_fKCCI8pXtlAU>SYHhM1R6d_z!J{~6{-I=M)99cS@khcXf_p` z!p@^cfVNosc8yU8Wb0-p!KBjkAsNPWoJx~yVs?-YJh+G3!MWNE4Q>k{EZ<&MXe7(xj1GDRz`utF_CUy5 z1PCoO;RKgaeVQ@3Oy%*_vXQ*&Q5CDWi#${|+c1@56Fwlzf@4cn;&Bcqe=Mh}-(LVU zn|7sgmdy=+A*;4YB1cVk9bRIb!WM^bPvShxpyxM&WwHyP+QbnNJB~FS2@)JQZt8Od zR4Sa(@t}`_45wPuLBUNF1)m_^q+4?lWY7_+V~Kuya!lyC$DNc4zg&U0MLlmA*7Q3eR|YUMW6dtUe6Wh&Ev zP3@lLGVeujZ@uI2 z4D(E0e9^XMud>;R_A#!1+x-9R-{!!xFkZ~r>&~lc(W;X@bpP7m{TsCo2f??=nr&jz zz2~6Fm zd5s2~53gt`3J3_`-sK3byc5f~Oh23lLuFZF);rm{?nCxOz$@47_pmu*z@^H0Gy<68hnh z2A?Iysli}0w!X_@H0JHH9RGgOW}J;Aj8RM-$mctAB6{0;3Q4>pN}sB6DE{8TJJ^Iv zogT8|Vz3#@&==~tP2~SH^aok8L{2ik4Npe9#$XR$)xjAUlZjQ+ZuZ{AK^0(K^^}I^ zZg)1Uf#LSfR=)tYe|1AD1%RXLaBvUz0>Z}?G`nuG8Nn5L1f3^Wj6fq{zbN>9Zb(Hx zzyVA+?NVcU#@Nu=^0X6uGVtydhjpBexukCqCIWyT*fDB;*2#P`o~zYmAiqsKB6czw zwt7rt_ZNg>#%8xWp#E)q-+{5A8T2QC#p*DzeaI9w9C%;` zx`0}+Jx-&=RY7Yx^FR6UZ~7o7a4}(S_zzNQN>S7v>&^Kf)x?|vz|e8o5jpf6c>iN% zEfRgk7#nmn9c1*eTCueL9#?@ZwyB~w+td`w-O0#vazK0nQ?Jf)4~xtm>c^%*p&2e1 zfhD&0dbt)R#kR%4vY(bAb5gJ(gCeq*@bxVt{0(H3`nRS(n=rSZ12QveFpM6K)Q)W^ zWaC`(IyT@`yn=9&X80Z7UX@77bk*@;HdRCdJY!-@pjm^N1tk;^iM#MY^cI5 zfq~HXJD6$zQfjHmzPpLAU{*Q^c*;@?KU=}6bUE1K%GHyG=m*^h@g;i*aXrewynit#*rt|kb!R!vg`RW<0*VJ9Pp=)aJT^a%Z!Z4L1kutJqV)c`bjD{-Kr?M_Ya^zam0lRD zlGChR_bb~o@dK(U4{lBgsPC(?I{k*(adWs85yt)>0B}949D5#$qw|`;$|HPT_rPF2 z@S{Cz5bOKtZkQ4{@3h}dZ+wv?1iZClxv8w%#AAg|+x@;tz5DhRa(x|bxQT?)WV_>H z;VbA4t^*K**KL}^_yfyAX5z{R{#QAqgeSIkP$Q-}+xbB7|0F7gh5l!_Rh_SdE_}Fo z(Uqmkz1Tzw=VS!8{^qRvp!~jsqny!}(4m9sm@U|??k?F<`?mG1=O^hVK}OBEe`fy- zAixrdCfDX>{k{V0GnnUG!7>~8ib>_ulHvx#hy9YHnf<#J%5$sfjrU;m3hS8M^aW1x z!uaU-As7%oCifUV95X1)Uj8MLas%)5IL`6wJyh*c@<)3}N}|SXSKmPYUk_Rgc`!r+&TOa9@D?{cGzP@1 z8rdz}UsbB2J%;sJqd`{+Pxs~+rqRY($-1Cy%H><-_gv$oytA~mdR1;Ux@| zp(B^=V}nB(zS0KJCCf&2m@3s$Z~Q7*g7=%Z8@3gKJWq)%>dEwqz}Sl0 z`8MR$oW*vI7MZRuY#g0(8jjbq|4!$fv|l0l0v7KW!K^+vU~NH(O$N! zk;swvpqIbh!=;ECE}a@f2DcCM^p8(w6q45s1l-Z8bru%Cl8v{Q)4LN{TQ}HE_-L-y z>lC+dE1aHsqN{%3`9BFBRYD4Py&|ORV!*q?E8oZVCta6+L=+qI9ROx z_zKune{dadP_EkJ_dOI7&~o{3+9 z9c5%_$!uWMO3f1Sey@uz8Bf>dwl49+u2%oe`wSk*UHilu+n-81f*|grK|*cYk&GY^ z0<|2{K5rW_kbc?E3BBp-=RCnD=R8Qf5hw#z4dcO!cT?Zq@*VcwuavJnPe@88IU`YJ8Ww(mzHq+$FL| zs@EeH;bu@I6)EV~w5+Ezx_Q?wTwCGvYn9_|_oMAL$*O>)fOgqsztQb-xm{U%>pMZq zvVJ>D0b7AvveVM6h+3$a74d@BH%@*U5Zt3b_J$pP;@)U%BMnz6=>csr12Zm8ekSX! ze_vRhOPgfCSZUv^-A$>;$P$t&EQF~&;Uz;{SVRTi*r_2 zu%;xA{nQfJ#_L6K={yw3{{2YP={r|Up#>;OT+mPDAT<1Br{dtH$M>i=(_<9E;hQ(c?TTCO&O#cHz#TXsvz?7Y@mCWKH>bueX=R$z0;9p z&ef^9hK_}2)oRChg*2$|^pH*CC$iXv-E5ET-U3U6)}%+Xr~H>p59f4=7n;N{7V@KX zeig`uA7tYhZ`ozpWN$6}`_QBmh*lD4B` zX_a3I@d2#1dI|4VC|IBRoFy1EoR;N%KM5MJmnHm;3$*|j4Nqt!M7Z`PiEbcmhC#aW zjrVt0%(QeR@(0@AzmeJdtUTY;%0`?GhfE-=<&*VaXT}=&Y9;6K`P=kaD`h&WRs!xk z^Yp?jU;imhk@=gcKr_Q63Nx*FgJ$Lc<3Av}E1-uw<`9=DMg%;al=2t|2e5;lGz( zKS4CmSMF7M>(4*HoQ_2O_0cId{CncR)(GD%m z{xGE`BadQt!RT5 zI2&s|NYr41Z-rmL51zDVKjV}BeuE1cJw^8d@dmK{C(-ke{CFMf8;GeNASEKdAwMkr z{iF|)o$Ya@GumVk0*i9QLn^3LkHNc2q=%A7oW`T~J4TvV)vumfw@%dEOA_T~SY4>8 zj8?_BIZZ)toO+1q<8j^AfQ=!UlcfiIPQhiV_O=Ag7 zv#X#p>N&S%YtPuxR`DzO#Y&_b$7BB&0)#@xb$eH459k!pPgzAB^ll2|2W7WxXSydo zr%4MZrnk&6ww8CCox?I3K_X$-d=&MkBe~;sxe;6_mORJmPs=T2nCq5zbzHni1IQm( zS;zz(qZH$V+jas^$X~@QkKAod&WK-l5-+f14|1B$UpCEmHyKbh`B(7>=t7L9Uf1lP zl=0t7_0bhCSgt0%5jbGLifF&_+^UmlIQmMRFVDWigc-5`M#RJ&9i_&&awO1xZa9ykw zJv$fb+GiI%+0iIU|G54-XX5P>Ul`)Osb>-NhO+0k&rBD9D9fL^KGvsKtT_y6y`(HIJk?lyYwSel4UE*rrzO!T99WiTl z(pv+Tr{sFX5W%e@vS$2zeEvfI-}SyO056jK^N|Zp!!G{3>q0=A0nU!pHmO2e_Ob8H zP`gHnr%UF-{hEEz!|1$BO&1tQOFFn1Bc)3??+g8Z#u}{w>sDWwtxi3EvdOifyQr=#* z;_2f)+EKB`@t=%s33Dg86aOwioe3yZkw{v6*2}+()!#)ZSV9#!|4h{uENQP5NL)N&&<;-$iM^ z*u0Hli$lLq8H%$_iVLP$^kOm&)0YHT#FMY&jVe!FN6+sBe36dpd3! zEWL(NUka;~IRMdci;!hfK70uy>O!$23JRU#A3BCgv>Gh3h*TodTOv8(&9|n)#YX8! z^E5Q?g{BHvuHNArTV!R2Sm%MC`yf}5XH zT5}&pk#VV4q94glL@F{N+YJTwULlG{>@XY$t|7|=D|Oq<7IV06une-SFP*=0UX61~ z!=FwLAsi_Y61=Y*px5Eg@%0F>qNLrjNipQ(vyX$s^f?;~@zGbFopEt8$OcjFT~Sr> zL+=LL)`Kf-rl_Ff?Vw}t4X~%~lL%;)3y$iTn%FAHZq9GPdwL-Bv*=F;)DJ@BS`hIyz zma9#0Z5IWWYC6`s4iG){~D_&FmL63}f;slrL6v{!*Q!7V2xmu)dXi-@x&0>o9>NpL)!r4Bz5g z6e*4gtSv`XD4GJUL+K^B09~Y8)EMnWF+~Nt)3Sk;xgF_}6%pyRW0U@2?gwAOg)G`h zEK=@;=Sl6hewy2&nd~Q%?S!jfE(=!pRkc?y+~YO!qA;CMc~1hRR;O|OOR8(l@}i{F z;|qp&{#h6LPE+P&iX3_r{#{1?e6gY5X=Oj*070%x;0L+TWdOA!vRzl`!~aUzz;#o> z&o8i<8S2bwrYNKIPK8w%l6JO($kIs%5_ryY>v7fC;nI+uUVN~hGsho5w<;s*z(4QZ zRT-o`qVQYR*WV|u=ByV`nZ0J)l)v6h!}xd|MhRD-+k&hitM}gJZOTPGhunI>O+VQjB>!`6%i~a`*>wKs`b~j2G%2_%Ro704DMVMA% z3m%5Fy?VY8t(Gi1f=dgQ2`mMJ#SwuXMEQ@;;J>!zXF^4e4ctc92!)>8p zM?FM3jMT$u!;eDs*@F=2$9!b`V{0M5qg07T|7`3cut5t@|0;&%n|1Ze;HoQ5T_=;1!Pwf%x%L}-mpBK^8^#?3ixiWDotj_o4KUH{ z7te3+H(*W~IT5%J>Ka-kz)v_81u?_LF3f}%>-6o4>0OlD8P`eW-0B`vIemDo;|8e9 z4gVD!sCWDZzvPF=qYp#+X{;whB0kI$Vnbz|sD!O?DbVd_pJAV|n=!gGXu6FJC?XjO zswct=aw9d{@5Mn5vJ9j}b`_&tDjbV`o_|$2#HO1-g{u%cZ|w$qE zI|7}{8}3tP&oYY!zi8fQXt|i4@tbJrD&=sw{AV;fC!Npt4AIDFL^sUKi>~y+HrrrQ zXqI9Vl0NEEOXdVANDm#aaT4Jhog-5?7qr)te17{{Rp8+;G!f%7+1%OXf_loWGM=#B zPznQF)oqz)Ct2OTv*W&W?i*7?s#nXJL%5s2MV;WbILju^uMpCsb1oK0HHe=A z)kWZYd4Ybrm7*Z7I=}S-I=+phGXTEjILgQGB4h^-*J7%|9CdnTpH3~=)S#@fOo5ZZ zHhY?#9~omyBh6}bjXkw*>tN(D()F#D7;9WebeMApA)fk5rd{UKFSi*_!epo0h4gMY ztx@eW)hF2ZdH0n_OyRJYJ-PU=2d9Sl0#`}$>1l}SZ?KZ^U3jORe`lVqAF+V=xl17K z)O0Q;%;_n$s?1ap`DU>xzbp%)@=VI*J;|0B)#G-SCz!=(3@lmTcwr_1)BUtvr)xdnMX2caz>w1oLODwH8 zg>}_82_|>x**Kwexi5w zQ4YZ`yj?`T^2osPij=%GDH~fQ)kxGY)_gWY}EI(m7So!J{T)S z-y%EHWiYnlx}x;7HKbzF7;m`LZn=I_K-212-@~LNH^p;_1Y0|@GF)_R-|M&%F4j`G zc*?H|>|EO6jm7s50ydAym8Hjh@+o(gxL<^M+xs#js3)@xWB-lzx$~F z{D1zp+a$Xx7~8BxU~573{ESF&7cRqW%ln!FG5QTBmz_!E)&MrFP53-IUm-pg>)ICe z(=a>Nj2`@nvNb#Fo@MlD-#K|4V*IVB|Z0M_J9g`)(??m_( z-}T(|Oy6{x@?FB07iQw*F7bvyH5F#sNb{PV?`euX; z6PHPNtZdc~mxIP+fW@0~4oiNeF4@FWb+9(I3@}>K5N;gA#9N~?&Ub!rZY5K45y)Z& zY{eWKw4o0P*lpN#^zXB5w%@;MAQf;C^2C~t%|=^E4r2D>#&}j#^&?G6{Zk5BSLb ztsg)yIM8F3%l*y=knJml7(XIqrTmV!-QTUkm$-0sfYu1Q>yj19HSW@4%RysL2LG%6 z-y`1&Y5oR<%GR~Z{N6__gZ7A9H8Jxvc$aIxk|DQZ#a4q?f#9qU^J`^If zU#d;ZI}kU!ydXoPZ}lQf6_;;tia&tJhIoe*VZcqZ_SyiyD0g&c{Gl%@(|j>Zq}@99 znSX5%tH|A`I5Jy>gXesY9{Mkanw}oF9~TnH-mSd-iP`f;)Z zAb)kHU!iHc?{c~C0l2g`SPgXvdqxPg(;~Na8dy#~rj&PVK`bJE6q4rX6HN`@bglSC zH&nJ%YM<9oY|*-isj}$%AUVxHsF%k2?M(xHr1gSO@rak!p)H<66 zyIFkDM@7l44?dlGNz*xfi097*{PC(rt&wH&MdC55;WBqeef(7qzo^#=-5-PO(j|Dc zZ}_Kze=pnW&3i>P@IIVr|0zLhpAhcq)qZTFUUZ4zq*lLd`xm|rLGiTfhD6_5{N+F~ zsw$eWNFCf_fpJ{$TM-)2%{iZ!jSZtd=G-t6B)}M=9mXrqR5K^cIA^C{O83P`SP6TY(1s3FLpm18}js`)GF%!2NsVjqnWrl(SC3C z?%&<%Kbz55#naeeIf|p6^JYU#-Me=`{uguXKR?sIRku3@aJ}e_3f$0#DrqEWzpL9w z<#89n*_OVM@Ljr;N>r^CtDufzW7lEEIg=Il-cl)ix!J#DfXY3Im2gCdd_lA3=KfLOUoM*p#4s#EyKwIj@ zA5UrZ-mZd3fi##0h5tl^#H^_hVsShuR&*q*D09f<(eoZRBke=3p-N9Ej3LN(*>WlM zvTpLNS+;*z08B`Z?mgYgiD3J<{t9rP~{g@BhNv>szU{@XVc(KwZuEdeDk8 z73)UnoQ>Rjslt25MBT*)#r7yf$Gr<$Hml3tyF9&4@^p}gQAliWe;aM~lKOqZnB{NA z-pT#G67|OC?=JQrC7XxJIw@KmF^rdL#W-DxwQAawrap|Nj7QwjBv`1U7fYvj}mV@;nt_2>DWhf41d#W-t&;sBrd z+oL54lc}%2Q*x2We~QiDOLfQ$cpjvd=&qL-NF?cgWEHGtIpvHnlh?Y$T^gfUUF1=+ zK@u2?|Ij|FDUMEaM3A6hWQ;a9n;3Z~vpjg<_xP^PhV)xinR(R~>F{O8n&#E3D`SfL zA<7ldFYcBiV@55W@d&z&!UZ`+f8EYOFs6G;`rUD`ihhGWb%#Gf!!R_WL61E6(LLqZ zG#{3n@cqZ`Kb2^WdoMA5Vx5-m^Fi8LNl(A&X=CVEc!CJCI9lF0#L40FG3nqe?2yNb z^*O&EUf{Zg+mY5HY2Go&X?Ho{wEJ4PE~X`~9z9ethn#bGt@eI{QSXN}m*IW)k!1Lfxu=HjbIx zP^#t`E)xD%r3&vf)|$}7_nP4XNt!!G`flp~UaexozjzY|#E0o%@?+VSUVA)_Ax16* zLbwqpmXrYMw@27%y|K81>w zGEx8?GQO>uqg5?Ytw*GJt+O|hifIF0!V9D)osH#S4nx;r869z6=_61-6NaXwzcxcQ zk27juO|Ss9fQmo!$vrKc%`=eF5cSK*wVv8BvsszZapGvFQErRt-3c?p;!RH}rGlwY zWuLHlXa8}=lKKu<89|0_+#ke=iJVF%qe)DpAjb<*yT7(B4_8gl+9PftUhiz}j7O9K zc{#m&qtItcyb~9^fBf?Wo~kb^Su#x^!xq}CAX=@fsX$SWdRR5kGO{D zd-A63D>cyz3z8`@G(_}vXOOdu>s7CB8do|e&U?H~alGaN9F-L2S~PA%h?8H_k!<0! zUN#SA>F&onl=}UcBP7#;+=iJP=>hvm0q)^NQzGeH9jc=VwC38ojNwh?}qIXM*FRd(u*ltlYwcV3JSiSKkV zD;Mp)Y6~IStNo{4@gQgyqcQn$`Vt3lDAOa%m*T3EJyqhT_AgS$5>)w=b3LPQ|y` zG6W971R5xVc#SMpWt`4Z>d^4lWb2?rGET>NnpB$*1Vy=*2$%OZKN1S;+qUs2ZV>7C z)-Ju?`st_?+VPWgFRguCwnwG=T6zy5PoQG~+1;^7UT6|%s*ixb38xP-v`rgb_9qAdq1@jARAKPwl{0-|Be8gZJ zGiTG%{|jW_jQpkxXazE-~7{UOR(r zQ5*BSG&6hXf(6%i!SRzbgRo#`q9>j6o!M)^+^aOUlA>+b8t?i^{+-lkyv@A=6m+)8 zF3gl_qGVxC<}6yLQ$LXN7+i5muA218bYH8k5Q6C1pR;i-oi$=hX&%_$&{#B%_)I6t zyhO6+hdgW)B{ic8E)7UO`O)i#wyp%~U|$(K@><8>LeZD5*~?gxDNQyBrE1X=sNb*1 zB}cQ&zIKJ5IBUhj&hP)-0#({0N>bD$S@!+Rv(q}cP>_H@RWpmGxQ2|qvN91#^_`LO zaxG*Z%zjPw$9vOR6?A-=c`y;kHnP?k9GcQqE+}8s@KD~C=xIWcG^GX6-EW)LY`(Z| zky7t*gec%dwx#5nG)H;P1^Ym)JP8qc7;^A(nj=E`H>5sMG70{JLs+Z~Iym^r`OwTR z7s0ny;Jclx4uc>k9P@9 zxwThWv>I@J<=rZ0zpYHg#`)1n=S?U5b^V<_Krsx9_m|3SpFWmww==Q|u6v`O9{=N8 zY1Z6&2+SpKOCD?inL5|xV*u;a_XR`E3Kmw$Nf;PaUt3F zXz;vvjAzMB5E*1&>CBv3np>rSas|9~lKqV+2UGq#;Jxf@gKszuKbK;V!go zzOeTBk{RQ4k=$;RMyfKU%axSt(XVCFpI^+0IfvS7Oo$U@yM-ang$BQ>(Vee)YxrtH z1dfiA$+A59y%6X5B;fkswX%8|!`L~Gec7zLLH)Gs9!E_H4@I>NjXT1=I9fa6b$;F#90SPASHY4yyk!{2S=|r-v_Gr|`DZP4uOJ*$*+pu#dZ}qi_9MC;dnCyuLe8ti#VFzoj_zJsv?b zN1al=?>Ew>J1Fh$fU;D^KOS6}G6@69t5GCpgHp4B6dn&V!l@lpDzCga%B|`b$;v!( zBtYduI=U_5lur%^_jfS^kq}JdoU&xg^5nAreP{Z8cKO?tufx@x#C{*82pb9io2K3S)4-6Xq{H&19`ry>a%)+gDUi~u5o$fvO8GP0d^gVZYtZ* zdqS12$p#8bmg@}~W7aXof=%#jZxfcE@4H-SM5T8wu?j!`6C;=2rjLSHSbpd5b<@)| zdW?tGivglz{_8VBLj$fqo_i!R*e;i^t5e><&u{?JBm6E)irHRku}HsB&j=7&H+?)T zQ$f%#E|E5ogb+-y#YuQxHb~ND{-bzditY3WTwp^n!zy4SKz_|!Ljqvp_>q$#qIt!6 zYj>?qlB|=3Kg2ElWEOPah)c!+VuVb>eIQRiB?ecy>KdJ%s{?(ax-Qz@GLd3eTgMm% z!VmLq?Gn>pVTnsfOJ*?Gv{k&Wu~sfs1G!4o(-vYyqd;__4poE{z|Ui`uNDb**ozLm zukWL8e-Z21u5KAFxKi)ma{qDt)W}eezUD82nHPSK^1BN}_F8os}*$(tU zRg=+%CzA6YCQU~Lhlw^r0pp%y4P35UznIQ~lU3Zw|2H5jrAHuT%DHOaQh9pB@cr*# zQq~J=3S%%0$(0S3%Qubr#qY9GuKwzVMT}vJpdH0xI8fU~Q=cmTEd=W?GWVZw**{BQ zWgm!KqZduMDeZn%|7atBQ#|U+O)RgLvv_7aJ{*KlF(Ff@C-pa^%s87jcxWhZMIHA~ zdXuPL?li9Uilv^}0@DL^)Y{2N8Amd4hALLqIx3k!Jn{`7hGVN-!w zWm*J3C^zMTCw_bpmNYyivF$F4yRj6;ab%!hz@Xq|L&)*&F4aWPh-bgr5{H@gFa=r8 zO(APMKE%>948;hS^tj0N(-1uHY>Tr(2; z4px|!zjzMmL!4qRs}UTfwS>-iC9uP%4EVKutm)}8tkrC1|!SRPy)&Lq)| z?6(eEKL(k|(#0>Gxzc)mmj;L|*B~9w9qrARM~N7JW1n?>qba|1sw1|rn(%>s@Jf$t z8osLeD2JMup7Hn~DpMQZp`~RSrtQzfJ$C0^e2H$*p$w5c=frcITP^$i=^0qjiJUuG z?I$w-(gKt_SC{&;$|QdLhfJ$yThEU5X|mJqMV-UTSO>`2LF5^%3x@{D?FVu)0P(6*j18}? zj3Ee5(;vy~e>blU1(p+o#Cyt1d_;~x@_%%;vq{{3Ao$HW7ZWVMiJ2F%$3-W%xd-cj z8EdBjJaU9(N`B>Q347%2h2;HT{dpZBh~*Ngex^5f4@;5mt~#XS>I6j_7G+N z^8|N>8A#4JTIcPjh%m~akkIXl%lmMZW{}g!r3U|eRMFE_gGQlu7w3%6M@R;+&C#R2t_^_*!Tj6J!>xz@CoDWs zS(hw5!}3%2Jb(MV)_w$n^nVXlx_?UE<_`BhrcmsAok|X_ryCw}u5#27+X_}KE_fXg z0^%CSd`aonY4%HOl5zigxKk(dA60~q8)M6f;yk743=71(q@CA{iO!b*K ztmw~SHV9CYlu5D^Pv>64d1iDn!lCMDGu!VrYYLUwxk`~6hIpzL`08g9@w0ZI8Mx0@ zB^W?`;=xt^DIE4YDF<<#Big#g+NFMULj~TzPxA%v(BhO1Q^hLP^F&MS#YPk|8<8Ab zN3d#1rA?r)dPgPSGq2hw^V^%$i%w_rQt&egdLllnkiO?UpX~9*X<4CU=Se#P@K&j43@ff?u>|2EY6l-012gbMBcTY+P#2PEfhOJ3$j}UHBTq}?L1V1gDU4Cv(W@K* zQ(Pxd?qB+G?$voUH!!ehF*OUsgKYNSWK;btG zS1m~2&2X7sb*aVE+Lwt8ke{4EbJfJ*mx zoJ0K+-l_vP?^c0EE4LA+vc+M2+eB*PH~85L%JNOLrv5Jy7VDNY7*UAJsbiSy;gEjD z^A#J?HAq>EFE?BaDOtnFjc0|8EPk!!$Dg!>rjg-piVFRVnokDyc4q_khsGq?$SUhw zk+b&VS~*js4Vm~k`E&Nc)N`TjIsqn~WaF(Ns&9qH?W!n7;Af~k}30T}RDf<=i5T)U^bmWTZ{u;!~(DmLcdL$Gzogep>UbJ)B z?8kV?lv$cymp=tA?bmu3w_LUN%PNW3>BMY}7JZXUq3WoQ(ZU>7K%IPl+P+dCnFYw= zn{GMF#qG*IfvxVbf;x@j++R#_gP1375WDHOS@w5%=qv?kLSfchw|}+`e@{-q67oov zopr37qba8uBj1VD7hPbtkUSKRW1jt}u?qkIxR#f{v6Vji`{6?yxmyW%p;d3V{sB9g zTH>!DVF%r~QN;tTfUPUbD7&jc z2aC=@?ob^&$iBQ%B%UGGYy z7IN-OjfV-ntU_)gc_WJe!tI3Ba=ueJ+b~soJ>x0TJ1OiAmZbE=um=Uzq?;xrH;TCt zEjby_I|czZfyJQ7BrIFcsU;UeUKKc`kgtA}U1xOlji%<;f%!uZbOtAO&wstG-+`tb zCI5qZc<6+%32hD!y5=c$DdWCm(Nf#TaX+-YQnlpcYbh3YH1)ZvwA3Z)jp25Q zOJ-zi8t|q3G>CGT2=@4bF2eaE<3t*9b89ja06R(UFI!_ATYtjx)6$DH>PW^4aLwyu znKgJQKxvg=HeN|p-b-jwzx5)SoUH-o{p6AZ;OH*lqc3P3LFVI0xki+1{gk3hHUJg< znNT2dV?3mdiLNM>Wtz?D;Lj3D9O_{o0M>J$CI3$p0SE5&-uA`Q>r3a_f zzn?7}j3nIV!s|)pubh_ym8H-mjY7!WTEM(fn&n<@voMXvql0H#=Vm2Wj5+yj#xNVd zIH%+ACAdjc^VwcS(dP#my4)}9GiWhNf96rlMi!1aQ0n*ky-mr)_c6J9Ge4zkgkaO5 zmzIr8mc!mWzX%4ev-75;DL>cpFVI%8&e&$?PqP>eUChC0HQntqa+N>h>!H$IW30= z$3s1etKF@qk4yIow8k%?%N+^i%{S@yT-$%b(J6hOQEr6Qnz_$9Zb)?R_B4}D3~LCV z^R8W6LV75+yS1#fDq4T#-9SyXG&0Qor*%wtg_Tz+Z2Q)c(F>k+H`Wgdr#p|E<0tY* zedo{ZCyiRv8JkCh@-gS-O-F_M&kZ&{G?UWaAeNof0C}RBPM=B2f{X~zVB6Wpd)aY< zPy4Rg^Ij;^c`$XkT|qBm%8EpRLE@^p>{>^2R>>5DnA^lP+e87;h6f_vq3zMWwSQnf ztj^Nh*tlS49G_|kdYU0Y>G^v$z0si)Rt9MlR|+p-*@LEs-C%0(a`T5O?uE-i^n33- zwd=q|t~9h+;lC&WQwV$=AcxQfFN?BI`Y?0yFHWvP3n_cr@^IZW z<-2_w0Aw-cF5IvF^Uln_qv?__106k2x&zmz6`Gxk{aTCmF|fl=+h> zXE=+@D$54V?vq)(>QMKFtxa(cryoRK8ZJE-*&amGSl9Su7NxmX;J*V!BhLubZc}Y4 z8(EtFL)u$LMfJ9Q!$X5eh;$9q1gftAD11caL(%^t} zch`IFf4X=%9Tn~|8`Wnlo|fcEVr9BowU_h^n{HiUH)oGP6i%=q&3?`N$d8&$eqAf!K)D1 zd7s~xiLCQH0Q8|Ym_s=)It_z95lCq!IwLir92^={qRYT27<1=X*#EKVEGc#d4eAw+ zBOy-UCHOy{@@m{=Kz4S1Br2H!_pE158=D~S53T9OoHXvwo7myRkt+EC1?ERtjRJhv zr)7I#S!H++46ntYdPxvmtNAWI=`qR%pgZDr{2DAAi$h(3yj0w3ljH}+l5+JM04!DE;OOhypM=&*N39g*GiF=7r8uNEG22@QV$@o3fo zPbqpBg1Io6N;fj}N)=>;7lo~Rt|{0GAwqek8?+~2DmchW4>z5pYD6-DL zM;sN^uH;2H0tM=W4fycWz$dQooK~8WEB>PBM2y>^u)>tlP@N2)1SwE43YqOD-`vsu zqwciSi~xs$VA*pU`s+w8IEzC&kio|MSZ$?q5oXD_c?R4ylVoPLfPnCrORHitv}D6J z#(Wl4OzMEN>3+^tP@=%*GqtMjcz*v7B%;-V?oNv8kv|Z`B`vZF%>S&2CX{x2{l$%y z$nP4LGZEscLxE@!(%-4)^?8GaiSf>Xt) zq$-(#gKU7TWlQMb<%U<2s#))vv|b?m>xld+h@`VQ(DZrM^s6K~e;mDk2P?QOdET%q zwP}cD_=l}>;c&&;J_JjDu-%eeFMpgpo|F9i%>=+?KP7!VIR$TU?;g4<(P&YO@J=N} zmz6=x& z&X7AbQkYhP@q@pw#HIAavyfsdx(ggr8onJ3Z{fPo8QunXKXb|?Q4As|VMh``p90#^OZ`CIsFP|dw>ioHaL)9hsR zt!@a+Cl3&cfoHQ!LdQZIP$<6->)-yD=*%aH4tgG(`_Q9;W19q)h)pL_thyHKZ;6vc^|E zjft1eYSoPxE~r;Pa4tM(4Yt1@!mAd#PfXS}u`>^5 z3XBLzMX_)0?6Pr)$|SfHoWri~6cil`VJ9SkFpi0*`Gv`wB%)@tjhhLtQVp16z>4ir z9%Pqb=~Vx=dkXakz*NRgM=+nT04+s}=Y)aHCG4gJhKabf2Tau$ii>Jg`Z)BN5-w#|Z=1L7p(i=n%qq}nkml0~$*61%o z1G`ZZTg4b-Ac}gVAOQcfHZG%T>u?QjpbN$50r34LY1twYAr5ZP7)wyEkXXDm8x;IP4jp1onZ}tVPAjVE4Bm#ZjK@qpI3j15n@bq zC~%YBcHcPjz^?2!+3<5HCbaU~nr@bEg#<~)0r&7lOepKaV!m-(@~s&%mJsptV|?3P z1Gx*3U-a(tR~9t33UbXIqhJCxZ>9Uh`;9xig0#A9$U~y?OlR<6;DPxtkrzAyuh$ygdd}%IBGe)h*fF|awy&hV&PtW7S3CnYY5mcV_@lcR|zE`{O~TZ7zGo# zsxufCL_JE=4Xh9EAYPq|=RJ(aNp?K5DO3fsgW_{Wa);z&n9nYcdjMV1=E$v-iXv!} z2!a0rU9aOuvjQM2_}s>I$wN$8(Kf;NKC&&z}KMN=9MqL{~+I+&lD9 ztLP-;Zc+PaI^lp|-saI9$2Xfqqp$SCtA_TP(;GF)ZBT5sBQtF@{ zUoY$Ab)JnBbtZHtm19I}9qUjgKFU_lD5tc`1oBHREx&yECv~O8`AeT{c8`F~j*J?8 zT~lfX->9=m4-3B(bYBTS6w~jZ-mxl2gz>b5>_Gn0Nl;Ck7A!F)21q-XS}sL1D2ygC zkLkUqgPcJcv2>Y@Nh2V)guc&^97!0WRXxc@TPI0Kkynsryxpkiyj((`=@&3KW&|pJ z-Y|(8%T59aX&yP;S8FW%%#vQmbTi?s1JSC0Hb=ISmEY-INtPWka42L9O8sJs)%aVH zG{^?yQ3WDA5R5qQTuKWO12SQy9~z$?R;<&G44>UKR7kJTl2kl~eTWCSnu2lHIDTQ` z!{`kFET#H`2D5U8q!$oL(mPkCNN$!5ENahvey<@YU)e_Q7D0GiFsJ*c;5<*!P%XL2 zmUs3sG5{8FK*T_hoMQV?*3gsb?B`=m@!-)@PoR**WnqdeN1tzaO@R}%e|ErT#M&W} zJuvvl>xI5kmWeeg`>1ue{>2}?m9w3VI|KDBXc(-@MsT`PaoOgqF(bYP7rPOyt^!$V zO3fJvk@AGNEcYpe(#HlnI=WeoQ{aPX=5C?(gSGvXsttcZeztF5x3Sx#JRpe zAU5c!Ah|LdHP$5?`DN=ss<+e;UgL)b)0L$WjmSToLZG?7Q_+~kcV(Z(zT?E*V`)k) zfh8;+$FlfO82e-A2s!yiRvh6UlW;t z3zk0GQ~RC{OP*K~vk^MyY8H_sgMn-8kwOwZZrrm{2oVrVo11k4Axqw`diMbZ+n{nT zK8QpGXDGiqpc0*Oe?Pl61(0kVPt&(}$$sF;f6-^=U~IwE8o)g)W?BM!ov}MH>fgk> z3=Oetr`hEg(#c}37SW~ihczB1c(C#4_wjg*>wmIifs-$L$_hLhu3HuXW?$mrp*s!K zLd^ogL#P+q$J04w`{iEghUUOW>CTNxS7kZ{R3&Gcu6}Lh>RS4srP2KTzb2{p>lCCV zP8w?-75e{SuzPSDrMOF>qsQV##FS0%yOfc&vy%M{goWSV!6>{eNtW1wrBUIGn}a=H z&mg_})>mD|^qqGL!Gye{QNQ0y`820et@F%&4TCxbCu=Ut+gl!5u)gbjJi7{AKv``J zR?{^ScR!;0jH1tiF$HX2b6smAC35X(oD@-co!9!mvoU_)fV|AgFhSYVv0g!0(&P;= znHJtXRAvK5u`fTfx!Uy61Fpw0`uJP@>djMe&xlikwb{3bv|xV%@WobsFyM+JYx_<+efKLJ#fiE_l2 zJlL`3MYQ72KPN;|pvq{>4Dm-X+QVzOolvxA=|dT2KZdJuOQ!LzS7DYITDLvDUrS1l zRg#QT#qr*YwJt{}Dvhbg!2WYIL{veRR;nBPdv*w-Sq*tBezWjjCxFTx4OXhr z9lwIo_yD%S*+ag3r4dH_A{^^fu(XPxhNzIn8UyDEKe@lylLH_y{rNT2S$GEw+V_~7 zOO>a+Fj1!;t4!Wj{?SZH=nQfWl*(pC!@25sujRA^8_|Ph%~2kFy+A&58ivQ@&tLmG z89Dc=G>U7;Z1 z>%zZ+ujJ$(0S9%@4Bb&{d|TRK;hI0g8d!7SnR^ROApCCAJj|CBsIW4I5*D{eF0UYpZ z>%?#FNTe%zOMZ;$bMLa^Y@EaWUU=DBS*J1yOMatu?>q4C?%b4vNGM$}e5Q~64R7&y zO0bjrdZ8_cx$&u(e|6f~9DBl3ilCNrLIvAYsfjtMfwI1HBixrMUPZBZqvfspz)ra0 z9YE%g;ZZ{qW9gXCa66@9v0jZs^RF6& zO3nonots5*e)oSEqqH7iFs>Cq5(bBk#)!vxeZ)6qfWmMRpxX(zUy~3)d3%*Vr@@@7 zVUh?3eZceG#jLKZj|O=>9(Gn8Dm)j8dI8}+ud53w9xpsf@1)pbx)(4@hkgbmgzg}f zX?Z6x-xs{@(UmQhC9q6r^R6M|7r%{rYi)50L z!4^K6Kwm5%MgZK1;3z&(o_o89ZYm^Zz+MUY2K{R$DAB6xBRa+})84}k`@t`UCf znMZqH9ApkuKxmS0>=?oHZ;=Vd_tazrdaoSpQ=(JT#-f)*Bv4EV#{*ra2Onn=Q5&inZf6QdR6 zBNWps$_};h&sx2LpgE>w9Ox#kmN?}8)&f8|3~;^qO&?fnW?Tn|0ki|XH&yLU;c!hc1*76PL8o8N{XjR9RW|af5WW#IJJoLK` z-+SVvMKCqKJNDDpqCIS=pppP|_#}{u(re2S>a{dB=Z)7^=(zLUOR zt3V?n(oE#BpQi1c)2eTm!b_)0z|Ss|;_^*R0%R}M-5-Cj65P~_#O+an`$6(B@R*=y zd;ipN4~y}xzQ_2B-4~=Xuthr^DN5QFA6mck`Ud?3x^gh>*%cF!gIxd@)``>HFp8i}{ZJm{boXa2 zEJwm1pEo^3g{L)Zwf+P5*%M$3wdc8yQifZ>G>dZAnl&>58?rlAEM$ zb!!LBT1J~km*E8x`!}A!v<2^9b*hPL3@-&pLlYPSfJoU0pMJb`Ml0R}*&A_1s7Op6 z=#127YOrj38b9Dvy1G1%J`n*+PpUdN^Y7*lN6r=iB#Jv|973XK{%a)aA@g2YU=^JF zVYaLSpG%C&()^a-v7voX9pH4>IO$}(4S`GZ(||})SX`Koe*4LEmLU_T$b^nDJ5Jsc z1Xbv9jJQ*`zmcAGN^BgM7uO%6d`q1n$PXM{Zhlvu6#XyD(vd0Tt|NW{PN6oy2jAGm zk{2K_69Kc;6G6{_{e06JMPl)9UE$L@Sa`$*pOf$f`igHgfSlQ563e9_KL{YM@9YxGiwwLbpjGQr4(2sf)&k*4ueyS5 zULu_4TtOB>jr74NYrH89DlF@o9Otjj4PaDWHs1x}rdl8)MZHxKI=leV#wn0=7k|47 z|LkFH<~1t4>2eM1<%(Y)TqyLE-0BL8S!>g?ZbEvPsU(-i<&PkMvI;=fAA6voL%nfx zmxr(K&LPn>1{%h@-C$cF5O=L_yb8GQ1|q>`4d6+6^?^aO%NijF7H+Mp(R4MVXa#ZAllFVDR0E> zwBrLvUS-!f9ZcA2G{8#K+#9rUgsa7hEqL4b9uC#CD1 zkR9f33Ub&cp)#<`P!oZ&?f6mr&*+AesDbw2a1x-(wgJ%r;4a*fKY_C{i(rJqI|UakG8NV>Ebu0_=u%{6{499fE|vS8|YM0oEBb zbM`p)(Z@DY zonT8BqooTJ+Sh65uGH&JVx~JlmHg@e4PXo785*Te5mJ3x3FmdURsl>jQ_bf;0j^%1 z+ShTUB(4m#Yt6F2VoJY6SQ1W+T)-S|?31E+Z<}xb=Tzt#^;Ptw5%?C-st8o+0d$-J z8~Ba)$#6yoRZ+v7)-kY3bPj|tB)-LDT6xW$`V1T^Ua@Lx^P_{uI<0BpoVnlcf+T34 z=Ne%yk|RcLcTx=TwWxyc4U2~kEr;s$8QtaEUAwt=HQR2Auo+(wB?7Zg4kG*7S;llW zjpuxJwEfW1rm$jIu(xa!`R&(Z7N%Om**GoJ1)cPXj~PFp1db}uN2%CTzt4?=)7xSf z95>EES`Q5vx|6dAGy=BI*K(r7>26!iJI zjP+2n2Q40YNCcYz0yO$5aXi(a4@0$WK=T{B&h2P%cB}!HU=4EZw7Y z4=94hSaJS8bvveRI0}5Tdp1CN08@|WXBl*>=eL4C8+kw#2*}s_`nJig%I+eN6L2+Y55Gk|nTAIk!mchxdWaHx#GV6$r$zE(n-%Ou` zE=jFIVfv-c$|W%7-Rh&q+=t*D=|tH2$@)QpueGSS6&(eWA`5yr+*=AaCYXK$|`!2(Ex~ z5ZUOz6j9Qt@Ton^2!3<6Bl5q<9e^%X%DvT`5lJJ zo@J=W6b65?;Kbp6y`5G`&9C(E*VOQc(!SGyS8#tSFvLp3G`q1gh;VXomD|s)#{g71 zdjK5HU7DpZ?qF@mLeT8OfI+4w|K@gIqDn`U?l_KEv*1PuG_|*BvZuJes{^Ie_lyU- z92tD|Qz?mmA*R&gh%EMevatQT2>_QQF+7znA`Ftn=WGJP8{J3BtnU+qY}xvH0LU+O zd>vhjDa>;{H+EG4Poz~Cr`&NOQ5z>aV{a2Md)?&Hj9(*G?o2w$sFmV^yV68vRZ=*&{z&f4Ai2f;vppsgmJ+&OhcaTk8)Xd`Q zYEYNtMqw-?$oAJKs(z<(r5W473FX}fZ}o}zv#91M*E*lbFlo^_n9Z&sq{&YAfoe{L zFtn-r_`^_fM(H+a>G0sKqt&e6WXv{@1#9q`MU1OG!J}n-r4}E)y}9!@pRgl^s7Ry6 z$JG*Xi1@HAUMR%sZ?^GO2c}hOp!XNKI1@hOb)rMrM&TyD0czT-qixqndN4y5 zBJ=AjU#1EegXkh>pdIcuy5inG?$UPBeq=8v!DG4vcwbM5zbL64)_ifrft%e`azt}=_eY^1#3Wij2PRpCrSA{ ze{%Jk6u;YFSU$XMjMuVN^ehzY7SJ6VD(bOS{vdMm1`>>{c~laQe<#1+?a?Fb9#Oiu zmom#;>GX#-A`1+wrRzEp{}x3bs3@998sGlM!1ph%4syAm_?I1w92aX7tyPgP3Vgjg zF-X&9FUTQDfHc|S znW^V6i&-(Y=c$>(K6wLEu}~ar8$dTa9acjJql%a5n{{tv%9nmf(cH8T$+x%T@rV-DCY0%l(Z^R%zGM|>VDCeDDIk<3brX%hcLF%ExfbkrRs4&mIHAsSx|E~J%YF{H|D_AzAP zJqWC1CxE4h5Q-3d`&k=EaAQM}xxlB6+q=gFYaCLZCS-qyiHEy8oCN@VXS`el2rucy zaLXUSf1-|hirxu^o!akW61D|9<~cq#F+r5$|6H8__4Uz}N1?J;%!aDsU9}d^jz2M- zw`1sZBKH!z6YB>aa9O`YMjbty*MM^|2rSYff9l|Vn zczzLJy2fp)!Yx-!4y_kp0LPUXad~uEC&EC%7Iw5Ghq1F3`&dJudBYAC)BL8lzdiZ@ zt9fgtdwHi8$Ctp71>3tG=uXJwURtlQZ`UcLN4MS)FwhnE+}$Zd4M((rL>8_q_gd<^ z>%)pI$NrMxT-z1xRJp~%?2*2uL|MxYvAbTN^Pn(JJ(XMyy5r(zVs@-m8WIv*;|9N` z#Zb+7kw>wc@i2fpId(7O=o-YW(%pIb#PL0+`bgAnutXaTX*d9TWIjFA_x87&{8qs5 z!Bgvcg2(e@s0&Gu^$(ZsBs?yjYfESW;Y2@QVh(}C?ru?Axx2}ah4A=5L{NVSklz{p z&=2v@X-SL<1mo1M^-jJYq;>ZJ0U49Tl4~*jFV2}4Wj^XGe`5(u5N1i&o;~@)q4Em8 zE3a~~nY_5T?x(jXPSt_zlQ49ryw_C;(k+A!kF~2XCiD))9j>I*e8NEudw#pQx+fD= zS%mD7V6%%WHL&5ek4S?Anoz1>!VGpi5q^vdi2nKqYD;seG9@~pe z^)-TUW0L|TkYG53HYE**R-{xvY%EpzouK?-S1$#?bkaqu2SEylD*EYSZdd!{&~H+! zPM3k5+v2nq(p=O+7UjyR2kie;IN@S|&~-cHaQ(w&{;SOb7Uk)GG

    cfQDX_y&Nk9 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

    ifA07)emLDdEkW}@ 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�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