-
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":"uint8","internalType":"uint8"},{"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":"0x60a080604052346100da57306080525f549060ff8260081c16610088575060ff8082161061004e575b60405161153290816100df823960805181818161095f01528181610a840152610daf0152f35b60ff90811916175f557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a15f610028565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b5f80fdfe6080806040526004361015610012575f80fd5b5f905f3560e01c9081630751299c146111015750806325c36fa5146110e457806327d3bc9a146110b5578063294e3ccb1461108d5780633659cfe614610d915780634c46688c14610d695780634f1ef28614610a0f57806352d1902d1461094d57806354687ccf14610809578063616af4f7146107e0578063715018a61461078357806383501b21146107675780638da5cb5b1461073e57806390249d8d146106165780639367a05a146105ce5780639eade0f1146105665780639fc0984b1461051e578063a52f681b146104b6578063f28c3e37146102d5578063f2fde38b146102445763f6e04ac414610105575f80fd5b3461024157610113366111b1565b60cb54929493929091906001600160a01b0316330361022e57602083868101031261022a5760ca548335958794916001600160a01b03169060fe19820161019b575b85887ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208a83855260c9825260408520600160ff19825416179055604051908152a280f35b60ce54823b15610226576101ea87956101d8976040519889978896879663020a49e360e51b885260048801526060602488015260648701916112ca565b848103600319016044860152916112ca565b03915afa801561021b57610202575b80808080610155565b8161020c91611131565b61021757825f6101f9565b8280fd5b6040513d84823e3d90fd5b8680fd5b5f80fd5b63921f325560e01b865233600452602486fd5b80fd5b50346102415760203660031901126102415761025e61111b565b6102666112ea565b6001600160a01b038116156102815761027e90611342565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346102415760c0366003190112610241576102ef61111b565b6024356001600160a01b03811690819003610217576044356001600160a01b038116908190036104b2576064356001600160a01b03811692908390036104ae57845460ff8160081c1615948580966104a1575b801561048a575b1561042e5760ff198216600117875561039a918661041d575b5061037c60ff885460081c166103778161138a565b61138a565b61038533611342565b61039560ff885460081c1661138a565b611342565b6001600160601b0360a01b60cb54161760cb556001600160601b0360a01b60ca54161760ca556001600160601b0360a01b60cc54161760cc5560843560cd5560a43560ce556103e65780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff19166101011787555f610362565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103495750600160ff831614610349565b50600160ff831610610342565b8480fd5b8380fd5b5034610241576020366003190112610241576104d061111b565b6104d86112ea565b60cc80546001600160a01b0319166001600160a01b039290921691821790557f80ad03c31df486a2ab8f2fe1f9e0597e290255e749369a3e0cf3b1cf34b180898280a280f35b50346102415760203660031901126102415760043561053b6112ea565b8060ce557fd3ebd423ec4ce2fd9832bee3fff42bfb79c4d946682f5148d26655f99a3855788280a280f35b50346102415760203660031901126102415761058061111b565b6105886112ea565b60ca80546001600160a01b0319166001600160a01b039290921691821790557fc34d8b9ef5ec2845c44a69730b4523b5d66bc715b6d4820707ff1f40ee5f1a9e8280a280f35b5034610241576020366003190112610241576004356105eb6112ea565b8060cd557f9b30076d63098a951a7d18845ba88073e71ac62778e98e997486aee85a5c42988280a280f35b50346102415760803660031901126102415760043567ffffffffffffffff811161073a573660238201121561073a5780600401359067ffffffffffffffff8211610217573660248360051b830101116102175760243560ff811681036104b25760643567ffffffffffffffff81116104ae576106d761069b6041923690600401611183565b929083604051948592602084019760ff60f81b9060f81b168852604435602185015284840137810188838201520301601f198101835282611131565b5190209083915b8383101561071f5760248360051b83010135908181105f1461070e5785526020526001604085205b9201916106de565b908552602052600160408520610706565b60ff604086602093815260c984522054166040519015158152f35b5080fd5b50346102415780600319360112610241576033546040516001600160a01b039091168152602090f35b5034610241578060031936011261024157602060405160ff8152f35b503461024157806003193601126102415761079c6112ea565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461024157806003193601126102415760cc546040516001600160a01b039091168152602090f35b503461022a57610818366111b1565b60cb54909493919291906001600160a01b0316330361093a57602083868101031261022a5760cc548335956001600160a01b039091169360fe19850161089f575b87877ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208983855260c9825260408520600160ff19825416179055604051908152a280f35b815f9160209360405192839283378101838152039060025afa1561092f575f519260cd5491813b1561022a575f936108f6936040519687958694859463ab750e7560e01b86526060600487015260648601916112ca565b916024840152604483015203915afa801561092f57610919575b80808080610859565b6109269193505f90611131565b5f916020610910565b6040513d5f823e3d90fd5b63921f325560e01b5f523360045260245ffd5b3461022a575f36600319011261022a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109a45760206040515f5160206114dd5f395f51905f528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b604036600319011261022a57610a2361111b565b60243567ffffffffffffffff811161022a573660238201121561022a578060040135610a4e81611167565b90610a5c6040519283611131565b8082526020820192366024838301011161022a57815f92602460209301863783010152610ad67f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab830821415611208565b5f5160206114dd5f395f51905f52546001600160a01b031614611269565b610ade6112ea565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b15575050610b13906113ea565b005b6040516352d1902d60e01b81526001600160a01b03841690602081600481855afa5f9181610d35575b50610b9f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114dd5f395f51905f5203610cde57610bbb846113ea565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610cd6575b610bf457005b833b15610c855750610b13925f92839251915af43d15610c7e573d610c1881611167565b90610c266040519283611131565b81523d5f602083013e5b60405191610c3f606084611131565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152611481565b6060610c30565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b506001610bee565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091506020813d602011610d61575b81610d5160209383611131565b8101031261022a57519086610b3e565b3d9150610d44565b3461022a575f36600319011261022a5760cb546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a57610daa61111b565b610de37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab830821415611208565b610deb6112ea565b602090604051610dfb8382611131565b5f815282810190601f1984013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e40575050610b1391506113ea565b6040516352d1902d60e01b81526001600160a01b038416908581600481855afa5f918161105e575b50610ec95760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114dd5f395f51905f520361100757610ee5846113ea565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590611000575b610f1e57005b833b15610faf5750610b1393925f92839251915af43d15610fa7573d90610f4482611167565b91610f526040519384611131565b82523d5f8484013e5b7f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193610f8b606086611131565b60278552840152660819985a5b195960ca1b6040840152611481565b606090610f5b565b62461bcd60e51b815260048101859052602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b505f610f18565b60405162461bcd60e51b815260048101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311611086575b6110768183611131565b8101031261022a57519087610e68565b503d61106c565b3461022a575f36600319011261022a5760ca546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a576004355f5260c9602052602060ff60405f2054166040519015158152f35b3461022a575f36600319011261022a57602060ce54604051908152f35b3461022a575f36600319011261022a5760209060cd548152f35b600435906001600160a01b038216820361022a57565b90601f8019910116810190811067ffffffffffffffff82111761115357604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161115357601f01601f191660200190565b9181601f8401121561022a5782359167ffffffffffffffff831161022a576020838186019501011161022a57565b90606060031983011261022a576004359160243567ffffffffffffffff811161022a57816111e191600401611183565b929092916044359067ffffffffffffffff821161022a5761120491600401611183565b9091565b1561120f57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561127057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b908060209392818452848401375f828201840152601f01601f1916010190565b6033546001600160a01b031633036112fe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561139157565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b803b156114265760018060a01b03166001600160601b0360a01b5f5160206114dd5f395f51905f525416175f5160206114dd5f395f51905f5255565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9091901561148d575090565b81511561149d5750805190602001fd5b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212204cc228e2107d4bc49a2806a8d1655672c5f2994b3bd450e675878e7166d82ece64736f6c634300081b0033","sourceMap":"687:7488:41:-:0;;;;;;;1332:4:5;1324:13;;5456::4;687:7488:41;;;;;;;;;;;;;;5527:30:4;5523:138;;-1:-1:-1;687:7488:41;;;;;;;;1324:13:5;687:7488:41;;;;;;;;;;;;;;;;5523:138:4;687:7488:41;;;;;;5456:13:4;687:7488:41;5622:28:4;687:7488:41;;;;;;5622:28:4;5523:138;;;687:7488:41;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c9081630751299c146111015750806325c36fa5146110e457806327d3bc9a146110b5578063294e3ccb1461108d5780633659cfe614610d915780634c46688c14610d695780634f1ef28614610a0f57806352d1902d1461094d57806354687ccf14610809578063616af4f7146107e0578063715018a61461078357806383501b21146107675780638da5cb5b1461073e57806390249d8d146106165780639367a05a146105ce5780639eade0f1146105665780639fc0984b1461051e578063a52f681b146104b6578063f28c3e37146102d5578063f2fde38b146102445763f6e04ac414610105575f80fd5b3461024157610113366111b1565b60cb54929493929091906001600160a01b0316330361022e57602083868101031261022a5760ca548335958794916001600160a01b03169060fe19820161019b575b85887ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208a83855260c9825260408520600160ff19825416179055604051908152a280f35b60ce54823b15610226576101ea87956101d8976040519889978896879663020a49e360e51b885260048801526060602488015260648701916112ca565b848103600319016044860152916112ca565b03915afa801561021b57610202575b80808080610155565b8161020c91611131565b61021757825f6101f9565b8280fd5b6040513d84823e3d90fd5b8680fd5b5f80fd5b63921f325560e01b865233600452602486fd5b80fd5b50346102415760203660031901126102415761025e61111b565b6102666112ea565b6001600160a01b038116156102815761027e90611342565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346102415760c0366003190112610241576102ef61111b565b6024356001600160a01b03811690819003610217576044356001600160a01b038116908190036104b2576064356001600160a01b03811692908390036104ae57845460ff8160081c1615948580966104a1575b801561048a575b1561042e5760ff198216600117875561039a918661041d575b5061037c60ff885460081c166103778161138a565b61138a565b61038533611342565b61039560ff885460081c1661138a565b611342565b6001600160601b0360a01b60cb54161760cb556001600160601b0360a01b60ca54161760ca556001600160601b0360a01b60cc54161760cc5560843560cd5560a43560ce556103e65780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b61ffff19166101011787555f610362565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103495750600160ff831614610349565b50600160ff831610610342565b8480fd5b8380fd5b5034610241576020366003190112610241576104d061111b565b6104d86112ea565b60cc80546001600160a01b0319166001600160a01b039290921691821790557f80ad03c31df486a2ab8f2fe1f9e0597e290255e749369a3e0cf3b1cf34b180898280a280f35b50346102415760203660031901126102415760043561053b6112ea565b8060ce557fd3ebd423ec4ce2fd9832bee3fff42bfb79c4d946682f5148d26655f99a3855788280a280f35b50346102415760203660031901126102415761058061111b565b6105886112ea565b60ca80546001600160a01b0319166001600160a01b039290921691821790557fc34d8b9ef5ec2845c44a69730b4523b5d66bc715b6d4820707ff1f40ee5f1a9e8280a280f35b5034610241576020366003190112610241576004356105eb6112ea565b8060cd557f9b30076d63098a951a7d18845ba88073e71ac62778e98e997486aee85a5c42988280a280f35b50346102415760803660031901126102415760043567ffffffffffffffff811161073a573660238201121561073a5780600401359067ffffffffffffffff8211610217573660248360051b830101116102175760243560ff811681036104b25760643567ffffffffffffffff81116104ae576106d761069b6041923690600401611183565b929083604051948592602084019760ff60f81b9060f81b168852604435602185015284840137810188838201520301601f198101835282611131565b5190209083915b8383101561071f5760248360051b83010135908181105f1461070e5785526020526001604085205b9201916106de565b908552602052600160408520610706565b60ff604086602093815260c984522054166040519015158152f35b5080fd5b50346102415780600319360112610241576033546040516001600160a01b039091168152602090f35b5034610241578060031936011261024157602060405160ff8152f35b503461024157806003193601126102415761079c6112ea565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b503461024157806003193601126102415760cc546040516001600160a01b039091168152602090f35b503461022a57610818366111b1565b60cb54909493919291906001600160a01b0316330361093a57602083868101031261022a5760cc548335956001600160a01b039091169360fe19850161089f575b87877ffe3e9e971000ab9c80c7e06aba2933aae5419d0e44693e3046913e9e58053f6260208983855260c9825260408520600160ff19825416179055604051908152a280f35b815f9160209360405192839283378101838152039060025afa1561092f575f519260cd5491813b1561022a575f936108f6936040519687958694859463ab750e7560e01b86526060600487015260648601916112ca565b916024840152604483015203915afa801561092f57610919575b80808080610859565b6109269193505f90611131565b5f916020610910565b6040513d5f823e3d90fd5b63921f325560e01b5f523360045260245ffd5b3461022a575f36600319011261022a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109a45760206040515f5160206114dd5f395f51905f528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b604036600319011261022a57610a2361111b565b60243567ffffffffffffffff811161022a573660238201121561022a578060040135610a4e81611167565b90610a5c6040519283611131565b8082526020820192366024838301011161022a57815f92602460209301863783010152610ad67f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab830821415611208565b5f5160206114dd5f395f51905f52546001600160a01b031614611269565b610ade6112ea565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610b15575050610b13906113ea565b005b6040516352d1902d60e01b81526001600160a01b03841690602081600481855afa5f9181610d35575b50610b9f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114dd5f395f51905f5203610cde57610bbb846113ea565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590610cd6575b610bf457005b833b15610c855750610b13925f92839251915af43d15610c7e573d610c1881611167565b90610c266040519283611131565b81523d5f602083013e5b60405191610c3f606084611131565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152611481565b6060610c30565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b506001610bee565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091506020813d602011610d61575b81610d5160209383611131565b8101031261022a57519086610b3e565b3d9150610d44565b3461022a575f36600319011261022a5760cb546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a57610daa61111b565b610de37f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ab830821415611208565b610deb6112ea565b602090604051610dfb8382611131565b5f815282810190601f1984013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e40575050610b1391506113ea565b6040516352d1902d60e01b81526001600160a01b038416908581600481855afa5f918161105e575b50610ec95760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b5f5160206114dd5f395f51905f520361100757610ee5846113ea565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590611000575b610f1e57005b833b15610faf5750610b1393925f92839251915af43d15610fa7573d90610f4482611167565b91610f526040519384611131565b82523d5f8484013e5b7f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193610f8b606086611131565b60278552840152660819985a5b195960ca1b6040840152611481565b606090610f5b565b62461bcd60e51b815260048101859052602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b505f610f18565b60405162461bcd60e51b815260048101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508681813d8311611086575b6110768183611131565b8101031261022a57519087610e68565b503d61106c565b3461022a575f36600319011261022a5760ca546040516001600160a01b039091168152602090f35b3461022a57602036600319011261022a576004355f5260c9602052602060ff60405f2054166040519015158152f35b3461022a575f36600319011261022a57602060ce54604051908152f35b3461022a575f36600319011261022a5760209060cd548152f35b600435906001600160a01b038216820361022a57565b90601f8019910116810190811067ffffffffffffffff82111761115357604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161115357601f01601f191660200190565b9181601f8401121561022a5782359167ffffffffffffffff831161022a576020838186019501011161022a57565b90606060031983011261022a576004359160243567ffffffffffffffff811161022a57816111e191600401611183565b929092916044359067ffffffffffffffff821161022a5761120491600401611183565b9091565b1561120f57565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561127057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b908060209392818452848401375f828201840152601f01601f1916010190565b6033546001600160a01b031633036112fe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b1561139157565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b803b156114265760018060a01b03166001600160601b0360a01b5f5160206114dd5f395f51905f525416175f5160206114dd5f395f51905f5255565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b9091901561148d575090565b81511561149d5750805190602001fd5b604460209160405192839162461bcd60e51b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212204cc228e2107d4bc49a2806a8d1655672c5f2994b3bd450e675878e7166d82ece64736f6c634300081b0033","sourceMap":"687:7488:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6543:24;687:7488;;;;;;;;-1:-1:-1;;;;;687:7488:41;6529:10;:38;6525:109;;687:7488;3341:38;;;;687:7488;;;;6120:18;687:7488;;;;;;;-1:-1:-1;;;;;687:7488:41;;-1:-1:-1;;6120:43:41;;3465:162;;687:7488;;;3687:54;687:7488;;;;;3637:16;687:7488;;;;;3668:4;687:7488;;;;;;;;;;;;;3687:54;687:7488;;3465:162;3557:26;687:7488;3512:104;;;;;687:7488;;;;;;;;;;;;;;;;;3512:104;;687:7488;3512:104;;687:7488;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;687:7488:41;;;;;;;:::i;:::-;3512:104;;;;;;;;;;3465:162;;;;;;;3512:104;;;;;:::i;:::-;687:7488;;3512:104;;;;687:7488;;;;3512:104;687:7488;;;;;;;;;3512:104;687:7488;;;;-1:-1:-1;687:7488:41;;6525:109;-1:-1:-1;;;6590:33:41;;6529:10;687:7488;;;6590:33;;687:7488;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;-1:-1:-1;;;;;687:7488:41;;2409:22:0;687:7488:41;;2503:8:0;;;:::i;:::-;687:7488:41;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;:::i;:::-;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;;;;;;;3133:14:4;;;;3179:34;;;687:7488:41;3178:108:4;;;;687:7488:41;;;;-1:-1:-1;;687:7488:41;;;;;;2825:8;;687:7488;3394:65:4;;687:7488:41;;4902:69:4;687:7488:41;;;;;;4902:69:4;;;:::i;:::-;;:::i;:::-;1195:12:0;929:10:7;1195:12:0;:::i;:::-;4902:69:4;687:7488:41;;;;;;4902:69:4;:::i;:::-;2825:8:41;:::i;:::-;-1:-1:-1;;;;;687:7488:41;;2844:52;687:7488;;;2844:52;687:7488;-1:-1:-1;;;;;687:7488:41;;2906:40;687:7488;;;2906:40;687:7488;-1:-1:-1;;;;;687:7488:41;;2956:44;687:7488;;;2956:44;687:7488;;;3010:62;687:7488;;;3082:56;687:7488;3479:99:4;;687:7488:41;;3479:99:4;687:7488:41;;;;;;;3553:14:4;687:7488:41;;;;;;3553:14:4;687:7488:41;;3394:65:4;-1:-1:-1;;687:7488:41;;;;;3394:65:4;;;687:7488:41;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;3178:108:4;3258:4;;1476:19:6;:23;3219:66:4;;3178:108;3219:66;687:7488:41;;;;;3268:17:4;3178:108;;3179:34;687:7488:41;;;;;3197:16:4;3179:34;;687:7488:41;;;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;6899:44:41;687:7488;;-1:-1:-1;;;;;;687:7488:41;-1:-1:-1;;;;;687:7488:41;;;;;;;;;6958:50;;;;687:7488;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;1303:62:0;;:::i;:::-;687:7488:41;8033:56;687:7488;8104:62;;;;687:7488;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;:::i;:::-;1303:62:0;;:::i;:::-;7672:40:41;687:7488;;-1:-1:-1;;;;;;687:7488:41;-1:-1:-1;;;;;687:7488:41;;;;;;;;;7727:46;;;;687:7488;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;1303:62:0;;:::i;:::-;687:7488:41;7282:62;687:7488;7359:68;;;;687:7488;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5828:58;687:7488;;;;;;;;:::i;:::-;;;;;;5828:58;;;687:7488;5828:58;;687:7488;;;;;;;;;;;;;;;;;;;;;;;;;;;5828:58;;687:7488;;5828:58;;;;;;:::i;:::-;687:7488;5818:69;;2480:13:35;;2475:116;2513:3;2495:16;;;;;;687:7488:41;;;;;;;;9318:51:35;:5;;;:51;:5;;;9632:119;;687:7488:41;9632:119:35;687:7488:41;;9632:119:35;;9318:51;2513:3;687:7488:41;2480:13:35;;;9318:51;9632:119;;;687:7488:41;9632:119:35;687:7488:41;;9632:119:35;;9318:51;;2495:16;687:7488:41;;2495:16:35;687:7488:41;2495:16:35;687:7488:41;;5996:16;687:7488;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1513:6:0;687:7488:41;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;;;;;;;;;;;;;;;1957:4;687:7488;;;;;;;;;;;;;;;;1303:62:0;;:::i;:::-;2765:6;687:7488:41;;-1:-1:-1;;;;;;687:7488:41;;;;;;;-1:-1:-1;;;;;687:7488:41;2813:40:0;687:7488:41;;2813:40:0;687:7488:41;;;;;;;;;;;;;;;1723:35;687:7488;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;;;;;;;:::i;:::-;6543:24;687:7488;;;;;;;;-1:-1:-1;;;;;687:7488:41;6529:10;:38;6525:109;;687:7488;3951:40;;;;687:7488;;;;6261:20;687:7488;;;;-1:-1:-1;;;;;687:7488:41;;;;-1:-1:-1;;6261:45:41;;4077:273;;687:7488;;;4410:54;687:7488;;;;;4360:16;687:7488;;;;;4391:4;687:7488;;;;;;;;;;;;;4410:54;687:7488;;4077:273;687:7488;;;4155:25;687:7488;;;;;;;;;;;;;4155:25;;;;;;;;687:7488;4155:25;687:7488;4276:29;687:7488;4194:145;;;;;;687:7488;;;;;;;;;;;;;;;;4194:145;;687:7488;;4194:145;;687:7488;;;;;;:::i;:::-;;;;;;;;;;4194:145;;;;;;;;;;4077:273;;;;;;;4194:145;;;;;687:7488;4194:145;;:::i;:::-;687:7488;;;4194:145;;;687:7488;;;;;;;;;6525:109;6590:33;;;687:7488;6590:33;6529:10;687:7488;;;;6590:33;687:7488;;;;;;-1:-1:-1;;687:7488:41;;;;2333:6:5;-1:-1:-1;;;;;687:7488:41;2324:4:5;2316:23;687:7488:41;;;;;-1:-1:-1;;;;;;;;;;;687:7488:41;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1963:87:5;1898:6;-1:-1:-1;;;;;687:7488:41;1873:80:5;1889:4;1881:23;;;1873:80;:::i;:::-;-1:-1:-1;;;;;;;;;;;687:7488:41;-1:-1:-1;;;;;687:7488:41;1971:30:5;1963:87;:::i;:::-;1303:62:0;;:::i;:::-;951:66:2;687:7488:41;;;;;;3478:17:2;;;;;:::i;:::-;687:7488:41;3380:526:2;687:7488:41;;-1:-1:-1;;;3531:63:2;;-1:-1:-1;;;;;687:7488:41;;;;;;;;3531:63:2;;687:7488:41;;3531:63:2;;;3380:526;-1:-1:-1;3527:302:2;;687:7488:41;;-1:-1:-1;;;3758:56:2;;687:7488:41;;3758:56:2;;951:66;;687:7488:41;951:66:2;;687:7488:41;951:66:2;687:7488: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:7488:41;;2310:27:2;;687:7488:41;2310:27:2;;687:7488:41;;2659:15:2;;;:28;;;3527:302;2655:105;;687:7488:41;2655:105:2;1476:19:6;;:23;687:7488:41;;7395:25:2;7437:99;7395:25;687:7488:41;7395:25:2;;;;;;;687:7488:41;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;7437:99:2;:::i;687:7488:41:-;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;2659:28:2;;3971:4:5;2659:28:2;;951:66;687:7488:41;;-1:-1:-1;;;951:66:2;;687:7488:41;;951:66:2;;;;687:7488:41;951:66:2;;687:7488:41;951:66:2;687:7488:41;;;951:66:2;-1:-1:-1;;;951:66:2;;;;;;;3531:63;;;;687:7488:41;3531:63:2;;687:7488:41;3531:63:2;;;;;;687:7488:41;3531:63:2;;;:::i;:::-;;;951:66;;;;;3531:63;;;;;;;-1:-1:-1;3531:63:2;;687:7488:41;;;;;;-1:-1:-1;;687:7488:41;;;;1478:39;687:7488;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;:::i;:::-;1963:87:5;1898:6;-1:-1:-1;;;;;687:7488:41;1873:80:5;1889:4;1881:23;;;1873:80;:::i;1963:87::-;1303:62:0;;:::i;:::-;687:7488:41;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;687:7488:41;;;;;951:66:2;687:7488:41;;;;;;3478:17:2;;;;;;:::i;3380:526::-;687:7488:41;;-1:-1:-1;;;3531:63:2;;-1:-1:-1;;;;;687:7488:41;;;3531:63:2;687:7488:41;;;;3531:63:2;;687:7488:41;;3531:63:2;;;3380:526;-1:-1:-1;3527:302:2;;687:7488:41;;-1:-1:-1;;;3758:56:2;;687:7488:41;3758:56:2;;951:66;;;;;;;687:7488:41;951:66:2;687:7488: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:7488:41;;2310:27:2;;687:7488:41;2310:27:2;;687:7488:41;;2659:15:2;;;:28;;;3527:302;2655:105;;687:7488:41;2655:105:2;1476:19:6;;:23;687:7488:41;;7395:25:2;7437:99;7395:25;;687:7488:41;7395:25:2;;;;;;;687:7488:41;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;687:7488:41;;;;7437:99:2;:::i;687:7488:41:-;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;2659:28:2;;687:7488:41;2659:28:2;;951:66;687:7488:41;;-1:-1:-1;;;951:66:2;;687:7488:41;951:66:2;;;;;;;;;687:7488:41;951:66:2;687:7488:41;;;951:66:2;-1:-1:-1;;;951:66:2;;;;;;;3531:63;;;;;;;;;;;;;;;;;:::i;:::-;;;951:66;;;;;3531:63;;;;;;;;;687:7488:41;;;;;;-1:-1:-1;;687:7488:41;;;;1351:33;687:7488;;;-1:-1:-1;;;;;687:7488:41;;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;;;913:48;687:7488;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;2346:41;687:7488;;;;;;;;;;;;;-1:-1:-1;;687:7488:41;;;;;;2139:44;687:7488;;;;;;;;-1:-1:-1;;;;;687:7488:41;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;687:7488:41;;;;;-1:-1:-1;687:7488:41;;;;;;;;;-1:-1:-1;;687:7488:41;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;687:7488:41;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;:::o;:::-;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;;;;-1:-1:-1;687:7488:41;;;;;;;;-1:-1:-1;;687:7488:41;;;;:::o;1599:130:0:-;1513:6;687:7488:41;-1:-1:-1;;;;;687:7488:41;929:10:7;1662:23:0;687:7488:41;;1599:130:0:o;687:7488:41:-;;;;951:66:2;;;687:7488:41;;;;;;;;;;;;;;;;;;2673:187:0;2765:6;687:7488:41;;-1:-1:-1;;;;;687:7488:41;;;-1:-1:-1;;;;;;687:7488:41;;;;;;;;;;2813:40:0;-1:-1:-1;;2813:40:0;2673:187::o;687:7488:41:-;;;;:::o;:::-;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;1805:281:2;1476:19:6;;:23;687:7488:41;;;;;;;;-1:-1:-1;;;;;687:7488:41;;-1:-1:-1;;;;;;;;;;;687:7488:41;;;-1:-1:-1;;;;;;;;;;;687:7488:41;1805:281:2:o;687:7488:41:-;;;-1:-1:-1;;;687:7488:41;;;;;;;;;;;;;;;;;-1:-1:-1;;;687:7488:41;;;;;;;6622:742:6;;;;6792:566;;;6819:17;;:::o;6792:566::-;687:7488:41;;6937:21:6;:17;;7121:154;;;;;;;6933:415;687:7488:41;;;;;951:66:2;;;;;;7313:20:6;;;;;;687:7488:41;;;;;;;;;;;;;;;;6957:1:6;687:7488:41;;;;;;;;-1:-1:-1;;687:7488:41;;;7313:20:6;;;","linkReferences":{},"immutableReferences":{"702":[{"start":2399,"length":32},{"start":2692,"length":32},{"start":3503,"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[],uint8,bytes32,bytes)":"90249d8d","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\":\"uint8\",\"name\":\"provingSystemId\",\"type\":\"uint8\"},{\"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[],uint8,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[],uint8,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\":\"0x75ea1e1410521e228a8bb4c66e2ed5b5a081e3e391f33f8f115f04e956796f4a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://66973f33e638eed76ef507076b890b4b2d2f38c989b1bd2884d02cf81470ebfc\",\"dweb:/ipfs/QmdM9pPmihpdUgGn14dhSacUKXyVdRyjRoCy2yskqVppvc\"]},\"src/core/IAlignedProofAggregationService.sol\":{\"keccak256\":\"0x8c4b3982ef34f98b597ff7b94bedbe473ec33835f605124db3b7cc2d5fa55176\",\"urls\":[\"bzz-raw://0ff7dadeaa91515c9dfb1380fc4f4a818e2bb423a54d32c70104e7e6357bf34a\",\"dweb:/ipfs/QmYw1xuEghBUczeJBNyHFcmkGtjkRUZQRdGnsZ2vYUSwT9\"]}},\"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":"uint8","name":"provingSystemId","type":"uint8"},{"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[],uint8,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[],uint8,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":"0x75ea1e1410521e228a8bb4c66e2ed5b5a081e3e391f33f8f115f04e956796f4a","urls":["bzz-raw://66973f33e638eed76ef507076b890b4b2d2f38c989b1bd2884d02cf81470ebfc","dweb:/ipfs/QmdM9pPmihpdUgGn14dhSacUKXyVdRyjRoCy2yskqVppvc"],"license":"UNLICENSED"},"src/core/IAlignedProofAggregationService.sol":{"keccak256":"0x8c4b3982ef34f98b597ff7b94bedbe473ec33835f605124db3b7cc2d5fa55176","urls":["bzz-raw://0ff7dadeaa91515c9dfb1380fc4f4a818e2bb423a54d32c70104e7e6357bf34a","dweb:/ipfs/QmYw1xuEghBUczeJBNyHFcmkGtjkRUZQRdGnsZ2vYUSwT9"],"license":null}},"version":1},"id":41}