{"abi":[{"type":"function","name":"calculateAuthorityAddress","inputs":[{"name":"authorityOwner","type":"address","internalType":"address"},{"name":"epochLength","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"newAuthority","inputs":[{"name":"authorityOwner","type":"address","internalType":"address"},{"name":"epochLength","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IAuthority"}],"stateMutability":"nonpayable"},{"type":"function","name":"newAuthority","inputs":[{"name":"authorityOwner","type":"address","internalType":"address"},{"name":"epochLength","type":"uint256","internalType":"uint256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"contract IAuthority"}],"stateMutability":"nonpayable"},{"type":"event","name":"AuthorityCreated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"contract IAuthority"}],"anonymous":false}],"bytecode":{"object":"0x60808060405234601557610916908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081631442f7bb146101a55750806393d7217c146100fa5763ec9926681461003d575f80fd5b346100f65761004b36610274565b9160405191610620908184019284841067ffffffffffffffff8511176100e2578493610091936102c186396001600160a01b039091168152602081019190915260400190565b03905ff580156100d75760209060018060a01b03167fdca1fad70bee4ba7a4e17a1c6e99e657d2251af7a279124758bc01588abe2d2f82604051838152a1604051908152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b346100f65760403660031901126100f6576004356001600160a01b03811681036100f6576040519061062080830183811067ffffffffffffffff8211176100e257839261015f926102c185396001600160a01b03168152602435602082015260400190565b03905ff080156100d75760209060018060a01b03167fdca1fad70bee4ba7a4e17a1c6e99e657d2251af7a279124758bc01588abe2d2f82604051838152a1604051908152f35b346100f657600b602080926102066102456101bf36610274565b959091610214610620936101d58486018961029e565b848852838801946102c18639604051968791858301948560209093929193604081019460018060a01b031681520152565b03601f19810187528661029e565b60405194859383850197518091895e840190838201905f8252519283915e01015f815203601f19810183528261029e565b51902090604051916040830152838201523081520160ff8153605590206040516001600160a01b039091168152f35b60609060031901126100f6576004356001600160a01b03811681036100f657906024359060443590565b90601f8019910116810190811067ffffffffffffffff8211176100e25760405256fe60a03461011f57601f61062038819003918201601f19168301916001600160401b0383118484101761012357808492604094855283398101031261011f5780516001600160a01b038116919082900361011f576020015180156100da5760805280156100c757600380546001600160a01b03198116831790915560405191906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36104e8908161013882396080518181816101a201526102720152f35b631e4fbdf760e01b5f525f60045260245ffd5b60405162461bcd60e51b815260206004820152601d60248201527f65706f6368206c656e677468206d757374206e6f74206265207a65726f0000006044820152606490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610402575080636470af0014610248578063715018a6146101ed5780638da5cb5b146101c5578063cfe8a73b1461018b578063d574f4d71461016e578063e5cc866414610126578063ee5e0faa146101095763f2fde38b1461007f575f80fd5b3461010557602036600319011261010557610098610467565b6100a061047d565b6001600160a01b031680156100f257600380546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b34610105575f366003190112610105576020600254604051908152f35b34610105576040366003190112610105576001600160a01b03610147610467565b165f525f60205260405f206024355f52602052602060ff60405f2054166040519015158152f35b34610105575f366003190112610105576020600154604051908152f35b34610105575f3660031901126101055760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610105575f366003190112610105576003546040516001600160a01b039091168152602090f35b34610105575f3660031901126101055761020561047d565b600380546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461010557606036600319011261010557610261610467565b6024356044359161027061047d565b7f000000000000000000000000000000000000000000000000000000000000000080156103ee575f1981018181116103da57818406036103c457438310156103ad5782049060018060a01b0316805f52600460205260405f2092600160ff8460081c94161b94835f52846020528560405f205416610396577f0f2cd00a405c0d1a66050307b6722c4788db6ed57aa3589a5c38da535cc3ce63916040918483518381528260208201527ff4ff953641f10e17dd93c0bc51334cb1f711fdcb4e37992021a5973f7a958f09853392a36103496002546104a4565b600255845f525f602052825f20815f52602052825f20600160ff1982541617905582519182526020820152a26103806001546104a4565b6001555f5260205260405f209081541790555f80f35b5090637e94264560e01b5f5260045260245260445ffd5b8263d804a6a160e01b5f526004524360245260445ffd5b8263c92a0d6960e01b5f5260045260245260445ffd5b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b34610105576020366003190112610105576004359063ffffffff60e01b821680920361010557816020921590811561043c575b5015158152f35b63485979a360e11b811491508115610456575b5083610435565b6301ffc9a760e01b1490508361044f565b600435906001600160a01b038216820361010557565b6003546001600160a01b0316330361049157565b63118cdaa760e01b5f523360045260245ffd5b5f1981146103da576001019056fea26469706673582212207b0199ad0524fd56347ce3e6aad02d69c9950e42b672be8690cee40605c0ec5564736f6c634300081e0033a26469706673582212209caab3e8439b18e0ce8a49d1f9f616c0bfa525b3b742c418e25e59771492ab5264736f6c634300081e0033","sourceMap":"456:1084:30:-:0;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081631442f7bb146101a55750806393d7217c146100fa5763ec9926681461003d575f80fd5b346100f65761004b36610274565b9160405191610620908184019284841067ffffffffffffffff8511176100e2578493610091936102c186396001600160a01b039091168152602081019190915260400190565b03905ff580156100d75760209060018060a01b03167fdca1fad70bee4ba7a4e17a1c6e99e657d2251af7a279124758bc01588abe2d2f82604051838152a1604051908152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b346100f65760403660031901126100f6576004356001600160a01b03811681036100f6576040519061062080830183811067ffffffffffffffff8211176100e257839261015f926102c185396001600160a01b03168152602435602082015260400190565b03905ff080156100d75760209060018060a01b03167fdca1fad70bee4ba7a4e17a1c6e99e657d2251af7a279124758bc01588abe2d2f82604051838152a1604051908152f35b346100f657600b602080926102066102456101bf36610274565b959091610214610620936101d58486018961029e565b848852838801946102c18639604051968791858301948560209093929193604081019460018060a01b031681520152565b03601f19810187528661029e565b60405194859383850197518091895e840190838201905f8252519283915e01015f815203601f19810183528261029e565b51902090604051916040830152838201523081520160ff8153605590206040516001600160a01b039091168152f35b60609060031901126100f6576004356001600160a01b03811681036100f657906024359060443590565b90601f8019910116810190811067ffffffffffffffff8211176100e25760405256fe60a03461011f57601f61062038819003918201601f19168301916001600160401b0383118484101761012357808492604094855283398101031261011f5780516001600160a01b038116919082900361011f576020015180156100da5760805280156100c757600380546001600160a01b03198116831790915560405191906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36104e8908161013882396080518181816101a201526102720152f35b631e4fbdf760e01b5f525f60045260245ffd5b60405162461bcd60e51b815260206004820152601d60248201527f65706f6368206c656e677468206d757374206e6f74206265207a65726f0000006044820152606490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a714610402575080636470af0014610248578063715018a6146101ed5780638da5cb5b146101c5578063cfe8a73b1461018b578063d574f4d71461016e578063e5cc866414610126578063ee5e0faa146101095763f2fde38b1461007f575f80fd5b3461010557602036600319011261010557610098610467565b6100a061047d565b6001600160a01b031680156100f257600380546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b631e4fbdf760e01b5f525f60045260245ffd5b5f80fd5b34610105575f366003190112610105576020600254604051908152f35b34610105576040366003190112610105576001600160a01b03610147610467565b165f525f60205260405f206024355f52602052602060ff60405f2054166040519015158152f35b34610105575f366003190112610105576020600154604051908152f35b34610105575f3660031901126101055760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b34610105575f366003190112610105576003546040516001600160a01b039091168152602090f35b34610105575f3660031901126101055761020561047d565b600380546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461010557606036600319011261010557610261610467565b6024356044359161027061047d565b7f000000000000000000000000000000000000000000000000000000000000000080156103ee575f1981018181116103da57818406036103c457438310156103ad5782049060018060a01b0316805f52600460205260405f2092600160ff8460081c94161b94835f52846020528560405f205416610396577f0f2cd00a405c0d1a66050307b6722c4788db6ed57aa3589a5c38da535cc3ce63916040918483518381528260208201527ff4ff953641f10e17dd93c0bc51334cb1f711fdcb4e37992021a5973f7a958f09853392a36103496002546104a4565b600255845f525f602052825f20815f52602052825f20600160ff1982541617905582519182526020820152a26103806001546104a4565b6001555f5260205260405f209081541790555f80f35b5090637e94264560e01b5f5260045260245260445ffd5b8263d804a6a160e01b5f526004524360245260445ffd5b8263c92a0d6960e01b5f5260045260245260445ffd5b634e487b7160e01b5f52601160045260245ffd5b634e487b7160e01b5f52601260045260245ffd5b34610105576020366003190112610105576004359063ffffffff60e01b821680920361010557816020921590811561043c575b5015158152f35b63485979a360e11b811491508115610456575b5083610435565b6301ffc9a760e01b1490508361044f565b600435906001600160a01b038216820361010557565b6003546001600160a01b0316330361049157565b63118cdaa760e01b5f523360045260245ffd5b5f1981146103da576001019056fea26469706673582212207b0199ad0524fd56347ce3e6aad02d69c9950e42b672be8690cee40605c0ec5564736f6c634300081e0033a26469706673582212209caab3e8439b18e0ce8a49d1f9f616c0bfa525b3b742c418e25e59771492ab5264736f6c634300081e0033","sourceMap":"456:1084:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;1420:28;;456:1084;1420:28;;;456:1084;;;;;;;;;;;;;;:::i;:::-;;;;982:54;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;456:1084:30;;;;;;;;;;;;;;;;982:54;;;456:1084;982:54;;;;;456:1084;;;;;;;;1052:27;456:1084;;;;;;1052:27;456:1084;;;;;;982:54;456:1084;;;;;;;;;982:54;456:1084;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;456:1084:30;;;;;;-1:-1:-1;;;;;456:1084:30;;;;;;;;676:42;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;456:1084:30;;;;;;;;;;;;;676:42;;;456:1084;676:42;;;;;456:1084;;;;;;;;734:27;456:1084;;;;;;734:27;456:1084;;;;;;;;;;2794:1663:13;1420:28:30;456:1084;;1450:39;1382:125;456:1084;;;:::i;:::-;1420:28;;;1450:39;1420:28;;456:1084;1420:28;;;456:1084;;:::i;:::-;1420:28;;;;;;;;;;456:1084;;1450:39;;;;;;;;456:1084;;;;;;;;;;;;;;;;;;;;;1450:39;;;;;;;;;;:::i;:::-;456:1084;;1382:125;;;;;;456:1084;;;;;;;;;;;;;;;;;;;;;;;;;;1382:125;1450:39;;1382:125;;;;;;:::i;:::-;456:1084;1355:166;;2794:1663:13;456:1084:30;2794:1663:13;;456:1084:30;2794:1663:13;;;;;;;2413:4;2794:1663;;;;;;;;;-1:-1:-1;456:1084:30;-1:-1:-1;;;;;2794:1663:13;;;456:1084:30;;;;;;;;;;;;;;-1:-1:-1;;;;;456:1084:30;;;;;;;;;;;;;:::o;:::-;;;1450:39;;456:1084;;;;;;;;;;;;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"calculateAuthorityAddress(address,uint256,bytes32)":"1442f7bb","newAuthority(address,uint256)":"93d7217c","newAuthority(address,uint256,bytes32)":"ec992668"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IAuthority\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authorityOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epochLength\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"calculateAuthorityAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authorityOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epochLength\",\"type\":\"uint256\"}],\"name\":\"newAuthority\",\"outputs\":[{\"internalType\":\"contract IAuthority\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authorityOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epochLength\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"newAuthority\",\"outputs\":[{\"internalType\":\"contract IAuthority\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"AuthorityCreated(address)\":{\"details\":\"MUST be triggered on a successful call to `newAuthority`.\",\"params\":{\"authority\":\"The authority\"}}},\"kind\":\"dev\",\"methods\":{\"calculateAuthorityAddress(address,uint256,bytes32)\":{\"details\":\"Beware that only the `newAuthority` function with the `salt` parameter      is able to deterministically deploy an authority.\",\"params\":{\"authorityOwner\":\"The initial authority owner\",\"epochLength\":\"The epoch length\",\"salt\":\"The salt used to deterministically generate the authority address\"},\"returns\":{\"_0\":\"The deterministic authority address\"}},\"newAuthority(address,uint256)\":{\"details\":\"On success, MUST emit an `AuthorityCreated` event.Reverts if the authority owner address is zero.Reverts if the epoch length is zero.\",\"params\":{\"authorityOwner\":\"The initial authority owner\",\"epochLength\":\"The epoch length\"},\"returns\":{\"_0\":\"The authority\"}},\"newAuthority(address,uint256,bytes32)\":{\"details\":\"On success, MUST emit an `AuthorityCreated` event.Reverts if the authority owner address is zero.Reverts if the epoch length is zero.\",\"params\":{\"authorityOwner\":\"The initial authority owner\",\"epochLength\":\"The epoch length\",\"salt\":\"The salt used to deterministically generate the authority address\"},\"returns\":{\"_0\":\"The authority\"}}},\"title\":\"Authority Factory\",\"version\":1},\"userdoc\":{\"events\":{\"AuthorityCreated(address)\":{\"notice\":\"A new authority was deployed.\"}},\"kind\":\"user\",\"methods\":{\"calculateAuthorityAddress(address,uint256,bytes32)\":{\"notice\":\"Calculate the address of an authority to be deployed deterministically.\"},\"newAuthority(address,uint256)\":{\"notice\":\"Deploy a new authority.\"},\"newAuthority(address,uint256,bytes32)\":{\"notice\":\"Deploy a new authority deterministically.\"}},\"notice\":\"Allows anyone to reliably deploy a new `IAuthority` contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/consensus/authority/AuthorityFactory.sol\":\"AuthorityFactory\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.2.0/=dependencies/@openzeppelin-contracts-5.2.0/\",\":forge-std-1.9.6/=dependencies/forge-std-1.9.6/\"],\"viaIR\":true},\"sources\":{\"dependencies/@openzeppelin-contracts-5.2.0/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/Create2.sol\":{\"keccak256\":\"0xbb7e8401583d26268ea9103013bcdcd90866a7718bd91105ebd21c9bf11f4f06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://866a11ad89c93ee918078f7a46ae31e17d89216ce64603f0d34be7ed0a5c520e\",\"dweb:/ipfs/QmW3ckLEJg2v2NzuVLNJFmRuerGSipw6Dzg6ntbmqbAGoC\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"src/access/IOwnable.sol\":{\"keccak256\":\"0x826f366603fe6fd715bd912d40e9b4e851c110aea5895522523d800015532f6d\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://bb115a4a30824bf77e10b63727cea83e7e1e9bf4c3079ed65e3e7c0eaa290272\",\"dweb:/ipfs/QmYpjBNmELeX1NKdPjXcqnssz65pgYpX2g6ahKXisr9aWM\"]},\"src/consensus/AbstractConsensus.sol\":{\"keccak256\":\"0x1455e92481df72c9828cccf4054c43240939ba25b63ef230e7a479dd385367d2\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://69266ee1ccec16fd0ff1b8fd56daae37bcfb8426a1f59ca57319b03def84d3c5\",\"dweb:/ipfs/QmXK3VX5JXk3XHk8rMiyUEgJAWErtDKqtPuiKVqYZCnz9C\"]},\"src/consensus/IConsensus.sol\":{\"keccak256\":\"0x26491d6a13136dfed5c07b4553c86f8ec3ec2e0de803085620523db9c4f94dd3\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://6a0efccda9973ca9da9b8a1fa18fba0df9a457a3b46c6d101ee06f6da43eb468\",\"dweb:/ipfs/QmehZJHU6fEmGuA2QkthA9Mka38phw4q4ioX34rqXKp9Pi\"]},\"src/consensus/IOutputsMerkleRootValidator.sol\":{\"keccak256\":\"0x133dfa71847fd6478489e983d53b08b22f5f578634c2103e96a11cd128e81d68\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://eb43c0a4aa7cd21753a3b92820da37ef58cf29aa4ef5c18a6f2face3e6e94e25\",\"dweb:/ipfs/QmezZmVZV1cfygDYPC8XheVVxaSZt92xQNdEpnRV6Xdh3M\"]},\"src/consensus/authority/Authority.sol\":{\"keccak256\":\"0x506b41a3d36fb99226afc1cbcaa4716d168d606d6d092ad9826ee0299ba79510\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://152d1a026fb0a1aff3306088f614d80d77cac5ac9ca9953f9677b20eae7fd3e8\",\"dweb:/ipfs/QmaGfW12EHNUR3oy81xswwR3cX1qYZaZ5G21A39uxF7w6g\"]},\"src/consensus/authority/AuthorityFactory.sol\":{\"keccak256\":\"0xe867139e192fa7fd8bf190fc333d3848e650e302a41e5021a80f0e66a271ba1f\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://a82f6dab7c1b7ef16f663df31033403bb7aa2ff031c3f1f392dedaa6f5ff8436\",\"dweb:/ipfs/QmTkUtWcpYsAg424aqiyYTBCM5tusD7AAGGgTUcSjMrrYe\"]},\"src/consensus/authority/IAuthority.sol\":{\"keccak256\":\"0x6b63b7eb9c7deac1184052e58a2fba6e45bc630f1a38225d35cafbd0d5b98b04\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://a5775335d8d7fbb9d8470259af3fe924fdfc14c35c36f4d860fb3f70f8b9ef3b\",\"dweb:/ipfs/QmdpkdekUhZF1mEeKwkLWw3gDt6M8zTeS148rJ4vhUs8Eb\"]},\"src/consensus/authority/IAuthorityFactory.sol\":{\"keccak256\":\"0xd4cd49c11fc103e07a3a47de2fb0b41b3b7ef99d0da345c3cf3d23fd4e7891f5\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://7299f0af4917ab188dce0158701aad3051ace781db93907b3fb593dbbb069329\",\"dweb:/ipfs/Qmf7zLU5YdyUQaVZxxQXapVsJZqLdMxUeysMUc8JoMygfK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IAuthority","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"authorityOwner","type":"address"},{"internalType":"uint256","name":"epochLength","type":"uint256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"view","type":"function","name":"calculateAuthorityAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"authorityOwner","type":"address"},{"internalType":"uint256","name":"epochLength","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"newAuthority","outputs":[{"internalType":"contract IAuthority","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"authorityOwner","type":"address"},{"internalType":"uint256","name":"epochLength","type":"uint256"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"newAuthority","outputs":[{"internalType":"contract IAuthority","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"calculateAuthorityAddress(address,uint256,bytes32)":{"details":"Beware that only the `newAuthority` function with the `salt` parameter      is able to deterministically deploy an authority.","params":{"authorityOwner":"The initial authority owner","epochLength":"The epoch length","salt":"The salt used to deterministically generate the authority address"},"returns":{"_0":"The deterministic authority address"}},"newAuthority(address,uint256)":{"details":"On success, MUST emit an `AuthorityCreated` event.Reverts if the authority owner address is zero.Reverts if the epoch length is zero.","params":{"authorityOwner":"The initial authority owner","epochLength":"The epoch length"},"returns":{"_0":"The authority"}},"newAuthority(address,uint256,bytes32)":{"details":"On success, MUST emit an `AuthorityCreated` event.Reverts if the authority owner address is zero.Reverts if the epoch length is zero.","params":{"authorityOwner":"The initial authority owner","epochLength":"The epoch length","salt":"The salt used to deterministically generate the authority address"},"returns":{"_0":"The authority"}}},"version":1},"userdoc":{"kind":"user","methods":{"calculateAuthorityAddress(address,uint256,bytes32)":{"notice":"Calculate the address of an authority to be deployed deterministically."},"newAuthority(address,uint256)":{"notice":"Deploy a new authority."},"newAuthority(address,uint256,bytes32)":{"notice":"Deploy a new authority deterministically."}},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.2.0/=dependencies/@openzeppelin-contracts-5.2.0/","forge-std-1.9.6/=dependencies/forge-std-1.9.6/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/consensus/authority/AuthorityFactory.sol":"AuthorityFactory"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"dependencies/@openzeppelin-contracts-5.2.0/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/Create2.sol":{"keccak256":"0xbb7e8401583d26268ea9103013bcdcd90866a7718bd91105ebd21c9bf11f4f06","urls":["bzz-raw://866a11ad89c93ee918078f7a46ae31e17d89216ce64603f0d34be7ed0a5c520e","dweb:/ipfs/QmW3ckLEJg2v2NzuVLNJFmRuerGSipw6Dzg6ntbmqbAGoC"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"src/access/IOwnable.sol":{"keccak256":"0x826f366603fe6fd715bd912d40e9b4e851c110aea5895522523d800015532f6d","urls":["bzz-raw://bb115a4a30824bf77e10b63727cea83e7e1e9bf4c3079ed65e3e7c0eaa290272","dweb:/ipfs/QmYpjBNmELeX1NKdPjXcqnssz65pgYpX2g6ahKXisr9aWM"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/AbstractConsensus.sol":{"keccak256":"0x1455e92481df72c9828cccf4054c43240939ba25b63ef230e7a479dd385367d2","urls":["bzz-raw://69266ee1ccec16fd0ff1b8fd56daae37bcfb8426a1f59ca57319b03def84d3c5","dweb:/ipfs/QmXK3VX5JXk3XHk8rMiyUEgJAWErtDKqtPuiKVqYZCnz9C"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/IConsensus.sol":{"keccak256":"0x26491d6a13136dfed5c07b4553c86f8ec3ec2e0de803085620523db9c4f94dd3","urls":["bzz-raw://6a0efccda9973ca9da9b8a1fa18fba0df9a457a3b46c6d101ee06f6da43eb468","dweb:/ipfs/QmehZJHU6fEmGuA2QkthA9Mka38phw4q4ioX34rqXKp9Pi"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/IOutputsMerkleRootValidator.sol":{"keccak256":"0x133dfa71847fd6478489e983d53b08b22f5f578634c2103e96a11cd128e81d68","urls":["bzz-raw://eb43c0a4aa7cd21753a3b92820da37ef58cf29aa4ef5c18a6f2face3e6e94e25","dweb:/ipfs/QmezZmVZV1cfygDYPC8XheVVxaSZt92xQNdEpnRV6Xdh3M"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/authority/Authority.sol":{"keccak256":"0x506b41a3d36fb99226afc1cbcaa4716d168d606d6d092ad9826ee0299ba79510","urls":["bzz-raw://152d1a026fb0a1aff3306088f614d80d77cac5ac9ca9953f9677b20eae7fd3e8","dweb:/ipfs/QmaGfW12EHNUR3oy81xswwR3cX1qYZaZ5G21A39uxF7w6g"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/authority/AuthorityFactory.sol":{"keccak256":"0xe867139e192fa7fd8bf190fc333d3848e650e302a41e5021a80f0e66a271ba1f","urls":["bzz-raw://a82f6dab7c1b7ef16f663df31033403bb7aa2ff031c3f1f392dedaa6f5ff8436","dweb:/ipfs/QmTkUtWcpYsAg424aqiyYTBCM5tusD7AAGGgTUcSjMrrYe"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/authority/IAuthority.sol":{"keccak256":"0x6b63b7eb9c7deac1184052e58a2fba6e45bc630f1a38225d35cafbd0d5b98b04","urls":["bzz-raw://a5775335d8d7fbb9d8470259af3fe924fdfc14c35c36f4d860fb3f70f8b9ef3b","dweb:/ipfs/QmdpkdekUhZF1mEeKwkLWw3gDt6M8zTeS148rJ4vhUs8Eb"],"license":"Apache-2.0 (see LICENSE)"},"src/consensus/authority/IAuthorityFactory.sol":{"keccak256":"0xd4cd49c11fc103e07a3a47de2fb0b41b3b7ef99d0da345c3cf3d23fd4e7891f5","urls":["bzz-raw://7299f0af4917ab188dce0158701aad3051ace781db93907b3fb593dbbb069329","dweb:/ipfs/Qmf7zLU5YdyUQaVZxxQXapVsJZqLdMxUeysMUc8JoMygfK"],"license":"Apache-2.0 (see LICENSE)"}},"version":1},"id":30}