-
Notifications
You must be signed in to change notification settings - Fork 396
Expand file tree
/
Copy pathAlignedProofAggregationService.json
More file actions
1 lines (1 loc) · 77.4 KB
/
AlignedProofAggregationService.json
File metadata and controls
1 lines (1 loc) · 77.4 KB
1
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"VERIFIER_MOCK_ADDRESS","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"aggregatedProofs","inputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"alignedAggregatorAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"newOwner","type":"address","internalType":"address"},{"name":"_alignedAggregatorAddress","type":"address","internalType":"address"},{"name":"_sp1VerifierAddress","type":"address","internalType":"address"},{"name":"_risc0VerifierAddress","type":"address","internalType":"address"},{"name":"_risc0AggregatorProgramImageId","type":"bytes32","internalType":"bytes32"},{"name":"_sp1AggregatorProgramVKHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"risc0AggregatorProgramImageId","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"risc0VerifierAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setRisc0AggregatorProgramImageId","inputs":[{"name":"_risc0AggregatorProgramImageId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRisc0VerifierAddress","inputs":[{"name":"_risc0VerifierAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSP1AggregatorProgramVKHash","inputs":[{"name":"_sp1AggregatorProgramVKHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSP1VerifierAddress","inputs":[{"name":"_sp1VerifierAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sp1AggregatorProgramVKHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"sp1VerifierAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"verifyProofInclusion","inputs":[{"name":"merklePath","type":"bytes32[]","internalType":"bytes32[]"},{"name":"provingSystemId","type":"uint16","internalType":"uint16"},{"name":"programId","type":"bytes32","internalType":"bytes32"},{"name":"publicInputs","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"verifyRisc0","inputs":[{"name":"blobVersionedHash","type":"bytes32","internalType":"bytes32"},{"name":"risc0ReceiptSeal","type":"bytes","internalType":"bytes"},{"name":"risc0JournalBytes","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"verifySP1","inputs":[{"name":"blobVersionedHash","type":"bytes32","internalType":"bytes32"},{"name":"sp1PublicValues","type":"bytes","internalType":"bytes"},{"name":"sp1ProofBytes","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AggregatedProofVerified","inputs":[{"name":"merkleRoot","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"blobVersionedHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Risc0AggregatorProgramImageIdUpdated","inputs":[{"name":"newImageId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Risc0VerifierAddressUpdated","inputs":[{"name":"newAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SP1AggregatorProgramVKHashUpdated","inputs":[{"name":"newVKHash","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"SP1VerifierAddressUpdated","inputs":[{"name":"newAddress","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OnlyAlignedAggregator","inputs":[{"name":"sender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a080604052346100da57306080525f549060ff8260081c16610088575060ff8082161061004e575b60405161153490816100df823960805181818161096101528181610a860152610db10152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610028565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630751299c146111035750806325c36fa5146110e657806327d3bc9a146110b7578063294e3ccb1461108f5780633659cfe614610d935780634c46688c14610d6b5780634f1ef28614610a1157806352d1902d1461094f57806354687ccf1461080b578063616af4f7146107e2578063715018a61461078557806383501b21146107695780638da5cb5b146107405780639367a05a146106f85780639eade0f1146106905780639fc0984b14610648578063a52f681b146105e0578063ccf923b1146104b6578063f28c3e37146102d5578063f2fde38b146102445763f6e04ac414610105575f80fd5b3461024157610113366111b3565b60cb54929493929091906001600160a01b0316330361022e57602083868101031261022a5760ca548335958794916001600160a01b03169060fe19820161019b575b85887ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208a83855260c9825260408520600160ff19825416179055604051908152a280f35b60ce54823b15610226576101ea87956101d8976040519889978896879663020a49e360e51b885260048801526060602488015260648701916112cc565b848103600319016044860152916112cc565b03915afa801561021b57610202575b80808080610155565b8161020c91611133565b61021757825f6101f9565b8280fd5b6040513d84823e3d90fd5b8680fd5b5f80fd5b63921f325560e01b865233600452602486fd5b80fd5b50346102415760203660031901126102415761025e61111d565b6102666112ec565b6001600160a01b038116156102815761027e90611344565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346102415760c0366003190112610241576102ef61111d565b6024356001600160a01b03811690819003610217576044356001600160a01b038116908190036104b2576064356001600160a01b03811692908390036104ae57845460ff8160081c1615948580966104a1575b801561048a575b1561042e5760ff198216600117875561039a918661041d575b5061037c60ff885460081c166103778161138c565b61138c565b61038533611344565b61039560ff885460081c1661138c565b611344565b6001600160601b0360a01b60cb54161760cb556001600160601b0360a01b60ca54161760ca556001600160601b0360a01b60cc54161760cc5560843560cd5560a43560ce556103e65780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff19166101011787555f610362565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103495750600160ff831614610349565b50600160ff831610610342565b8480fd5b8380fd5b50346102415760803660031901126102415760043567ffffffffffffffff81116105dc57366023820112156105dc5780600401359067ffffffffffffffff8211610217573660248360051b830101116102175760243561ffff811681036104b25760643567ffffffffffffffff81116104ae5761057961053c6042923690600401611185565b929083604051948592602084019761ffff60f01b9060f01b168852604435602285015284840137810188838201520301601f198101835282611133565b5190209083915b838310156105c15760248360051b83010135908181105f146105b05785526020526001604085205b920191610580565b9085526020526001604085206105a8565b60ff604086602093815260c984522054166040519015158152f35b5080fd5b5034610241576020366003190112610241576105fa61111d565b6106026112ec565b60cc80546001600160a01b0319166001600160a01b039290921691821790557f80ad03c31df486a2ab8f2fe1f9e0597e290255e749369a3e0cf3b1cf34b180898280a280f35b5034610241576020366003190112610241576004356106656112ec565b8060ce557fd3ebd423ec4ce2fd9832bee3fff42bfb79c4d946682f5148d26655f99a3855788280a280f35b5034610241576020366003190112610241576106aa61111d565b6106b26112ec565b60ca80546001600160a01b0319166001600160a01b039290921691821790557fc34d8b9ef5ec2845c44a69730b4523b5d66bc715b6d4820707ff1f40ee5f1a9e8280a280f35b5034610241576020366003190112610241576004356107156112ec565b8060cd557f9b30076d63098a951a7d18845ba88073e71ac62778e98e997486aee85a5c42988280a280f35b50346102415780600319360112610241576033546040516001600160a01b039091168152602090f35b5034610241578060031936011261024157602060405160ff8152f35b503461024157806003193601126102415761079e6112ec565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461024157806003193601126102415760cc546040516001600160a01b039091168152602090f35b503461022a5761081a366111b3565b60cb54909493919291906001600160a01b0316330361093c57602083868101031261022a5760cc548335956001600160a01b039091169360fe1985016108a1575b87877ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208983855260c9825260408520600160ff19825416179055604051908152a280f35b815f9160209360405192839283378101838152039060025afa15610931575f519260cd5491813b1561022a575f936108f8936040519687958694859463ab750e7560e01b86526060600487015260648601916112cc565b916024840152604483015203915afa80156109315761091b575b8080808061085b565b6109289193505f90611133565b5f916020610912565b6040513d5f823e3d90fd5b63921f325560e01b5f523360045260245ffd5b3461022a575f36600319011261022a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109a65760206040515f5160206114df5f395f51905f528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b604036600319011261022a57610a2561111d565b60243567ffffffffffffffff811161022a573660238201121561022a578060040135610a5081611169565b90610a5e6040519283611133565b8082526020820192366024838301011161022a57815f92602460209301863783010152610ad87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610aba3082141561120a565b5f5160206114df5f395f51905f52546001600160a01b03161461126b565b610ae06112ec565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b17575050610b15906113ec565b005b6040516352d1902d60e01b81526001600160a01b03841690602081600481855afa5f9181610d37575b50610ba15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114df5f395f51905f5203610ce057610bbd846113ec565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610cd8575b610bf657005b833b15610c875750610b15925f92839251915af43d15610c80573d610c1a81611169565b90610c286040519283611133565b81523d5f602083013e5b60405191610c41606084611133565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152611483565b6060610c32565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b506001610bf0565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091506020813d602011610d63575b81610d5360209383611133565b8101031261022a57519086610b40565b3d9150610d46565b3461022a575f36600319011261022a5760cb546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a57610dac61111d565b610de57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610aba3082141561120a565b610ded6112ec565b602090604051610dfd8382611133565b5f815282810190601f1984013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e42575050610b1591506113ec565b6040516352d1902d60e01b81526001600160a01b038416908581600481855afa5f9181611060575b50610ecb5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114df5f395f51905f520361100957610ee7846113ec565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590611002575b610f2057005b833b15610fb15750610b1593925f92839251915af43d15610fa9573d90610f4682611169565b91610f546040519384611133565b82523d5f8484013e5b7f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193610f8d606086611133565b60278552840152660819985a5b195960ca1b6040840152611483565b606090610f5d565b62461bcd60e51b815260048101859052602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b505f610f1a565b60405162461bcd60e51b815260048101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311611088575b6110788183611133565b8101031261022a57519087610e6a565b503d61106e565b3461022a575f36600319011261022a5760ca546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a576004355f5260c9602052602060ff60405f2054166040519015158152f35b3461022a575f36600319011261022a57602060ce54604051908152f35b3461022a575f36600319011261022a5760209060cd548152f35b600435906001600160a01b038216820361022a57565b90601f8019910116810190811067ffffffffffffffff82111761115557604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161115557601f01601f191660200190565b9181601f8401121561022a5782359167ffffffffffffffff831161022a576020838186019501011161022a57565b90606060031983011261022a576004359160243567ffffffffffffffff811161022a57816111e391600401611185565b929092916044359067ffffffffffffffff821161022a5761120691600401611185565b9091565b1561121157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561127257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b908060209392818452848401375f828201840152601f01601f1916010190565b6033546001600160a01b0316330361130057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561139357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b803b156114285760018060a01b03166001600160601b0360a01b5f5160206114df5f395f51905f525416175f5160206114df5f395f51905f5255565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9091901561148f575090565b81511561149f5750805190602001fd5b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d5f5c820cea42503da552fd8cc754a1400f04848a20062a94a6079d9e69556eb64736f6c634300081b0033","sourceMap":"687:7489:41:-:0;;;;;;;1332:4:5;1324:13;;5456::4;687:7489:41;;;;;;;;;;;;;;5527:30:4;5523:138;;-1:-1:-1;687:7489:41;;;;;;;;1324:13:5;687:7489:41;;;;;;;;;;;;;;;;5523:138:4;687:7489:41;;;;;;5456:13:4;687:7489:41;5622:28:4;687:7489:41;;;;;;5622:28:4;5523:138;;;687:7489:41;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081630751299c146111035750806325c36fa5146110e657806327d3bc9a146110b7578063294e3ccb1461108f5780633659cfe614610d935780634c46688c14610d6b5780634f1ef28614610a1157806352d1902d1461094f57806354687ccf1461080b578063616af4f7146107e2578063715018a61461078557806383501b21146107695780638da5cb5b146107405780639367a05a146106f85780639eade0f1146106905780639fc0984b14610648578063a52f681b146105e0578063ccf923b1146104b6578063f28c3e37146102d5578063f2fde38b146102445763f6e04ac414610105575f80fd5b3461024157610113366111b3565b60cb54929493929091906001600160a01b0316330361022e57602083868101031261022a5760ca548335958794916001600160a01b03169060fe19820161019b575b85887ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208a83855260c9825260408520600160ff19825416179055604051908152a280f35b60ce54823b15610226576101ea87956101d8976040519889978896879663020a49e360e51b885260048801526060602488015260648701916112cc565b848103600319016044860152916112cc565b03915afa801561021b57610202575b80808080610155565b8161020c91611133565b61021757825f6101f9565b8280fd5b6040513d84823e3d90fd5b8680fd5b5f80fd5b63921f325560e01b865233600452602486fd5b80fd5b50346102415760203660031901126102415761025e61111d565b6102666112ec565b6001600160a01b038116156102815761027e90611344565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346102415760c0366003190112610241576102ef61111d565b6024356001600160a01b03811690819003610217576044356001600160a01b038116908190036104b2576064356001600160a01b03811692908390036104ae57845460ff8160081c1615948580966104a1575b801561048a575b1561042e5760ff198216600117875561039a918661041d575b5061037c60ff885460081c166103778161138c565b61138c565b61038533611344565b61039560ff885460081c1661138c565b611344565b6001600160601b0360a01b60cb54161760cb556001600160601b0360a01b60ca54161760ca556001600160601b0360a01b60cc54161760cc5560843560cd5560a43560ce556103e65780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff19166101011787555f610362565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103495750600160ff831614610349565b50600160ff831610610342565b8480fd5b8380fd5b50346102415760803660031901126102415760043567ffffffffffffffff81116105dc57366023820112156105dc5780600401359067ffffffffffffffff8211610217573660248360051b830101116102175760243561ffff811681036104b25760643567ffffffffffffffff81116104ae5761057961053c6042923690600401611185565b929083604051948592602084019761ffff60f01b9060f01b168852604435602285015284840137810188838201520301601f198101835282611133565b5190209083915b838310156105c15760248360051b83010135908181105f146105b05785526020526001604085205b920191610580565b9085526020526001604085206105a8565b60ff604086602093815260c984522054166040519015158152f35b5080fd5b5034610241576020366003190112610241576105fa61111d565b6106026112ec565b60cc80546001600160a01b0319166001600160a01b039290921691821790557f80ad03c31df486a2ab8f2fe1f9e0597e290255e749369a3e0cf3b1cf34b180898280a280f35b5034610241576020366003190112610241576004356106656112ec565b8060ce557fd3ebd423ec4ce2fd9832bee3fff42bfb79c4d946682f5148d26655f99a3855788280a280f35b5034610241576020366003190112610241576106aa61111d565b6106b26112ec565b60ca80546001600160a01b0319166001600160a01b039290921691821790557fc34d8b9ef5ec2845c44a69730b4523b5d66bc715b6d4820707ff1f40ee5f1a9e8280a280f35b5034610241576020366003190112610241576004356107156112ec565b8060cd557f9b30076d63098a951a7d18845ba88073e71ac62778e98e997486aee85a5c42988280a280f35b50346102415780600319360112610241576033546040516001600160a01b039091168152602090f35b5034610241578060031936011261024157602060405160ff8152f35b503461024157806003193601126102415761079e6112ec565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461024157806003193601126102415760cc546040516001600160a01b039091168152602090f35b503461022a5761081a366111b3565b60cb54909493919291906001600160a01b0316330361093c57602083868101031261022a5760cc548335956001600160a01b039091169360fe1985016108a1575b87877ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208983855260c9825260408520600160ff19825416179055604051908152a280f35b815f9160209360405192839283378101838152039060025afa15610931575f519260cd5491813b1561022a575f936108f8936040519687958694859463ab750e7560e01b86526060600487015260648601916112cc565b916024840152604483015203915afa80156109315761091b575b8080808061085b565b6109289193505f90611133565b5f916020610912565b6040513d5f823e3d90fd5b63921f325560e01b5f523360045260245ffd5b3461022a575f36600319011261022a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109a65760206040515f5160206114df5f395f51905f528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b604036600319011261022a57610a2561111d565b60243567ffffffffffffffff811161022a573660238201121561022a578060040135610a5081611169565b90610a5e6040519283611133565b8082526020820192366024838301011161022a57815f92602460209301863783010152610ad87f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610aba3082141561120a565b5f5160206114df5f395f51905f52546001600160a01b03161461126b565b610ae06112ec565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b17575050610b15906113ec565b005b6040516352d1902d60e01b81526001600160a01b03841690602081600481855afa5f9181610d37575b50610ba15760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114df5f395f51905f5203610ce057610bbd846113ec565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610cd8575b610bf657005b833b15610c875750610b15925f92839251915af43d15610c80573d610c1a81611169565b90610c286040519283611133565b81523d5f602083013e5b60405191610c41606084611133565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152611483565b6060610c32565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b506001610bf0565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091506020813d602011610d63575b81610d5360209383611133565b8101031261022a57519086610b40565b3d9150610d46565b3461022a575f36600319011261022a5760cb546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a57610dac61111d565b610de57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610aba3082141561120a565b610ded6112ec565b602090604051610dfd8382611133565b5f815282810190601f1984013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e42575050610b1591506113ec565b6040516352d1902d60e01b81526001600160a01b038416908581600481855afa5f9181611060575b50610ecb5760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114df5f395f51905f520361100957610ee7846113ec565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590611002575b610f2057005b833b15610fb15750610b1593925f92839251915af43d15610fa9573d90610f4682611169565b91610f546040519384611133565b82523d5f8484013e5b7f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193610f8d606086611133565b60278552840152660819985a5b195960ca1b6040840152611483565b606090610f5d565b62461bcd60e51b815260048101859052602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b505f610f1a565b60405162461bcd60e51b815260048101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311611088575b6110788183611133565b8101031261022a57519087610e6a565b503d61106e565b3461022a575f36600319011261022a5760ca546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a576004355f5260c9602052602060ff60405f2054166040519015158152f35b3461022a575f36600319011261022a57602060ce54604051908152f35b3461022a575f36600319011261022a5760209060cd548152f35b600435906001600160a01b038216820361022a57565b90601f8019910116810190811067ffffffffffffffff82111761115557604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161115557601f01601f191660200190565b9181601f8401121561022a5782359167ffffffffffffffff831161022a576020838186019501011161022a57565b90606060031983011261022a576004359160243567ffffffffffffffff811161022a57816111e391600401611185565b929092916044359067ffffffffffffffff821161022a5761120691600401611185565b9091565b1561121157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561127257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b908060209392818452848401375f828201840152601f01601f1916010190565b6033546001600160a01b0316330361130057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561139357565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b803b156114285760018060a01b03166001600160601b0360a01b5f5160206114df5f395f51905f525416175f5160206114df5f395f51905f5255565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9091901561148f575090565b81511561149f5750805190602001fd5b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d5f5c820cea42503da552fd8cc754a1400f04848a20062a94a6079d9e69556eb64736f6c634300081b0033","sourceMap":"687:7489:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6544:24;687:7489;;;;;;;;-1:-1:-1;;;;;687:7489:41;6530:10;:38;6526:109;;687:7489;3341:38;;;;687:7489;;;;6121:18;687:7489;;;;;;;-1:-1:-1;;;;;687:7489:41;;-1:-1:-1;;6121:43:41;;3465:162;;687:7489;;;3687:54;687:7489;;;;;3637:16;687:7489;;;;;3668:4;687:7489;;;;;;;;;;;;;3687:54;687:7489;;3465:162;3557:26;687:7489;3512:104;;;;;687:7489;;;;;;;;;;;;;;;;;3512:104;;687:7489;3512:104;;687:7489;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;687:7489:41;;;;;;;:::i;:::-;3512:104;;;;;;;;;;3465:162;;;;;;;3512:104;;;;;:::i;:::-;687:7489;;3512:104;;;;687:7489;;;;3512:104;687:7489;;;;;;;;;3512:104;687:7489;;;;-1:-1:-1;687:7489:41;;6526:109;-1:-1:-1;;;6591:33:41;;6530:10;687:7489;;;6591:33;;687:7489;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;-1:-1:-1;;;;;687:7489:41;;2409:22:0;687:7489:41;;2503:8:0;;;:::i;:::-;687:7489:41;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;:::i;:::-;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;;;;;;;3133:14:4;;;;3179:34;;;687:7489:41;3178:108:4;;;;687:7489:41;;;;-1:-1:-1;;687:7489:41;;;;;;2825:8;;687:7489;3394:65:4;;687:7489:41;;4902:69:4;687:7489:41;;;;;;4902:69:4;;;:::i;:::-;;:::i;:::-;1195:12:0;929:10:7;1195:12:0;:::i;:::-;4902:69:4;687:7489:41;;;;;;4902:69:4;:::i;:::-;2825:8:41;:::i;:::-;-1:-1:-1;;;;;687:7489:41;;2844:52;687:7489;;;2844:52;687:7489;-1:-1:-1;;;;;687:7489:41;;2906:40;687:7489;;;2906:40;687:7489;-1:-1:-1;;;;;687:7489:41;;2956:44;687:7489;;;2956:44;687:7489;;;3010:62;687:7489;;;3082:56;687:7489;3479:99:4;;687:7489:41;;3479:99:4;687:7489:41;;;;;;;3553:14:4;687:7489:41;;;;;;3553:14:4;687:7489:41;;3394:65:4;-1:-1:-1;;687:7489:41;;;;;3394:65:4;;;687:7489:41;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;3178:108:4;3258:4;;1476:19:6;:23;3219:66:4;;3178:108;3219:66;687:7489:41;;;;;3268:17:4;3178:108;;3179:34;687:7489:41;;;;;3197:16:4;3179:34;;687:7489:41;;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5829:58;687:7489;;;;;;;;:::i;:::-;;;;;;5829:58;;;687:7489;5829:58;;687:7489;;;;;;;;;;;;;;;;;;;;;;;;;;;5829:58;;687:7489;;5829:58;;;;;;:::i;:::-;687:7489;5819:69;;2480:13:35;;2475:116;2513:3;2495:16;;;;;;687:7489:41;;;;;;;;9318:51:35;:5;;;:51;:5;;;9632:119;;687:7489:41;9632:119:35;687:7489:41;;9632:119:35;;9318:51;2513:3;687:7489:41;2480:13:35;;;9318:51;9632:119;;;687:7489:41;9632:119:35;687:7489:41;;9632:119:35;;9318:51;;2495:16;687:7489:41;;2495:16:35;687:7489:41;2495:16:35;687:7489:41;;5997:16;687:7489;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;6900:44:41;687:7489;;-1:-1:-1;;;;;;687:7489:41;-1:-1:-1;;;;;687:7489:41;;;;;;;;;6959:50;;;;687:7489;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;1303:62:0;;:::i;:::-;687:7489:41;8034:56;687:7489;8105:62;;;;687:7489;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;7673:40:41;687:7489;;-1:-1:-1;;;;;;687:7489:41;-1:-1:-1;;;;;687:7489:41;;;;;;;;;7728:46;;;;687:7489;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;1303:62:0;;:::i;:::-;687:7489:41;7283:62;687:7489;7360:68;;;;687:7489;;;;;;;;;;;;;;;1513:6:0;687:7489:41;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;;;;;;;;;;;;;;;1957:4;687:7489;;;;;;;;;;;;;;;;1303:62:0;;:::i;:::-;2765:6;687:7489:41;;-1:-1:-1;;;;;;687:7489:41;;;;;;;-1:-1:-1;;;;;687:7489:41;2813:40:0;687:7489:41;;2813:40:0;687:7489:41;;;;;;;;;;;;;;;1723:35;687:7489;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;;;;;;;:::i;:::-;6544:24;687:7489;;;;;;;;-1:-1:-1;;;;;687:7489:41;6530:10;:38;6526:109;;687:7489;3951:40;;;;687:7489;;;;6262:20;687:7489;;;;-1:-1:-1;;;;;687:7489:41;;;;-1:-1:-1;;6262:45:41;;4077:273;;687:7489;;;4410:54;687:7489;;;;;4360:16;687:7489;;;;;4391:4;687:7489;;;;;;;;;;;;;4410:54;687:7489;;4077:273;687:7489;;;4155:25;687:7489;;;;;;;;;;;;;4155:25;;;;;;;;687:7489;4155:25;687:7489;4276:29;687:7489;4194:145;;;;;;687:7489;;;;;;;;;;;;;;;;4194:145;;687:7489;;4194:145;;687:7489;;;;;;:::i;:::-;;;;;;;;;;4194:145;;;;;;;;;;4077:273;;;;;;;4194:145;;;;;687:7489;4194:145;;:::i;:::-;687:7489;;;4194:145;;;687:7489;;;;;;;;;6526:109;6591:33;;;687:7489;6591:33;6530:10;687:7489;;;;6591:33;687:7489;;;;;;-1:-1:-1;;687:7489:41;;;;2333:6:5;-1:-1:-1;;;;;687:7489:41;2324:4:5;2316:23;687:7489:41;;;;;-1:-1:-1;;;;;;;;;;;687:7489:41;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1963:87:5;1898:6;-1:-1:-1;;;;;687:7489:41;1873:80:5;1889:4;1881:23;;;1873:80;:::i;:::-;-1:-1:-1;;;;;;;;;;;687:7489:41;-1:-1:-1;;;;;687:7489:41;1971:30:5;1963:87;:::i;:::-;1303:62:0;;:::i;:::-;951:66:2;687:7489:41;;;;;;3478:17:2;;;;;:::i;:::-;687:7489:41;3380:526:2;687:7489:41;;-1:-1:-1;;;3531:63:2;;-1:-1:-1;;;;;687:7489:41;;;;;;;;3531:63:2;;687:7489:41;;3531:63:2;;;3380:526;-1:-1:-1;3527:302:2;;687:7489:41;;-1:-1:-1;;;3758:56:2;;687:7489:41;;3758:56:2;;951:66;;687:7489:41;951:66:2;;687:7489:41;951:66:2;687:7489:41;;;951:66:2;-1:-1:-1;;;951:66:2;;;;3758:56;;;3527:302;-1:-1:-1;;;;;;;;;;;3644:28:2;951:66;;2277:17;;;:::i;:::-;687:7489:41;;2310:27:2;;687:7489:41;2310:27:2;;687:7489:41;;2659:15:2;;;:28;;;3527:302;2655:105;;687:7489:41;2655:105:2;1476:19:6;;:23;687:7489:41;;7395:25:2;7437:99;7395:25;687:7489:41;7395:25:2;;;;;;;687:7489:41;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;7437:99:2;:::i;687:7489:41:-;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;2659:28:2;;3971:4:5;2659:28:2;;951:66;687:7489:41;;-1:-1:-1;;;951:66:2;;687:7489:41;;951:66:2;;;;687:7489:41;951:66:2;;687:7489:41;951:66:2;687:7489:41;;;951:66:2;-1:-1:-1;;;951:66:2;;;;;;;3531:63;;;;687:7489:41;3531:63:2;;687:7489:41;3531:63:2;;;;;;687:7489:41;3531:63:2;;;:::i;:::-;;;951:66;;;;;3531:63;;;;;;;-1:-1:-1;3531:63:2;;687:7489:41;;;;;;-1:-1:-1;;687:7489:41;;;;1478:39;687:7489;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;:::i;:::-;1963:87:5;1898:6;-1:-1:-1;;;;;687:7489:41;1873:80:5;1889:4;1881:23;;;1873:80;:::i;1963:87::-;1303:62:0;;:::i;:::-;687:7489:41;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;687:7489:41;;;;;951:66:2;687:7489:41;;;;;;3478:17:2;;;;;;:::i;3380:526::-;687:7489:41;;-1:-1:-1;;;3531:63:2;;-1:-1:-1;;;;;687:7489:41;;;3531:63:2;687:7489:41;;;;3531:63:2;;687:7489:41;;3531:63:2;;;3380:526;-1:-1:-1;3527:302:2;;687:7489:41;;-1:-1:-1;;;3758:56:2;;687:7489:41;3758:56:2;;951:66;;;;;;;687:7489:41;951:66:2;687:7489:41;;;951:66:2;-1:-1:-1;;;951:66:2;;;;3758:56;;;3527:302;-1:-1:-1;;;;;;;;;;;3644:28:2;951:66;;2277:17;;;:::i;:::-;687:7489:41;;2310:27:2;;687:7489:41;2310:27:2;;687:7489:41;;2659:15:2;;;:28;;;3527:302;2655:105;;687:7489:41;2655:105:2;1476:19:6;;:23;687:7489:41;;7395:25:2;7437:99;7395:25;;687:7489:41;7395:25:2;;;;;;;687:7489:41;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;687:7489:41;;;;7437:99:2;:::i;687:7489:41:-;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;2659:28:2;;687:7489:41;2659:28:2;;951:66;687:7489:41;;-1:-1:-1;;;951:66:2;;687:7489:41;951:66:2;;;;;;;;;687:7489:41;951:66:2;687:7489:41;;;951:66:2;-1:-1:-1;;;951:66:2;;;;;;;3531:63;;;;;;;;;;;;;;;;;:::i;:::-;;;951:66;;;;;3531:63;;;;;;;;;687:7489:41;;;;;;-1:-1:-1;;687:7489:41;;;;1351:33;687:7489;;;-1:-1:-1;;;;;687:7489:41;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;;;913:48;687:7489;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;2346:41;687:7489;;;;;;;;;;;;;-1:-1:-1;;687:7489:41;;;;;;2139:44;687:7489;;;;;;;;-1:-1:-1;;;;;687:7489:41;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;687:7489:41;;;;;-1:-1:-1;687:7489:41;;;;;;;;;-1:-1:-1;;687:7489:41;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;687:7489:41;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;;;;-1:-1:-1;687:7489:41;;;;;;;;-1:-1:-1;;687:7489:41;;;;:::o;1599:130:0:-;1513:6;687:7489:41;-1:-1:-1;;;;;687:7489:41;929:10:7;1662:23:0;687:7489:41;;1599:130:0:o;687:7489:41:-;;;;951:66:2;;;687:7489:41;;;;;;;;;;;;;;;;;;2673:187:0;2765:6;687:7489:41;;-1:-1:-1;;;;;687:7489:41;;;-1:-1:-1;;;;;;687:7489:41;;;;;;;;;;2813:40:0;-1:-1:-1;;2813:40:0;2673:187::o;687:7489:41:-;;;;:::o;:::-;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;1805:281:2;1476:19:6;;:23;687:7489:41;;;;;;;;-1:-1:-1;;;;;687:7489:41;;-1:-1:-1;;;;;;;;;;;687:7489:41;;;-1:-1:-1;;;;;;;;;;;687:7489:41;1805:281:2:o;687:7489:41:-;;;-1:-1:-1;;;687:7489:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7489:41;;;;;;;6622:742:6;;;;6792:566;;;6819:17;;:::o;6792:566::-;687:7489:41;;6937:21:6;:17;;7121:154;;;;;;;6933:415;687:7489:41;;;;;951:66:2;;;;;;7313:20:6;;;;;;687:7489:41;;;;;;;;;;;;;;;;6957:1:6;687:7489:41;;;;;;;;-1:-1:-1;;687:7489:41;;;7313:20:6;;;","linkReferences":{},"immutableReferences":{"702":[{"start":2401,"length":32},{"start":2694,"length":32},{"start":3505,"length":32}]}},"methodIdentifiers":{"VERIFIER_MOCK_ADDRESS()":"83501b21","aggregatedProofs(bytes32)":"27d3bc9a","alignedAggregatorAddress()":"4c46688c","initialize(address,address,address,address,bytes32,bytes32)":"f28c3e37","owner()":"8da5cb5b","proxiableUUID()":"52d1902d","renounceOwnership()":"715018a6","risc0AggregatorProgramImageId()":"0751299c","risc0VerifierAddress()":"616af4f7","setRisc0AggregatorProgramImageId(bytes32)":"9367a05a","setRisc0VerifierAddress(address)":"a52f681b","setSP1AggregatorProgramVKHash(bytes32)":"9fc0984b","setSP1VerifierAddress(address)":"9eade0f1","sp1AggregatorProgramVKHash()":"25c36fa5","sp1VerifierAddress()":"294e3ccb","transferOwnership(address)":"f2fde38b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","verifyProofInclusion(bytes32[],uint16,bytes32,bytes)":"ccf923b1","verifyRisc0(bytes32,bytes,bytes)":"54687ccf","verifySP1(bytes32,bytes,bytes)":"f6e04ac4"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"OnlyAlignedAggregator\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"merkleRoot\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"blobVersionedHash\",\"type\":\"bytes32\"}],\"name\":\"AggregatedProofVerified\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newImageId\",\"type\":\"bytes32\"}],\"name\":\"Risc0AggregatorProgramImageIdUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"Risc0VerifierAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newVKHash\",\"type\":\"bytes32\"}],\"name\":\"SP1AggregatorProgramVKHashUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"SP1VerifierAddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERIFIER_MOCK_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"aggregatedProofs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"alignedAggregatorAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_alignedAggregatorAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sp1VerifierAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_risc0VerifierAddress\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_risc0AggregatorProgramImageId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_sp1AggregatorProgramVKHash\",\"type\":\"bytes32\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"risc0AggregatorProgramImageId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"risc0VerifierAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_risc0AggregatorProgramImageId\",\"type\":\"bytes32\"}],\"name\":\"setRisc0AggregatorProgramImageId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_risc0VerifierAddress\",\"type\":\"address\"}],\"name\":\"setRisc0VerifierAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_sp1AggregatorProgramVKHash\",\"type\":\"bytes32\"}],\"name\":\"setSP1AggregatorProgramVKHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sp1VerifierAddress\",\"type\":\"address\"}],\"name\":\"setSP1VerifierAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sp1AggregatorProgramVKHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sp1VerifierAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"merklePath\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint16\",\"name\":\"provingSystemId\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"programId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"publicInputs\",\"type\":\"bytes\"}],\"name\":\"verifyProofInclusion\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"blobVersionedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"risc0ReceiptSeal\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"risc0JournalBytes\",\"type\":\"bytes\"}],\"name\":\"verifyRisc0\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"blobVersionedHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"sp1PublicValues\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"sp1ProofBytes\",\"type\":\"bytes\"}],\"name\":\"verifySP1\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is upgraded.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate that the this implementation remains valid after an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setRisc0AggregatorProgramImageId(bytes32)\":{\"params\":{\"_risc0AggregatorProgramImageId\":\"The new imageid for the Risc0 aggregator program\"}},\"setRisc0VerifierAddress(address)\":{\"params\":{\"_risc0VerifierAddress\":\"The new address for the Risc0 verifier contract\"}},\"setSP1AggregatorProgramVKHash(bytes32)\":{\"params\":{\"_sp1AggregatorProgramVKHash\":\"The new vk hash for the sp1 aggregator program\"}},\"setSP1VerifierAddress(address)\":{\"params\":{\"_sp1VerifierAddress\":\"The new address for the SP1 verifier contract\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"verifyProofInclusion(bytes32[],uint16,bytes32,bytes)\":{\"details\":\"- The `programId` parameter represents the unique identifier for the vm program: - In RISC Zero, this corresponds to the `image_id`. - In SP1, this corresponds to the `vk` (verification key) hash. - The proof commitment is derived by hashing together the `programId` and the `publicInputs`. - The `merklePath` is then used to compute the Merkle root from this commitment. - The function returns `true` if this Merkle root is known to correspond to a valid aggregated proof.\",\"params\":{\"merklePath\":\"The Merkle proof (sibling hashes) needed to reconstruct the Merkle root.\",\"programId\":\"The identifier for the ZK program (image_id in RISC0 or vk hash in SP1).\",\"provingSystemId\":\"The id of the proving system (0 for SP1, 1 for RISC0).\",\"publicInputs\":\"The public inputs bytes of the proof.\"},\"returns\":{\"_0\":\"bool Returns true if the computed Merkle root is a recognized valid aggregated proof.\"}},\"verifySP1(bytes32,bytes,bytes)\":{\"details\":\"This function is called by the aligned proof aggregator after collecting the proofs and aggregating them to be verified on-chain. We expect the blobTransactionHash to be called before\",\"params\":{\"blobVersionedHash\":\"the versioned hash of the blob transaction that contains the leaves that compose the merkle root.\",\"sp1ProofBytes\":\"Groth16 proof\",\"sp1PublicValues\":\"Values used to perform the execution\"}}},\"stateVariables\":{\"risc0VerifierAddress\":{\"details\":\"See supported verifier here: https://dev.risczero.com/api/blockchain-integration/contracts/verifier#contract-addresses\"},\"sp1VerifierAddress\":{\"details\":\"This can either be a specific SP1Verifier for a specific version, or the SP1VerifierGateway which can be used to verify proofs for any version of SP1. For the list of supported verifiers on each chain, see: https://docs.succinct.xyz/onchain-verification/contract-addresses\"}},\"version\":1},\"userdoc\":{\"events\":{\"AggregatedProofVerified(bytes32,bytes32)\":{\"notice\":\"event that gets emitted after a successful aggregated proof verification\"},\"Risc0AggregatorProgramImageIdUpdated(bytes32)\":{\"notice\":\"Event emitted when the Risc0 aggregator program image ID is updated\"},\"Risc0VerifierAddressUpdated(address)\":{\"notice\":\"Event emitted when the Risc0 verifier address is updated\"},\"SP1AggregatorProgramVKHashUpdated(bytes32)\":{\"notice\":\"Event emitted when the SP1 aggregator program VK hash is updated\"},\"SP1VerifierAddressUpdated(address)\":{\"notice\":\"Event emitted when the SP1 verifier address is updated\"}},\"kind\":\"user\",\"methods\":{\"VERIFIER_MOCK_ADDRESS()\":{\"notice\":\"whether we are in dev mode or not if the sp1 verifier address is set to this address, then we skip verification\"},\"aggregatedProofs(bytes32)\":{\"notice\":\"Map the merkle root to a boolean to indicate it was verified\"},\"alignedAggregatorAddress()\":{\"notice\":\"The address of the Wallet that is allowed to call the verify function.\"},\"risc0AggregatorProgramImageId()\":{\"notice\":\"The unique identifier (image ID) of the RISC Zero aggregator program. This ensures that only proofs generated by a trusted Risc0 program can be verified.\"},\"risc0VerifierAddress()\":{\"notice\":\"The address of the Risc0 verifier contract\"},\"setRisc0AggregatorProgramImageId(bytes32)\":{\"notice\":\"Sets the image id of the Risc0 program\"},\"setRisc0VerifierAddress(address)\":{\"notice\":\"Sets the address of the Risc0 verifier contract\"},\"setSP1AggregatorProgramVKHash(bytes32)\":{\"notice\":\"Sets the vk hash of the sp1 program\"},\"setSP1VerifierAddress(address)\":{\"notice\":\"Sets the address of the SP1 verifier contract\"},\"sp1AggregatorProgramVKHash()\":{\"notice\":\"The verification key hash for the SP1 aggregator program. This ensures that only proofs generated by a trusted SP1 program can be verified.\"},\"sp1VerifierAddress()\":{\"notice\":\"The address of the SP1 verifier contract.\"},\"verifyProofInclusion(bytes32[],uint16,bytes32,bytes)\":{\"notice\":\"Verifies the inclusion of proof in an aggregated proof via Merkle tree proof.\"},\"verifySP1(bytes32,bytes,bytes)\":{\"notice\":\"Method to verify an aggregated proof from aligned\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/AlignedProofAggregationService.sol\":\"AlignedProofAggregationService\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/\",\":@risc0-contracts/=lib/risc0-ethereum/contracts/src/\",\":@sp1-contracts/=lib/sp1-contracts/contracts/src/\",\":ds-test/=lib/eigenlayer-middleware/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/\",\":eigenlayer-core-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/\",\":eigenlayer-core/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":eigenlayer-middleware/=lib/eigenlayer-middleware/src/\",\":eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/risc0-ethereum/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/\",\":risc0-ethereum/=lib/risc0-ethereum/\",\":sp1-contracts/=lib/sp1-contracts/contracts/\"],\"viaIR\":true},\"sources\":{\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x315887e846f1e5f8d8fa535a229d318bb9290aaa69485117f1ee8a9a6b3be823\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29dda00da6d269685b555e710e4abf1c3eb6d00c15b888a7880a2f8dd3c4fdc2\",\"dweb:/ipfs/QmSqcjtdECygtT1Gy7uEo42x8542srpgGEeKKHfcnQqXgn\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x6e36e9b4b71de699c2f3f0d4e4d1aa0b35da99a26e8d5b91ef09ba234b4ef270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://abfa467c53a0d60b4d09bf04aa952b1d1d44e5766fcc053aace078d7859b8419\",\"dweb:/ipfs/QmebVTZpyNxYfKYTuLMywzEJTdc1Ca8ME4xm3kR9gQgToG\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3\",\"dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol\":{\"keccak256\":\"0x6400c4bee15052e043e5d10315135972529bd1c8012f43da494dc6b4f4661058\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5d3d47d35af4373743a559ea4b9b7ecfe4bab6f0703f410c1e59959b7966ac\",\"dweb:/ipfs/QmTHdoghh4WLu4yURjGEgRk162pcwwdsG52MPGa12GqnGR\"]},\"lib/risc0-ethereum/contracts/src/IRiscZeroVerifier.sol\":{\"keccak256\":\"0x3e74a4b2940b88837fb8399a0012b435d1d513a622d3ea3ba58088af9ad7e2fd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b06299cc68e3c79e4eb22705bb814ce816a7fd549e78614b318ae44d35e56f9b\",\"dweb:/ipfs/QmPpX5ciRdEH6MVRVt7qYQqy7B68qxG5v3mxkgYm3kGxi5\"]},\"lib/risc0-ethereum/contracts/src/Util.sol\":{\"keccak256\":\"0x230a9a58bb2b0c68d4921ecc3672783f941890a2fa3a238dbe5188cfb7658b82\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://586cb5296c564761609ca8aaae5b1fbbdb19ab1e174f7197f602572d9e82b70c\",\"dweb:/ipfs/QmWxDmucSfg3Wgdk1rVcheDHwkziTsXWvKpKSCnxtpQBqg\"]},\"lib/sp1-contracts/contracts/src/ISP1Verifier.sol\":{\"keccak256\":\"0x9e3ba64860bea920772dcf16be7946de2a2900d80bd51e9c0771184138f4f4d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ec7230ca1fdd74edc6ab597d80bb345282aed3f0db4788ed96b4cc373ff46a3\",\"dweb:/ipfs/QmXPuSS5gzxMhFKWr1gsxBVu6WHh53ZZEvWkGgzrkM6Y7Q\"]},\"src/core/AlignedProofAggregationService.sol\":{\"keccak256\":\"0x6e45bd68f61f3beba1bd84365393934cbe3fdc3408d4112ef38e37236ce6dee0\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://2c61950413ed30df36d4bbba7983f7bf182692d8ef718b29401036b13fe6eef2\",\"dweb:/ipfs/QmZQc4GSbyku55bHNsh2DfPKWKmo9MgRNYhwHhCS4EyD7w\"]},\"src/core/IAlignedProofAggregationService.sol\":{\"keccak256\":\"0xce3607e403fab64b58335e78d8e9668575007ee29a5f443977680270dbbb231d\",\"urls\":[\"bzz-raw://10ef6d890bf2121e5dac11b52769c793248150a89d991fdad3d03a71682cff5f\",\"dweb:/ipfs/QmVuL67p1TAoeGafaUvu2qwdfVgk12fx1gDaYaimgSZAJj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"OnlyAlignedAggregator"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"blobVersionedHash","type":"bytes32","indexed":false}],"type":"event","name":"AggregatedProofVerified","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"newImageId","type":"bytes32","indexed":true}],"type":"event","name":"Risc0AggregatorProgramImageIdUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newAddress","type":"address","indexed":true}],"type":"event","name":"Risc0VerifierAddressUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"newVKHash","type":"bytes32","indexed":true}],"type":"event","name":"SP1AggregatorProgramVKHashUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"newAddress","type":"address","indexed":true}],"type":"event","name":"SP1VerifierAddressUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"VERIFIER_MOCK_ADDRESS","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"aggregatedProofs","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"alignedAggregatorAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"address","name":"_alignedAggregatorAddress","type":"address"},{"internalType":"address","name":"_sp1VerifierAddress","type":"address"},{"internalType":"address","name":"_risc0VerifierAddress","type":"address"},{"internalType":"bytes32","name":"_risc0AggregatorProgramImageId","type":"bytes32"},{"internalType":"bytes32","name":"_sp1AggregatorProgramVKHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"risc0AggregatorProgramImageId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"risc0VerifierAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"_risc0AggregatorProgramImageId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setRisc0AggregatorProgramImageId"},{"inputs":[{"internalType":"address","name":"_risc0VerifierAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRisc0VerifierAddress"},{"inputs":[{"internalType":"bytes32","name":"_sp1AggregatorProgramVKHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setSP1AggregatorProgramVKHash"},{"inputs":[{"internalType":"address","name":"_sp1VerifierAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSP1VerifierAddress"},{"inputs":[],"stateMutability":"view","type":"function","name":"sp1AggregatorProgramVKHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sp1VerifierAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"bytes32[]","name":"merklePath","type":"bytes32[]"},{"internalType":"uint16","name":"provingSystemId","type":"uint16"},{"internalType":"bytes32","name":"programId","type":"bytes32"},{"internalType":"bytes","name":"publicInputs","type":"bytes"}],"stateMutability":"view","type":"function","name":"verifyProofInclusion","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"blobVersionedHash","type":"bytes32"},{"internalType":"bytes","name":"risc0ReceiptSeal","type":"bytes"},{"internalType":"bytes","name":"risc0JournalBytes","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"verifyRisc0"},{"inputs":[{"internalType":"bytes32","name":"blobVersionedHash","type":"bytes32"},{"internalType":"bytes","name":"sp1PublicValues","type":"bytes"},{"internalType":"bytes","name":"sp1ProofBytes","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"verifySP1"}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate that the this implementation remains valid after an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setRisc0AggregatorProgramImageId(bytes32)":{"params":{"_risc0AggregatorProgramImageId":"The new imageid for the Risc0 aggregator program"}},"setRisc0VerifierAddress(address)":{"params":{"_risc0VerifierAddress":"The new address for the Risc0 verifier contract"}},"setSP1AggregatorProgramVKHash(bytes32)":{"params":{"_sp1AggregatorProgramVKHash":"The new vk hash for the sp1 aggregator program"}},"setSP1VerifierAddress(address)":{"params":{"_sp1VerifierAddress":"The new address for the SP1 verifier contract"}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"upgradeTo(address)":{"details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"verifyProofInclusion(bytes32[],uint16,bytes32,bytes)":{"details":"- The `programId` parameter represents the unique identifier for the vm program: - In RISC Zero, this corresponds to the `image_id`. - In SP1, this corresponds to the `vk` (verification key) hash. - The proof commitment is derived by hashing together the `programId` and the `publicInputs`. - The `merklePath` is then used to compute the Merkle root from this commitment. - The function returns `true` if this Merkle root is known to correspond to a valid aggregated proof.","params":{"merklePath":"The Merkle proof (sibling hashes) needed to reconstruct the Merkle root.","programId":"The identifier for the ZK program (image_id in RISC0 or vk hash in SP1).","provingSystemId":"The id of the proving system (0 for SP1, 1 for RISC0).","publicInputs":"The public inputs bytes of the proof."},"returns":{"_0":"bool Returns true if the computed Merkle root is a recognized valid aggregated proof."}},"verifySP1(bytes32,bytes,bytes)":{"details":"This function is called by the aligned proof aggregator after collecting the proofs and aggregating them to be verified on-chain. We expect the blobTransactionHash to be called before","params":{"blobVersionedHash":"the versioned hash of the blob transaction that contains the leaves that compose the merkle root.","sp1ProofBytes":"Groth16 proof","sp1PublicValues":"Values used to perform the execution"}}},"version":1},"userdoc":{"kind":"user","methods":{"VERIFIER_MOCK_ADDRESS()":{"notice":"whether we are in dev mode or not if the sp1 verifier address is set to this address, then we skip verification"},"aggregatedProofs(bytes32)":{"notice":"Map the merkle root to a boolean to indicate it was verified"},"alignedAggregatorAddress()":{"notice":"The address of the Wallet that is allowed to call the verify function."},"risc0AggregatorProgramImageId()":{"notice":"The unique identifier (image ID) of the RISC Zero aggregator program. This ensures that only proofs generated by a trusted Risc0 program can be verified."},"risc0VerifierAddress()":{"notice":"The address of the Risc0 verifier contract"},"setRisc0AggregatorProgramImageId(bytes32)":{"notice":"Sets the image id of the Risc0 program"},"setRisc0VerifierAddress(address)":{"notice":"Sets the address of the Risc0 verifier contract"},"setSP1AggregatorProgramVKHash(bytes32)":{"notice":"Sets the vk hash of the sp1 program"},"setSP1VerifierAddress(address)":{"notice":"Sets the address of the SP1 verifier contract"},"sp1AggregatorProgramVKHash()":{"notice":"The verification key hash for the SP1 aggregator program. This ensures that only proofs generated by a trusted SP1 program can be verified."},"sp1VerifierAddress()":{"notice":"The address of the SP1 verifier contract."},"verifyProofInclusion(bytes32[],uint16,bytes32,bytes)":{"notice":"Verifies the inclusion of proof in an aggregated proof via Merkle tree proof."},"verifySP1(bytes32,bytes,bytes)":{"notice":"Method to verify an aggregated proof from aligned"}},"version":1}},"settings":{"remappings":["@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","@openzeppelin-upgrades/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/eigenlayer-middleware/lib/openzeppelin-contracts/contracts/","@risc0-contracts/=lib/risc0-ethereum/contracts/src/","@sp1-contracts/=lib/sp1-contracts/contracts/src/","ds-test/=lib/eigenlayer-middleware/lib/ds-test/src/","eigenlayer-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/","eigenlayer-core-contracts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/","eigenlayer-core/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","eigenlayer-middleware/=lib/eigenlayer-middleware/src/","eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/risc0-ethereum/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/risc0-ethereum/lib/openzeppelin-contracts/","risc0-ethereum/=lib/risc0-ethereum/","sp1-contracts/=lib/sp1-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/AlignedProofAggregationService.sol":"AlignedProofAggregationService"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x315887e846f1e5f8d8fa535a229d318bb9290aaa69485117f1ee8a9a6b3be823","urls":["bzz-raw://29dda00da6d269685b555e710e4abf1c3eb6d00c15b888a7880a2f8dd3c4fdc2","dweb:/ipfs/QmSqcjtdECygtT1Gy7uEo42x8542srpgGEeKKHfcnQqXgn"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0x6e36e9b4b71de699c2f3f0d4e4d1aa0b35da99a26e8d5b91ef09ba234b4ef270","urls":["bzz-raw://abfa467c53a0d60b4d09bf04aa952b1d1d44e5766fcc053aace078d7859b8419","dweb:/ipfs/QmebVTZpyNxYfKYTuLMywzEJTdc1Ca8ME4xm3kR9gQgToG"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x09864aea84f01e39313375b5610c73a3c1c68abbdc51e5ccdd25ff977fdadf9a","urls":["bzz-raw://aedb48081190fa828d243529ce25c708202c7d4ccfe99f0e4ecd6bc0cfcd03f3","dweb:/ipfs/QmWyiDQHPZA56iqsAwTmiJoxvNeRQLUVr4gTfzpdpXivpo"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol":{"keccak256":"0x6400c4bee15052e043e5d10315135972529bd1c8012f43da494dc6b4f4661058","urls":["bzz-raw://da5d3d47d35af4373743a559ea4b9b7ecfe4bab6f0703f410c1e59959b7966ac","dweb:/ipfs/QmTHdoghh4WLu4yURjGEgRk162pcwwdsG52MPGa12GqnGR"],"license":"MIT"},"lib/risc0-ethereum/contracts/src/IRiscZeroVerifier.sol":{"keccak256":"0x3e74a4b2940b88837fb8399a0012b435d1d513a622d3ea3ba58088af9ad7e2fd","urls":["bzz-raw://b06299cc68e3c79e4eb22705bb814ce816a7fd549e78614b318ae44d35e56f9b","dweb:/ipfs/QmPpX5ciRdEH6MVRVt7qYQqy7B68qxG5v3mxkgYm3kGxi5"],"license":"Apache-2.0"},"lib/risc0-ethereum/contracts/src/Util.sol":{"keccak256":"0x230a9a58bb2b0c68d4921ecc3672783f941890a2fa3a238dbe5188cfb7658b82","urls":["bzz-raw://586cb5296c564761609ca8aaae5b1fbbdb19ab1e174f7197f602572d9e82b70c","dweb:/ipfs/QmWxDmucSfg3Wgdk1rVcheDHwkziTsXWvKpKSCnxtpQBqg"],"license":"Apache-2.0"},"lib/sp1-contracts/contracts/src/ISP1Verifier.sol":{"keccak256":"0x9e3ba64860bea920772dcf16be7946de2a2900d80bd51e9c0771184138f4f4d3","urls":["bzz-raw://0ec7230ca1fdd74edc6ab597d80bb345282aed3f0db4788ed96b4cc373ff46a3","dweb:/ipfs/QmXPuSS5gzxMhFKWr1gsxBVu6WHh53ZZEvWkGgzrkM6Y7Q"],"license":"MIT"},"src/core/AlignedProofAggregationService.sol":{"keccak256":"0x6e45bd68f61f3beba1bd84365393934cbe3fdc3408d4112ef38e37236ce6dee0","urls":["bzz-raw://2c61950413ed30df36d4bbba7983f7bf182692d8ef718b29401036b13fe6eef2","dweb:/ipfs/QmZQc4GSbyku55bHNsh2DfPKWKmo9MgRNYhwHhCS4EyD7w"],"license":"UNLICENSED"},"src/core/IAlignedProofAggregationService.sol":{"keccak256":"0xce3607e403fab64b58335e78d8e9668575007ee29a5f443977680270dbbb231d","urls":["bzz-raw://10ef6d890bf2121e5dac11b52769c793248150a89d991fdad3d03a71682cff5f","dweb:/ipfs/QmVuL67p1TAoeGafaUvu2qwdfVgk12fx1gDaYaimgSZAJj"],"license":null}},"version":1},"id":41}