{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"BATCH_INBOX_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DISPUTE_GAME_FACTORY_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"L1_CROSS_DOMAIN_MESSENGER_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"L1_ERC_721_BRIDGE_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"L1_STANDARD_BRIDGE_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"NATIVE_TOKEN_ADDRESS_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OPTIMISM_PORTAL_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"START_BLOCK_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"UNSAFE_BLOCK_SIGNER_SLOT","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"VERSION","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"basefeeScalar","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"batchInbox","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"batcherHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"blobbasefeeScalar","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"disputeGameFactory","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"gasLimit","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"gasPayingToken","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"gasPayingTokenName","inputs":[],"outputs":[{"name":"name_","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"gasPayingTokenSymbol","inputs":[],"outputs":[{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_basefeeScalar","type":"uint32","internalType":"uint32"},{"name":"_blobbasefeeScalar","type":"uint32","internalType":"uint32"},{"name":"_batcherHash","type":"bytes32","internalType":"bytes32"},{"name":"_gasLimit","type":"uint64","internalType":"uint64"},{"name":"_unsafeBlockSigner","type":"address","internalType":"address"},{"name":"_config","type":"tuple","internalType":"struct ResourceMetering.ResourceConfig","components":[{"name":"maxResourceLimit","type":"uint32","internalType":"uint32"},{"name":"elasticityMultiplier","type":"uint8","internalType":"uint8"},{"name":"baseFeeMaxChangeDenominator","type":"uint8","internalType":"uint8"},{"name":"minimumBaseFee","type":"uint32","internalType":"uint32"},{"name":"systemTxMaxGas","type":"uint32","internalType":"uint32"},{"name":"maximumBaseFee","type":"uint128","internalType":"uint128"}]},{"name":"_batchInbox","type":"address","internalType":"address"},{"name":"_addresses","type":"tuple","internalType":"struct SystemConfig.Addresses","components":[{"name":"l1CrossDomainMessenger","type":"address","internalType":"address"},{"name":"l1ERC721Bridge","type":"address","internalType":"address"},{"name":"l1StandardBridge","type":"address","internalType":"address"},{"name":"disputeGameFactory","type":"address","internalType":"address"},{"name":"optimismPortal","type":"address","internalType":"address"},{"name":"optimismMintableERC20Factory","type":"address","internalType":"address"},{"name":"gasPayingToken","type":"address","internalType":"address"},{"name":"nativeTokenAddress","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCustomGasToken","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"l1CrossDomainMessenger","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"l1ERC721Bridge","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"l1StandardBridge","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"maximumGasLimit","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"type":"function","name":"minimumGasLimit","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"nativeTokenAddress","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"optimismMintableERC20Factory","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"optimismPortal","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"overhead","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resourceConfig","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct ResourceMetering.ResourceConfig","components":[{"name":"maxResourceLimit","type":"uint32","internalType":"uint32"},{"name":"elasticityMultiplier","type":"uint8","internalType":"uint8"},{"name":"baseFeeMaxChangeDenominator","type":"uint8","internalType":"uint8"},{"name":"minimumBaseFee","type":"uint32","internalType":"uint32"},{"name":"systemTxMaxGas","type":"uint32","internalType":"uint32"},{"name":"maximumBaseFee","type":"uint128","internalType":"uint128"}]}],"stateMutability":"view"},{"type":"function","name":"scalar","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setBatcherHash","inputs":[{"name":"_batcherHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGasConfig","inputs":[{"name":"_overhead","type":"uint256","internalType":"uint256"},{"name":"_scalar","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGasConfigEcotone","inputs":[{"name":"_basefeeScalar","type":"uint32","internalType":"uint32"},{"name":"_blobbasefeeScalar","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGasLimit","inputs":[{"name":"_gasLimit","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUnsafeBlockSigner","inputs":[{"name":"_unsafeBlockSigner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBlock","inputs":[],"outputs":[{"name":"startBlock_","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unsafeBlockSigner","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"event","name":"ConfigUpdate","inputs":[{"name":"version","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"updateType","type":"uint8","indexed":true,"internalType":"enum SystemConfig.UpdateType"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"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}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b50620000496200003260016000805160206200323883398151915262000d55565b60001b600019620000d960201b620010711760201c565b6040805160c080820183526001808352602080840182905260028486015260006060808601829052608080870183905260a0808801849052885161010081018a52848152948501849052978401839052908301829052820181905294810185905291820184905260e08201849052620000d39361dead9390928392839290918391908290620000dd565b62000e78565b9055565b600054610100900460ff1615808015620000fe5750600054600160ff909116105b806200012e57506200011b306200053960201b620010751760201c565b1580156200012e575060005460ff166001145b620001975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620001bb576000805461ff0019166101001790555b620001c562000548565b620001d08a620005b0565b620001db876200062f565b620001e7898962000681565b620001f28662000748565b620002297f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0886620000d960201b620010711760201c565b6200026f6200025a60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59862000d55565b60001b84620000d960201b620010711760201c565b620002b9620002a060017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063762000d55565b60001b8360000151620000d960201b620010711760201c565b62000303620002ea60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a862000d55565b60001b8360200151620000d960201b620010711760201c565b6200034d6200033460017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637762000d55565b60001b8360400151620000d960201b620010711760201c565b620003976200037e60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90762000d55565b60001b8360600151620000d960201b620010711760201c565b620003e1620003c860017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad62000d55565b60001b8360800151620000d960201b620010711760201c565b6200042b6200041260017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d62000d55565b60001b8360a00151620000d960201b620010711760201c565b620004756200045c60017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef162000d55565b60001b8360e00151620000d960201b620010711760201c565b6200047f62000844565b6200048a84620008b5565b6200049462000bf9565b6001600160401b0316866001600160401b03161015620004e65760405162461bcd60e51b815260206004820152601f6024820152600080516020620031d883398151915260448201526064016200018e565b80156200052d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6001600160a01b03163b151590565b600054610100900460ff16620005a45760405162461bcd60e51b815260206004820152602b60248201526000805160206200321883398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200018e565b620005ae62000c26565b565b620005ba62000c8d565b6001600160a01b038116620006215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200018e565b6200062c8162000ce9565b50565b60678190556040805160208082018490528251808303909101815290820190915260005b6000600080516020620031f88339815191528360405162000675919062000d6f565b60405180910390a35050565b60688054600160401b600160801b0319166801000000000000000063ffffffff85811691820263ffffffff60601b1916929092176c010000000000000000000000009285169290920291909117909155600160f81b602083811b67ffffffff0000000016909217176066819055606554604080519384019190915282015260009060600160408051601f19818403018152919052905060016000600080516020620031f8833981519152836040516200073b919062000d6f565b60405180910390a3505050565b6200075262000bf9565b6001600160401b0316816001600160401b03161015620007a45760405162461bcd60e51b815260206004820152601f6024820152600080516020620031d883398151915260448201526064016200018e565b630bebc2006001600160401b0382161115620008035760405162461bcd60e51b815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016200018e565b606880546001600160401b0319166001600160401b038316908117909155604080516020808201939093528151808203909301835281019052600262000653565b620008786200086460016000805160206200323883398151915262000d55565b60001b62000d3b60201b620010911760201c565b600003620005ae57620005ae620008a060016000805160206200323883398151915262000d55565b60001b43620000d960201b620010711760201c565b8060a001516001600160801b0316816060015163ffffffff161115620009445760405162461bcd60e51b815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016200018e565b6001816040015160ff1611620009b55760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201526e65206c6172676572207468616e203160881b60648201526084016200018e565b606854608082015182516001600160401b0390921691620009d7919062000dc7565b63ffffffff16111562000a1c5760405162461bcd60e51b815260206004820152601f6024820152600080516020620031d883398151915260448201526064016200018e565b6000816020015160ff161162000a8d5760405162461bcd60e51b815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201526e06965722063616e6e6f74206265203608c1b60648201526084016200018e565b8051602082015163ffffffff82169160ff9091169062000aaf90829062000df2565b62000abb919062000e24565b63ffffffff161462000b365760405162461bcd60e51b815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016200018e565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff96871664ffffffffff199095169490941764010000000060ff948516021764ffffffffff60281b191665010000000000939092169290920263ffffffff60301b19161766010000000000009185169190910217600160501b600160f01b0319166a01000000000000000000009390941692909202600160701b600160f01b03191692909217600160701b6001600160801b0390921691909102179055565b60695460009062000c219063ffffffff6a010000000000000000000082048116911662000e53565b905090565b600054610100900460ff1662000c825760405162461bcd60e51b815260206004820152602b60248201526000805160206200321883398151915260448201526a6e697469616c697a696e6760a81b60648201526084016200018e565b620005ae3362000ce9565b6033546001600160a01b03163314620005ae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200018e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b5490565b634e487b7160e01b600052601160045260246000fd5b60008282101562000d6a5762000d6a62000d3f565b500390565b600060208083528351808285015260005b8181101562000d9e5785810183015185820160400152820162000d80565b8181111562000db1576000604083870101525b50601f01601f1916929092016040019392505050565b600063ffffffff80831681851680830382111562000de95762000de962000d3f565b01949350505050565b600063ffffffff8084168062000e1857634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161562000e4a5762000e4a62000d3f565b02949350505050565b60006001600160401b0382811684821680830382111562000de95762000de962000d3f565b6123508062000e886000396000f3fe608060405234801561001057600080fd5b50600436106102f45760003560e01c8063935f029e11610191578063e0e2016d116100e3578063f2fde38b11610097578063f8c68de011610071578063f8c68de014610708578063fd32aa0f14610710578063ffa1ad741461071857600080fd5b8063f2fde38b146106d8578063f45e65d8146106eb578063f68016b7146106f457600080fd5b8063e81b2c6d116100c8578063e81b2c6d146106a7578063ec707517146106b0578063f2b4e617146106d057600080fd5b8063e0e2016d14610697578063e2a3285c1461069f57600080fd5b8063bfb14fb711610145578063cc731b021161011f578063cc731b0214610553578063d844471514610687578063dac6e63a1461068f57600080fd5b8063bfb14fb714610507578063c4e8ddfa14610538578063c9b26f611461054057600080fd5b8063a711986911610176578063a7119869146104e4578063b40a817c146104ec578063bc49ce5f146104ff57600080fd5b8063935f029e146104c95780639b7d7f0a146104dc57600080fd5b806348cd4cb11161024a57806354fd4d50116101fe578063697844c6116101d8578063697844c61461049b578063715018a6146104a35780638da5cb5b146104ab57600080fd5b806354fd4d5014610449578063550fcdc91461048b5780635d73369c1461049357600080fd5b80634d0047ee1161022f5780634d0047ee146104075780634f16540b1461040f57806353d794be1461043657600080fd5b806348cd4cb1146103f75780634add321d146103ff57600080fd5b806318d13918116102ac5780632132684911610286578063213268491461039657806321d7fde5146103ae5780634397dfef146103c157600080fd5b806318d139181461037157806319f5cea8146103865780631fd19ee11461038e57600080fd5b80630a49cb03116102dd5780630a49cb03146103415780630ae14b1b146103495780630c18c1621461036857600080fd5b806306c92657146102f9578063078f29cf14610314575b600080fd5b610301610720565b6040519081526020015b60405180910390f35b61031c61074e565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161030b565b61031c610787565b630bebc2005b60405167ffffffffffffffff909116815260200161030b565b61030160655481565b61038461037f366004611e48565b6107b7565b005b6103016107cb565b61031c6107f6565b61039e610820565b604051901515815260200161030b565b6103846103bc366004611e7e565b61085f565b6103c9610875565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260ff90911660208301520161030b565b610301610889565b61034f6108b9565b61031c6108df565b6103017f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b610384610444366004612019565b61090f565b60408051808201909152600c81527f322e332e302d626574612e32000000000000000000000000000000000000000060208201525b60405161030b91906121d3565b61047e610d44565b610301610d4e565b610301610d79565b610384610da4565b60335473ffffffffffffffffffffffffffffffffffffffff1661031c565b6103846104d73660046121e6565b610db8565b61031c610dca565b61031c610dfa565b6103846104fa366004612208565b610e2a565b610301610e3b565b6068546105239068010000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161030b565b61031c610e66565b61038461054e366004612223565b610e96565b6106176040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b60405161030b9190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b61047e610ea7565b61031c610eb1565b610301610ee1565b610301610f0c565b61030160675481565b606854610523906c01000000000000000000000000900463ffffffff1681565b61031c610f37565b6103846106e6366004611e48565b610f67565b61030160665481565b60685461034f9067ffffffffffffffff1681565b61030161101b565b610301611046565b610301600081565b61074b60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d61226b565b81565b600061078261077e60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637761226b565b5490565b905090565b600061078261077e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad61226b565b6107bf611095565b6107c881611116565b50565b61074b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a861226b565b60006107827f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b60008061082b610875565b5073ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141592915050565b610867611095565b61087182826111d3565b5050565b600080610880611311565b90939092509050565b600061078261077e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b6069546000906107829063ffffffff6a0100000000000000000000820481169116612282565b600061078261077e60017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef161226b565b600054610100900460ff161580801561092f5750600054600160ff909116105b806109495750303b158015610949575060005460ff166001145b6109da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610a3857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610a4061138e565b610a498a610f67565b610a528761142d565b610a5c89896111d3565b610a6586611455565b610a8e7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b610ac1610abc60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59861226b565b849055565b610af5610aef60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063761226b565b83519055565b610b2c610b2360017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a861226b565b60208401519055565b610b63610b5a60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637761226b565b60408401519055565b610b9a610b9160017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90761226b565b60608401519055565b610bd1610bc860017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad61226b565b60808401519055565b610c08610bff60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d61226b565b60a08401519055565b610c3f610c3660017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef161226b565b60e08401519055565b610c476115ab565b610c5084611613565b610c586108b9565b67ffffffffffffffff168667ffffffffffffffff161015610cd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016109d1565b8015610d3857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6060610782611a87565b61074b60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063761226b565b61074b60017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef161226b565b610dac611095565b610db66000611b48565b565b610dc0611095565b6108718282611bbf565b600061078261077e60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d61226b565b600061078261077e60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063761226b565b610e32611095565b6107c881611455565b61074b60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59861226b565b600061078261077e60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a861226b565b610e9e611095565b6107c88161142d565b6060610782611c95565b600061078261077e60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59861226b565b61074b60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b61074b60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90761226b565b600061078261077e60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90761226b565b610f6f611095565b73ffffffffffffffffffffffffffffffffffffffff8116611012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109d1565b6107c881611b48565b61074b60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637761226b565b61074b60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad61226b565b9055565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b5490565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109d1565b61113f7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be836040516111c791906121d3565b60405180910390a35050565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161130491906121d3565b60405180910390a3505050565b6000808061134361077e60017f04adb1412b2ddc16fcc0d4538d5c8f07cf9c83abecc6b41f6f69037b708fbcec61226b565b73ffffffffffffffffffffffffffffffffffffffff81169350905082611382575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92601292509050565b60a081901c9150509091565b600054610100900460ff16611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109d1565b610db6611d4b565b6067819055604080516020808201849052825180830390910181529082019091526000611196565b61145d6108b9565b67ffffffffffffffff168167ffffffffffffffff1610156114da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016109d1565b630bebc20067ffffffffffffffff82161115611552576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016109d1565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611196565b6115d961077e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b600003610db657610db661160e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff1611156116c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016109d1565b6001816040015160ff161161175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016109d1565b6068546080820151825167ffffffffffffffff9092169161177b91906122ae565b63ffffffff1611156117e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016109d1565b6000816020015160ff1611611880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016109d1565b8051602082015163ffffffff82169160ff909116906118a09082906122cd565b6118aa9190612317565b63ffffffff161461193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016109d1565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b60606000611a93611311565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601611b0c57505060408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b611b42611b3d61077e60017fa48b38a4b44951360fbdcbfaaeae5ed6ae92585412e9841b70ec72ed8cd0576461226b565b611deb565b91505090565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b7fff00000000000000000000000000000000000000000000000000000000000000811615611c6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016109d1565b6065829055606681905560408051602081018490529081018290526000906060016112a1565b60606000611ca1611311565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601611d1a57505060408051808201909152600581527f4574686572000000000000000000000000000000000000000000000000000000602082015290565b611b42611b3d61077e60017f657c3582c29b3176614e3a33ddd1ec48352696a04e92b3c0566d72010fa8863d61226b565b600054610100900460ff16611de2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109d1565b610db633611b48565b60405160005b82811a15611e0157600101611df1565b80825260208201838152600082820152505060408101604052919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611e4357600080fd5b919050565b600060208284031215611e5a57600080fd5b611e6382611e1f565b9392505050565b803563ffffffff81168114611e4357600080fd5b60008060408385031215611e9157600080fd5b611e9a83611e6a565b9150611ea860208401611e6a565b90509250929050565b803567ffffffffffffffff81168114611e4357600080fd5b60405160c0810167ffffffffffffffff81118282101715611f13577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114611e4357600080fd5b6000610100808385031215611f3e57600080fd5b6040519081019067ffffffffffffffff82118183101715611f88577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052809250611f9884611e1f565b8152611fa660208501611e1f565b6020820152611fb760408501611e1f565b6040820152611fc860608501611e1f565b6060820152611fd960808501611e1f565b6080820152611fea60a08501611e1f565b60a0820152611ffb60c08501611e1f565b60c082015261200c60e08501611e1f565b60e0820152505092915050565b6000806000806000806000806000898b036102a081121561203957600080fd5b6120428b611e1f565b995061205060208c01611e6a565b985061205e60408c01611e6a565b975060608b0135965061207360808c01611eb1565b955061208160a08c01611e1f565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40820112156120b357600080fd5b506120bc611ec9565b6120c860c08c01611e6a565b81526120d660e08c01611f19565b60208201526120e86101008c01611f19565b60408201526120fa6101208c01611e6a565b606082015261210c6101408c01611e6a565b60808201526101608b01356fffffffffffffffffffffffffffffffff8116811461213557600080fd5b60a082015292506121496101808b01611e1f565b91506121598b6101a08c01611f2a565b90509295985092959850929598565b6000815180845260005b8181101561218e57602081850181015186830182015201612172565b818111156121a0576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611e636020830184612168565b600080604083850312156121f957600080fd5b50508035926020909101359150565b60006020828403121561221a57600080fd5b611e6382611eb1565b60006020828403121561223557600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561227d5761227d61223c565b500390565b600067ffffffffffffffff8083168185168083038211156122a5576122a561223c565b01949350505050565b600063ffffffff8083168185168083038211156122a5576122a561223c565b600063ffffffff8084168061230b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161561233a5761233a61223c565b0294935050505056fea164736f6c634300080f000a53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77001d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069a11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0","sourceMap":"837:21126:153:-:0;;;7355:1112;;;;;;;;;-1:-1:-1;7379:52:153;4268:49;4316:1;-1:-1:-1;;;;;;;;;;;4268:49:153;:::i;:::-;4260:58;;-1:-1:-1;;7379:15:153;;;;;:52;;:::i;:::-;7686:278;;;;;;;;;7618:1;7686:278;;;;;;;;;;7843:1;7686:278;;;;7519:1;7686:278;;;;;;;;;;;;;;;;;;;;;8027:422;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7441:1019;;7482:6;;7519:1;;;;;;7618;;7519;;7686:278;7519:1;;7441:10;:1019::i;:::-;837:21126;;1754:127:226;1844:21;;1754:127::o;9247:1648:153:-;3111:19:32;3134:13;;;;;;3133:14;;3179:34;;;;-1:-1:-1;3197:12:32;;3212:1;3197:12;;;;:16;3179:34;3178:108;;;;3220:44;3258:4;3220:29;;;;;:44;;:::i;:::-;3219:45;:66;;;;-1:-1:-1;3268:12:32;;;;;:17;3219:66;3157:201;;;;-1:-1:-1;;;3157:201:32;;478:2:416;3157:201:32;;;460:21:416;517:2;497:18;;;490:30;556:34;536:18;;;529:62;-1:-1:-1;;;607:18:416;;;600:44;661:19;;3157:201:32;;;;;;;;;3368:12;:16;;-1:-1:-1;;3368:16:32;3383:1;3368:16;;;3394:65;;;;3428:13;:20;;-1:-1:-1;;3428:20:32;;;;;3394:65;9639:16:153::1;:14;:16::i;:::-;9665:25;9683:6:::0;9665:17:::1;:25::i;:::-;9767:29;9783:12:::0;9767:15:::1;:29::i;:::-;9806:96;9845:14:::0;9881:18;9806:20:::1;:96::i;:::-;9912:23;9925:9:::0;9912:12:::1;:23::i;:::-;9946:64;2842:43;9991:18;9946;;;;;:64;;:::i;:::-;10020:49;4065;4113:1;4073:36;4065:49;:::i;:::-;4057:58;;10057:11;10020:18;;;;;:49;;:::i;:::-;10079:85;3048:61;3108:1;3056:48;3048:61;:::i;:::-;3040:70;;10130:10;:33;;;10079:18;;;;;:85;;:::i;:::-;10174:69;3249:53;3301:1;3257:40;3249:53;:::i;:::-;3241:62;;10217:10;:25;;;10174:18;;;;;:69;;:::i;:::-;10253:72;3445:55;3499:1;3453:42;3445:55;:::i;:::-;3437:64;;10297:10;:27;;;10253:18;;;;;:72;;:::i;:::-;10335:76;4664:57;4720:1;4672:44;4664:57;:::i;:::-;4656:66;;10381:10;:29;;;10335:18;;;;;:76;;:::i;:::-;10421:67;3638:53;3690:1;3646:40;3638:53;:::i;:::-;3630:62;;10462:10;:25;;;10421:18;;;;;:67;;:::i;:::-;10498:97;3867:67;3933:1;3875:54;3867:67;:::i;:::-;3859:76;;10555:10;:39;;;10498:18;;;;;:97;;:::i;:::-;10605:76;4466:57;4522:1;4474:44;4466:57;:::i;:::-;4458:66;;10651:10;:29;;;10605:18;;;;;:76;;:::i;:::-;10692:16;:14;:16::i;:::-;10777:27;10796:7:::0;10777:18:::1;:27::i;:::-;10835:17;:15;:17::i;:::-;-1:-1:-1::0;;;;;10822:30:153::1;:9;-1:-1:-1::0;;;;;10822:30:153::1;;;10814:74;;;::::0;-1:-1:-1;;;10814:74:153;;893:2:416;10814:74:153::1;::::0;::::1;875:21:416::0;932:2;912:18;;;905:30;-1:-1:-1;;;;;;;;;;;951:18:416;;;944:61;1022:18;;10814:74:153::1;691:355:416::0;10814:74:153::1;3483:14:32::0;3479:99;;;3529:5;3513:21;;-1:-1:-1;;3513:21:32;;;3553:14;;-1:-1:-1;1203:36:416;;3553:14:32;;1191:2:416;1176:18;3553:14:32;;;;;;;3479:99;3101:483;9247:1648:153;;;;;;;;;:::o;1186:320:38:-;-1:-1:-1;;;;;1476:19:38;;:23;;;1186:320::o;1003:95:31:-;4910:13:32;;;;;;;4902:69;;;;-1:-1:-1;;;4902:69:32;;1452:2:416;4902:69:32;;;1434:21:416;1491:2;1471:18;;;1464:30;-1:-1:-1;;;;;;;;;;;1510:18:416;;;1503:62;-1:-1:-1;;;1581:18:416;;;1574:41;1632:19;;4902:69:32;1250:407:416;4902:69:32;1065:26:31::1;:24;:26::i;:::-;1003:95::o:0;2321:198::-;1334:13;:11;:13::i;:::-;-1:-1:-1;;;;;2409:22:31;::::1;2401:73;;;::::0;-1:-1:-1;;;2401:73:31;;1864:2:416;2401:73:31::1;::::0;::::1;1846:21:416::0;1903:2;1883:18;;;1876:30;1942:34;1922:18;;;1915:62;-1:-1:-1;;;1993:18:416;;;1986:36;2039:19;;2401:73:31::1;1662:402:416::0;2401:73:31::1;2484:28;2503:8:::0;2484:18:::1;:28::i;:::-;2321:198:::0;:::o;16375:216:153:-;16441:11;:26;;;16498:24;;;;;;;2215:25:416;;;16498:24:153;;;;;;;;;;2188:18:416;;;16498:24:153;;;16478:17;16537:47;2134:1;-1:-1:-1;;;;;;;;;;;16579:4:153;16537:47;;;;;;:::i;:::-;;;;;;;;16431:160;16375:216;:::o;18087:405::-;18186:13;:30;;-1:-1:-1;;;;;;;;18226:38:153;18186:30;;;;;;;;-1:-1:-1;;;;18226:38:153;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18341:2:153;18310:33;;;;;18284:77;;;;18275:6;:86;;;18403:8;;18392:28;;;;;;3157:25:416;;;;3198:18;;3191:34;-1:-1:-1;;3130:18:416;;18392:28:153;;;-1:-1:-1;;18392:28:153;;;;;;;;;;-1:-1:-1;18457:21:153;2134:1;-1:-1:-1;;;;;;;;;;;18480:4:153;18435:50;;;;;;:::i;:::-;;;;;;;;18176:316;18087:405;;:::o;18822:371::-;18902:17;:15;:17::i;:::-;-1:-1:-1;;;;;18889:30:153;:9;-1:-1:-1;;;;;18889:30:153;;;18881:74;;;;-1:-1:-1;;;18881:74:153;;893:2:416;18881:74:153;;;875:21:416;932:2;912:18;;;905:30;-1:-1:-1;;;;;;;;;;;951:18:416;;;944:61;1022:18;;18881:74:153;691:355:416;18881:74:153;5208:11;-1:-1:-1;;;;;18973:30:153;;;;18965:75;;;;-1:-1:-1;;;18965:75:153;;3438:2:416;18965:75:153;;;3420:21:416;;;3457:18;;;3450:30;3516:34;3496:18;;;3489:62;3568:18;;18965:75:153;3236:356:416;18965:75:153;19050:8;:20;;-1:-1:-1;;;;;;19050:20:153;-1:-1:-1;;;;;19050:20:153;;;;;;;;19101:21;;;;;;;3741:50:416;;;;19101:21:153;;;;;;;;;;3714:18:416;;19101:21:153;;19159:20;19137:49;;19874:167;19923:33;4268:49;4316:1;-1:-1:-1;;;;;;;;;;;4268:49:153;:::i;:::-;4260:58;;19923:15;;;;;:33;;:::i;:::-;19960:1;19923:38;19919:116;;19977:47;4268:49;4316:1;-1:-1:-1;;;;;;;;;;;4268:49:153;:::i;:::-;4260:58;;20011:12;19977:15;;;;;:47;;:::i;20682:1279::-;20892:7;:22;;;-1:-1:-1;;;;;20866:48:153;:7;:22;;;:48;;;;20845:136;;;;-1:-1:-1;;;20845:136:153;;4004:2:416;20845:136:153;;;3986:21:416;4043:2;4023:18;;;4016:30;4082:34;4062:18;;;4055:62;4153:23;4133:18;;;4126:51;4194:19;;20845:136:153;3802:417:416;20845:136:153;21100:1;21062:7;:35;;;:39;;;21054:99;;;;-1:-1:-1;;;21054:99:153;;4426:2:416;21054:99:153;;;4408:21:416;4465:2;4445:18;;;4438:30;4504:34;4484:18;;;4477:62;-1:-1:-1;;;4555:18:416;;;4548:45;4610:19;;21054:99:153;4224:411:416;21054:99:153;21402:8;;21376:22;;;;21349:24;;-1:-1:-1;;;;;21402:8:153;;;;21349:49;;21376:22;21349:49;:::i;:::-;:61;;;;21341:105;;;;-1:-1:-1;;;21341:105:153;;893:2:416;21341:105:153;;;875:21:416;932:2;912:18;;;905:30;-1:-1:-1;;;;;;;;;;;951:18:416;;;944:61;1022:18;;21341:105:153;691:355:416;21341:105:153;21552:1;21521:7;:28;;;:32;;;21513:92;;;;-1:-1:-1;;;21513:92:153;;5075:2:416;21513:92:153;;;5057:21:416;5114:2;5094:18;;;5087:30;5153:34;5133:18;;;5126:62;-1:-1:-1;;;5204:18:416;;;5197:45;5259:19;;21513:92:153;4873:411:416;21513:92:153;21813:24;;21764:28;;;;21703:134;;;;21704:88;;;;;21705:55;;21704:88;;21705:55;:::i;:::-;21704:88;;;;:::i;:::-;21703:134;;;21682:236;;;;-1:-1:-1;;;21682:236:153;;6051:2:416;21682:236:153;;;6033:21:416;6090:2;6070:18;;;6063:30;6129:34;6109:18;;;6102:62;6200:25;6180:18;;;6173:53;6243:19;;21682:236:153;5849:419:416;21682:236:153;21929:25;;:15;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;21929:25:153;;;;;;;;;;;;;;-1:-1:-1;;;;21929:25:153;;;;;;;;;;-1:-1:-1;;;;21929:25:153;;;;;;;;;;;-1:-1:-1;;;;;;;;21929:25:153;;;;;;;;;;-1:-1:-1;;;;;;;;21929:25:153;;;;;-1:-1:-1;;;;;;;;21929:25:153;;;;;;;;;;20682:1279::o;11353:161::-;11476:15;:30;11401:6;;11426:81;;11476:30;;;;;;;11433:32;11426:81;:::i;:::-;11419:88;;11353:161;:::o;1104:111:31:-;4910:13:32;;;;;;;4902:69;;;;-1:-1:-1;;;4902:69:32;;1452:2:416;4902:69:32;;;1434:21:416;1491:2;1471:18;;;1464:30;-1:-1:-1;;;;;;;;;;;1510:18:416;;;1503:62;-1:-1:-1;;;1581:18:416;;;1574:41;1632:19;;4902:69:32;1250:407:416;4902:69:32;1176:32:31::1;929:10:39::0;1176:18:31::1;:32::i;1599:130::-:0;1513:6;;-1:-1:-1;;;;;1513:6:31;929:10:39;1662:23:31;1654:68;;;;-1:-1:-1;;;1654:68:31;;6716:2:416;1654:68:31;;;6698:21:416;;;6735:18;;;6728:30;6794:34;6774:18;;;6767:62;6846:18;;1654:68:31;6514:356:416;2673:187:31;2765:6;;;-1:-1:-1;;;;;2781:17:31;;;-1:-1:-1;;;;;;2781:17:31;;;;;;;2813:40;;2765:6;;;2781:17;2765:6;;2813:40;;2746:16;;2813:40;2736:124;2673:187;:::o;1283:142:226:-;1397:12;;1283:142::o;14:127:416:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:125;186:4;214:1;211;208:8;205:34;;;219:18;;:::i;:::-;-1:-1:-1;256:9:416;;146:125::o;2383:595::-;2493:4;2522:2;2551;2540:9;2533:21;2583:6;2577:13;2626:6;2621:2;2610:9;2606:18;2599:34;2651:1;2661:140;2675:6;2672:1;2669:13;2661:140;;;2770:14;;;2766:23;;2760:30;2736:17;;;2755:2;2732:26;2725:66;2690:10;;2661:140;;;2819:6;2816:1;2813:13;2810:91;;;2889:1;2884:2;2875:6;2864:9;2860:22;2856:31;2849:42;2810:91;-1:-1:-1;2962:2:416;2941:15;-1:-1:-1;;2937:29:416;2922:45;;;;2969:2;2918:54;;2383:595;-1:-1:-1;;;2383:595:416:o;4640:228::-;4679:3;4707:10;4744:2;4741:1;4737:10;4774:2;4771:1;4767:10;4805:3;4801:2;4797:12;4792:3;4789:21;4786:47;;;4813:18;;:::i;:::-;4849:13;;4640:228;-1:-1:-1;;;;4640:228:416:o;5289:288::-;5328:1;5354:10;5391:2;5388:1;5384:10;5413:3;5403:134;;5459:10;5454:3;5450:20;5447:1;5440:31;5494:4;5491:1;5484:15;5522:4;5519:1;5512:15;5403:134;5555:10;;5551:20;;;;;5289:288;-1:-1:-1;;5289:288:416:o;5582:262::-;5621:7;5653:10;5690:2;5687:1;5683:10;5720:2;5717:1;5713:10;5776:3;5772:2;5768:12;5763:3;5760:21;5753:3;5746:11;5739:19;5735:47;5732:73;;;5785:18;;:::i;:::-;5825:13;;5582:262;-1:-1:-1;;;;5582:262:416:o;6273:236::-;6312:3;-1:-1:-1;;;;;6378:10:416;;;6408;;;6438:12;;;6430:21;;6427:47;;;6454:18;;:::i;6514:356::-;837:21126:153;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102f45760003560e01c8063935f029e11610191578063e0e2016d116100e3578063f2fde38b11610097578063f8c68de011610071578063f8c68de014610708578063fd32aa0f14610710578063ffa1ad741461071857600080fd5b8063f2fde38b146106d8578063f45e65d8146106eb578063f68016b7146106f457600080fd5b8063e81b2c6d116100c8578063e81b2c6d146106a7578063ec707517146106b0578063f2b4e617146106d057600080fd5b8063e0e2016d14610697578063e2a3285c1461069f57600080fd5b8063bfb14fb711610145578063cc731b021161011f578063cc731b0214610553578063d844471514610687578063dac6e63a1461068f57600080fd5b8063bfb14fb714610507578063c4e8ddfa14610538578063c9b26f611461054057600080fd5b8063a711986911610176578063a7119869146104e4578063b40a817c146104ec578063bc49ce5f146104ff57600080fd5b8063935f029e146104c95780639b7d7f0a146104dc57600080fd5b806348cd4cb11161024a57806354fd4d50116101fe578063697844c6116101d8578063697844c61461049b578063715018a6146104a35780638da5cb5b146104ab57600080fd5b806354fd4d5014610449578063550fcdc91461048b5780635d73369c1461049357600080fd5b80634d0047ee1161022f5780634d0047ee146104075780634f16540b1461040f57806353d794be1461043657600080fd5b806348cd4cb1146103f75780634add321d146103ff57600080fd5b806318d13918116102ac5780632132684911610286578063213268491461039657806321d7fde5146103ae5780634397dfef146103c157600080fd5b806318d139181461037157806319f5cea8146103865780631fd19ee11461038e57600080fd5b80630a49cb03116102dd5780630a49cb03146103415780630ae14b1b146103495780630c18c1621461036857600080fd5b806306c92657146102f9578063078f29cf14610314575b600080fd5b610301610720565b6040519081526020015b60405180910390f35b61031c61074e565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161030b565b61031c610787565b630bebc2005b60405167ffffffffffffffff909116815260200161030b565b61030160655481565b61038461037f366004611e48565b6107b7565b005b6103016107cb565b61031c6107f6565b61039e610820565b604051901515815260200161030b565b6103846103bc366004611e7e565b61085f565b6103c9610875565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260ff90911660208301520161030b565b610301610889565b61034f6108b9565b61031c6108df565b6103017f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b610384610444366004612019565b61090f565b60408051808201909152600c81527f322e332e302d626574612e32000000000000000000000000000000000000000060208201525b60405161030b91906121d3565b61047e610d44565b610301610d4e565b610301610d79565b610384610da4565b60335473ffffffffffffffffffffffffffffffffffffffff1661031c565b6103846104d73660046121e6565b610db8565b61031c610dca565b61031c610dfa565b6103846104fa366004612208565b610e2a565b610301610e3b565b6068546105239068010000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161030b565b61031c610e66565b61038461054e366004612223565b610e96565b6106176040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b60405161030b9190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b61047e610ea7565b61031c610eb1565b610301610ee1565b610301610f0c565b61030160675481565b606854610523906c01000000000000000000000000900463ffffffff1681565b61031c610f37565b6103846106e6366004611e48565b610f67565b61030160665481565b60685461034f9067ffffffffffffffff1681565b61030161101b565b610301611046565b610301600081565b61074b60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d61226b565b81565b600061078261077e60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637761226b565b5490565b905090565b600061078261077e60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad61226b565b6107bf611095565b6107c881611116565b50565b61074b60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a861226b565b60006107827f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b60008061082b610875565b5073ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141592915050565b610867611095565b61087182826111d3565b5050565b600080610880611311565b90939092509050565b600061078261077e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b6069546000906107829063ffffffff6a0100000000000000000000820481169116612282565b600061078261077e60017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef161226b565b600054610100900460ff161580801561092f5750600054600160ff909116105b806109495750303b158015610949575060005460ff166001145b6109da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610a3857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610a4061138e565b610a498a610f67565b610a528761142d565b610a5c89896111d3565b610a6586611455565b610a8e7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b610ac1610abc60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59861226b565b849055565b610af5610aef60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063761226b565b83519055565b610b2c610b2360017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a861226b565b60208401519055565b610b63610b5a60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637761226b565b60408401519055565b610b9a610b9160017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90761226b565b60608401519055565b610bd1610bc860017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad61226b565b60808401519055565b610c08610bff60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d61226b565b60a08401519055565b610c3f610c3660017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef161226b565b60e08401519055565b610c476115ab565b610c5084611613565b610c586108b9565b67ffffffffffffffff168667ffffffffffffffff161015610cd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016109d1565b8015610d3857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6060610782611a87565b61074b60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063761226b565b61074b60017fe1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef161226b565b610dac611095565b610db66000611b48565b565b610dc0611095565b6108718282611bbf565b600061078261077e60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d61226b565b600061078261077e60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce958063761226b565b610e32611095565b6107c881611455565b61074b60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59861226b565b600061078261077e60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a861226b565b610e9e611095565b6107c88161142d565b6060610782611c95565b600061078261077e60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc59861226b565b61074b60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b61074b60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90761226b565b600061078261077e60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa90761226b565b610f6f611095565b73ffffffffffffffffffffffffffffffffffffffff8116611012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109d1565b6107c881611b48565b61074b60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad637761226b565b61074b60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad61226b565b9055565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b5490565b60335473ffffffffffffffffffffffffffffffffffffffff163314610db6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109d1565b61113f7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be836040516111c791906121d3565b60405180910390a35050565b606880547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000063ffffffff8581169182027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16929092176c0100000000000000000000000092851692909202919091179091557f0100000000000000000000000000000000000000000000000000000000000000602083811b67ffffffff000000001690921717606681905560655460408051938401919091528201526000906060015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161130491906121d3565b60405180910390a3505050565b6000808061134361077e60017f04adb1412b2ddc16fcc0d4538d5c8f07cf9c83abecc6b41f6f69037b708fbcec61226b565b73ffffffffffffffffffffffffffffffffffffffff81169350905082611382575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92601292509050565b60a081901c9150509091565b600054610100900460ff16611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109d1565b610db6611d4b565b6067819055604080516020808201849052825180830390910181529082019091526000611196565b61145d6108b9565b67ffffffffffffffff168167ffffffffffffffff1610156114da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016109d1565b630bebc20067ffffffffffffffff82161115611552576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016109d1565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002611196565b6115d961077e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b600003610db657610db661160e60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a061226b565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff1611156116c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016109d1565b6001816040015160ff161161175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016109d1565b6068546080820151825167ffffffffffffffff9092169161177b91906122ae565b63ffffffff1611156117e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016109d1565b6000816020015160ff1611611880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016109d1565b8051602082015163ffffffff82169160ff909116906118a09082906122cd565b6118aa9190612317565b63ffffffff161461193d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016109d1565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b60606000611a93611311565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601611b0c57505060408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b611b42611b3d61077e60017fa48b38a4b44951360fbdcbfaaeae5ed6ae92585412e9841b70ec72ed8cd0576461226b565b611deb565b91505090565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b7fff00000000000000000000000000000000000000000000000000000000000000811615611c6f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f53797374656d436f6e6669673a207363616c61722065786365656473206d617860448201527f2e0000000000000000000000000000000000000000000000000000000000000060648201526084016109d1565b6065829055606681905560408051602081018490529081018290526000906060016112a1565b60606000611ca1611311565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601611d1a57505060408051808201909152600581527f4574686572000000000000000000000000000000000000000000000000000000602082015290565b611b42611b3d61077e60017f657c3582c29b3176614e3a33ddd1ec48352696a04e92b3c0566d72010fa8863d61226b565b600054610100900460ff16611de2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109d1565b610db633611b48565b60405160005b82811a15611e0157600101611df1565b80825260208201838152600082820152505060408101604052919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611e4357600080fd5b919050565b600060208284031215611e5a57600080fd5b611e6382611e1f565b9392505050565b803563ffffffff81168114611e4357600080fd5b60008060408385031215611e9157600080fd5b611e9a83611e6a565b9150611ea860208401611e6a565b90509250929050565b803567ffffffffffffffff81168114611e4357600080fd5b60405160c0810167ffffffffffffffff81118282101715611f13577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114611e4357600080fd5b6000610100808385031215611f3e57600080fd5b6040519081019067ffffffffffffffff82118183101715611f88577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052809250611f9884611e1f565b8152611fa660208501611e1f565b6020820152611fb760408501611e1f565b6040820152611fc860608501611e1f565b6060820152611fd960808501611e1f565b6080820152611fea60a08501611e1f565b60a0820152611ffb60c08501611e1f565b60c082015261200c60e08501611e1f565b60e0820152505092915050565b6000806000806000806000806000898b036102a081121561203957600080fd5b6120428b611e1f565b995061205060208c01611e6a565b985061205e60408c01611e6a565b975060608b0135965061207360808c01611eb1565b955061208160a08c01611e1f565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40820112156120b357600080fd5b506120bc611ec9565b6120c860c08c01611e6a565b81526120d660e08c01611f19565b60208201526120e86101008c01611f19565b60408201526120fa6101208c01611e6a565b606082015261210c6101408c01611e6a565b60808201526101608b01356fffffffffffffffffffffffffffffffff8116811461213557600080fd5b60a082015292506121496101808b01611e1f565b91506121598b6101a08c01611f2a565b90509295985092959850929598565b6000815180845260005b8181101561218e57602081850181015186830182015201612172565b818111156121a0576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611e636020830184612168565b600080604083850312156121f957600080fd5b50508035926020909101359150565b60006020828403121561221a57600080fd5b611e6382611eb1565b60006020828403121561223557600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561227d5761227d61223c565b500390565b600067ffffffffffffffff8083168185168083038211156122a5576122a561223c565b01949350505050565b600063ffffffff8083168185168083038211156122a5576122a561223c565b600063ffffffff8084168061230b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff8083168185168183048111821515161561233a5761233a61223c565b0294935050505056fea164736f6c634300080f000a","sourceMap":"837:21126:153:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3788:147;;;:::i;:::-;;;160:25:416;;;148:2;133:18;3788:147:153;;;;;;;;12813:134;;;:::i;:::-;;;372:42:416;360:55;;;342:74;;330:2;315:18;12813:134:153;196:226:416;13211:127:153;;;:::i;11832:93::-;5208:11;11832:93;;;601:18:416;589:31;;;571:50;;559:2;544:18;11832:93:153;427:200:416;5366:23:153;;;;;;15471:135;;;;;;:::i;:::-;;:::i;:::-;;3192:111;;;:::i;12208:134::-;;;:::i;14474:148::-;;;:::i;:::-;;;1371:14:416;;1364:22;1346:41;;1334:2;1319:18;14474:148:153;1206:187:416;17698:171:153;;;;;;:::i;:::-;;:::i;14196:142::-;;;:::i;:::-;;;;2027:42:416;2015:55;;;1997:74;;2119:4;2107:17;;;2102:2;2087:18;;2080:45;1970:18;14196:142:153;1827:304:416;13806:130:153;;;:::i;11353:161::-;;;:::i;13995:138::-;;;:::i;2791:94::-;;2842:43;2791:94;;9247:1648;;;;;;:::i;:::-;;:::i;6858:101::-;6931:21;;;;;;;;;;;;;;;;;6858:101;;;;;;;:::i;14867:131::-;;;:::i;2975:135::-;;;:::i;4398:126::-;;;:::i;2071:101:31:-;;;:::i;1441:85::-;1513:6;;;;1441:85;;16840:127:153;;;;;;:::i;:::-;;:::i;13413:159::-;;;:::i;12411:147::-;;;:::i;18613:98::-;;;;;;:::i;:::-;;:::i;4014:101::-;;;:::i;6016:27::-;;;;;;;;;;;;;;;6899:10:416;6887:23;;;6869:42;;6857:2;6842:18;6016:27:153;6725:192:416;12619:131:153;;;:::i;16147:111::-;;;;;;:::i;:::-;;:::i;20200:128::-;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20299:22:153;;;;;;;;20306:15;20299:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20200:128;;;;;;;7265:4:416;7307:3;7296:9;7292:19;7284:27;;7330:10;7386:2;7377:6;7371:13;7367:22;7356:9;7349:41;7458:4;7450;7442:6;7438:17;7432:24;7428:35;7421:4;7410:9;7406:20;7399:65;7532:4;7524;7516:6;7512:17;7506:24;7502:35;7495:4;7484:9;7480:20;7473:65;7606:2;7598:4;7590:6;7586:17;7580:24;7576:33;7569:4;7558:9;7554:20;7547:63;7678:2;7670:4;7662:6;7658:17;7652:24;7648:33;7641:4;7630:9;7626:20;7619:63;;7750:34;7742:4;7734:6;7730:17;7724:24;7720:65;7713:4;7702:9;7698:20;7691:95;7107:685;;;;;14682:123:153;;;:::i;13629:121::-;;;:::i;4217:101::-;;;:::i;4596:126::-;;;:::i;5814:26::-;;;;;;6158:31;;;;;;;;;;;;13012:138;;;:::i;2321:198:31:-;;;;;;:::i;:::-;;:::i;5603:21:153:-;;;;;;5883:22;;;;;;;;;3387:114;;;:::i;3583:109::-;;;:::i;2100:35::-;;2134:1;2100:35;;3788:147;3867:67;3933:1;3875:54;3867:67;:::i;:::-;3788:147;:::o;12813:134::-;12864:13;12897:43;3445:55;3499:1;3453:42;3445:55;:::i;:::-;1397:12:226;;1283:142;12897:43:153;12889:51;;12813:134;:::o;13211:127::-;13258:13;13291:40;3638:53;3690:1;3646:40;3638:53;:::i;15471:135::-;1334:13:31;:11;:13::i;:::-;15558:41:153::1;15580:18;15558:21;:41::i;:::-;15471:135:::0;:::o;3192:111::-;3249:53;3301:1;3257:40;3249:53;:::i;12208:134::-;12258:13;12291:44;2842:43;1397:12:226;;1283:142;14474:148:153;14523:4;14540:13;14558:16;:14;:16::i;:::-;-1:-1:-1;14591:24:153;;2073:42:215;14591:24:153;;;14474:148;-1:-1:-1;;14474:148:153:o;17698:171::-;1334:13:31;:11;:13::i;:::-;17806:56:153::1;17827:14;17843:18;17806:20;:56::i;:::-;17698:171:::0;;:::o;14196:142::-;14243:13;14258:15;14306:25;:23;:25::i;:::-;14285:46;;;;-1:-1:-1;14196:142:153;-1:-1:-1;14196:142:153:o;13806:130::-;13851:19;13896:33;4268:49;4316:1;4276:36;4268:49;:::i;11353:161::-;11476:15;:30;11401:6;;11426:81;;11476:30;;;;;;;11433:32;11426:81;:::i;13995:138::-;14048:13;14081:45;4466:57;4522:1;4474:44;4466:57;:::i;9247:1648::-;3111:19:32;3134:13;;;;;;3133:14;;3179:34;;;;-1:-1:-1;3197:12:32;;3212:1;3197:12;;;;:16;3179:34;3178:108;;;-1:-1:-1;3258:4:32;1476:19:38;:23;;;3219:66:32;;-1:-1:-1;3268:12:32;;;;;:17;3219:66;3157:201;;;;;;;8559:2:416;3157:201:32;;;8541:21:416;8598:2;8578:18;;;8571:30;8637:34;8617:18;;;8610:62;8708:16;8688:18;;;8681:44;8742:19;;3157:201:32;;;;;;;;;3368:12;:16;;;;3383:1;3368:16;;;3394:65;;;;3428:13;:20;;;;;;;;3394:65;9639:16:153::1;:14;:16::i;:::-;9665:25;9683:6;9665:17;:25::i;:::-;9767:29;9783:12;9767:15;:29::i;:::-;9806:96;9845:14;9881:18;9806:20;:96::i;:::-;9912:23;9925:9;9912:12;:23::i;:::-;9946:64;2842:43;9991:18;1844:21:226::0;;1754:127;9946:64:153::1;10020:49;4065;4113:1;4073:36;4065:49;:::i;:::-;10057:11:::0;1844:21:226;;1754:127;10020:49:153::1;10079:85;3048:61;3108:1;3056:48;3048:61;:::i;:::-;10130:33:::0;;1844:21:226;;1754:127;10079:85:153::1;10174:69;3249:53;3301:1;3257:40;3249:53;:::i;:::-;10217:25;::::0;::::1;::::0;1844:21:226;;1754:127;10174:69:153::1;10253:72;3445:55;3499:1;3453:42;3445:55;:::i;:::-;10297:27;::::0;::::1;::::0;1844:21:226;;1754:127;10253:72:153::1;10335:76;4664:57;4720:1;4672:44;4664:57;:::i;:::-;10381:29;::::0;::::1;::::0;1844:21:226;;1754:127;10335:76:153::1;10421:67;3638:53;3690:1;3646:40;3638:53;:::i;:::-;10462:25;::::0;::::1;::::0;1844:21:226;;1754:127;10421:67:153::1;10498:97;3867:67;3933:1;3875:54;3867:67;:::i;:::-;10555:39;::::0;::::1;::::0;1844:21:226;;1754:127;10498:97:153::1;10605:76;4466:57;4522:1;4474:44;4466:57;:::i;:::-;10651:29;::::0;::::1;::::0;1844:21:226;;1754:127;10605:76:153::1;10692:16;:14;:16::i;:::-;10777:27;10796:7;10777:18;:27::i;:::-;10835:17;:15;:17::i;:::-;10822:30;;:9;:30;;;;10814:74;;;::::0;::::1;::::0;;8974:2:416;10814:74:153::1;::::0;::::1;8956:21:416::0;9013:2;8993:18;;;8986:30;9052:33;9032:18;;;9025:61;9103:18;;10814:74:153::1;8772:355:416::0;10814:74:153::1;3483:14:32::0;3479:99;;;3529:5;3513:21;;;;;;3553:14;;-1:-1:-1;9284:36:416;;3553:14:32;;9272:2:416;9257:18;3553:14:32;;;;;;;3479:99;3101:483;9247:1648:153;;;;;;;;;:::o;14867:131::-;14922:21;14965:26;:24;:26::i;2975:135::-;3048:61;3108:1;3056:48;3048:61;:::i;4398:126::-;4466:57;4522:1;4474:44;4466:57;:::i;2071:101:31:-;1334:13;:11;:13::i;:::-;2135:30:::1;2162:1;2135:18;:30::i;:::-;2071:101::o:0;16840:127:153:-;1334:13:31;:11;:13::i;:::-;16927:33:153::1;16941:9;16952:7;16927:13;:33::i;13413:159::-:0;13476:13;13509:56;3867:67;3933:1;3875:54;3867:67;:::i;12411:147::-;12468:13;12501:50;3048:61;3108:1;3056:48;3048:61;:::i;18613:98::-;1334:13:31;:11;:13::i;:::-;18681:23:153::1;18694:9;18681:12;:23::i;4014:101::-:0;4065:49;4113:1;4073:36;4065:49;:::i;12619:131::-;12668:13;12701:42;3249:53;3301:1;3257:40;3249:53;:::i;16147:111::-;1334:13:31;:11;:13::i;:::-;16222:29:153::1;16238:12;16222:15;:29::i;14682:123::-:0;14735:19;14774:24;:22;:24::i;13629:121::-;13674:13;13707:36;4065:49;4113:1;4073:36;4065:49;:::i;4217:101::-;4268:49;4316:1;4276:36;4268:49;:::i;4596:126::-;4664:57;4720:1;4672:44;4664:57;:::i;13012:138::-;13065:13;13098:45;4664:57;4720:1;4672:44;4664:57;:::i;2321:198:31:-;1334:13;:11;:13::i;:::-;2409:22:::1;::::0;::::1;2401:73;;;::::0;::::1;::::0;;9533:2:416;2401:73:31::1;::::0;::::1;9515:21:416::0;9572:2;9552:18;;;9545:30;9611:34;9591:18;;;9584:62;9682:8;9662:18;;;9655:36;9708:19;;2401:73:31::1;9331:402:416::0;2401:73:31::1;2484:28;2503:8;2484:18;:28::i;3387:114:153:-:0;3445:55;3499:1;3453:42;3445:55;:::i;3583:109::-;3638:53;3690:1;3646:40;3638:53;:::i;1754:127:226:-;1844:21;;1754:127::o;1186:320:38:-;1476:19;;;:23;;;1186:320::o;1283:142:226:-;1397:12;;1283:142::o;1599:130:31:-;1513:6;;1662:23;1513:6;929:10:39;1662:23:31;1654:68;;;;;;;9940:2:416;1654:68:31;;;9922:21:416;;;9959:18;;;9952:30;10018:34;9998:18;;;9991:62;10070:18;;1654:68:31;9738:356:416;15736:284:153;15814:64;2842:43;15859:18;1844:21:226;;1754:127;15814:64:153;15909:30;;;372:42:416;360:55;;15909:30:153;;;342:74:416;15889:17:153;;315:18:416;15909:30:153;;;;;;;;;;;;;;-1:-1:-1;15976:30:153;15954:59;2134:1;15954:59;16008:4;15954:59;;;;;;:::i;:::-;;;;;;;;15804:216;15736:284;:::o;18087:405::-;18186:13;:30;;18226:38;;18186:30;;;;;;;;18226:38;;;;;;;;;;;;;;;;;;;;;18285:20;18341:2;18310:33;;;;;18284:77;;;;18275:6;:86;;;18403:8;;18392:28;;;;;;10685:25:416;;;;10726:18;;10719:34;-1:-1:-1;;10658:18:416;;18392:28:153;;;;;;;;;;;;;;;-1:-1:-1;18457:21:153;2134:1;18435:50;18480:4;18435:50;;;;;;:::i;:::-;;;;;;;;18176:316;18087:405;;:::o;2108:406:217:-;2151:13;;;2208:41;1417:48;1464:1;1425:35;1417:48;:::i;2208:41::-;2307:17;2283:42;;;-1:-1:-1;2193:56:217;-1:-1:-1;2283:42:217;2337:171;;-1:-1:-1;2073:42:215;;2425:2:217;;-1:-1:-1;2108:406:217;-1:-1:-1;2108:406:217:o;2337:171::-;2493:3;2476:20;;;;-1:-1:-1;2183:331:217;2108:406;;:::o;1003:95:31:-;4910:13:32;;;;;;;4902:69;;;;;;;10966:2:416;4902:69:32;;;10948:21:416;11005:2;10985:18;;;10978:30;11044:34;11024:18;;;11017:62;11115:13;11095:18;;;11088:41;11146:19;;4902:69:32;10764:407:416;4902:69:32;1065:26:31::1;:24;:26::i;16375:216:153:-:0;16441:11;:26;;;16498:24;;;;;;;160:25:416;;;16498:24:153;;;;;;;;;;133:18:416;;;16498:24:153;;;16478:17;16537:47;;18822:371;18902:17;:15;:17::i;:::-;18889:30;;:9;:30;;;;18881:74;;;;;;;8974:2:416;18881:74:153;;;8956:21:416;9013:2;8993:18;;;8986:30;9052:33;9032:18;;;9025:61;9103:18;;18881:74:153;8772:355:416;18881:74:153;5208:11;18973:30;;;;;18965:75;;;;;;;11378:2:416;18965:75:153;;;11360:21:416;;;11397:18;;;11390:30;11456:34;11436:18;;;11429:62;11508:18;;18965:75:153;11176:356:416;18965:75:153;19050:8;:20;;;;;;;;;;;;;19101:21;;;;;;;571:50:416;;;;19101:21:153;;;;;;;;;;544:18:416;;19101:21:153;;19159:20;19137:49;;19874:167;19923:33;4268:49;4316:1;4276:36;4268:49;:::i;19923:33::-;19960:1;19923:38;19919:116;;19977:47;4268:49;4316:1;4276:36;4268:49;:::i;:::-;20011:12;1844:21:226;;1754:127;20682:1279:153;20892:7;:22;;;20866:48;;:7;:22;;;:48;;;;20845:136;;;;;;;11739:2:416;20845:136:153;;;11721:21:416;11778:2;11758:18;;;11751:30;11817:34;11797:18;;;11790:62;11888:23;11868:18;;;11861:51;11929:19;;20845:136:153;11537:417:416;20845:136:153;21100:1;21062:7;:35;;;:39;;;21054:99;;;;;;;12161:2:416;21054:99:153;;;12143:21:416;12200:2;12180:18;;;12173:30;12239:34;12219:18;;;12212:62;12310:17;12290:18;;;12283:45;12345:19;;21054:99:153;11959:411:416;21054:99:153;21402:8;;21376:22;;;;21349:24;;21402:8;;;;;21349:49;;21376:22;21349:49;:::i;:::-;:61;;;;21341:105;;;;;;;8974:2:416;21341:105:153;;;8956:21:416;9013:2;8993:18;;;8986:30;9052:33;9032:18;;;9025:61;9103:18;;21341:105:153;8772:355:416;21341:105:153;21552:1;21521:7;:28;;;:32;;;21513:92;;;;;;;12810:2:416;21513:92:153;;;12792:21:416;12849:2;12829:18;;;12822:30;12888:34;12868:18;;;12861:62;12959:17;12939:18;;;12932:45;12994:19;;21513:92:153;12608:411:416;21513:92:153;21813:24;;21764:28;;;;21703:134;;;;21704:88;;;;;21705:55;;21704:88;;21705:55;:::i;:::-;21704:88;;;;:::i;:::-;21703:134;;;21682:236;;;;;;;13843:2:416;21682:236:153;;;13825:21:416;13882:2;13862:18;;;13855:30;13921:34;13901:18;;;13894:62;13992:25;13972:18;;;13965:53;14035:19;;21682:236:153;13641:419:416;21682:236:153;21929:25;;:15;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20682:1279::o;3178:306:217:-;3222:21;3256:12;3273:10;:8;:10::i;:::-;-1:-1:-1;3255:28:217;-1:-1:-1;3297:23:217;;;;;3293:185;;-1:-1:-1;;3336:15:217;;;;;;;;;;;;;;;;;;3178:306::o;3293:185::-;3392:75;3418:48;1851:54;1904:1;1859:41;1851:54;:::i;3418:48::-;3392:25;:75::i;:::-;3382:85;;3245:239;3178:306;:::o;2673:187:31:-;2765:6;;;;2781:17;;;;;;;;;;;2813:40;;2765:6;;;2781:17;2765:6;;2813:40;;2746:16;;2813:40;2736:124;2673:187;:::o;17124:351:153:-;17211:20;17210:32;;:37;17202:83;;;;;;;14267:2:416;17202:83:153;;;14249:21:416;14306:2;14286:18;;;14279:30;14345:34;14325:18;;;14318:62;14416:3;14396:18;;;14389:31;14437:19;;17202:83:153;14065:397:416;17202:83:153;17296:8;:20;;;17326:6;:16;;;17373:30;;;;;;10685:25:416;;;10726:18;;;10719:34;;;-1:-1:-1;;10658:18:416;;17373:30:153;10511:248:416;2696:298:217;2738:19;2770:12;2787:10;:8;:10::i;:::-;-1:-1:-1;2769:28:217;-1:-1:-1;2811:23:217;;;;;2807:181;;-1:-1:-1;;2850:15:217;;;;;;;;;;;;;;;;;;3178:306::o;2807:181::-;2904:73;2930:46;1626:52;1677:1;1634:39;1626:52;:::i;1104:111:31:-;4910:13:32;;;;;;;4902:69;;;;;;;10966:2:416;4902:69:32;;;10948:21:416;11005:2;10985:18;;;10978:30;11044:34;11024:18;;;11017:62;11115:13;11095:18;;;11088:41;11146:19;;4902:69:32;10764:407:416;4902:69:32;1176:32:31::1;929:10:39::0;1176:18:31::1;:32::i;40019:458:106:-:0;40192:4;40186:11;40219:1;40233:39;40248:1;40245;40240:10;40233:39;;;40265:1;40258:9;40233:39;;;40318:1;40310:6;40303:17;40354:4;40346:6;40342:17;40382:1;40379;40372:12;40415:1;40411;40408;40404:9;40397:20;;;40455:4;40447:6;40443:17;40437:4;40430:31;40019:458;;;:::o;814:196:416:-;882:20;;942:42;931:54;;921:65;;911:93;;1000:1;997;990:12;911:93;814:196;;;:::o;1015:186::-;1074:6;1127:2;1115:9;1106:7;1102:23;1098:32;1095:52;;;1143:1;1140;1133:12;1095:52;1166:29;1185:9;1166:29;:::i;:::-;1156:39;1015:186;-1:-1:-1;;;1015:186:416:o;1398:163::-;1465:20;;1525:10;1514:22;;1504:33;;1494:61;;1551:1;1548;1541:12;1566:256;1632:6;1640;1693:2;1681:9;1672:7;1668:23;1664:32;1661:52;;;1709:1;1706;1699:12;1661:52;1732:28;1750:9;1732:28;:::i;:::-;1722:38;;1779:37;1812:2;1801:9;1797:18;1779:37;:::i;:::-;1769:47;;1566:256;;;;;:::o;2136:171::-;2203:20;;2263:18;2252:30;;2242:41;;2232:69;;2297:1;2294;2287:12;2312:401;2379:2;2373:9;2421:3;2409:16;;2455:18;2440:34;;2476:22;;;2437:62;2434:242;;;2532:77;2529:1;2522:88;2633:4;2630:1;2623:15;2661:4;2658:1;2651:15;2434:242;2692:2;2685:22;2312:401;:::o;2718:156::-;2784:20;;2844:4;2833:16;;2823:27;;2813:55;;2864:1;2861;2854:12;2879:1101;2935:5;2965:6;3008:2;2996:9;2991:3;2987:19;2983:28;2980:48;;;3024:1;3021;3014:12;2980:48;3057:2;3051:9;3087:15;;;;3132:18;3117:34;;3153:22;;;3114:62;3111:242;;;3209:77;3206:1;3199:88;3310:4;3307:1;3300:15;3338:4;3335:1;3328:15;3111:242;3373:10;3369:2;3362:22;3402:6;3393:15;;3432:29;3451:9;3432:29;:::i;:::-;3424:6;3417:45;3495:38;3529:2;3518:9;3514:18;3495:38;:::i;:::-;3490:2;3482:6;3478:15;3471:63;3567:38;3601:2;3590:9;3586:18;3567:38;:::i;:::-;3562:2;3554:6;3550:15;3543:63;3639:38;3673:2;3662:9;3658:18;3639:38;:::i;:::-;3634:2;3626:6;3622:15;3615:63;3712:39;3746:3;3735:9;3731:19;3712:39;:::i;:::-;3706:3;3698:6;3694:16;3687:65;3786:39;3820:3;3809:9;3805:19;3786:39;:::i;:::-;3780:3;3772:6;3768:16;3761:65;3860:39;3894:3;3883:9;3879:19;3860:39;:::i;:::-;3854:3;3846:6;3842:16;3835:65;3934:39;3968:3;3957:9;3953:19;3934:39;:::i;:::-;3928:3;3920:6;3916:16;3909:65;;;2879:1101;;;;:::o;3985:1532::-;4174:6;4182;4190;4198;4206;4214;4222;4230;4238;4282:9;4273:7;4269:23;4312:3;4308:2;4304:12;4301:32;;;4329:1;4326;4319:12;4301:32;4352:29;4371:9;4352:29;:::i;:::-;4342:39;;4400:37;4433:2;4422:9;4418:18;4400:37;:::i;:::-;4390:47;;4456:37;4489:2;4478:9;4474:18;4456:37;:::i;:::-;4446:47;;4540:2;4529:9;4525:18;4512:32;4502:42;;4563:38;4596:3;4585:9;4581:19;4563:38;:::i;:::-;4553:48;;4620:39;4654:3;4643:9;4639:19;4620:39;:::i;:::-;4610:49;;4752:3;4683:66;4679:2;4675:75;4671:85;4668:105;;;4769:1;4766;4759:12;4668:105;;4795:17;;:::i;:::-;4835:38;4868:3;4857:9;4853:19;4835:38;:::i;:::-;4828:5;4821:53;4906:37;4938:3;4927:9;4923:19;4906:37;:::i;:::-;4901:2;4894:5;4890:14;4883:61;4976:37;5008:3;4997:9;4993:19;4976:37;:::i;:::-;4971:2;4964:5;4960:14;4953:61;5046:38;5079:3;5068:9;5064:19;5046:38;:::i;:::-;5041:2;5034:5;5030:14;5023:62;5118:38;5151:3;5140:9;5136:19;5118:38;:::i;:::-;5112:3;5105:5;5101:15;5094:63;5209:3;5198:9;5194:19;5181:33;5258:34;5249:7;5245:48;5236:7;5233:61;5223:89;;5308:1;5305;5298:12;5223:89;5339:3;5328:15;;5321:32;5332:5;-1:-1:-1;5396:39:416;5430:3;5415:19;;5396:39;:::i;:::-;5386:49;;5454:57;5503:7;5497:3;5486:9;5482:19;5454:57;:::i;:::-;5444:67;;3985:1532;;;;;;;;;;;:::o;5522:531::-;5564:3;5602:5;5596:12;5629:6;5624:3;5617:19;5654:1;5664:162;5678:6;5675:1;5672:13;5664:162;;;5740:4;5796:13;;;5792:22;;5786:29;5768:11;;;5764:20;;5757:59;5693:12;5664:162;;;5844:6;5841:1;5838:13;5835:87;;;5910:1;5903:4;5894:6;5889:3;5885:16;5881:27;5874:38;5835:87;-1:-1:-1;5967:2:416;5955:15;5972:66;5951:88;5942:98;;;;6042:4;5938:109;;5522:531;-1:-1:-1;;5522:531:416:o;6058:220::-;6207:2;6196:9;6189:21;6170:4;6227:45;6268:2;6257:9;6253:18;6245:6;6227:45;:::i;6283:248::-;6351:6;6359;6412:2;6400:9;6391:7;6387:23;6383:32;6380:52;;;6428:1;6425;6418:12;6380:52;-1:-1:-1;;6451:23:416;;;6521:2;6506:18;;;6493:32;;-1:-1:-1;6283:248:416:o;6536:184::-;6594:6;6647:2;6635:9;6626:7;6622:23;6618:32;6615:52;;;6663:1;6660;6653:12;6615:52;6686:28;6704:9;6686:28;:::i;6922:180::-;6981:6;7034:2;7022:9;7013:7;7009:23;7005:32;7002:52;;;7050:1;7047;7040:12;7002:52;-1:-1:-1;7073:23:416;;6922:180;-1:-1:-1;6922:180:416:o;7797:184::-;7849:77;7846:1;7839:88;7946:4;7943:1;7936:15;7970:4;7967:1;7960:15;7986:125;8026:4;8054:1;8051;8048:8;8045:34;;;8059:18;;:::i;:::-;-1:-1:-1;8096:9:416;;7986:125::o;8116:236::-;8155:3;8183:18;8228:2;8225:1;8221:10;8258:2;8255:1;8251:10;8289:3;8285:2;8281:12;8276:3;8273:21;8270:47;;;8297:18;;:::i;:::-;8333:13;;8116:236;-1:-1:-1;;;;8116:236:416:o;12375:228::-;12414:3;12442:10;12479:2;12476:1;12472:10;12509:2;12506:1;12502:10;12540:3;12536:2;12532:12;12527:3;12524:21;12521:47;;;12548:18;;:::i;13024:345::-;13063:1;13089:10;13126:2;13123:1;13119:10;13148:3;13138:191;;13185:77;13182:1;13175:88;13286:4;13283:1;13276:15;13314:4;13311:1;13304:15;13138:191;13347:10;;13343:20;;;;;13024:345;-1:-1:-1;;13024:345:416:o;13374:262::-;13413:7;13445:10;13482:2;13479:1;13475:10;13512:2;13509:1;13505:10;13568:3;13564:2;13560:12;13555:3;13552:21;13545:3;13538:11;13531:19;13527:47;13524:73;;;13577:18;;:::i;:::-;13617:13;;13374:262;-1:-1:-1;;;;13374:262:416:o","linkReferences":{}},"methodIdentifiers":{"BATCH_INBOX_SLOT()":"bc49ce5f","DISPUTE_GAME_FACTORY_SLOT()":"e2a3285c","L1_CROSS_DOMAIN_MESSENGER_SLOT()":"5d73369c","L1_ERC_721_BRIDGE_SLOT()":"19f5cea8","L1_STANDARD_BRIDGE_SLOT()":"f8c68de0","NATIVE_TOKEN_ADDRESS_SLOT()":"697844c6","OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT()":"06c92657","OPTIMISM_PORTAL_SLOT()":"fd32aa0f","START_BLOCK_SLOT()":"e0e2016d","UNSAFE_BLOCK_SIGNER_SLOT()":"4f16540b","VERSION()":"ffa1ad74","basefeeScalar()":"bfb14fb7","batchInbox()":"dac6e63a","batcherHash()":"e81b2c6d","blobbasefeeScalar()":"ec707517","disputeGameFactory()":"f2b4e617","gasLimit()":"f68016b7","gasPayingToken()":"4397dfef","gasPayingTokenName()":"d8444715","gasPayingTokenSymbol()":"550fcdc9","initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))":"53d794be","isCustomGasToken()":"21326849","l1CrossDomainMessenger()":"a7119869","l1ERC721Bridge()":"c4e8ddfa","l1StandardBridge()":"078f29cf","maximumGasLimit()":"0ae14b1b","minimumGasLimit()":"4add321d","nativeTokenAddress()":"4d0047ee","optimismMintableERC20Factory()":"9b7d7f0a","optimismPortal()":"0a49cb03","overhead()":"0c18c162","owner()":"8da5cb5b","renounceOwnership()":"715018a6","resourceConfig()":"cc731b02","scalar()":"f45e65d8","setBatcherHash(bytes32)":"c9b26f61","setGasConfig(uint256,uint256)":"935f029e","setGasConfigEcotone(uint32,uint32)":"21d7fde5","setGasLimit(uint64)":"b40a817c","setUnsafeBlockSigner(address)":"18d13918","startBlock()":"48cd4cb1","transferOwnership(address)":"f2fde38b","unsafeBlockSigner()":"1fd19ee1","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"version\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"enum SystemConfig.UpdateType\",\"name\":\"updateType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ConfigUpdate\",\"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\"},{\"inputs\":[],\"name\":\"BATCH_INBOX_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DISPUTE_GAME_FACTORY_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"L1_CROSS_DOMAIN_MESSENGER_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"L1_ERC_721_BRIDGE_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"L1_STANDARD_BRIDGE_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"NATIVE_TOKEN_ADDRESS_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPTIMISM_PORTAL_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"START_BLOCK_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSAFE_BLOCK_SIGNER_SLOT\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"basefeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batchInbox\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batcherHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blobbasefeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeGameFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasLimit\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasPayingToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasPayingTokenName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasPayingTokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_basefeeScalar\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_blobbasefeeScalar\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_batcherHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"_unsafeBlockSigner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint32\",\"name\":\"maxResourceLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"elasticityMultiplier\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"baseFeeMaxChangeDenominator\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"minimumBaseFee\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"systemTxMaxGas\",\"type\":\"uint32\"},{\"internalType\":\"uint128\",\"name\":\"maximumBaseFee\",\"type\":\"uint128\"}],\"internalType\":\"struct ResourceMetering.ResourceConfig\",\"name\":\"_config\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"_batchInbox\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"l1CrossDomainMessenger\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"l1ERC721Bridge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"l1StandardBridge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"disputeGameFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optimismPortal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"optimismMintableERC20Factory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gasPayingToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nativeTokenAddress\",\"type\":\"address\"}],\"internalType\":\"struct SystemConfig.Addresses\",\"name\":\"_addresses\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCustomGasToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1CrossDomainMessenger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1ERC721Bridge\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1StandardBridge\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maximumGasLimit\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minimumGasLimit\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nativeTokenAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"optimismMintableERC20Factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"optimismPortal\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"overhead\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resourceConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"maxResourceLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint8\",\"name\":\"elasticityMultiplier\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"baseFeeMaxChangeDenominator\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"minimumBaseFee\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"systemTxMaxGas\",\"type\":\"uint32\"},{\"internalType\":\"uint128\",\"name\":\"maximumBaseFee\",\"type\":\"uint128\"}],\"internalType\":\"struct ResourceMetering.ResourceConfig\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"scalar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_batcherHash\",\"type\":\"bytes32\"}],\"name\":\"setBatcherHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_overhead\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_scalar\",\"type\":\"uint256\"}],\"name\":\"setGasConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_basefeeScalar\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_blobbasefeeScalar\",\"type\":\"uint32\"}],\"name\":\"setGasConfigEcotone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_gasLimit\",\"type\":\"uint64\"}],\"name\":\"setGasLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_unsafeBlockSigner\",\"type\":\"address\"}],\"name\":\"setUnsafeBlockSigner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBlock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startBlock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unsafeBlockSigner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"ConfigUpdate(uint256,uint8,bytes)\":{\"params\":{\"data\":\"Encoded update data.\",\"updateType\":\"Type of update.\",\"version\":\"SystemConfig version.\"}}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"START_BLOCK_SLOT is set to type(uint256).max here so that it will be a dead value         in the singleton and is skipped by initialize when setting the start block.\"},\"initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))\":{\"params\":{\"_addresses\":\"Set of L1 contract addresses. These should be the proxies.\",\"_basefeeScalar\":\"Initial basefee scalar value.\",\"_batchInbox\":\"Batch inbox address. An identifier for the op-node to find                           canonical data.\",\"_batcherHash\":\"Initial batcher hash.\",\"_blobbasefeeScalar\":\"Initial blobbasefee scalar value.\",\"_config\":\"Initial ResourceConfig.\",\"_gasLimit\":\"Initial gas limit.\",\"_owner\":\"Initial owner of the contract.\",\"_unsafeBlockSigner\":\"Initial unsafe block signer address.\"}},\"maximumGasLimit()\":{\"returns\":{\"_0\":\"uint64 Maximum gas limit.\"}},\"minimumGasLimit()\":{\"returns\":{\"_0\":\"uint64 Minimum gas limit.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"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.\"},\"resourceConfig()\":{\"returns\":{\"_0\":\"ResourceConfig\"}},\"setBatcherHash(bytes32)\":{\"params\":{\"_batcherHash\":\"New batcher hash.\"}},\"setGasConfig(uint256,uint256)\":{\"params\":{\"_overhead\":\"New overhead value.\",\"_scalar\":\"New scalar value.\"}},\"setGasConfigEcotone(uint32,uint32)\":{\"params\":{\"_basefeeScalar\":\"New basefeeScalar value.\",\"_blobbasefeeScalar\":\"New blobbasefeeScalar value.\"}},\"setGasLimit(uint64)\":{\"params\":{\"_gasLimit\":\"New gas limit.\"}},\"setUnsafeBlockSigner(address)\":{\"params\":{\"_unsafeBlockSigner\":\"New unsafe block signer address.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"unsafeBlockSigner()\":{\"returns\":{\"addr_\":\"Address of the unsafe block signer.\"}},\"version()\":{\"custom:semver\":\"2.3.0-beta.2\"}},\"stateVariables\":{\"UNSAFE_BLOCK_SIGNER_SLOT\":{\"details\":\"NOTE: this value will be migrated to another storage slot in a future version.         User input should not be placed in storage in this contract until this migration         happens. It is unlikely that keccak second preimage resistance will be broken,         but it is better to be safe than sorry.\"}},\"title\":\"SystemConfig\",\"version\":1},\"userdoc\":{\"events\":{\"ConfigUpdate(uint256,uint8,bytes)\":{\"notice\":\"Emitted when configuration is updated.\"}},\"kind\":\"user\",\"methods\":{\"BATCH_INBOX_SLOT()\":{\"notice\":\"Storage slot that the batch inbox address is stored at.\"},\"DISPUTE_GAME_FACTORY_SLOT()\":{\"notice\":\"Storage slot for the DisputeGameFactory address.\"},\"L1_CROSS_DOMAIN_MESSENGER_SLOT()\":{\"notice\":\"Storage slot that the L1CrossDomainMessenger address is stored at.\"},\"L1_ERC_721_BRIDGE_SLOT()\":{\"notice\":\"Storage slot that the L1ERC721Bridge address is stored at.\"},\"L1_STANDARD_BRIDGE_SLOT()\":{\"notice\":\"Storage slot that the L1StandardBridge address is stored at.\"},\"NATIVE_TOKEN_ADDRESS_SLOT()\":{\"notice\":\"Storage slot that the native token address is stored at.\"},\"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT()\":{\"notice\":\"Storage slot that the OptimismMintableERC20Factory address is stored at.\"},\"OPTIMISM_PORTAL_SLOT()\":{\"notice\":\"Storage slot that the OptimismPortal address is stored at.\"},\"START_BLOCK_SLOT()\":{\"notice\":\"Storage slot for block at which the op-node can start searching for logs from.\"},\"UNSAFE_BLOCK_SIGNER_SLOT()\":{\"notice\":\"Storage slot that the unsafe block signer is stored at.         Storing it at this deterministic storage slot allows for decoupling the storage         layout from the way that `solc` lays out storage. The `op-node` uses a storage         proof to fetch this value.\"},\"VERSION()\":{\"notice\":\"Version identifier, used for upgrades.\"},\"basefeeScalar()\":{\"notice\":\"Basefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade.\"},\"batchInbox()\":{\"notice\":\"Getter for the BatchInbox address.\"},\"batcherHash()\":{\"notice\":\"Identifier for the batcher.         For version 1 of this configuration, this is represented as an address left-padded         with zeros to 32 bytes.\"},\"blobbasefeeScalar()\":{\"notice\":\"Blobbasefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade.\"},\"constructor\":{\"notice\":\"Constructs the SystemConfig contract. Cannot set         the owner to `address(0)` due to the Ownable contract's         implementation, so set it to `address(0xdEaD)`\"},\"disputeGameFactory()\":{\"notice\":\"Getter for the DisputeGameFactory address.\"},\"gasLimit()\":{\"notice\":\"L2 block gas limit.\"},\"gasPayingToken()\":{\"notice\":\"Getter for the gas paying asset address.\"},\"gasPayingTokenName()\":{\"notice\":\"Getter for the gas paying token name.\"},\"gasPayingTokenSymbol()\":{\"notice\":\"Getter for the gas paying token symbol.\"},\"initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))\":{\"notice\":\"Initializer.         The resource config must be set before the require check.\"},\"isCustomGasToken()\":{\"notice\":\"Getter for custom gas token paying networks. Returns true if the         network uses a custom gas token.\"},\"l1CrossDomainMessenger()\":{\"notice\":\"Getter for the L1CrossDomainMessenger address.\"},\"l1ERC721Bridge()\":{\"notice\":\"Getter for the L1ERC721Bridge address.\"},\"l1StandardBridge()\":{\"notice\":\"Getter for the L1StandardBridge address.\"},\"maximumGasLimit()\":{\"notice\":\"Returns the maximum L2 gas limit that can be safely set for the system to         operate. This bound is used to prevent the gas limit from being set too high         and causing the system to be unable to process and/or prove L2 blocks.\"},\"minimumGasLimit()\":{\"notice\":\"Returns the minimum L2 gas limit that can be safely set for the system to         operate. The L2 gas limit must be larger than or equal to the amount of         gas that is allocated for deposits per block plus the amount of gas that         is allocated for the system transaction.         This function is used to determine if changes to parameters are safe.\"},\"nativeTokenAddress()\":{\"notice\":\"Getter for the native token address.\"},\"optimismMintableERC20Factory()\":{\"notice\":\"Getter for the OptimismMintableERC20Factory address.\"},\"optimismPortal()\":{\"notice\":\"Getter for the OptimismPortal address.\"},\"overhead()\":{\"notice\":\"Fixed L2 gas overhead. Used as part of the L2 fee calculation.         Deprecated since the Ecotone network upgrade\"},\"resourceConfig()\":{\"notice\":\"A getter for the resource config.         Ensures that the struct is returned instead of a tuple.\"},\"scalar()\":{\"notice\":\"Dynamic L2 gas overhead. Used as part of the L2 fee calculation.         The most significant byte is used to determine the version since the         Ecotone network upgrade.\"},\"setBatcherHash(bytes32)\":{\"notice\":\"Updates the batcher hash. Can only be called by the owner.\"},\"setGasConfig(uint256,uint256)\":{\"notice\":\"Updates gas config. Can only be called by the owner.         Deprecated in favor of setGasConfigEcotone since the Ecotone upgrade.\"},\"setGasConfigEcotone(uint32,uint32)\":{\"notice\":\"Updates gas config as of the Ecotone upgrade. Can only be called by the owner.\"},\"setGasLimit(uint64)\":{\"notice\":\"Updates the L2 gas limit. Can only be called by the owner.\"},\"setUnsafeBlockSigner(address)\":{\"notice\":\"Updates the unsafe block signer address. Can only be called by the owner.\"},\"startBlock()\":{\"notice\":\"Getter for the StartBlock number.\"},\"unsafeBlockSigner()\":{\"notice\":\"High level getter for the unsafe block signer address.         Unsafe blocks can be propagated across the p2p network if they are signed by the         key corresponding to this address.\"},\"version()\":{\"notice\":\"Semantic version.\"}},\"notice\":\"The SystemConfig contract is used to manage configuration of an Optimism network.         All configuration is stored on L1 and picked up by L2 as part of the derviation of         the L2 chain.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/L1/SystemConfig.sol\":\"SystemConfig\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a\",\"dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c\",\"dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a\"]},\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f\",\"dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x24b04b8aacaaf1a4a0719117b29c9c3647b1f479c5ac2a60f5ff1bb6d839c238\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43e46da9d9f49741ecd876a269e71bc7494058d7a8e9478429998adb5bc3eaa0\",\"dweb:/ipfs/QmUtp4cqzf22C5rJ76AabKADquGWcjsc33yjYXxXC4sDvy\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\":{\"keccak256\":\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\",\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6\",\"dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xd15c3e400531f00203839159b2b8e7209c5158b35618f570c695b7e47f12e9f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b600b852e0597aa69989cc263111f02097e2827edc1bdc70306303e3af5e9929\",\"dweb:/ipfs/QmU4WfM28A1nDqghuuGeFmN3CnVrk6opWtiF65K4vhFPeC\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb3ebde1c8d27576db912d87c3560dab14adfb9cd001be95890ec4ba035e652e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a709421c4f5d4677db8216055d2d4dac96a613efdb08178a9f7041f0c5cef689\",\"dweb:/ipfs/QmYs2rStvVLDnSJs8HgaMD1ABwoKKWdiVbQyNfLfFWTjTy\"]},\"lib/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229\",\"dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ\"]},\"lib/solmate/src/utils/FixedPointMathLib.sol\":{\"keccak256\":\"0x622fcd8a49e132df5ec7651cc6ae3aaf0cf59bdcd67a9a804a1b9e2485113b7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af77088eb606427d4c55e578984a615779c86bc30646a20f7bb27299ba390f7c\",\"dweb:/ipfs/QmZGQdhdQDtHc7gZXWrKXgA3govc74X8U63BiWhPQK3mK8\"]},\"src/L1/L2OutputOracle.sol\":{\"keccak256\":\"0x342c5084f3c640c90530122bd78372c011d6162e698dd8c8daec9496fef01d42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8700a3d486bd62cbb861ff80175b8040336940515791073af6a036db7c2df303\",\"dweb:/ipfs/QmSGKTH84rVHWgMg4d6GQZCmCJ16KuUuTsMwPMDdJxCsww\"]},\"src/L1/OnApprove.sol\":{\"keccak256\":\"0x40cee21f13053d860ab0aaaf77ff596f7131cb39ab21963d076e9e276492d31a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b384a3225e25c0232aaa775d0f4df514ad7423228810e157ba921b736421c6b1\",\"dweb:/ipfs/QmcPTPwvhqtHLQAgntzVdqeptDDgmnEafnZwgAK7D7AoV1\"]},\"src/L1/OptimismPortal.sol\":{\"keccak256\":\"0xb9c5a2ce9544e03df45181f151d1bf0064939f43206e8a9f0567827e36b3121e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b79fbc86f7ae8d131a596dfce23b23ce4b21fa71c5210dbe969c196590af1832\",\"dweb:/ipfs/QmWc9sPFpGr3nQyWVUxjhdB1CKdp3fFgSnYbYignhGSf7n\"]},\"src/L1/ResourceMetering.sol\":{\"keccak256\":\"0x069f3449a0408d7a9d05f3a5e01cce5e9c746591d8f3c87b43fcf9723bf7301d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124fff8e3b3c5992f04f1c92ceac09b003b880ec43031ef4ce816b2750184805\",\"dweb:/ipfs/QmfRxhi3hRdAhFkMLjX6RgHeFnWtkTJveQe8DVJcvRv3Er\"]},\"src/L1/SuperchainConfig.sol\":{\"keccak256\":\"0x5fab874f980fe3e52c3398ddd25b655c56af0c98c15588b2ad9ebf30671d859d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0aa613d38eceb621f8569fc714f521bc1f2df3d029552186ab3cdf2ee5d53f\",\"dweb:/ipfs/QmZDzFxhTXLW79eohQbr1nghNh3oNC4CUfH7uMX8CsjVAB\"]},\"src/L1/SystemConfig.sol\":{\"keccak256\":\"0xb7e58757a691bb72ddd0d2e4c2d11ff097985d92eb38a16bbcd2d4e1c6aa8f05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9f0a9f317a6534fbd646d52d6e22441dab52da4c285df5dd63f377c6740c7ec\",\"dweb:/ipfs/QmNz5NFRwFas2SRwC5gAvxspffh5vZy6wEzr77ofd3AWaB\"]},\"src/libraries/Arithmetic.sol\":{\"keccak256\":\"0x91345e053584f82ad04d682ba821cf3ede808304f5b2a88116a894cf692c21db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://005e3c42d2edfca0a506cbda94d3b0104eddf20c00bd1bd25272f53f2ef74c72\",\"dweb:/ipfs/QmdaW6Nge6NKoGvFqRpQjBpM2fXpc5y8WpZyBnDnKicdJq\"]},\"src/libraries/Burn.sol\":{\"keccak256\":\"0x8676782233b8ee5735e9f09225a40acb8d9bdcb6b223ef356fda91058c24ed14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53956d4ade06cd8c76b81c71a35a5d3f139c4f992753deac68edb3232bfe5265\",\"dweb:/ipfs/QmX9H6eVXpUNDEXcGDYgTAksR2quinGXDds275svLRt2fd\"]},\"src/libraries/Bytes.sol\":{\"keccak256\":\"0x827f47d123b0fdf3b08816d5b33831811704dbf4e554e53f2269354f6bba8859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3137ac7204d30a245a8b0d67aa6da5286f1bd8c90379daab561f84963b6db782\",\"dweb:/ipfs/QmWRhisw3axJK833gUScs23ETh2MLFbVzzqzYVMKSDN3S9\"]},\"src/libraries/Constants.sol\":{\"keccak256\":\"0x0a52edff4eb90806c5fd570e9c4be2e04327facb9af24e8d15c6cdea9f7a6395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b009c00e43bfc2794ee8954a57e37084eb6fdc05c215aab19f8d697d1a86ca5\",\"dweb:/ipfs/QmQNzUfs95W6dLVPrHj8ik51uhiD5acihYcxZBDhpTCw4f\"]},\"src/libraries/Encoding.sol\":{\"keccak256\":\"0x5586d9715d8fbdd48245220f13a96573555fd847a333869e862ae186802e0311\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f34dbd5a0a8918120e226f549a8337bd6fc7176653159a85929ce6fe3d66e11\",\"dweb:/ipfs/QmQKnhRPMnhKBRLmV2C1BqAsPpQg8xVFXi7ZLuHU9XQ1BE\"]},\"src/libraries/GasPayingToken.sol\":{\"keccak256\":\"0xf19e06af2387c0febaa4a77f93e35dfaf367cac318c804b9023eba0cb5b35237\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c1b26566a54ea67c802261882e26322baf6100480613c6582337fb85d7d82d8\",\"dweb:/ipfs/QmPt5FLyGAeJVx1tDXHP55B91xgn4AwQk91WaCJkFV7kTw\"]},\"src/libraries/Hashing.sol\":{\"keccak256\":\"0x89c07a0ca102cbe57b4e082543f2dd6dae0e1fd4a87908a334bd076fc914e7b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://69c83489c9544ab442dc244c2feb2c6811b726a5eb5a509b97fc5ccb90b98c12\",\"dweb:/ipfs/QmPGGJeLasc1HWHzd6odvWcNvFPQrbYtDubZcv8yp1HLtF\"]},\"src/libraries/SafeCall.sol\":{\"keccak256\":\"0x0636a7abb242bb5d6f5606967c8929e6aa7e63468c1e2ce40ad4780d4c4bf94f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4daec2ac8f9907bbf84ef0a1c48f03bae8657619bc6f42b3a672f25c516f17a\",\"dweb:/ipfs/Qmf8gfRxBv8gEmCkP8YMPb2GGfj9QUnoNUyKE7UR2SWGnq\"]},\"src/libraries/Storage.sol\":{\"keccak256\":\"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269\",\"dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK\"]},\"src/libraries/Types.sol\":{\"keccak256\":\"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e\",\"dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc\"]},\"src/libraries/rlp/RLPErrors.sol\":{\"keccak256\":\"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47\",\"dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42\"]},\"src/libraries/rlp/RLPReader.sol\":{\"keccak256\":\"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96\",\"dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp\"]},\"src/libraries/rlp/RLPWriter.sol\":{\"keccak256\":\"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://070f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b\",\"dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV\"]},\"src/libraries/trie/MerkleTrie.sol\":{\"keccak256\":\"0xf8ba770ee6666e73ae43184c700e9c704b2c4ace71f9e3c2227ddc11a8148b4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4702ccee1fe44aea3ee01d59e6152eb755da083f786f00947fec4437c064fe74\",\"dweb:/ipfs/QmQjFj5J7hrEM1dxJjFszzW2Cs7g7eMhYNBXonF2DXBstE\"]},\"src/libraries/trie/SecureMerkleTrie.sol\":{\"keccak256\":\"0xeaff8315cfd21197bc6bc859c2decf5d4f4838c9c357c502cdf2b1eac863d288\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79dcdcaa560aea51d138da4f5dc553a1808b6de090b2dc1629f18375edbff681\",\"dweb:/ipfs/QmbE4pUPhf5fLKW4W6cEjhQs55gEDvHmbmoBqkW1yz3bnw\"]},\"src/universal/ISemver.sol\":{\"keccak256\":\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\",\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\"]},\"src/vendor/AddressAliasHelper.sol\":{\"keccak256\":\"0x6ecb83b4ec80fbe49c22f4f95d90482de64660ef5d422a19f4d4b04df31c1237\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1d0885be6e473962f9a0622176a22300165ac0cc1a1d7f2e22b11c3d656ace88\",\"dweb:/ipfs/QmPRa3KmRpXW5P9ykveKRDgYN5zYo4cYLAYSnoqHX3KnXR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"version","type":"uint256","indexed":true},{"internalType":"enum SystemConfig.UpdateType","name":"updateType","type":"uint8","indexed":true},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"ConfigUpdate","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":[],"stateMutability":"view","type":"function","name":"BATCH_INBOX_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DISPUTE_GAME_FACTORY_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"L1_CROSS_DOMAIN_MESSENGER_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"L1_ERC_721_BRIDGE_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"L1_STANDARD_BRIDGE_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"NATIVE_TOKEN_ADDRESS_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OPTIMISM_PORTAL_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"START_BLOCK_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UNSAFE_BLOCK_SIGNER_SLOT","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VERSION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"basefeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"batchInbox","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"batcherHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"blobbasefeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeGameFactory","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasLimit","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasPayingToken","outputs":[{"internalType":"address","name":"addr_","type":"address"},{"internalType":"uint8","name":"decimals_","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasPayingTokenName","outputs":[{"internalType":"string","name":"name_","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasPayingTokenSymbol","outputs":[{"internalType":"string","name":"symbol_","type":"string"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint32","name":"_basefeeScalar","type":"uint32"},{"internalType":"uint32","name":"_blobbasefeeScalar","type":"uint32"},{"internalType":"bytes32","name":"_batcherHash","type":"bytes32"},{"internalType":"uint64","name":"_gasLimit","type":"uint64"},{"internalType":"address","name":"_unsafeBlockSigner","type":"address"},{"internalType":"struct ResourceMetering.ResourceConfig","name":"_config","type":"tuple","components":[{"internalType":"uint32","name":"maxResourceLimit","type":"uint32"},{"internalType":"uint8","name":"elasticityMultiplier","type":"uint8"},{"internalType":"uint8","name":"baseFeeMaxChangeDenominator","type":"uint8"},{"internalType":"uint32","name":"minimumBaseFee","type":"uint32"},{"internalType":"uint32","name":"systemTxMaxGas","type":"uint32"},{"internalType":"uint128","name":"maximumBaseFee","type":"uint128"}]},{"internalType":"address","name":"_batchInbox","type":"address"},{"internalType":"struct SystemConfig.Addresses","name":"_addresses","type":"tuple","components":[{"internalType":"address","name":"l1CrossDomainMessenger","type":"address"},{"internalType":"address","name":"l1ERC721Bridge","type":"address"},{"internalType":"address","name":"l1StandardBridge","type":"address"},{"internalType":"address","name":"disputeGameFactory","type":"address"},{"internalType":"address","name":"optimismPortal","type":"address"},{"internalType":"address","name":"optimismMintableERC20Factory","type":"address"},{"internalType":"address","name":"gasPayingToken","type":"address"},{"internalType":"address","name":"nativeTokenAddress","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isCustomGasToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1CrossDomainMessenger","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1ERC721Bridge","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1StandardBridge","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"maximumGasLimit","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"minimumGasLimit","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nativeTokenAddress","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"optimismMintableERC20Factory","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"optimismPortal","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"overhead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"resourceConfig","outputs":[{"internalType":"struct ResourceMetering.ResourceConfig","name":"","type":"tuple","components":[{"internalType":"uint32","name":"maxResourceLimit","type":"uint32"},{"internalType":"uint8","name":"elasticityMultiplier","type":"uint8"},{"internalType":"uint8","name":"baseFeeMaxChangeDenominator","type":"uint8"},{"internalType":"uint32","name":"minimumBaseFee","type":"uint32"},{"internalType":"uint32","name":"systemTxMaxGas","type":"uint32"},{"internalType":"uint128","name":"maximumBaseFee","type":"uint128"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"scalar","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"_batcherHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setBatcherHash"},{"inputs":[{"internalType":"uint256","name":"_overhead","type":"uint256"},{"internalType":"uint256","name":"_scalar","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setGasConfig"},{"inputs":[{"internalType":"uint32","name":"_basefeeScalar","type":"uint32"},{"internalType":"uint32","name":"_blobbasefeeScalar","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"setGasConfigEcotone"},{"inputs":[{"internalType":"uint64","name":"_gasLimit","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setGasLimit"},{"inputs":[{"internalType":"address","name":"_unsafeBlockSigner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setUnsafeBlockSigner"},{"inputs":[],"stateMutability":"view","type":"function","name":"startBlock","outputs":[{"internalType":"uint256","name":"startBlock_","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"unsafeBlockSigner","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"START_BLOCK_SLOT is set to type(uint256).max here so that it will be a dead value         in the singleton and is skipped by initialize when setting the start block."},"initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))":{"params":{"_addresses":"Set of L1 contract addresses. These should be the proxies.","_basefeeScalar":"Initial basefee scalar value.","_batchInbox":"Batch inbox address. An identifier for the op-node to find                           canonical data.","_batcherHash":"Initial batcher hash.","_blobbasefeeScalar":"Initial blobbasefee scalar value.","_config":"Initial ResourceConfig.","_gasLimit":"Initial gas limit.","_owner":"Initial owner of the contract.","_unsafeBlockSigner":"Initial unsafe block signer address."}},"maximumGasLimit()":{"returns":{"_0":"uint64 Maximum gas limit."}},"minimumGasLimit()":{"returns":{"_0":"uint64 Minimum gas limit."}},"owner()":{"details":"Returns the address of the current owner."},"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."},"resourceConfig()":{"returns":{"_0":"ResourceConfig"}},"setBatcherHash(bytes32)":{"params":{"_batcherHash":"New batcher hash."}},"setGasConfig(uint256,uint256)":{"params":{"_overhead":"New overhead value.","_scalar":"New scalar value."}},"setGasConfigEcotone(uint32,uint32)":{"params":{"_basefeeScalar":"New basefeeScalar value.","_blobbasefeeScalar":"New blobbasefeeScalar value."}},"setGasLimit(uint64)":{"params":{"_gasLimit":"New gas limit."}},"setUnsafeBlockSigner(address)":{"params":{"_unsafeBlockSigner":"New unsafe block signer address."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"unsafeBlockSigner()":{"returns":{"addr_":"Address of the unsafe block signer."}},"version()":{"custom:semver":"2.3.0-beta.2"}},"version":1},"userdoc":{"kind":"user","methods":{"BATCH_INBOX_SLOT()":{"notice":"Storage slot that the batch inbox address is stored at."},"DISPUTE_GAME_FACTORY_SLOT()":{"notice":"Storage slot for the DisputeGameFactory address."},"L1_CROSS_DOMAIN_MESSENGER_SLOT()":{"notice":"Storage slot that the L1CrossDomainMessenger address is stored at."},"L1_ERC_721_BRIDGE_SLOT()":{"notice":"Storage slot that the L1ERC721Bridge address is stored at."},"L1_STANDARD_BRIDGE_SLOT()":{"notice":"Storage slot that the L1StandardBridge address is stored at."},"NATIVE_TOKEN_ADDRESS_SLOT()":{"notice":"Storage slot that the native token address is stored at."},"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT()":{"notice":"Storage slot that the OptimismMintableERC20Factory address is stored at."},"OPTIMISM_PORTAL_SLOT()":{"notice":"Storage slot that the OptimismPortal address is stored at."},"START_BLOCK_SLOT()":{"notice":"Storage slot for block at which the op-node can start searching for logs from."},"UNSAFE_BLOCK_SIGNER_SLOT()":{"notice":"Storage slot that the unsafe block signer is stored at.         Storing it at this deterministic storage slot allows for decoupling the storage         layout from the way that `solc` lays out storage. The `op-node` uses a storage         proof to fetch this value."},"VERSION()":{"notice":"Version identifier, used for upgrades."},"basefeeScalar()":{"notice":"Basefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade."},"batchInbox()":{"notice":"Getter for the BatchInbox address."},"batcherHash()":{"notice":"Identifier for the batcher.         For version 1 of this configuration, this is represented as an address left-padded         with zeros to 32 bytes."},"blobbasefeeScalar()":{"notice":"Blobbasefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade."},"constructor":{"notice":"Constructs the SystemConfig contract. Cannot set         the owner to `address(0)` due to the Ownable contract's         implementation, so set it to `address(0xdEaD)`"},"disputeGameFactory()":{"notice":"Getter for the DisputeGameFactory address."},"gasLimit()":{"notice":"L2 block gas limit."},"gasPayingToken()":{"notice":"Getter for the gas paying asset address."},"gasPayingTokenName()":{"notice":"Getter for the gas paying token name."},"gasPayingTokenSymbol()":{"notice":"Getter for the gas paying token symbol."},"initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))":{"notice":"Initializer.         The resource config must be set before the require check."},"isCustomGasToken()":{"notice":"Getter for custom gas token paying networks. Returns true if the         network uses a custom gas token."},"l1CrossDomainMessenger()":{"notice":"Getter for the L1CrossDomainMessenger address."},"l1ERC721Bridge()":{"notice":"Getter for the L1ERC721Bridge address."},"l1StandardBridge()":{"notice":"Getter for the L1StandardBridge address."},"maximumGasLimit()":{"notice":"Returns the maximum L2 gas limit that can be safely set for the system to         operate. This bound is used to prevent the gas limit from being set too high         and causing the system to be unable to process and/or prove L2 blocks."},"minimumGasLimit()":{"notice":"Returns the minimum L2 gas limit that can be safely set for the system to         operate. The L2 gas limit must be larger than or equal to the amount of         gas that is allocated for deposits per block plus the amount of gas that         is allocated for the system transaction.         This function is used to determine if changes to parameters are safe."},"nativeTokenAddress()":{"notice":"Getter for the native token address."},"optimismMintableERC20Factory()":{"notice":"Getter for the OptimismMintableERC20Factory address."},"optimismPortal()":{"notice":"Getter for the OptimismPortal address."},"overhead()":{"notice":"Fixed L2 gas overhead. Used as part of the L2 fee calculation.         Deprecated since the Ecotone network upgrade"},"resourceConfig()":{"notice":"A getter for the resource config.         Ensures that the struct is returned instead of a tuple."},"scalar()":{"notice":"Dynamic L2 gas overhead. Used as part of the L2 fee calculation.         The most significant byte is used to determine the version since the         Ecotone network upgrade."},"setBatcherHash(bytes32)":{"notice":"Updates the batcher hash. Can only be called by the owner."},"setGasConfig(uint256,uint256)":{"notice":"Updates gas config. Can only be called by the owner.         Deprecated in favor of setGasConfigEcotone since the Ecotone upgrade."},"setGasConfigEcotone(uint32,uint32)":{"notice":"Updates gas config as of the Ecotone upgrade. Can only be called by the owner."},"setGasLimit(uint64)":{"notice":"Updates the L2 gas limit. Can only be called by the owner."},"setUnsafeBlockSigner(address)":{"notice":"Updates the unsafe block signer address. Can only be called by the owner."},"startBlock()":{"notice":"Getter for the StartBlock number."},"unsafeBlockSigner()":{"notice":"High level getter for the unsafe block signer address.         Unsafe blocks can be propagated across the p2p network if they are signed by the         key corresponding to this address."},"version()":{"notice":"Semantic version."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/L1/SystemConfig.sol":"SystemConfig"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x247c62047745915c0af6b955470a72d1696ebad4352d7d3011aef1a2463cd888","urls":["bzz-raw://d7fc8396619de513c96b6e00301b88dd790e83542aab918425633a5f7297a15a","dweb:/ipfs/QmXbP4kiZyp7guuS7xe8KaybnwkRPGrBc2Kbi3vhcTfpxb"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x963ea7f0b48b032eef72fe3a7582edf78408d6f834115b9feadd673a4d5bd149","urls":["bzz-raw://d6520943ea55fdf5f0bafb39ed909f64de17051bc954ff3e88c9e5621412c79c","dweb:/ipfs/QmWZ4rAKTQbNG2HxGs46AcTXShsVytKeLs7CUCdCSv5N7a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66","urls":["bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f","dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0x24b04b8aacaaf1a4a0719117b29c9c3647b1f479c5ac2a60f5ff1bb6d839c238","urls":["bzz-raw://43e46da9d9f49741ecd876a269e71bc7494058d7a8e9478429998adb5bc3eaa0","dweb:/ipfs/QmUtp4cqzf22C5rJ76AabKADquGWcjsc33yjYXxXC4sDvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol":{"keccak256":"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329","urls":["bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95","dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29","urls":["bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6","dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10","urls":["bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487","dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xd15c3e400531f00203839159b2b8e7209c5158b35618f570c695b7e47f12e9f0","urls":["bzz-raw://b600b852e0597aa69989cc263111f02097e2827edc1bdc70306303e3af5e9929","dweb:/ipfs/QmU4WfM28A1nDqghuuGeFmN3CnVrk6opWtiF65K4vhFPeC"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb3ebde1c8d27576db912d87c3560dab14adfb9cd001be95890ec4ba035e652e7","urls":["bzz-raw://a709421c4f5d4677db8216055d2d4dac96a613efdb08178a9f7041f0c5cef689","dweb:/ipfs/QmYs2rStvVLDnSJs8HgaMD1ABwoKKWdiVbQyNfLfFWTjTy"],"license":"MIT"},"lib/solady/src/utils/LibString.sol":{"keccak256":"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200","urls":["bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229","dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ"],"license":"MIT"},"lib/solmate/src/utils/FixedPointMathLib.sol":{"keccak256":"0x622fcd8a49e132df5ec7651cc6ae3aaf0cf59bdcd67a9a804a1b9e2485113b7d","urls":["bzz-raw://af77088eb606427d4c55e578984a615779c86bc30646a20f7bb27299ba390f7c","dweb:/ipfs/QmZGQdhdQDtHc7gZXWrKXgA3govc74X8U63BiWhPQK3mK8"],"license":"MIT"},"src/L1/L2OutputOracle.sol":{"keccak256":"0x342c5084f3c640c90530122bd78372c011d6162e698dd8c8daec9496fef01d42","urls":["bzz-raw://8700a3d486bd62cbb861ff80175b8040336940515791073af6a036db7c2df303","dweb:/ipfs/QmSGKTH84rVHWgMg4d6GQZCmCJ16KuUuTsMwPMDdJxCsww"],"license":"MIT"},"src/L1/OnApprove.sol":{"keccak256":"0x40cee21f13053d860ab0aaaf77ff596f7131cb39ab21963d076e9e276492d31a","urls":["bzz-raw://b384a3225e25c0232aaa775d0f4df514ad7423228810e157ba921b736421c6b1","dweb:/ipfs/QmcPTPwvhqtHLQAgntzVdqeptDDgmnEafnZwgAK7D7AoV1"],"license":"MIT"},"src/L1/OptimismPortal.sol":{"keccak256":"0xb9c5a2ce9544e03df45181f151d1bf0064939f43206e8a9f0567827e36b3121e","urls":["bzz-raw://b79fbc86f7ae8d131a596dfce23b23ce4b21fa71c5210dbe969c196590af1832","dweb:/ipfs/QmWc9sPFpGr3nQyWVUxjhdB1CKdp3fFgSnYbYignhGSf7n"],"license":"MIT"},"src/L1/ResourceMetering.sol":{"keccak256":"0x069f3449a0408d7a9d05f3a5e01cce5e9c746591d8f3c87b43fcf9723bf7301d","urls":["bzz-raw://124fff8e3b3c5992f04f1c92ceac09b003b880ec43031ef4ce816b2750184805","dweb:/ipfs/QmfRxhi3hRdAhFkMLjX6RgHeFnWtkTJveQe8DVJcvRv3Er"],"license":"MIT"},"src/L1/SuperchainConfig.sol":{"keccak256":"0x5fab874f980fe3e52c3398ddd25b655c56af0c98c15588b2ad9ebf30671d859d","urls":["bzz-raw://4e0aa613d38eceb621f8569fc714f521bc1f2df3d029552186ab3cdf2ee5d53f","dweb:/ipfs/QmZDzFxhTXLW79eohQbr1nghNh3oNC4CUfH7uMX8CsjVAB"],"license":"MIT"},"src/L1/SystemConfig.sol":{"keccak256":"0xb7e58757a691bb72ddd0d2e4c2d11ff097985d92eb38a16bbcd2d4e1c6aa8f05","urls":["bzz-raw://b9f0a9f317a6534fbd646d52d6e22441dab52da4c285df5dd63f377c6740c7ec","dweb:/ipfs/QmNz5NFRwFas2SRwC5gAvxspffh5vZy6wEzr77ofd3AWaB"],"license":"MIT"},"src/libraries/Arithmetic.sol":{"keccak256":"0x91345e053584f82ad04d682ba821cf3ede808304f5b2a88116a894cf692c21db","urls":["bzz-raw://005e3c42d2edfca0a506cbda94d3b0104eddf20c00bd1bd25272f53f2ef74c72","dweb:/ipfs/QmdaW6Nge6NKoGvFqRpQjBpM2fXpc5y8WpZyBnDnKicdJq"],"license":"MIT"},"src/libraries/Burn.sol":{"keccak256":"0x8676782233b8ee5735e9f09225a40acb8d9bdcb6b223ef356fda91058c24ed14","urls":["bzz-raw://53956d4ade06cd8c76b81c71a35a5d3f139c4f992753deac68edb3232bfe5265","dweb:/ipfs/QmX9H6eVXpUNDEXcGDYgTAksR2quinGXDds275svLRt2fd"],"license":"MIT"},"src/libraries/Bytes.sol":{"keccak256":"0x827f47d123b0fdf3b08816d5b33831811704dbf4e554e53f2269354f6bba8859","urls":["bzz-raw://3137ac7204d30a245a8b0d67aa6da5286f1bd8c90379daab561f84963b6db782","dweb:/ipfs/QmWRhisw3axJK833gUScs23ETh2MLFbVzzqzYVMKSDN3S9"],"license":"MIT"},"src/libraries/Constants.sol":{"keccak256":"0x0a52edff4eb90806c5fd570e9c4be2e04327facb9af24e8d15c6cdea9f7a6395","urls":["bzz-raw://9b009c00e43bfc2794ee8954a57e37084eb6fdc05c215aab19f8d697d1a86ca5","dweb:/ipfs/QmQNzUfs95W6dLVPrHj8ik51uhiD5acihYcxZBDhpTCw4f"],"license":"MIT"},"src/libraries/Encoding.sol":{"keccak256":"0x5586d9715d8fbdd48245220f13a96573555fd847a333869e862ae186802e0311","urls":["bzz-raw://3f34dbd5a0a8918120e226f549a8337bd6fc7176653159a85929ce6fe3d66e11","dweb:/ipfs/QmQKnhRPMnhKBRLmV2C1BqAsPpQg8xVFXi7ZLuHU9XQ1BE"],"license":"MIT"},"src/libraries/GasPayingToken.sol":{"keccak256":"0xf19e06af2387c0febaa4a77f93e35dfaf367cac318c804b9023eba0cb5b35237","urls":["bzz-raw://3c1b26566a54ea67c802261882e26322baf6100480613c6582337fb85d7d82d8","dweb:/ipfs/QmPt5FLyGAeJVx1tDXHP55B91xgn4AwQk91WaCJkFV7kTw"],"license":"MIT"},"src/libraries/Hashing.sol":{"keccak256":"0x89c07a0ca102cbe57b4e082543f2dd6dae0e1fd4a87908a334bd076fc914e7b8","urls":["bzz-raw://69c83489c9544ab442dc244c2feb2c6811b726a5eb5a509b97fc5ccb90b98c12","dweb:/ipfs/QmPGGJeLasc1HWHzd6odvWcNvFPQrbYtDubZcv8yp1HLtF"],"license":"MIT"},"src/libraries/SafeCall.sol":{"keccak256":"0x0636a7abb242bb5d6f5606967c8929e6aa7e63468c1e2ce40ad4780d4c4bf94f","urls":["bzz-raw://a4daec2ac8f9907bbf84ef0a1c48f03bae8657619bc6f42b3a672f25c516f17a","dweb:/ipfs/Qmf8gfRxBv8gEmCkP8YMPb2GGfj9QUnoNUyKE7UR2SWGnq"],"license":"MIT"},"src/libraries/Storage.sol":{"keccak256":"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f","urls":["bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269","dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK"],"license":"MIT"},"src/libraries/Types.sol":{"keccak256":"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4","urls":["bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e","dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc"],"license":"MIT"},"src/libraries/rlp/RLPErrors.sol":{"keccak256":"0x2b7fa174e6c62962f7c3ce1960298d325ed0e5ff4ee3fd426848e88b4500eb26","urls":["bzz-raw://f5528dd355691e6e2dffa3ecf11388f51e3bd29f27693c5dcd11be182559ba47","dweb:/ipfs/QmTqZ5ZzBPwLYg3JNZttHZYaXv5zyzQfakSz4B8sYkAz42"],"license":"MIT"},"src/libraries/rlp/RLPReader.sol":{"keccak256":"0x27cbbc74d603b301e0e4bc4d33bbbeb88e369f1a91191a33d89ea52360e003db","urls":["bzz-raw://ba58dfd78089a51f06638fa6c0d2287c6254907ad89c4ad58b6fbb331d5d5a96","dweb:/ipfs/QmUjC5Pm2MxPgYm9DfW1MasHj5jz7xXvej88778QuUoNgp"],"license":"MIT"},"src/libraries/rlp/RLPWriter.sol":{"keccak256":"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6","urls":["bzz-raw://070f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b","dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV"],"license":"MIT"},"src/libraries/trie/MerkleTrie.sol":{"keccak256":"0xf8ba770ee6666e73ae43184c700e9c704b2c4ace71f9e3c2227ddc11a8148b4c","urls":["bzz-raw://4702ccee1fe44aea3ee01d59e6152eb755da083f786f00947fec4437c064fe74","dweb:/ipfs/QmQjFj5J7hrEM1dxJjFszzW2Cs7g7eMhYNBXonF2DXBstE"],"license":"MIT"},"src/libraries/trie/SecureMerkleTrie.sol":{"keccak256":"0xeaff8315cfd21197bc6bc859c2decf5d4f4838c9c357c502cdf2b1eac863d288","urls":["bzz-raw://79dcdcaa560aea51d138da4f5dc553a1808b6de090b2dc1629f18375edbff681","dweb:/ipfs/QmbE4pUPhf5fLKW4W6cEjhQs55gEDvHmbmoBqkW1yz3bnw"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"},"src/vendor/AddressAliasHelper.sol":{"keccak256":"0x6ecb83b4ec80fbe49c22f4f95d90482de64660ef5d422a19f4d4b04df31c1237","urls":["bzz-raw://1d0885be6e473962f9a0622176a22300165ac0cc1a1d7f2e22b11c3d656ace88","dweb:/ipfs/QmPRa3KmRpXW5P9ykveKRDgYN5zYo4cYLAYSnoqHX3KnXR"],"license":"Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":47581,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":47584,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":49112,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"__gap","offset":0,"slot":"1","type":"t_array(t_uint256)50_storage"},{"astId":47453,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"_owner","offset":0,"slot":"51","type":"t_address"},{"astId":47573,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"__gap","offset":0,"slot":"52","type":"t_array(t_uint256)49_storage"},{"astId":95065,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"overhead","offset":0,"slot":"101","type":"t_uint256"},{"astId":95068,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"scalar","offset":0,"slot":"102","type":"t_uint256"},{"astId":95071,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"batcherHash","offset":0,"slot":"103","type":"t_bytes32"},{"astId":95074,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"gasLimit","offset":0,"slot":"104","type":"t_uint64"},{"astId":95077,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"basefeeScalar","offset":8,"slot":"104","type":"t_uint32"},{"astId":95080,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"blobbasefeeScalar","offset":12,"slot":"104","type":"t_uint32"},{"astId":95084,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"_resourceConfig","offset":0,"slot":"105","type":"t_struct(ResourceConfig)94319_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)49_storage":{"encoding":"inplace","label":"uint256[49]","numberOfBytes":"1568","base":"t_uint256"},"t_array(t_uint256)50_storage":{"encoding":"inplace","label":"uint256[50]","numberOfBytes":"1600","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_struct(ResourceConfig)94319_storage":{"encoding":"inplace","label":"struct ResourceMetering.ResourceConfig","numberOfBytes":"32","members":[{"astId":94308,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"maxResourceLimit","offset":0,"slot":"0","type":"t_uint32"},{"astId":94310,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"elasticityMultiplier","offset":4,"slot":"0","type":"t_uint8"},{"astId":94312,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"baseFeeMaxChangeDenominator","offset":5,"slot":"0","type":"t_uint8"},{"astId":94314,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"minimumBaseFee","offset":6,"slot":"0","type":"t_uint32"},{"astId":94316,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"systemTxMaxGas","offset":10,"slot":"0","type":"t_uint32"},{"astId":94318,"contract":"src/L1/SystemConfig.sol:SystemConfig","label":"maximumBaseFee","offset":14,"slot":"0","type":"t_uint128"}]},"t_uint128":{"encoding":"inplace","label":"uint128","numberOfBytes":"16"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint32":{"encoding":"inplace","label":"uint32","numberOfBytes":"4"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user","methods":{"BATCH_INBOX_SLOT()":{"notice":"Storage slot that the batch inbox address is stored at."},"DISPUTE_GAME_FACTORY_SLOT()":{"notice":"Storage slot for the DisputeGameFactory address."},"L1_CROSS_DOMAIN_MESSENGER_SLOT()":{"notice":"Storage slot that the L1CrossDomainMessenger address is stored at."},"L1_ERC_721_BRIDGE_SLOT()":{"notice":"Storage slot that the L1ERC721Bridge address is stored at."},"L1_STANDARD_BRIDGE_SLOT()":{"notice":"Storage slot that the L1StandardBridge address is stored at."},"NATIVE_TOKEN_ADDRESS_SLOT()":{"notice":"Storage slot that the native token address is stored at."},"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT()":{"notice":"Storage slot that the OptimismMintableERC20Factory address is stored at."},"OPTIMISM_PORTAL_SLOT()":{"notice":"Storage slot that the OptimismPortal address is stored at."},"START_BLOCK_SLOT()":{"notice":"Storage slot for block at which the op-node can start searching for logs from."},"UNSAFE_BLOCK_SIGNER_SLOT()":{"notice":"Storage slot that the unsafe block signer is stored at.         Storing it at this deterministic storage slot allows for decoupling the storage         layout from the way that `solc` lays out storage. The `op-node` uses a storage         proof to fetch this value."},"VERSION()":{"notice":"Version identifier, used for upgrades."},"basefeeScalar()":{"notice":"Basefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade."},"batchInbox()":{"notice":"Getter for the BatchInbox address."},"batcherHash()":{"notice":"Identifier for the batcher.         For version 1 of this configuration, this is represented as an address left-padded         with zeros to 32 bytes."},"blobbasefeeScalar()":{"notice":"Blobbasefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade."},"constructor":{"notice":"Constructs the SystemConfig contract. Cannot set         the owner to `address(0)` due to the Ownable contract's         implementation, so set it to `address(0xdEaD)`"},"disputeGameFactory()":{"notice":"Getter for the DisputeGameFactory address."},"gasLimit()":{"notice":"L2 block gas limit."},"gasPayingToken()":{"notice":"Getter for the gas paying asset address."},"gasPayingTokenName()":{"notice":"Getter for the gas paying token name."},"gasPayingTokenSymbol()":{"notice":"Getter for the gas paying token symbol."},"initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))":{"notice":"Initializer.         The resource config must be set before the require check."},"isCustomGasToken()":{"notice":"Getter for custom gas token paying networks. Returns true if the         network uses a custom gas token."},"l1CrossDomainMessenger()":{"notice":"Getter for the L1CrossDomainMessenger address."},"l1ERC721Bridge()":{"notice":"Getter for the L1ERC721Bridge address."},"l1StandardBridge()":{"notice":"Getter for the L1StandardBridge address."},"maximumGasLimit()":{"notice":"Returns the maximum L2 gas limit that can be safely set for the system to         operate. This bound is used to prevent the gas limit from being set too high         and causing the system to be unable to process and/or prove L2 blocks."},"minimumGasLimit()":{"notice":"Returns the minimum L2 gas limit that can be safely set for the system to         operate. The L2 gas limit must be larger than or equal to the amount of         gas that is allocated for deposits per block plus the amount of gas that         is allocated for the system transaction.         This function is used to determine if changes to parameters are safe."},"nativeTokenAddress()":{"notice":"Getter for the native token address."},"optimismMintableERC20Factory()":{"notice":"Getter for the OptimismMintableERC20Factory address."},"optimismPortal()":{"notice":"Getter for the OptimismPortal address."},"overhead()":{"notice":"Fixed L2 gas overhead. Used as part of the L2 fee calculation.         Deprecated since the Ecotone network upgrade"},"resourceConfig()":{"notice":"A getter for the resource config.         Ensures that the struct is returned instead of a tuple."},"scalar()":{"notice":"Dynamic L2 gas overhead. Used as part of the L2 fee calculation.         The most significant byte is used to determine the version since the         Ecotone network upgrade."},"setBatcherHash(bytes32)":{"notice":"Updates the batcher hash. Can only be called by the owner."},"setGasConfig(uint256,uint256)":{"notice":"Updates gas config. Can only be called by the owner.         Deprecated in favor of setGasConfigEcotone since the Ecotone upgrade."},"setGasConfigEcotone(uint32,uint32)":{"notice":"Updates gas config as of the Ecotone upgrade. Can only be called by the owner."},"setGasLimit(uint64)":{"notice":"Updates the L2 gas limit. Can only be called by the owner."},"setUnsafeBlockSigner(address)":{"notice":"Updates the unsafe block signer address. Can only be called by the owner."},"startBlock()":{"notice":"Getter for the StartBlock number."},"unsafeBlockSigner()":{"notice":"High level getter for the unsafe block signer address.         Unsafe blocks can be propagated across the p2p network if they are signed by the         key corresponding to this address."},"version()":{"notice":"Semantic version."}},"events":{"ConfigUpdate(uint256,uint8,bytes)":{"notice":"Emitted when configuration is updated."}},"notice":"The SystemConfig contract is used to manage configuration of an Optimism network.         All configuration is stored on L1 and picked up by L2 as part of the derviation of         the L2 chain."},"devdoc":{"version":1,"kind":"dev","methods":{"constructor":{"details":"START_BLOCK_SLOT is set to type(uint256).max here so that it will be a dead value         in the singleton and is skipped by initialize when setting the start block."},"initialize(address,uint32,uint32,bytes32,uint64,address,(uint32,uint8,uint8,uint32,uint32,uint128),address,(address,address,address,address,address,address,address,address))":{"params":{"_addresses":"Set of L1 contract addresses. These should be the proxies.","_basefeeScalar":"Initial basefee scalar value.","_batchInbox":"Batch inbox address. An identifier for the op-node to find                           canonical data.","_batcherHash":"Initial batcher hash.","_blobbasefeeScalar":"Initial blobbasefee scalar value.","_config":"Initial ResourceConfig.","_gasLimit":"Initial gas limit.","_owner":"Initial owner of the contract.","_unsafeBlockSigner":"Initial unsafe block signer address."}},"maximumGasLimit()":{"returns":{"_0":"uint64 Maximum gas limit."}},"minimumGasLimit()":{"returns":{"_0":"uint64 Minimum gas limit."}},"owner()":{"details":"Returns the address of the current owner."},"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."},"resourceConfig()":{"returns":{"_0":"ResourceConfig"}},"setBatcherHash(bytes32)":{"params":{"_batcherHash":"New batcher hash."}},"setGasConfig(uint256,uint256)":{"params":{"_overhead":"New overhead value.","_scalar":"New scalar value."}},"setGasConfigEcotone(uint32,uint32)":{"params":{"_basefeeScalar":"New basefeeScalar value.","_blobbasefeeScalar":"New blobbasefeeScalar value."}},"setGasLimit(uint64)":{"params":{"_gasLimit":"New gas limit."}},"setUnsafeBlockSigner(address)":{"params":{"_unsafeBlockSigner":"New unsafe block signer address."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"unsafeBlockSigner()":{"returns":{"addr_":"Address of the unsafe block signer."}},"version()":{}},"events":{"ConfigUpdate(uint256,uint8,bytes)":{"params":{"data":"Encoded update data.","updateType":"Type of update.","version":"SystemConfig version."}}},"title":"SystemConfig"},"ast":{"absolutePath":"src/L1/SystemConfig.sol","id":95932,"exportedSymbols":{"Constants":[112830],"ERC20":[50915],"GasPayingToken":[113545],"IGasToken":[113292],"ISemver":[122319],"OptimismPortal":[92796],"OwnableUpgradeable":[47574],"ResourceMetering":[94658],"Storage":[114942],"SystemConfig":[95931]},"nodeType":"SourceUnit","src":"32:21932:153","nodes":[{"id":94872,"nodeType":"PragmaDirective","src":"32:23:153","nodes":[],"literals":["solidity","0.8",".15"]},{"id":94874,"nodeType":"ImportDirective","src":"57:103:153","nodes":[],"absolutePath":"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":47575,"symbolAliases":[{"foreign":{"id":94873,"name":"OwnableUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47574,"src":"66:18:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94876,"nodeType":"ImportDirective","src":"161:52:153","nodes":[],"absolutePath":"src/universal/ISemver.sol","file":"src/universal/ISemver.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":122320,"symbolAliases":[{"foreign":{"id":94875,"name":"ISemver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122319,"src":"170:7:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94878,"nodeType":"ImportDirective","src":"214:63:153","nodes":[],"absolutePath":"src/L1/ResourceMetering.sol","file":"src/L1/ResourceMetering.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":94659,"symbolAliases":[{"foreign":{"id":94877,"name":"ResourceMetering","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94658,"src":"223:16:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94880,"nodeType":"ImportDirective","src":"278:52:153","nodes":[],"absolutePath":"src/libraries/Storage.sol","file":"src/libraries/Storage.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":114943,"symbolAliases":[{"foreign":{"id":94879,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"287:7:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94882,"nodeType":"ImportDirective","src":"331:56:153","nodes":[],"absolutePath":"src/libraries/Constants.sol","file":"src/libraries/Constants.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":112831,"symbolAliases":[{"foreign":{"id":94881,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112830,"src":"340:9:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94884,"nodeType":"ImportDirective","src":"388:59:153","nodes":[],"absolutePath":"src/L1/OptimismPortal.sol","file":"src/L1/OptimismPortal.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":92797,"symbolAliases":[{"foreign":{"id":94883,"name":"OptimismPortal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92796,"src":"397:14:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94887,"nodeType":"ImportDirective","src":"448:77:153","nodes":[],"absolutePath":"src/libraries/GasPayingToken.sol","file":"src/libraries/GasPayingToken.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":113546,"symbolAliases":[{"foreign":{"id":94885,"name":"GasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113545,"src":"457:14:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":94886,"name":"IGasToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113292,"src":"473:9:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":94889,"nodeType":"ImportDirective","src":"526:70:153","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":95932,"sourceUnit":50916,"symbolAliases":[{"foreign":{"id":94888,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50915,"src":"535:5:153","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":95931,"nodeType":"ContractDefinition","src":"837:21126:153","nodes":[{"id":94901,"nodeType":"EnumDefinition","src":"1383:107:153","nodes":[],"canonicalName":"SystemConfig.UpdateType","members":[{"id":94897,"name":"BATCHER","nameLocation":"1409:7:153","nodeType":"EnumValue","src":"1409:7:153"},{"id":94898,"name":"GAS_CONFIG","nameLocation":"1426:10:153","nodeType":"EnumValue","src":"1426:10:153"},{"id":94899,"name":"GAS_LIMIT","nameLocation":"1446:9:153","nodeType":"EnumValue","src":"1446:9:153"},{"id":94900,"name":"UNSAFE_BLOCK_SIGNER","nameLocation":"1465:19:153","nodeType":"EnumValue","src":"1465:19:153"}],"name":"UpdateType","nameLocation":"1388:10:153"},{"id":94918,"nodeType":"StructDefinition","src":"1727:312:153","nodes":[],"canonicalName":"SystemConfig.Addresses","members":[{"constant":false,"id":94903,"mutability":"mutable","name":"l1CrossDomainMessenger","nameLocation":"1762:22:153","nodeType":"VariableDeclaration","scope":94918,"src":"1754:30:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94902,"name":"address","nodeType":"ElementaryTypeName","src":"1754:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94905,"mutability":"mutable","name":"l1ERC721Bridge","nameLocation":"1802:14:153","nodeType":"VariableDeclaration","scope":94918,"src":"1794:22:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94904,"name":"address","nodeType":"ElementaryTypeName","src":"1794:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94907,"mutability":"mutable","name":"l1StandardBridge","nameLocation":"1834:16:153","nodeType":"VariableDeclaration","scope":94918,"src":"1826:24:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94906,"name":"address","nodeType":"ElementaryTypeName","src":"1826:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94909,"mutability":"mutable","name":"disputeGameFactory","nameLocation":"1868:18:153","nodeType":"VariableDeclaration","scope":94918,"src":"1860:26:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94908,"name":"address","nodeType":"ElementaryTypeName","src":"1860:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94911,"mutability":"mutable","name":"optimismPortal","nameLocation":"1904:14:153","nodeType":"VariableDeclaration","scope":94918,"src":"1896:22:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94910,"name":"address","nodeType":"ElementaryTypeName","src":"1896:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94913,"mutability":"mutable","name":"optimismMintableERC20Factory","nameLocation":"1936:28:153","nodeType":"VariableDeclaration","scope":94918,"src":"1928:36:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94912,"name":"address","nodeType":"ElementaryTypeName","src":"1928:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94915,"mutability":"mutable","name":"gasPayingToken","nameLocation":"1982:14:153","nodeType":"VariableDeclaration","scope":94918,"src":"1974:22:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94914,"name":"address","nodeType":"ElementaryTypeName","src":"1974:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":94917,"mutability":"mutable","name":"nativeTokenAddress","nameLocation":"2014:18:153","nodeType":"VariableDeclaration","scope":94918,"src":"2006:26:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":94916,"name":"address","nodeType":"ElementaryTypeName","src":"2006:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Addresses","nameLocation":"1734:9:153","scope":95931,"visibility":"public"},{"id":94922,"nodeType":"VariableDeclaration","src":"2100:35:153","nodes":[],"constant":true,"documentation":{"id":94919,"nodeType":"StructuredDocumentation","src":"2045:50:153","text":"@notice Version identifier, used for upgrades."},"functionSelector":"ffa1ad74","mutability":"constant","name":"VERSION","nameLocation":"2124:7:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94920,"name":"uint256","nodeType":"ElementaryTypeName","src":"2100:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":94921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2134:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":94928,"nodeType":"VariableDeclaration","src":"2791:94:153","nodes":[],"constant":true,"documentation":{"id":94923,"nodeType":"StructuredDocumentation","src":"2142:644:153","text":"@notice Storage slot that the unsafe block signer is stored at.\n         Storing it at this deterministic storage slot allows for decoupling the storage\n         layout from the way that `solc` lays out storage. The `op-node` uses a storage\n         proof to fetch this value.\n @dev    NOTE: this value will be migrated to another storage slot in a future version.\n         User input should not be placed in storage in this contract until this migration\n         happens. It is unlikely that keccak second preimage resistance will be broken,\n         but it is better to be safe than sorry."},"functionSelector":"4f16540b","mutability":"constant","name":"UNSAFE_BLOCK_SIGNER_SLOT","nameLocation":"2815:24:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":94924,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2791:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"73797374656d636f6e6669672e756e73616665626c6f636b7369676e6572","id":94926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2852:32:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08","typeString":"literal_string \"systemconfig.unsafeblocksigner\""},"value":"systemconfig.unsafeblocksigner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08","typeString":"literal_string \"systemconfig.unsafeblocksigner\""}],"id":94925,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2842:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":94927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2842:43:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":94942,"nodeType":"VariableDeclaration","src":"2975:135:153","nodes":[],"constant":true,"documentation":{"id":94929,"nodeType":"StructuredDocumentation","src":"2892:78:153","text":"@notice Storage slot that the L1CrossDomainMessenger address is stored at."},"functionSelector":"5d73369c","mutability":"constant","name":"L1_CROSS_DOMAIN_MESSENGER_SLOT","nameLocation":"2999:30:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":94930,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2975:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94940,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6c3163726f7373646f6d61696e6d657373656e676572","id":94936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3066:37:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637","typeString":"literal_string \"systemconfig.l1crossdomainmessenger\""},"value":"systemconfig.l1crossdomainmessenger"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637","typeString":"literal_string \"systemconfig.l1crossdomainmessenger\""}],"id":94935,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3056:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":94937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3056:48:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":94934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3048:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":94933,"name":"uint256","nodeType":"ElementaryTypeName","src":"3048:7:153","typeDescriptions":{}}},"id":94938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3048:57:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3108:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3048:61:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94932,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3040:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":94931,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3040:7:153","typeDescriptions":{}}},"id":94941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3040:70:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":94956,"nodeType":"VariableDeclaration","src":"3192:111:153","nodes":[],"constant":true,"documentation":{"id":94943,"nodeType":"StructuredDocumentation","src":"3117:70:153","text":"@notice Storage slot that the L1ERC721Bridge address is stored at."},"functionSelector":"19f5cea8","mutability":"constant","name":"L1_ERC_721_BRIDGE_SLOT","nameLocation":"3216:22:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":94944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3192:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6c31657263373231627269646765","id":94950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3267:29:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8","typeString":"literal_string \"systemconfig.l1erc721bridge\""},"value":"systemconfig.l1erc721bridge"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8","typeString":"literal_string \"systemconfig.l1erc721bridge\""}],"id":94949,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3257:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":94951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3257:40:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":94948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3249:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":94947,"name":"uint256","nodeType":"ElementaryTypeName","src":"3249:7:153","typeDescriptions":{}}},"id":94952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3249:49:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94953,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3301:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3249:53:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3241:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":94945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3241:7:153","typeDescriptions":{}}},"id":94955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3241:62:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":94970,"nodeType":"VariableDeclaration","src":"3387:114:153","nodes":[],"constant":true,"documentation":{"id":94957,"nodeType":"StructuredDocumentation","src":"3310:72:153","text":"@notice Storage slot that the L1StandardBridge address is stored at."},"functionSelector":"f8c68de0","mutability":"constant","name":"L1_STANDARD_BRIDGE_SLOT","nameLocation":"3411:23:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":94958,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3387:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6c317374616e64617264627269646765","id":94964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3463:31:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377","typeString":"literal_string \"systemconfig.l1standardbridge\""},"value":"systemconfig.l1standardbridge"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377","typeString":"literal_string \"systemconfig.l1standardbridge\""}],"id":94963,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3453:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":94965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3453:42:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":94962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3445:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":94961,"name":"uint256","nodeType":"ElementaryTypeName","src":"3445:7:153","typeDescriptions":{}}},"id":94966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3445:51:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3499:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3445:55:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3437:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":94959,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3437:7:153","typeDescriptions":{}}},"id":94969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3437:64:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":94984,"nodeType":"VariableDeclaration","src":"3583:109:153","nodes":[],"constant":true,"documentation":{"id":94971,"nodeType":"StructuredDocumentation","src":"3508:70:153","text":"@notice Storage slot that the OptimismPortal address is stored at."},"functionSelector":"fd32aa0f","mutability":"constant","name":"OPTIMISM_PORTAL_SLOT","nameLocation":"3607:20:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":94972,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3583:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6f7074696d69736d706f7274616c","id":94978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3656:29:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad","typeString":"literal_string \"systemconfig.optimismportal\""},"value":"systemconfig.optimismportal"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad","typeString":"literal_string \"systemconfig.optimismportal\""}],"id":94977,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3646:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":94979,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3646:40:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":94976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3638:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":94975,"name":"uint256","nodeType":"ElementaryTypeName","src":"3638:7:153","typeDescriptions":{}}},"id":94980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3638:49:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3690:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3638:53:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3630:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":94973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3630:7:153","typeDescriptions":{}}},"id":94983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3630:62:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":94998,"nodeType":"VariableDeclaration","src":"3788:147:153","nodes":[],"constant":true,"documentation":{"id":94985,"nodeType":"StructuredDocumentation","src":"3699:84:153","text":"@notice Storage slot that the OptimismMintableERC20Factory address is stored at."},"functionSelector":"06c92657","mutability":"constant","name":"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT","nameLocation":"3812:36:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":94986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3788:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6f7074696d69736d6d696e7461626c656572633230666163746f7279","id":94992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3885:43:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d","typeString":"literal_string \"systemconfig.optimismmintableerc20factory\""},"value":"systemconfig.optimismmintableerc20factory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d","typeString":"literal_string \"systemconfig.optimismmintableerc20factory\""}],"id":94991,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3875:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":94993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3875:54:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":94990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3867:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":94989,"name":"uint256","nodeType":"ElementaryTypeName","src":"3867:7:153","typeDescriptions":{}}},"id":94994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3867:63:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3933:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3867:67:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3859:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":94987,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3859:7:153","typeDescriptions":{}}},"id":94997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3859:76:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":95012,"nodeType":"VariableDeclaration","src":"4014:101:153","nodes":[],"constant":true,"documentation":{"id":94999,"nodeType":"StructuredDocumentation","src":"3942:67:153","text":"@notice Storage slot that the batch inbox address is stored at."},"functionSelector":"bc49ce5f","mutability":"constant","name":"BATCH_INBOX_SLOT","nameLocation":"4038:16:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95000,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4014:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95010,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6261746368696e626f78","id":95006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4083:25:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598","typeString":"literal_string \"systemconfig.batchinbox\""},"value":"systemconfig.batchinbox"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598","typeString":"literal_string \"systemconfig.batchinbox\""}],"id":95005,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4073:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":95007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4073:36:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4065:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95003,"name":"uint256","nodeType":"ElementaryTypeName","src":"4065:7:153","typeDescriptions":{}}},"id":95008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4065:45:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4113:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4065:49:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4057:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":95001,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4057:7:153","typeDescriptions":{}}},"id":95011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4057:58:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":95026,"nodeType":"VariableDeclaration","src":"4217:101:153","nodes":[],"constant":true,"documentation":{"id":95013,"nodeType":"StructuredDocumentation","src":"4122:90:153","text":"@notice Storage slot for block at which the op-node can start searching for logs from."},"functionSelector":"e0e2016d","mutability":"constant","name":"START_BLOCK_SLOT","nameLocation":"4241:16:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95014,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4217:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e7374617274426c6f636b","id":95020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4286:25:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_a11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0","typeString":"literal_string \"systemconfig.startBlock\""},"value":"systemconfig.startBlock"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0","typeString":"literal_string \"systemconfig.startBlock\""}],"id":95019,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4276:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":95021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4276:36:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4268:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95017,"name":"uint256","nodeType":"ElementaryTypeName","src":"4268:7:153","typeDescriptions":{}}},"id":95022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4268:45:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4316:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4268:49:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4260:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":95015,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4260:7:153","typeDescriptions":{}}},"id":95025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4260:58:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":95040,"nodeType":"VariableDeclaration","src":"4398:126:153","nodes":[],"constant":true,"documentation":{"id":95027,"nodeType":"StructuredDocumentation","src":"4325:68:153","text":"@notice Storage slot that the native token address is stored at."},"functionSelector":"697844c6","mutability":"constant","name":"NATIVE_TOKEN_ADDRESS_SLOT","nameLocation":"4422:25:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4398:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6e6174697665746f6b656e61646472657373","id":95034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4484:33:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_e1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef1","typeString":"literal_string \"systemconfig.nativetokenaddress\""},"value":"systemconfig.nativetokenaddress"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e1e3a95fb10ed56538cc130c2250de9823e7716d1142b8521655d7f7317b8ef1","typeString":"literal_string \"systemconfig.nativetokenaddress\""}],"id":95033,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4474:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":95035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4474:44:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4466:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95031,"name":"uint256","nodeType":"ElementaryTypeName","src":"4466:7:153","typeDescriptions":{}}},"id":95036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4466:53:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4522:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4466:57:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4458:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":95029,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4458:7:153","typeDescriptions":{}}},"id":95039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4458:66:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":95054,"nodeType":"VariableDeclaration","src":"4596:126:153","nodes":[],"constant":true,"documentation":{"id":95041,"nodeType":"StructuredDocumentation","src":"4531:60:153","text":"@notice Storage slot for the DisputeGameFactory address."},"functionSelector":"e2a3285c","mutability":"constant","name":"DISPUTE_GAME_FACTORY_SLOT","nameLocation":"4620:25:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4596:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"73797374656d636f6e6669672e6469737075746567616d65666163746f7279","id":95048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4682:33:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907","typeString":"literal_string \"systemconfig.disputegamefactory\""},"value":"systemconfig.disputegamefactory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907","typeString":"literal_string \"systemconfig.disputegamefactory\""}],"id":95047,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"4672:9:153","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":95049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4672:44:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4664:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95045,"name":"uint256","nodeType":"ElementaryTypeName","src":"4664:7:153","typeDescriptions":{}}},"id":95050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4664:53:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4720:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4664:57:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4656:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":95043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4656:7:153","typeDescriptions":{}}},"id":95053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4656:66:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":95058,"nodeType":"VariableDeclaration","src":"4799:54:153","nodes":[],"constant":true,"documentation":{"id":95055,"nodeType":"StructuredDocumentation","src":"4729:65:153","text":"@notice The number of decimals that the gas paying token has."},"mutability":"constant","name":"GAS_PAYING_TOKEN_DECIMALS","nameLocation":"4823:25:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":95056,"name":"uint8","nodeType":"ElementaryTypeName","src":"4799:5:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3138","id":95057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4851:2:153","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"visibility":"internal"},{"id":95062,"nodeType":"VariableDeclaration","src":"5167:52:153","nodes":[],"constant":true,"documentation":{"id":95059,"nodeType":"StructuredDocumentation","src":"4860:302:153","text":"@notice The maximum gas limit that can be set for L2 blocks. This limit is used to enforce that the blocks\n         on L2 are not too large to process and prove. Over time, this value can be increased as various\n         optimizations and improvements are made to the system at large."},"mutability":"constant","name":"MAX_GAS_LIMIT","nameLocation":"5192:13:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95060,"name":"uint64","nodeType":"ElementaryTypeName","src":"5167:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"value":{"hexValue":"3230305f3030305f303030","id":95061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5208:11:153","typeDescriptions":{"typeIdentifier":"t_rational_200000000_by_1","typeString":"int_const 200000000"},"value":"200_000_000"},"visibility":"internal"},{"id":95065,"nodeType":"VariableDeclaration","src":"5366:23:153","nodes":[],"constant":false,"documentation":{"id":95063,"nodeType":"StructuredDocumentation","src":"5226:135:153","text":"@notice Fixed L2 gas overhead. Used as part of the L2 fee calculation.\n         Deprecated since the Ecotone network upgrade"},"functionSelector":"0c18c162","mutability":"mutable","name":"overhead","nameLocation":"5381:8:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95064,"name":"uint256","nodeType":"ElementaryTypeName","src":"5366:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":95068,"nodeType":"VariableDeclaration","src":"5603:21:153","nodes":[],"constant":false,"documentation":{"id":95066,"nodeType":"StructuredDocumentation","src":"5396:202:153","text":"@notice Dynamic L2 gas overhead. Used as part of the L2 fee calculation.\n         The most significant byte is used to determine the version since the\n         Ecotone network upgrade."},"functionSelector":"f45e65d8","mutability":"mutable","name":"scalar","nameLocation":"5618:6:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95067,"name":"uint256","nodeType":"ElementaryTypeName","src":"5603:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":95071,"nodeType":"VariableDeclaration","src":"5814:26:153","nodes":[],"constant":false,"documentation":{"id":95069,"nodeType":"StructuredDocumentation","src":"5631:178:153","text":"@notice Identifier for the batcher.\n         For version 1 of this configuration, this is represented as an address left-padded\n         with zeros to 32 bytes."},"functionSelector":"e81b2c6d","mutability":"mutable","name":"batcherHash","nameLocation":"5829:11:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95070,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5814:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":95074,"nodeType":"VariableDeclaration","src":"5883:22:153","nodes":[],"constant":false,"documentation":{"id":95072,"nodeType":"StructuredDocumentation","src":"5847:31:153","text":"@notice L2 block gas limit."},"functionSelector":"f68016b7","mutability":"mutable","name":"gasLimit","nameLocation":"5897:8:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95073,"name":"uint64","nodeType":"ElementaryTypeName","src":"5883:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"public"},{"id":95077,"nodeType":"VariableDeclaration","src":"6016:27:153","nodes":[],"constant":false,"documentation":{"id":95075,"nodeType":"StructuredDocumentation","src":"5912:99:153","text":"@notice Basefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade."},"functionSelector":"bfb14fb7","mutability":"mutable","name":"basefeeScalar","nameLocation":"6030:13:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95076,"name":"uint32","nodeType":"ElementaryTypeName","src":"6016:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"public"},{"id":95080,"nodeType":"VariableDeclaration","src":"6158:31:153","nodes":[],"constant":false,"documentation":{"id":95078,"nodeType":"StructuredDocumentation","src":"6050:103:153","text":"@notice Blobbasefee scalar value. Part of the L2 fee calculation since the Ecotone network upgrade."},"functionSelector":"ec707517","mutability":"mutable","name":"blobbasefeeScalar","nameLocation":"6172:17:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95079,"name":"uint32","nodeType":"ElementaryTypeName","src":"6158:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"public"},{"id":95084,"nodeType":"VariableDeclaration","src":"6440:56:153","nodes":[],"constant":false,"documentation":{"id":95081,"nodeType":"StructuredDocumentation","src":"6196:239:153","text":"@notice The configuration for the deposit fee market.\n         Used by the OptimismPortal to meter the cost of buying L2 gas on L1.\n         Set as internal with a getter so that the struct is returned instead of a tuple."},"mutability":"mutable","name":"_resourceConfig","nameLocation":"6481:15:153","scope":95931,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage","typeString":"struct ResourceMetering.ResourceConfig"},"typeName":{"id":95083,"nodeType":"UserDefinedTypeName","pathNode":{"id":95082,"name":"ResourceMetering.ResourceConfig","nodeType":"IdentifierPath","referencedDeclaration":94319,"src":"6440:31:153"},"referencedDeclaration":94319,"src":"6440:31:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage_ptr","typeString":"struct ResourceMetering.ResourceConfig"}},"visibility":"internal"},{"id":95094,"nodeType":"EventDefinition","src":"6695:87:153","nodes":[],"anonymous":false,"documentation":{"id":95085,"nodeType":"StructuredDocumentation","src":"6503:187:153","text":"@notice Emitted when configuration is updated.\n @param version    SystemConfig version.\n @param updateType Type of update.\n @param data       Encoded update data."},"eventSelector":"1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be","name":"ConfigUpdate","nameLocation":"6701:12:153","parameters":{"id":95093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95087,"indexed":true,"mutability":"mutable","name":"version","nameLocation":"6730:7:153","nodeType":"VariableDeclaration","scope":95094,"src":"6714:23:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95086,"name":"uint256","nodeType":"ElementaryTypeName","src":"6714:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":95090,"indexed":true,"mutability":"mutable","name":"updateType","nameLocation":"6758:10:153","nodeType":"VariableDeclaration","scope":95094,"src":"6739:29:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"},"typeName":{"id":95089,"nodeType":"UserDefinedTypeName","pathNode":{"id":95088,"name":"UpdateType","nodeType":"IdentifierPath","referencedDeclaration":94901,"src":"6739:10:153"},"referencedDeclaration":94901,"src":"6739:10:153","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"}},"visibility":"internal"},{"constant":false,"id":95092,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"6776:4:153","nodeType":"VariableDeclaration","scope":95094,"src":"6770:10:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":95091,"name":"bytes","nodeType":"ElementaryTypeName","src":"6770:5:153","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6713:68:153"}},{"id":95103,"nodeType":"FunctionDefinition","src":"6858:101:153","nodes":[],"body":{"id":95102,"nodeType":"Block","src":"6921:38:153","nodes":[],"statements":[{"expression":{"hexValue":"322e332e302d626574612e32","id":95100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6938:14:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_04eb6ab60513d6f88a15a160557dce57fa408e09b14b770c2684df78eac300ac","typeString":"literal_string \"2.3.0-beta.2\""},"value":"2.3.0-beta.2"},"functionReturnParameters":95099,"id":95101,"nodeType":"Return","src":"6931:21:153"}]},"baseFunctions":[122318],"documentation":{"id":95095,"nodeType":"StructuredDocumentation","src":"6788:65:153","text":"@notice Semantic version.\n @custom:semver 2.3.0-beta.2"},"functionSelector":"54fd4d50","implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"6867:7:153","parameters":{"id":95096,"nodeType":"ParameterList","parameters":[],"src":"6874:2:153"},"returnParameters":{"id":95099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95103,"src":"6906:13:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":95097,"name":"string","nodeType":"ElementaryTypeName","src":"6906:6:153","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6905:15:153"},"scope":95931,"stateMutability":"pure","virtual":true,"visibility":"public"},{"id":95185,"nodeType":"FunctionDefinition","src":"7355:1112:153","nodes":[],"body":{"id":95184,"nodeType":"Block","src":"7369:1098:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95110,"name":"START_BLOCK_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95026,"src":"7395:16:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"arguments":[{"id":95113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7418:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95112,"name":"uint256","nodeType":"ElementaryTypeName","src":"7418:7:153","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":95111,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7413:4:153","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":95114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7413:13:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":95115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"7413:17:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95107,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"7379:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setUint","nodeType":"MemberAccess","referencedDeclaration":114901,"src":"7379:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256)"}},"id":95116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7379:52:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95117,"nodeType":"ExpressionStatement","src":"7379:52:153"},{"expression":{"arguments":[{"arguments":[{"hexValue":"307864456144","id":95121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7482:6:153","typeDescriptions":{"typeIdentifier":"t_rational_57005_by_1","typeString":"int_const 57005"},"value":"0xdEaD"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57005_by_1","typeString":"int_const 57005"}],"id":95120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7474:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95119,"name":"address","nodeType":"ElementaryTypeName","src":"7474:7:153","typeDescriptions":{}}},"id":95122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7474:15:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":95123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7519:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":95124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7554:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"30","id":95127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7591:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7583:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":95125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7583:7:153","typeDescriptions":{}}},"id":95128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7583:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"31","id":95129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7618:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"arguments":[{"hexValue":"30","id":95132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7661:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7653:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95130,"name":"address","nodeType":"ElementaryTypeName","src":"7653:7:153","typeDescriptions":{}}},"id":95133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7653:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"31","id":95136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7754:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"31","id":95137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7795:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"32","id":95138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7843:1:153","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},{"hexValue":"30","id":95139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7878:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":95140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7913:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":95141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7948:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":95134,"name":"ResourceMetering","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94658,"src":"7686:16:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceMetering_$94658_$","typeString":"type(contract ResourceMetering)"}},"id":95135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ResourceConfig","nodeType":"MemberAccess","referencedDeclaration":94319,"src":"7686:31:153","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ResourceConfig_$94319_storage_ptr_$","typeString":"type(struct ResourceMetering.ResourceConfig storage pointer)"}},"id":95142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":["maxResourceLimit","elasticityMultiplier","baseFeeMaxChangeDenominator","minimumBaseFee","systemTxMaxGas","maximumBaseFee"],"nodeType":"FunctionCall","src":"7686:278:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},{"arguments":[{"hexValue":"30","id":95145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7999:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7991:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95143,"name":"address","nodeType":"ElementaryTypeName","src":"7991:7:153","typeDescriptions":{}}},"id":95146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7991:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"arguments":[{"hexValue":"30","id":95151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8100:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8092:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95149,"name":"address","nodeType":"ElementaryTypeName","src":"8092:7:153","typeDescriptions":{}}},"id":95152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8092:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8144:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8136:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95153,"name":"address","nodeType":"ElementaryTypeName","src":"8136:7:153","typeDescriptions":{}}},"id":95156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8136:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8190:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8182:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95157,"name":"address","nodeType":"ElementaryTypeName","src":"8182:7:153","typeDescriptions":{}}},"id":95160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8182:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8238:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8230:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95161,"name":"address","nodeType":"ElementaryTypeName","src":"8230:7:153","typeDescriptions":{}}},"id":95164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8230:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8282:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8274:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95165,"name":"address","nodeType":"ElementaryTypeName","src":"8274:7:153","typeDescriptions":{}}},"id":95168,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8274:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8340:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8332:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95169,"name":"address","nodeType":"ElementaryTypeName","src":"8332:7:153","typeDescriptions":{}}},"id":95172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8332:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8384:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8376:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95173,"name":"address","nodeType":"ElementaryTypeName","src":"8376:7:153","typeDescriptions":{}}},"id":95176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8376:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":95179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8432:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8424:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95177,"name":"address","nodeType":"ElementaryTypeName","src":"8424:7:153","typeDescriptions":{}}},"id":95180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8424:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95147,"name":"SystemConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95931,"src":"8027:12:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SystemConfig_$95931_$","typeString":"type(contract SystemConfig)"}},"id":95148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"Addresses","nodeType":"MemberAccess","referencedDeclaration":94918,"src":"8027:22:153","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Addresses_$94918_storage_ptr_$","typeString":"type(struct SystemConfig.Addresses storage pointer)"}},"id":95181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"names":["l1CrossDomainMessenger","l1ERC721Bridge","l1StandardBridge","disputeGameFactory","optimismPortal","optimismMintableERC20Factory","gasPayingToken","nativeTokenAddress"],"nodeType":"FunctionCall","src":"8027:422:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}],"id":95118,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95317,"src":"7441:10:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint32_$_t_uint32_$_t_bytes32_$_t_uint64_$_t_address_$_t_struct$_ResourceConfig_$94319_memory_ptr_$_t_address_$_t_struct$_Addresses_$94918_memory_ptr_$returns$__$","typeString":"function (address,uint32,uint32,bytes32,uint64,address,struct ResourceMetering.ResourceConfig memory,address,struct SystemConfig.Addresses memory)"}},"id":95182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_owner","_basefeeScalar","_blobbasefeeScalar","_batcherHash","_gasLimit","_unsafeBlockSigner","_config","_batchInbox","_addresses"],"nodeType":"FunctionCall","src":"7441:1019:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95183,"nodeType":"ExpressionStatement","src":"7441:1019:153"}]},"documentation":{"id":95104,"nodeType":"StructuredDocumentation","src":"6965:385:153","text":"@notice Constructs the SystemConfig contract. Cannot set\n         the owner to `address(0)` due to the Ownable contract's\n         implementation, so set it to `address(0xdEaD)`\n @dev    START_BLOCK_SLOT is set to type(uint256).max here so that it will be a dead value\n         in the singleton and is skipped by initialize when setting the start block."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":95105,"nodeType":"ParameterList","parameters":[],"src":"7366:2:153"},"returnParameters":{"id":95106,"nodeType":"ParameterList","parameters":[],"src":"7369:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":95317,"nodeType":"FunctionDefinition","src":"9247:1648:153","nodes":[],"body":{"id":95316,"nodeType":"Block","src":"9629:1266:153","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":95211,"name":"__Ownable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47469,"src":"9639:14:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":95212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9639:16:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95213,"nodeType":"ExpressionStatement","src":"9639:16:153"},{"expression":{"arguments":[{"id":95215,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95188,"src":"9683:6:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":95214,"name":"transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47548,"src":"9665:17:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":95216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9665:25:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95217,"nodeType":"ExpressionStatement","src":"9665:25:153"},{"expression":{"arguments":[{"id":95219,"name":"_batcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95194,"src":"9783:12:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95218,"name":"_setBatcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95649,"src":"9767:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":95220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9767:29:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95221,"nodeType":"ExpressionStatement","src":"9767:29:153"},{"expression":{"arguments":[{"id":95223,"name":"_basefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95190,"src":"9845:14:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":95224,"name":"_blobbasefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95192,"src":"9881:18:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":95222,"name":"_setGasConfigEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95780,"src":"9806:20:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$_t_uint32_$returns$__$","typeString":"function (uint32,uint32)"}},"id":95225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_basefeeScalar","_blobbasefeeScalar"],"nodeType":"FunctionCall","src":"9806:96:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95226,"nodeType":"ExpressionStatement","src":"9806:96:153"},{"expression":{"arguments":[{"id":95228,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95196,"src":"9925:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":95227,"name":"_setGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95834,"src":"9912:12:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":95229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9912:23:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95230,"nodeType":"ExpressionStatement","src":"9912:23:153"},{"expression":{"arguments":[{"id":95234,"name":"UNSAFE_BLOCK_SIGNER_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94928,"src":"9965:24:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":95235,"name":"_unsafeBlockSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95198,"src":"9991:18:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95231,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"9946:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"9946:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9946:64:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95237,"nodeType":"ExpressionStatement","src":"9946:64:153"},{"expression":{"arguments":[{"id":95241,"name":"BATCH_INBOX_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95012,"src":"10039:16:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":95242,"name":"_batchInbox","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95203,"src":"10057:11:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95238,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10020:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10020:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10020:49:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95244,"nodeType":"ExpressionStatement","src":"10020:49:153"},{"expression":{"arguments":[{"id":95248,"name":"L1_CROSS_DOMAIN_MESSENGER_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94942,"src":"10098:30:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95249,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10130:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95250,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"l1CrossDomainMessenger","nodeType":"MemberAccess","referencedDeclaration":94903,"src":"10130:33:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95245,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10079:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10079:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10079:85:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95252,"nodeType":"ExpressionStatement","src":"10079:85:153"},{"expression":{"arguments":[{"id":95256,"name":"L1_ERC_721_BRIDGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94956,"src":"10193:22:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95257,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10217:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95258,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"l1ERC721Bridge","nodeType":"MemberAccess","referencedDeclaration":94905,"src":"10217:25:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95253,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10174:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10174:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10174:69:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95260,"nodeType":"ExpressionStatement","src":"10174:69:153"},{"expression":{"arguments":[{"id":95264,"name":"L1_STANDARD_BRIDGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94970,"src":"10272:23:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95265,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10297:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"l1StandardBridge","nodeType":"MemberAccess","referencedDeclaration":94907,"src":"10297:27:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95261,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10253:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10253:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10253:72:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95268,"nodeType":"ExpressionStatement","src":"10253:72:153"},{"expression":{"arguments":[{"id":95272,"name":"DISPUTE_GAME_FACTORY_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95054,"src":"10354:25:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95273,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10381:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"disputeGameFactory","nodeType":"MemberAccess","referencedDeclaration":94909,"src":"10381:29:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95269,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10335:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10335:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10335:76:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95276,"nodeType":"ExpressionStatement","src":"10335:76:153"},{"expression":{"arguments":[{"id":95280,"name":"OPTIMISM_PORTAL_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94984,"src":"10440:20:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95281,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10462:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"optimismPortal","nodeType":"MemberAccess","referencedDeclaration":94911,"src":"10462:25:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95277,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10421:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10421:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10421:67:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95284,"nodeType":"ExpressionStatement","src":"10421:67:153"},{"expression":{"arguments":[{"id":95288,"name":"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94998,"src":"10517:36:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95289,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10555:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95290,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"optimismMintableERC20Factory","nodeType":"MemberAccess","referencedDeclaration":94913,"src":"10555:39:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95285,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10498:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10498:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10498:97:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95292,"nodeType":"ExpressionStatement","src":"10498:97:153"},{"expression":{"arguments":[{"id":95296,"name":"NATIVE_TOKEN_ADDRESS_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95040,"src":"10624:25:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95297,"name":"_addresses","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95206,"src":"10651:10:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses memory"}},"id":95298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"nativeTokenAddress","nodeType":"MemberAccess","referencedDeclaration":94917,"src":"10651:29:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95293,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"10605:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"10605:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10605:76:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95300,"nodeType":"ExpressionStatement","src":"10605:76:153"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":95301,"name":"_setStartBlock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95855,"src":"10692:14:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":95302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10692:16:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95303,"nodeType":"ExpressionStatement","src":"10692:16:153"},{"expression":{"arguments":[{"id":95305,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95201,"src":"10796:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}],"id":95304,"name":"_setResourceConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95930,"src":"10777:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_ResourceConfig_$94319_memory_ptr_$returns$__$","typeString":"function (struct ResourceMetering.ResourceConfig memory)"}},"id":95306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10777:27:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95307,"nodeType":"ExpressionStatement","src":"10777:27:153"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":95312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95309,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95196,"src":"10822:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":95310,"name":"minimumGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95336,"src":"10835:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint64_$","typeString":"function () view returns (uint64)"}},"id":95311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10835:17:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"10822:30:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77","id":95313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10854:33:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e802b99b7871665ffc01e67ec99efdd73637cc03d3134ef893ffd574a9c611a","typeString":"literal_string \"SystemConfig: gas limit too low\""},"value":"SystemConfig: gas limit too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e802b99b7871665ffc01e67ec99efdd73637cc03d3134ef893ffd574a9c611a","typeString":"literal_string \"SystemConfig: gas limit too low\""}],"id":95308,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10814:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10814:74:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95315,"nodeType":"ExpressionStatement","src":"10814:74:153"}]},"documentation":{"id":95186,"nodeType":"StructuredDocumentation","src":"8473:769:153","text":"@notice Initializer.\n         The resource config must be set before the require check.\n @param _owner             Initial owner of the contract.\n @param _basefeeScalar     Initial basefee scalar value.\n @param _blobbasefeeScalar Initial blobbasefee scalar value.\n @param _batcherHash       Initial batcher hash.\n @param _gasLimit          Initial gas limit.\n @param _unsafeBlockSigner Initial unsafe block signer address.\n @param _config            Initial ResourceConfig.\n @param _batchInbox        Batch inbox address. An identifier for the op-node to find\n                           canonical data.\n @param _addresses         Set of L1 contract addresses. These should be the proxies."},"functionSelector":"53d794be","implemented":true,"kind":"function","modifiers":[{"id":95209,"kind":"modifierInvocation","modifierName":{"id":95208,"name":"initializer","nodeType":"IdentifierPath","referencedDeclaration":47645,"src":"9613:11:153"},"nodeType":"ModifierInvocation","src":"9613:11:153"}],"name":"initialize","nameLocation":"9256:10:153","parameters":{"id":95207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95188,"mutability":"mutable","name":"_owner","nameLocation":"9284:6:153","nodeType":"VariableDeclaration","scope":95317,"src":"9276:14:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95187,"name":"address","nodeType":"ElementaryTypeName","src":"9276:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95190,"mutability":"mutable","name":"_basefeeScalar","nameLocation":"9307:14:153","nodeType":"VariableDeclaration","scope":95317,"src":"9300:21:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95189,"name":"uint32","nodeType":"ElementaryTypeName","src":"9300:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":95192,"mutability":"mutable","name":"_blobbasefeeScalar","nameLocation":"9338:18:153","nodeType":"VariableDeclaration","scope":95317,"src":"9331:25:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95191,"name":"uint32","nodeType":"ElementaryTypeName","src":"9331:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":95194,"mutability":"mutable","name":"_batcherHash","nameLocation":"9374:12:153","nodeType":"VariableDeclaration","scope":95317,"src":"9366:20:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9366:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":95196,"mutability":"mutable","name":"_gasLimit","nameLocation":"9403:9:153","nodeType":"VariableDeclaration","scope":95317,"src":"9396:16:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95195,"name":"uint64","nodeType":"ElementaryTypeName","src":"9396:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":95198,"mutability":"mutable","name":"_unsafeBlockSigner","nameLocation":"9430:18:153","nodeType":"VariableDeclaration","scope":95317,"src":"9422:26:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95197,"name":"address","nodeType":"ElementaryTypeName","src":"9422:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95201,"mutability":"mutable","name":"_config","nameLocation":"9497:7:153","nodeType":"VariableDeclaration","scope":95317,"src":"9458:46:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig"},"typeName":{"id":95200,"nodeType":"UserDefinedTypeName","pathNode":{"id":95199,"name":"ResourceMetering.ResourceConfig","nodeType":"IdentifierPath","referencedDeclaration":94319,"src":"9458:31:153"},"referencedDeclaration":94319,"src":"9458:31:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage_ptr","typeString":"struct ResourceMetering.ResourceConfig"}},"visibility":"internal"},{"constant":false,"id":95203,"mutability":"mutable","name":"_batchInbox","nameLocation":"9522:11:153","nodeType":"VariableDeclaration","scope":95317,"src":"9514:19:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95202,"name":"address","nodeType":"ElementaryTypeName","src":"9514:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95206,"mutability":"mutable","name":"_addresses","nameLocation":"9573:10:153","nodeType":"VariableDeclaration","scope":95317,"src":"9543:40:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_memory_ptr","typeString":"struct SystemConfig.Addresses"},"typeName":{"id":95205,"nodeType":"UserDefinedTypeName","pathNode":{"id":95204,"name":"SystemConfig.Addresses","nodeType":"IdentifierPath","referencedDeclaration":94918,"src":"9543:22:153"},"referencedDeclaration":94918,"src":"9543:22:153","typeDescriptions":{"typeIdentifier":"t_struct$_Addresses_$94918_storage_ptr","typeString":"struct SystemConfig.Addresses"}},"visibility":"internal"}],"src":"9266:323:153"},"returnParameters":{"id":95210,"nodeType":"ParameterList","parameters":[],"src":"9629:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":95336,"nodeType":"FunctionDefinition","src":"11353:161:153","nodes":[],"body":{"id":95335,"nodeType":"Block","src":"11409:105:153","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":95333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":95325,"name":"_resourceConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95084,"src":"11433:15:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage","typeString":"struct ResourceMetering.ResourceConfig storage ref"}},"id":95326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"maxResourceLimit","nodeType":"MemberAccess","referencedDeclaration":94308,"src":"11433:32:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":95324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11426:6:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":95323,"name":"uint64","nodeType":"ElementaryTypeName","src":"11426:6:153","typeDescriptions":{}}},"id":95327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11426:40:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"expression":{"id":95330,"name":"_resourceConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95084,"src":"11476:15:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage","typeString":"struct ResourceMetering.ResourceConfig storage ref"}},"id":95331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"systemTxMaxGas","nodeType":"MemberAccess","referencedDeclaration":94316,"src":"11476:30:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":95329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11469:6:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":95328,"name":"uint64","nodeType":"ElementaryTypeName","src":"11469:6:153","typeDescriptions":{}}},"id":95332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11469:38:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"11426:81:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":95322,"id":95334,"nodeType":"Return","src":"11419:88:153"}]},"documentation":{"id":95318,"nodeType":"StructuredDocumentation","src":"10901:447:153","text":"@notice Returns the minimum L2 gas limit that can be safely set for the system to\n         operate. The L2 gas limit must be larger than or equal to the amount of\n         gas that is allocated for deposits per block plus the amount of gas that\n         is allocated for the system transaction.\n         This function is used to determine if changes to parameters are safe.\n @return uint64 Minimum gas limit."},"functionSelector":"4add321d","implemented":true,"kind":"function","modifiers":[],"name":"minimumGasLimit","nameLocation":"11362:15:153","parameters":{"id":95319,"nodeType":"ParameterList","parameters":[],"src":"11377:2:153"},"returnParameters":{"id":95322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95336,"src":"11401:6:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95320,"name":"uint64","nodeType":"ElementaryTypeName","src":"11401:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"11400:8:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":95345,"nodeType":"FunctionDefinition","src":"11832:93:153","nodes":[],"body":{"id":95344,"nodeType":"Block","src":"11888:37:153","nodes":[],"statements":[{"expression":{"id":95342,"name":"MAX_GAS_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95062,"src":"11905:13:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":95341,"id":95343,"nodeType":"Return","src":"11898:20:153"}]},"documentation":{"id":95337,"nodeType":"StructuredDocumentation","src":"11520:307:153","text":"@notice Returns the maximum L2 gas limit that can be safely set for the system to\n         operate. This bound is used to prevent the gas limit from being set too high\n         and causing the system to be unable to process and/or prove L2 blocks.\n @return uint64 Maximum gas limit."},"functionSelector":"0ae14b1b","implemented":true,"kind":"function","modifiers":[],"name":"maximumGasLimit","nameLocation":"11841:15:153","parameters":{"id":95338,"nodeType":"ParameterList","parameters":[],"src":"11856:2:153"},"returnParameters":{"id":95341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95345,"src":"11880:6:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95339,"name":"uint64","nodeType":"ElementaryTypeName","src":"11880:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"11879:8:153"},"scope":95931,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":95359,"nodeType":"FunctionDefinition","src":"12208:134:153","nodes":[],"body":{"id":95358,"nodeType":"Block","src":"12273:69:153","nodes":[],"statements":[{"expression":{"id":95356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95351,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95349,"src":"12283:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95354,"name":"UNSAFE_BLOCK_SIGNER_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94928,"src":"12310:24:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95352,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"12291:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"12291:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12291:44:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12283:52:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95357,"nodeType":"ExpressionStatement","src":"12283:52:153"}]},"documentation":{"id":95346,"nodeType":"StructuredDocumentation","src":"11931:272:153","text":"@notice High level getter for the unsafe block signer address.\n         Unsafe blocks can be propagated across the p2p network if they are signed by the\n         key corresponding to this address.\n @return addr_ Address of the unsafe block signer."},"functionSelector":"1fd19ee1","implemented":true,"kind":"function","modifiers":[],"name":"unsafeBlockSigner","nameLocation":"12217:17:153","parameters":{"id":95347,"nodeType":"ParameterList","parameters":[],"src":"12234:2:153"},"returnParameters":{"id":95350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95349,"mutability":"mutable","name":"addr_","nameLocation":"12266:5:153","nodeType":"VariableDeclaration","scope":95359,"src":"12258:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95348,"name":"address","nodeType":"ElementaryTypeName","src":"12258:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12257:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":95373,"nodeType":"FunctionDefinition","src":"12411:147:153","nodes":[],"body":{"id":95372,"nodeType":"Block","src":"12483:75:153","nodes":[],"statements":[{"expression":{"id":95370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95365,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95363,"src":"12493:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95368,"name":"L1_CROSS_DOMAIN_MESSENGER_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94942,"src":"12520:30:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95366,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"12501:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"12501:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12501:50:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12493:58:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95371,"nodeType":"ExpressionStatement","src":"12493:58:153"}]},"documentation":{"id":95360,"nodeType":"StructuredDocumentation","src":"12348:58:153","text":"@notice Getter for the L1CrossDomainMessenger address."},"functionSelector":"a7119869","implemented":true,"kind":"function","modifiers":[],"name":"l1CrossDomainMessenger","nameLocation":"12420:22:153","parameters":{"id":95361,"nodeType":"ParameterList","parameters":[],"src":"12442:2:153"},"returnParameters":{"id":95364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95363,"mutability":"mutable","name":"addr_","nameLocation":"12476:5:153","nodeType":"VariableDeclaration","scope":95373,"src":"12468:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95362,"name":"address","nodeType":"ElementaryTypeName","src":"12468:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12467:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95387,"nodeType":"FunctionDefinition","src":"12619:131:153","nodes":[],"body":{"id":95386,"nodeType":"Block","src":"12683:67:153","nodes":[],"statements":[{"expression":{"id":95384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95379,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95377,"src":"12693:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95382,"name":"L1_ERC_721_BRIDGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94956,"src":"12720:22:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95380,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"12701:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"12701:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12701:42:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12693:50:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95385,"nodeType":"ExpressionStatement","src":"12693:50:153"}]},"documentation":{"id":95374,"nodeType":"StructuredDocumentation","src":"12564:50:153","text":"@notice Getter for the L1ERC721Bridge address."},"functionSelector":"c4e8ddfa","implemented":true,"kind":"function","modifiers":[],"name":"l1ERC721Bridge","nameLocation":"12628:14:153","parameters":{"id":95375,"nodeType":"ParameterList","parameters":[],"src":"12642:2:153"},"returnParameters":{"id":95378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95377,"mutability":"mutable","name":"addr_","nameLocation":"12676:5:153","nodeType":"VariableDeclaration","scope":95387,"src":"12668:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95376,"name":"address","nodeType":"ElementaryTypeName","src":"12668:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12667:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95401,"nodeType":"FunctionDefinition","src":"12813:134:153","nodes":[],"body":{"id":95400,"nodeType":"Block","src":"12879:68:153","nodes":[],"statements":[{"expression":{"id":95398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95393,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95391,"src":"12889:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95396,"name":"L1_STANDARD_BRIDGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94970,"src":"12916:23:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95394,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"12897:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"12897:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12897:43:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12889:51:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95399,"nodeType":"ExpressionStatement","src":"12889:51:153"}]},"documentation":{"id":95388,"nodeType":"StructuredDocumentation","src":"12756:52:153","text":"@notice Getter for the L1StandardBridge address."},"functionSelector":"078f29cf","implemented":true,"kind":"function","modifiers":[],"name":"l1StandardBridge","nameLocation":"12822:16:153","parameters":{"id":95389,"nodeType":"ParameterList","parameters":[],"src":"12838:2:153"},"returnParameters":{"id":95392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95391,"mutability":"mutable","name":"addr_","nameLocation":"12872:5:153","nodeType":"VariableDeclaration","scope":95401,"src":"12864:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95390,"name":"address","nodeType":"ElementaryTypeName","src":"12864:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12863:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95415,"nodeType":"FunctionDefinition","src":"13012:138:153","nodes":[],"body":{"id":95414,"nodeType":"Block","src":"13080:70:153","nodes":[],"statements":[{"expression":{"id":95412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95407,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95405,"src":"13090:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95410,"name":"DISPUTE_GAME_FACTORY_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95054,"src":"13117:25:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95408,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"13098:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"13098:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13098:45:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13090:53:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95413,"nodeType":"ExpressionStatement","src":"13090:53:153"}]},"documentation":{"id":95402,"nodeType":"StructuredDocumentation","src":"12953:54:153","text":"@notice Getter for the DisputeGameFactory address."},"functionSelector":"f2b4e617","implemented":true,"kind":"function","modifiers":[],"name":"disputeGameFactory","nameLocation":"13021:18:153","parameters":{"id":95403,"nodeType":"ParameterList","parameters":[],"src":"13039:2:153"},"returnParameters":{"id":95406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95405,"mutability":"mutable","name":"addr_","nameLocation":"13073:5:153","nodeType":"VariableDeclaration","scope":95415,"src":"13065:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95404,"name":"address","nodeType":"ElementaryTypeName","src":"13065:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13064:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95429,"nodeType":"FunctionDefinition","src":"13211:127:153","nodes":[],"body":{"id":95428,"nodeType":"Block","src":"13273:65:153","nodes":[],"statements":[{"expression":{"id":95426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95421,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95419,"src":"13283:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95424,"name":"OPTIMISM_PORTAL_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94984,"src":"13310:20:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95422,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"13291:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"13291:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13291:40:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13283:48:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95427,"nodeType":"ExpressionStatement","src":"13283:48:153"}]},"documentation":{"id":95416,"nodeType":"StructuredDocumentation","src":"13156:50:153","text":"@notice Getter for the OptimismPortal address."},"functionSelector":"0a49cb03","implemented":true,"kind":"function","modifiers":[],"name":"optimismPortal","nameLocation":"13220:14:153","parameters":{"id":95417,"nodeType":"ParameterList","parameters":[],"src":"13234:2:153"},"returnParameters":{"id":95420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95419,"mutability":"mutable","name":"addr_","nameLocation":"13266:5:153","nodeType":"VariableDeclaration","scope":95429,"src":"13258:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95418,"name":"address","nodeType":"ElementaryTypeName","src":"13258:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13257:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":95443,"nodeType":"FunctionDefinition","src":"13413:159:153","nodes":[],"body":{"id":95442,"nodeType":"Block","src":"13491:81:153","nodes":[],"statements":[{"expression":{"id":95440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95435,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95433,"src":"13501:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95438,"name":"OPTIMISM_MINTABLE_ERC20_FACTORY_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94998,"src":"13528:36:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95436,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"13509:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"13509:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13509:56:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13501:64:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95441,"nodeType":"ExpressionStatement","src":"13501:64:153"}]},"documentation":{"id":95430,"nodeType":"StructuredDocumentation","src":"13344:64:153","text":"@notice Getter for the OptimismMintableERC20Factory address."},"functionSelector":"9b7d7f0a","implemented":true,"kind":"function","modifiers":[],"name":"optimismMintableERC20Factory","nameLocation":"13422:28:153","parameters":{"id":95431,"nodeType":"ParameterList","parameters":[],"src":"13450:2:153"},"returnParameters":{"id":95434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95433,"mutability":"mutable","name":"addr_","nameLocation":"13484:5:153","nodeType":"VariableDeclaration","scope":95443,"src":"13476:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95432,"name":"address","nodeType":"ElementaryTypeName","src":"13476:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13475:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95457,"nodeType":"FunctionDefinition","src":"13629:121:153","nodes":[],"body":{"id":95456,"nodeType":"Block","src":"13689:61:153","nodes":[],"statements":[{"expression":{"id":95454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95449,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95447,"src":"13699:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95452,"name":"BATCH_INBOX_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95012,"src":"13726:16:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95450,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"13707:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"13707:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13707:36:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13699:44:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95455,"nodeType":"ExpressionStatement","src":"13699:44:153"}]},"documentation":{"id":95444,"nodeType":"StructuredDocumentation","src":"13578:46:153","text":"@notice Getter for the BatchInbox address."},"functionSelector":"dac6e63a","implemented":true,"kind":"function","modifiers":[],"name":"batchInbox","nameLocation":"13638:10:153","parameters":{"id":95445,"nodeType":"ParameterList","parameters":[],"src":"13648:2:153"},"returnParameters":{"id":95448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95447,"mutability":"mutable","name":"addr_","nameLocation":"13682:5:153","nodeType":"VariableDeclaration","scope":95457,"src":"13674:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95446,"name":"address","nodeType":"ElementaryTypeName","src":"13674:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13673:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95471,"nodeType":"FunctionDefinition","src":"13806:130:153","nodes":[],"body":{"id":95470,"nodeType":"Block","src":"13872:64:153","nodes":[],"statements":[{"expression":{"id":95468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95463,"name":"startBlock_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95461,"src":"13882:11:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95466,"name":"START_BLOCK_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95026,"src":"13912:16:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95464,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"13896:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getUint","nodeType":"MemberAccess","referencedDeclaration":114891,"src":"13896:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":95467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13896:33:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13882:47:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95469,"nodeType":"ExpressionStatement","src":"13882:47:153"}]},"documentation":{"id":95458,"nodeType":"StructuredDocumentation","src":"13756:45:153","text":"@notice Getter for the StartBlock number."},"functionSelector":"48cd4cb1","implemented":true,"kind":"function","modifiers":[],"name":"startBlock","nameLocation":"13815:10:153","parameters":{"id":95459,"nodeType":"ParameterList","parameters":[],"src":"13825:2:153"},"returnParameters":{"id":95462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95461,"mutability":"mutable","name":"startBlock_","nameLocation":"13859:11:153","nodeType":"VariableDeclaration","scope":95471,"src":"13851:19:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95460,"name":"uint256","nodeType":"ElementaryTypeName","src":"13851:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13850:21:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95485,"nodeType":"FunctionDefinition","src":"13995:138:153","nodes":[],"body":{"id":95484,"nodeType":"Block","src":"14063:70:153","nodes":[],"statements":[{"expression":{"id":95482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95477,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95475,"src":"14073:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":95480,"name":"NATIVE_TOKEN_ADDRESS_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95040,"src":"14100:25:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95478,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"14081:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":114871,"src":"14081:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32) view returns (address)"}},"id":95481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14081:45:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14073:53:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":95483,"nodeType":"ExpressionStatement","src":"14073:53:153"}]},"documentation":{"id":95472,"nodeType":"StructuredDocumentation","src":"13942:48:153","text":"@notice Getter for the native token address."},"functionSelector":"4d0047ee","implemented":true,"kind":"function","modifiers":[],"name":"nativeTokenAddress","nameLocation":"14004:18:153","parameters":{"id":95473,"nodeType":"ParameterList","parameters":[],"src":"14022:2:153"},"returnParameters":{"id":95476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95475,"mutability":"mutable","name":"addr_","nameLocation":"14056:5:153","nodeType":"VariableDeclaration","scope":95485,"src":"14048:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95474,"name":"address","nodeType":"ElementaryTypeName","src":"14048:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14047:15:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95502,"nodeType":"FunctionDefinition","src":"14196:142:153","nodes":[],"body":{"id":95501,"nodeType":"Block","src":"14275:63:153","nodes":[],"statements":[{"expression":{"id":95499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":95493,"name":"addr_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95489,"src":"14286:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":95494,"name":"decimals_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95491,"src":"14293:9:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":95495,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"14285:18:153","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$","typeString":"tuple(address,uint8)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":95496,"name":"GasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113545,"src":"14306:14:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GasPayingToken_$113545_$","typeString":"type(library GasPayingToken)"}},"id":95497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getToken","nodeType":"MemberAccess","referencedDeclaration":113403,"src":"14306:23:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$_t_uint8_$","typeString":"function () view returns (address,uint8)"}},"id":95498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14306:25:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$","typeString":"tuple(address,uint8)"}},"src":"14285:46:153","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95500,"nodeType":"ExpressionStatement","src":"14285:46:153"}]},"baseFunctions":[113273],"documentation":{"id":95486,"nodeType":"StructuredDocumentation","src":"14139:52:153","text":"@notice Getter for the gas paying asset address."},"functionSelector":"4397dfef","implemented":true,"kind":"function","modifiers":[],"name":"gasPayingToken","nameLocation":"14205:14:153","parameters":{"id":95487,"nodeType":"ParameterList","parameters":[],"src":"14219:2:153"},"returnParameters":{"id":95492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95489,"mutability":"mutable","name":"addr_","nameLocation":"14251:5:153","nodeType":"VariableDeclaration","scope":95502,"src":"14243:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95488,"name":"address","nodeType":"ElementaryTypeName","src":"14243:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":95491,"mutability":"mutable","name":"decimals_","nameLocation":"14264:9:153","nodeType":"VariableDeclaration","scope":95502,"src":"14258:15:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":95490,"name":"uint8","nodeType":"ElementaryTypeName","src":"14258:5:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"14242:32:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":95519,"nodeType":"FunctionDefinition","src":"14474:148:153","nodes":[],"body":{"id":95518,"nodeType":"Block","src":"14529:93:153","nodes":[],"statements":[{"assignments":[95509,null],"declarations":[{"constant":false,"id":95509,"mutability":"mutable","name":"token","nameLocation":"14548:5:153","nodeType":"VariableDeclaration","scope":95518,"src":"14540:13:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95508,"name":"address","nodeType":"ElementaryTypeName","src":"14540:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null],"id":95512,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":95510,"name":"gasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95502,"src":"14558:14:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$_t_uint8_$","typeString":"function () view returns (address,uint8)"}},"id":95511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14558:16:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$","typeString":"tuple(address,uint8)"}},"nodeType":"VariableDeclarationStatement","src":"14539:35:153"},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":95516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95513,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95509,"src":"14591:5:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":95514,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112830,"src":"14600:9:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$112830_$","typeString":"type(library Constants)"}},"id":95515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ETHER","nodeType":"MemberAccess","referencedDeclaration":112792,"src":"14600:15:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14591:24:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":95507,"id":95517,"nodeType":"Return","src":"14584:31:153"}]},"baseFunctions":[113291],"documentation":{"id":95503,"nodeType":"StructuredDocumentation","src":"14344:125:153","text":"@notice Getter for custom gas token paying networks. Returns true if the\n         network uses a custom gas token."},"functionSelector":"21326849","implemented":true,"kind":"function","modifiers":[],"name":"isCustomGasToken","nameLocation":"14483:16:153","parameters":{"id":95504,"nodeType":"ParameterList","parameters":[],"src":"14499:2:153"},"returnParameters":{"id":95507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95506,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95519,"src":"14523:4:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":95505,"name":"bool","nodeType":"ElementaryTypeName","src":"14523:4:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14522:6:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":95532,"nodeType":"FunctionDefinition","src":"14682:123:153","nodes":[],"body":{"id":95531,"nodeType":"Block","src":"14756:49:153","nodes":[],"statements":[{"expression":{"id":95529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95525,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95523,"src":"14766:5:153","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":95526,"name":"GasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113545,"src":"14774:14:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GasPayingToken_$113545_$","typeString":"type(library GasPayingToken)"}},"id":95527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getName","nodeType":"MemberAccess","referencedDeclaration":113436,"src":"14774:22:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":95528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14774:24:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14766:32:153","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":95530,"nodeType":"ExpressionStatement","src":"14766:32:153"}]},"baseFunctions":[113279],"documentation":{"id":95520,"nodeType":"StructuredDocumentation","src":"14628:49:153","text":"@notice Getter for the gas paying token name."},"functionSelector":"d8444715","implemented":true,"kind":"function","modifiers":[],"name":"gasPayingTokenName","nameLocation":"14691:18:153","parameters":{"id":95521,"nodeType":"ParameterList","parameters":[],"src":"14709:2:153"},"returnParameters":{"id":95524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95523,"mutability":"mutable","name":"name_","nameLocation":"14749:5:153","nodeType":"VariableDeclaration","scope":95532,"src":"14735:19:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":95522,"name":"string","nodeType":"ElementaryTypeName","src":"14735:6:153","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14734:21:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95545,"nodeType":"FunctionDefinition","src":"14867:131:153","nodes":[],"body":{"id":95544,"nodeType":"Block","src":"14945:53:153","nodes":[],"statements":[{"expression":{"id":95542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95538,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95536,"src":"14955:7:153","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":95539,"name":"GasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113545,"src":"14965:14:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GasPayingToken_$113545_$","typeString":"type(library GasPayingToken)"}},"id":95540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getSymbol","nodeType":"MemberAccess","referencedDeclaration":113469,"src":"14965:24:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":95541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14965:26:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"14955:36:153","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":95543,"nodeType":"ExpressionStatement","src":"14955:36:153"}]},"baseFunctions":[113285],"documentation":{"id":95533,"nodeType":"StructuredDocumentation","src":"14811:51:153","text":"@notice Getter for the gas paying token symbol."},"functionSelector":"550fcdc9","implemented":true,"kind":"function","modifiers":[],"name":"gasPayingTokenSymbol","nameLocation":"14876:20:153","parameters":{"id":95534,"nodeType":"ParameterList","parameters":[],"src":"14896:2:153"},"returnParameters":{"id":95537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95536,"mutability":"mutable","name":"symbol_","nameLocation":"14936:7:153","nodeType":"VariableDeclaration","scope":95545,"src":"14922:21:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":95535,"name":"string","nodeType":"ElementaryTypeName","src":"14922:6:153","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14921:23:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95570,"nodeType":"FunctionDefinition","src":"15150:158:153","nodes":[],"body":{"id":95569,"nodeType":"Block","src":"15211:97:153","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":95566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":95562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":95557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95552,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95548,"src":"15228:6:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":95555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15246:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":95554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15238:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":95553,"name":"address","nodeType":"ElementaryTypeName","src":"15238:7:153","typeDescriptions":{}}},"id":95556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15238:10:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15228:20:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":95561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95558,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95548,"src":"15252:6:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":95559,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112830,"src":"15262:9:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$112830_$","typeString":"type(library Constants)"}},"id":95560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"ETHER","nodeType":"MemberAccess","referencedDeclaration":112792,"src":"15262:15:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15252:25:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15228:49:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":95565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"15281:19:153","subExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":95563,"name":"isCustomGasToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95519,"src":"15282:16:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":95564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15282:18:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"15228:72:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":95551,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"15221:6:153","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":95567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15221:80:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95568,"nodeType":"ExpressionStatement","src":"15221:80:153"}]},"documentation":{"id":95546,"nodeType":"StructuredDocumentation","src":"15004:141:153","text":"@notice Internal setter for the gas paying token address. Does not allow on Thanos\n @param _token Address of the gas paying token."},"implemented":true,"kind":"function","modifiers":[],"name":"_setGasPayingToken","nameLocation":"15159:18:153","parameters":{"id":95549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95548,"mutability":"mutable","name":"_token","nameLocation":"15186:6:153","nodeType":"VariableDeclaration","scope":95570,"src":"15178:14:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95547,"name":"address","nodeType":"ElementaryTypeName","src":"15178:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15177:16:153"},"returnParameters":{"id":95550,"nodeType":"ParameterList","parameters":[],"src":"15211:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":95583,"nodeType":"FunctionDefinition","src":"15471:135:153","nodes":[],"body":{"id":95582,"nodeType":"Block","src":"15548:58:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95579,"name":"_unsafeBlockSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95573,"src":"15580:18:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":95578,"name":"_setUnsafeBlockSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95611,"src":"15558:21:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":95580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15558:41:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95581,"nodeType":"ExpressionStatement","src":"15558:41:153"}]},"documentation":{"id":95571,"nodeType":"StructuredDocumentation","src":"15314:152:153","text":"@notice Updates the unsafe block signer address. Can only be called by the owner.\n @param _unsafeBlockSigner New unsafe block signer address."},"functionSelector":"18d13918","implemented":true,"kind":"function","modifiers":[{"id":95576,"kind":"modifierInvocation","modifierName":{"id":95575,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":47488,"src":"15538:9:153"},"nodeType":"ModifierInvocation","src":"15538:9:153"}],"name":"setUnsafeBlockSigner","nameLocation":"15480:20:153","parameters":{"id":95574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95573,"mutability":"mutable","name":"_unsafeBlockSigner","nameLocation":"15509:18:153","nodeType":"VariableDeclaration","scope":95583,"src":"15501:26:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95572,"name":"address","nodeType":"ElementaryTypeName","src":"15501:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15500:28:153"},"returnParameters":{"id":95577,"nodeType":"ParameterList","parameters":[],"src":"15548:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":95611,"nodeType":"FunctionDefinition","src":"15736:284:153","nodes":[],"body":{"id":95610,"nodeType":"Block","src":"15804:216:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95592,"name":"UNSAFE_BLOCK_SIGNER_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94928,"src":"15833:24:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":95593,"name":"_unsafeBlockSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95586,"src":"15859:18:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95589,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"15814:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setAddress","nodeType":"MemberAccess","referencedDeclaration":114881,"src":"15814:18:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$","typeString":"function (bytes32,address)"}},"id":95594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15814:64:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95595,"nodeType":"ExpressionStatement","src":"15814:64:153"},{"assignments":[95597],"declarations":[{"constant":false,"id":95597,"mutability":"mutable","name":"data","nameLocation":"15902:4:153","nodeType":"VariableDeclaration","scope":95610,"src":"15889:17:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":95596,"name":"bytes","nodeType":"ElementaryTypeName","src":"15889:5:153","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":95602,"initialValue":{"arguments":[{"id":95600,"name":"_unsafeBlockSigner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95586,"src":"15920:18:153","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":95598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15909:3:153","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":95599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"15909:10:153","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":95601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15909:30:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"15889:50:153"},{"eventCall":{"arguments":[{"id":95604,"name":"VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94922,"src":"15967:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":95605,"name":"UpdateType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94901,"src":"15976:10:153","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_UpdateType_$94901_$","typeString":"type(enum SystemConfig.UpdateType)"}},"id":95606,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"UNSAFE_BLOCK_SIGNER","nodeType":"MemberAccess","referencedDeclaration":94900,"src":"15976:30:153","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"}},{"id":95607,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95597,"src":"16008:4:153","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":95603,"name":"ConfigUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95094,"src":"15954:12:153","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_UpdateType_$94901_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,enum SystemConfig.UpdateType,bytes memory)"}},"id":95608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15954:59:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95609,"nodeType":"EmitStatement","src":"15949:64:153"}]},"documentation":{"id":95584,"nodeType":"StructuredDocumentation","src":"15612:119:153","text":"@notice Updates the unsafe block signer address.\n @param _unsafeBlockSigner New unsafe block signer address."},"implemented":true,"kind":"function","modifiers":[],"name":"_setUnsafeBlockSigner","nameLocation":"15745:21:153","parameters":{"id":95587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95586,"mutability":"mutable","name":"_unsafeBlockSigner","nameLocation":"15775:18:153","nodeType":"VariableDeclaration","scope":95611,"src":"15767:26:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95585,"name":"address","nodeType":"ElementaryTypeName","src":"15767:7:153","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15766:28:153"},"returnParameters":{"id":95588,"nodeType":"ParameterList","parameters":[],"src":"15804:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95624,"nodeType":"FunctionDefinition","src":"16147:111:153","nodes":[],"body":{"id":95623,"nodeType":"Block","src":"16212:46:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95620,"name":"_batcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95614,"src":"16238:12:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":95619,"name":"_setBatcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95649,"src":"16222:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":95621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16222:29:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95622,"nodeType":"ExpressionStatement","src":"16222:29:153"}]},"documentation":{"id":95612,"nodeType":"StructuredDocumentation","src":"16026:116:153","text":"@notice Updates the batcher hash. Can only be called by the owner.\n @param _batcherHash New batcher hash."},"functionSelector":"c9b26f61","implemented":true,"kind":"function","modifiers":[{"id":95617,"kind":"modifierInvocation","modifierName":{"id":95616,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":47488,"src":"16202:9:153"},"nodeType":"ModifierInvocation","src":"16202:9:153"}],"name":"setBatcherHash","nameLocation":"16156:14:153","parameters":{"id":95615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95614,"mutability":"mutable","name":"_batcherHash","nameLocation":"16179:12:153","nodeType":"VariableDeclaration","scope":95624,"src":"16171:20:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95613,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16171:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16170:22:153"},"returnParameters":{"id":95618,"nodeType":"ParameterList","parameters":[],"src":"16212:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":95649,"nodeType":"FunctionDefinition","src":"16375:216:153","nodes":[],"body":{"id":95648,"nodeType":"Block","src":"16431:160:153","nodes":[],"statements":[{"expression":{"id":95632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95630,"name":"batcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95071,"src":"16441:11:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95631,"name":"_batcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95627,"src":"16455:12:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"16441:26:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":95633,"nodeType":"ExpressionStatement","src":"16441:26:153"},{"assignments":[95635],"declarations":[{"constant":false,"id":95635,"mutability":"mutable","name":"data","nameLocation":"16491:4:153","nodeType":"VariableDeclaration","scope":95648,"src":"16478:17:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":95634,"name":"bytes","nodeType":"ElementaryTypeName","src":"16478:5:153","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":95640,"initialValue":{"arguments":[{"id":95638,"name":"_batcherHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95627,"src":"16509:12:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16498:3:153","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":95637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"16498:10:153","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":95639,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16498:24:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"16478:44:153"},{"eventCall":{"arguments":[{"id":95642,"name":"VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94922,"src":"16550:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":95643,"name":"UpdateType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94901,"src":"16559:10:153","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_UpdateType_$94901_$","typeString":"type(enum SystemConfig.UpdateType)"}},"id":95644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"BATCHER","nodeType":"MemberAccess","referencedDeclaration":94897,"src":"16559:18:153","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"}},{"id":95645,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95635,"src":"16579:4:153","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":95641,"name":"ConfigUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95094,"src":"16537:12:153","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_UpdateType_$94901_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,enum SystemConfig.UpdateType,bytes memory)"}},"id":95646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16537:47:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95647,"nodeType":"EmitStatement","src":"16532:52:153"}]},"documentation":{"id":95625,"nodeType":"StructuredDocumentation","src":"16264:106:153","text":"@notice Internal function for updating the batcher hash.\n @param _batcherHash New batcher hash."},"implemented":true,"kind":"function","modifiers":[],"name":"_setBatcherHash","nameLocation":"16384:15:153","parameters":{"id":95628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95627,"mutability":"mutable","name":"_batcherHash","nameLocation":"16408:12:153","nodeType":"VariableDeclaration","scope":95649,"src":"16400:20:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":95626,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16400:7:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16399:22:153"},"returnParameters":{"id":95629,"nodeType":"ParameterList","parameters":[],"src":"16431:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95665,"nodeType":"FunctionDefinition","src":"16840:127:153","nodes":[],"body":{"id":95664,"nodeType":"Block","src":"16917:50:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95660,"name":"_overhead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95652,"src":"16941:9:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95661,"name":"_scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95654,"src":"16952:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95659,"name":"_setGasConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95712,"src":"16927:13:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":95662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16927:33:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95663,"nodeType":"ExpressionStatement","src":"16927:33:153"}]},"documentation":{"id":95650,"nodeType":"StructuredDocumentation","src":"16597:238:153","text":"@notice Updates gas config. Can only be called by the owner.\n         Deprecated in favor of setGasConfigEcotone since the Ecotone upgrade.\n @param _overhead New overhead value.\n @param _scalar   New scalar value."},"functionSelector":"935f029e","implemented":true,"kind":"function","modifiers":[{"id":95657,"kind":"modifierInvocation","modifierName":{"id":95656,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":47488,"src":"16907:9:153"},"nodeType":"ModifierInvocation","src":"16907:9:153"}],"name":"setGasConfig","nameLocation":"16849:12:153","parameters":{"id":95655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95652,"mutability":"mutable","name":"_overhead","nameLocation":"16870:9:153","nodeType":"VariableDeclaration","scope":95665,"src":"16862:17:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95651,"name":"uint256","nodeType":"ElementaryTypeName","src":"16862:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":95654,"mutability":"mutable","name":"_scalar","nameLocation":"16889:7:153","nodeType":"VariableDeclaration","scope":95665,"src":"16881:15:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95653,"name":"uint256","nodeType":"ElementaryTypeName","src":"16881:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16861:36:153"},"returnParameters":{"id":95658,"nodeType":"ParameterList","parameters":[],"src":"16917:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":95712,"nodeType":"FunctionDefinition","src":"17124:351:153","nodes":[],"body":{"id":95711,"nodeType":"Block","src":"17192:283:153","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"30786666","id":95676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17219:4:153","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"}],"id":95675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17211:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95674,"name":"uint256","nodeType":"ElementaryTypeName","src":"17211:7:153","typeDescriptions":{}}},"id":95677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17211:13:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"323438","id":95678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17228:3:153","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},"src":"17211:20:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":95680,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"17210:22:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":95681,"name":"_scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95670,"src":"17235:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17210:32:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":95683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17246:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17210:37:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a207363616c61722065786365656473206d61782e","id":95685,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17249:35:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_932998090411b24a77f8df0d7b00063396a9b111e2f013877045152eff570310","typeString":"literal_string \"SystemConfig: scalar exceeds max.\""},"value":"SystemConfig: scalar exceeds max."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_932998090411b24a77f8df0d7b00063396a9b111e2f013877045152eff570310","typeString":"literal_string \"SystemConfig: scalar exceeds max.\""}],"id":95673,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17202:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17202:83:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95687,"nodeType":"ExpressionStatement","src":"17202:83:153"},{"expression":{"id":95690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95688,"name":"overhead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95065,"src":"17296:8:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95689,"name":"_overhead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95668,"src":"17307:9:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17296:20:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95691,"nodeType":"ExpressionStatement","src":"17296:20:153"},{"expression":{"id":95694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95692,"name":"scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95068,"src":"17326:6:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95693,"name":"_scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95670,"src":"17335:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17326:16:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95695,"nodeType":"ExpressionStatement","src":"17326:16:153"},{"assignments":[95697],"declarations":[{"constant":false,"id":95697,"mutability":"mutable","name":"data","nameLocation":"17366:4:153","nodeType":"VariableDeclaration","scope":95711,"src":"17353:17:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":95696,"name":"bytes","nodeType":"ElementaryTypeName","src":"17353:5:153","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":95703,"initialValue":{"arguments":[{"id":95700,"name":"_overhead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95668,"src":"17384:9:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95701,"name":"_scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95670,"src":"17395:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17373:3:153","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":95699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"17373:10:153","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":95702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17373:30:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"17353:50:153"},{"eventCall":{"arguments":[{"id":95705,"name":"VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94922,"src":"17431:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":95706,"name":"UpdateType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94901,"src":"17440:10:153","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_UpdateType_$94901_$","typeString":"type(enum SystemConfig.UpdateType)"}},"id":95707,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"GAS_CONFIG","nodeType":"MemberAccess","referencedDeclaration":94898,"src":"17440:21:153","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"}},{"id":95708,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95697,"src":"17463:4:153","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":95704,"name":"ConfigUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95094,"src":"17418:12:153","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_UpdateType_$94901_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,enum SystemConfig.UpdateType,bytes memory)"}},"id":95709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17418:50:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95710,"nodeType":"EmitStatement","src":"17413:55:153"}]},"documentation":{"id":95666,"nodeType":"StructuredDocumentation","src":"16973:146:153","text":"@notice Internal function for updating the gas config.\n @param _overhead New overhead value.\n @param _scalar   New scalar value."},"implemented":true,"kind":"function","modifiers":[],"name":"_setGasConfig","nameLocation":"17133:13:153","parameters":{"id":95671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95668,"mutability":"mutable","name":"_overhead","nameLocation":"17155:9:153","nodeType":"VariableDeclaration","scope":95712,"src":"17147:17:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95667,"name":"uint256","nodeType":"ElementaryTypeName","src":"17147:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":95670,"mutability":"mutable","name":"_scalar","nameLocation":"17174:7:153","nodeType":"VariableDeclaration","scope":95712,"src":"17166:15:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95669,"name":"uint256","nodeType":"ElementaryTypeName","src":"17166:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17146:36:153"},"returnParameters":{"id":95672,"nodeType":"ParameterList","parameters":[],"src":"17192:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95728,"nodeType":"FunctionDefinition","src":"17698:171:153","nodes":[],"body":{"id":95727,"nodeType":"Block","src":"17796:73:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95723,"name":"_basefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95715,"src":"17827:14:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":95724,"name":"_blobbasefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95717,"src":"17843:18:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":95722,"name":"_setGasConfigEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95780,"src":"17806:20:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint32_$_t_uint32_$returns$__$","typeString":"function (uint32,uint32)"}},"id":95725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17806:56:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95726,"nodeType":"ExpressionStatement","src":"17806:56:153"}]},"documentation":{"id":95713,"nodeType":"StructuredDocumentation","src":"17481:212:153","text":"@notice Updates gas config as of the Ecotone upgrade. Can only be called by the owner.\n @param _basefeeScalar     New basefeeScalar value.\n @param _blobbasefeeScalar New blobbasefeeScalar value."},"functionSelector":"21d7fde5","implemented":true,"kind":"function","modifiers":[{"id":95720,"kind":"modifierInvocation","modifierName":{"id":95719,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":47488,"src":"17786:9:153"},"nodeType":"ModifierInvocation","src":"17786:9:153"}],"name":"setGasConfigEcotone","nameLocation":"17707:19:153","parameters":{"id":95718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95715,"mutability":"mutable","name":"_basefeeScalar","nameLocation":"17734:14:153","nodeType":"VariableDeclaration","scope":95728,"src":"17727:21:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95714,"name":"uint32","nodeType":"ElementaryTypeName","src":"17727:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":95717,"mutability":"mutable","name":"_blobbasefeeScalar","nameLocation":"17757:18:153","nodeType":"VariableDeclaration","scope":95728,"src":"17750:25:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95716,"name":"uint32","nodeType":"ElementaryTypeName","src":"17750:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"17726:50:153"},"returnParameters":{"id":95721,"nodeType":"ParameterList","parameters":[],"src":"17796:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":95780,"nodeType":"FunctionDefinition","src":"18087:405:153","nodes":[],"body":{"id":95779,"nodeType":"Block","src":"18176:316:153","nodes":[],"statements":[{"expression":{"id":95738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95736,"name":"basefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95077,"src":"18186:13:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95737,"name":"_basefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95731,"src":"18202:14:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"18186:30:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":95739,"nodeType":"ExpressionStatement","src":"18186:30:153"},{"expression":{"id":95742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95740,"name":"blobbasefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95080,"src":"18226:17:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95741,"name":"_blobbasefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95733,"src":"18246:18:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"18226:38:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":95743,"nodeType":"ExpressionStatement","src":"18226:38:153"},{"expression":{"id":95762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95744,"name":"scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95068,"src":"18275:6:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95759,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"hexValue":"30783031","id":95747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18293:4:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":95746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18285:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95745,"name":"uint256","nodeType":"ElementaryTypeName","src":"18285:7:153","typeDescriptions":{}}},"id":95748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18285:13:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"323438","id":95749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18302:3:153","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},"src":"18285:20:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":95751,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"18284:22:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":95754,"name":"_blobbasefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95733,"src":"18318:18:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":95753,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18310:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":95752,"name":"uint256","nodeType":"ElementaryTypeName","src":"18310:7:153","typeDescriptions":{}}},"id":95755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18310:27:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3332","id":95756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18341:2:153","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"18310:33:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":95758,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18309:35:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18284:60:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"id":95760,"name":"_basefeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95731,"src":"18347:14:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"18284:77:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18275:86:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95763,"nodeType":"ExpressionStatement","src":"18275:86:153"},{"assignments":[95765],"declarations":[{"constant":false,"id":95765,"mutability":"mutable","name":"data","nameLocation":"18385:4:153","nodeType":"VariableDeclaration","scope":95779,"src":"18372:17:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":95764,"name":"bytes","nodeType":"ElementaryTypeName","src":"18372:5:153","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":95771,"initialValue":{"arguments":[{"id":95768,"name":"overhead","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95065,"src":"18403:8:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95769,"name":"scalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95068,"src":"18413:6:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18392:3:153","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":95767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"18392:10:153","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":95770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18392:28:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"18372:48:153"},{"eventCall":{"arguments":[{"id":95773,"name":"VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94922,"src":"18448:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":95774,"name":"UpdateType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94901,"src":"18457:10:153","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_UpdateType_$94901_$","typeString":"type(enum SystemConfig.UpdateType)"}},"id":95775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"GAS_CONFIG","nodeType":"MemberAccess","referencedDeclaration":94898,"src":"18457:21:153","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"}},{"id":95776,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95765,"src":"18480:4:153","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":95772,"name":"ConfigUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95094,"src":"18435:12:153","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_UpdateType_$94901_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,enum SystemConfig.UpdateType,bytes memory)"}},"id":95777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18435:50:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95778,"nodeType":"EmitStatement","src":"18430:55:153"}]},"documentation":{"id":95729,"nodeType":"StructuredDocumentation","src":"17875:207:153","text":"@notice Internal function for updating the fee scalars as of the Ecotone upgrade.\n @param _basefeeScalar     New basefeeScalar value.\n @param _blobbasefeeScalar New blobbasefeeScalar value."},"implemented":true,"kind":"function","modifiers":[],"name":"_setGasConfigEcotone","nameLocation":"18096:20:153","parameters":{"id":95734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95731,"mutability":"mutable","name":"_basefeeScalar","nameLocation":"18124:14:153","nodeType":"VariableDeclaration","scope":95780,"src":"18117:21:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95730,"name":"uint32","nodeType":"ElementaryTypeName","src":"18117:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":95733,"mutability":"mutable","name":"_blobbasefeeScalar","nameLocation":"18147:18:153","nodeType":"VariableDeclaration","scope":95780,"src":"18140:25:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":95732,"name":"uint32","nodeType":"ElementaryTypeName","src":"18140:6:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"18116:50:153"},"returnParameters":{"id":95735,"nodeType":"ParameterList","parameters":[],"src":"18176:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95793,"nodeType":"FunctionDefinition","src":"18613:98:153","nodes":[],"body":{"id":95792,"nodeType":"Block","src":"18671:40:153","nodes":[],"statements":[{"expression":{"arguments":[{"id":95789,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95783,"src":"18694:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"id":95788,"name":"_setGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95834,"src":"18681:12:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint64_$returns$__$","typeString":"function (uint64)"}},"id":95790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18681:23:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95791,"nodeType":"ExpressionStatement","src":"18681:23:153"}]},"documentation":{"id":95781,"nodeType":"StructuredDocumentation","src":"18498:110:153","text":"@notice Updates the L2 gas limit. Can only be called by the owner.\n @param _gasLimit New gas limit."},"functionSelector":"b40a817c","implemented":true,"kind":"function","modifiers":[{"id":95786,"kind":"modifierInvocation","modifierName":{"id":95785,"name":"onlyOwner","nodeType":"IdentifierPath","referencedDeclaration":47488,"src":"18661:9:153"},"nodeType":"ModifierInvocation","src":"18661:9:153"}],"name":"setGasLimit","nameLocation":"18622:11:153","parameters":{"id":95784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95783,"mutability":"mutable","name":"_gasLimit","nameLocation":"18641:9:153","nodeType":"VariableDeclaration","scope":95793,"src":"18634:16:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95782,"name":"uint64","nodeType":"ElementaryTypeName","src":"18634:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"18633:18:153"},"returnParameters":{"id":95787,"nodeType":"ParameterList","parameters":[],"src":"18671:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":95834,"nodeType":"FunctionDefinition","src":"18822:371:153","nodes":[],"body":{"id":95833,"nodeType":"Block","src":"18871:322:153","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":95803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95800,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95796,"src":"18889:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":95801,"name":"minimumGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95336,"src":"18902:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint64_$","typeString":"function () view returns (uint64)"}},"id":95802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18902:17:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"18889:30:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77","id":95804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18921:33:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e802b99b7871665ffc01e67ec99efdd73637cc03d3134ef893ffd574a9c611a","typeString":"literal_string \"SystemConfig: gas limit too low\""},"value":"SystemConfig: gas limit too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e802b99b7871665ffc01e67ec99efdd73637cc03d3134ef893ffd574a9c611a","typeString":"literal_string \"SystemConfig: gas limit too low\""}],"id":95799,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18881:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18881:74:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95806,"nodeType":"ExpressionStatement","src":"18881:74:153"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":95811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95808,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95796,"src":"18973:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":95809,"name":"maximumGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95345,"src":"18986:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint64_$","typeString":"function () pure returns (uint64)"}},"id":95810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18986:17:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"18973:30:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a20676173206c696d697420746f6f2068696768","id":95812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19005:34:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_9953fa42ad797f526e5f052c3eaf2d6fd7f3d4c0297e1306233f161a1014fa9c","typeString":"literal_string \"SystemConfig: gas limit too high\""},"value":"SystemConfig: gas limit too high"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9953fa42ad797f526e5f052c3eaf2d6fd7f3d4c0297e1306233f161a1014fa9c","typeString":"literal_string \"SystemConfig: gas limit too high\""}],"id":95807,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18965:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18965:75:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95814,"nodeType":"ExpressionStatement","src":"18965:75:153"},{"expression":{"id":95817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95815,"name":"gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95074,"src":"19050:8:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95816,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95796,"src":"19061:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"19050:20:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"id":95818,"nodeType":"ExpressionStatement","src":"19050:20:153"},{"assignments":[95820],"declarations":[{"constant":false,"id":95820,"mutability":"mutable","name":"data","nameLocation":"19094:4:153","nodeType":"VariableDeclaration","scope":95833,"src":"19081:17:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":95819,"name":"bytes","nodeType":"ElementaryTypeName","src":"19081:5:153","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":95825,"initialValue":{"arguments":[{"id":95823,"name":"_gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95796,"src":"19112:9:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint64","typeString":"uint64"}],"expression":{"id":95821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19101:3:153","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":95822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"encode","nodeType":"MemberAccess","src":"19101:10:153","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":95824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19101:21:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"19081:41:153"},{"eventCall":{"arguments":[{"id":95827,"name":"VERSION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94922,"src":"19150:7:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":95828,"name":"UpdateType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94901,"src":"19159:10:153","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_UpdateType_$94901_$","typeString":"type(enum SystemConfig.UpdateType)"}},"id":95829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"GAS_LIMIT","nodeType":"MemberAccess","referencedDeclaration":94899,"src":"19159:20:153","typeDescriptions":{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"}},{"id":95830,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95820,"src":"19181:4:153","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_enum$_UpdateType_$94901","typeString":"enum SystemConfig.UpdateType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":95826,"name":"ConfigUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95094,"src":"19137:12:153","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_enum$_UpdateType_$94901_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (uint256,enum SystemConfig.UpdateType,bytes memory)"}},"id":95831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19137:49:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95832,"nodeType":"EmitStatement","src":"19132:54:153"}]},"documentation":{"id":95794,"nodeType":"StructuredDocumentation","src":"18717:100:153","text":"@notice Internal function for updating the L2 gas limit.\n @param _gasLimit New gas limit."},"implemented":true,"kind":"function","modifiers":[],"name":"_setGasLimit","nameLocation":"18831:12:153","parameters":{"id":95797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95796,"mutability":"mutable","name":"_gasLimit","nameLocation":"18851:9:153","nodeType":"VariableDeclaration","scope":95834,"src":"18844:16:153","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":95795,"name":"uint64","nodeType":"ElementaryTypeName","src":"18844:6:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"18843:18:153"},"returnParameters":{"id":95798,"nodeType":"ParameterList","parameters":[],"src":"18871:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95855,"nodeType":"FunctionDefinition","src":"19874:167:153","nodes":[],"body":{"id":95854,"nodeType":"Block","src":"19909:132:153","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":95840,"name":"START_BLOCK_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95026,"src":"19939:16:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":95838,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"19923:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getUint","nodeType":"MemberAccess","referencedDeclaration":114891,"src":"19923:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32) view returns (uint256)"}},"id":95841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19923:33:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":95842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19960:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"19923:38:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":95853,"nodeType":"IfStatement","src":"19919:116:153","trueBody":{"id":95852,"nodeType":"Block","src":"19963:72:153","statements":[{"expression":{"arguments":[{"id":95847,"name":"START_BLOCK_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95026,"src":"19993:16:153","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":95848,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"20011:5:153","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":95849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"number","nodeType":"MemberAccess","src":"20011:12:153","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95844,"name":"Storage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114942,"src":"19977:7:153","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Storage_$114942_$","typeString":"type(library Storage)"}},"id":95846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setUint","nodeType":"MemberAccess","referencedDeclaration":114901,"src":"19977:15:153","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256)"}},"id":95850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"19977:47:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95851,"nodeType":"ExpressionStatement","src":"19977:47:153"}]}}]},"documentation":{"id":95835,"nodeType":"StructuredDocumentation","src":"19199:670:153","text":"@notice Sets the start block in a backwards compatible way. Proxies\n         that were initialized before the startBlock existed in storage\n         can have their start block set by a user provided override.\n         A start block of 0 indicates that there is no override and the\n         start block will be set by `block.number`.\n @dev    This logic is used to patch legacy deployments with new storage values.\n         Use the override if it is provided as a non zero value and the value\n         has not already been set in storage. Use `block.number` if the value\n         has already been set in storage"},"implemented":true,"kind":"function","modifiers":[],"name":"_setStartBlock","nameLocation":"19883:14:153","parameters":{"id":95836,"nodeType":"ParameterList","parameters":[],"src":"19897:2:153"},"returnParameters":{"id":95837,"nodeType":"ParameterList","parameters":[],"src":"19909:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95865,"nodeType":"FunctionDefinition","src":"20200:128:153","nodes":[],"body":{"id":95864,"nodeType":"Block","src":"20289:39:153","nodes":[],"statements":[{"expression":{"id":95862,"name":"_resourceConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95084,"src":"20306:15:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage","typeString":"struct ResourceMetering.ResourceConfig storage ref"}},"functionReturnParameters":95861,"id":95863,"nodeType":"Return","src":"20299:22:153"}]},"documentation":{"id":95856,"nodeType":"StructuredDocumentation","src":"20047:148:153","text":"@notice A getter for the resource config.\n         Ensures that the struct is returned instead of a tuple.\n @return ResourceConfig"},"functionSelector":"cc731b02","implemented":true,"kind":"function","modifiers":[],"name":"resourceConfig","nameLocation":"20209:14:153","parameters":{"id":95857,"nodeType":"ParameterList","parameters":[],"src":"20223:2:153"},"returnParameters":{"id":95861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95865,"src":"20249:38:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig"},"typeName":{"id":95859,"nodeType":"UserDefinedTypeName","pathNode":{"id":95858,"name":"ResourceMetering.ResourceConfig","nodeType":"IdentifierPath","referencedDeclaration":94319,"src":"20249:31:153"},"referencedDeclaration":94319,"src":"20249:31:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage_ptr","typeString":"struct ResourceMetering.ResourceConfig"}},"visibility":"internal"}],"src":"20248:40:153"},"scope":95931,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":95930,"nodeType":"FunctionDefinition","src":"20682:1279:153","nodes":[],"body":{"id":95929,"nodeType":"Block","src":"20767:1194:153","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint128","typeString":"uint128"},"id":95877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95873,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"20866:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95874,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"minimumBaseFee","nodeType":"MemberAccess","referencedDeclaration":94314,"src":"20866:22:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"id":95875,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"20892:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95876,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"maximumBaseFee","nodeType":"MemberAccess","referencedDeclaration":94318,"src":"20892:22:153","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"20866:48:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a206d696e206261736520666565206d757374206265206c657373207468616e206d61782062617365","id":95878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20916:55:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_16806173f08c8c6ae15c41ada2868e19f22d95483ee444a690f5c71e256ae59c","typeString":"literal_string \"SystemConfig: min base fee must be less than max base\""},"value":"SystemConfig: min base fee must be less than max base"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_16806173f08c8c6ae15c41ada2868e19f22d95483ee444a690f5c71e256ae59c","typeString":"literal_string \"SystemConfig: min base fee must be less than max base\""}],"id":95872,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20845:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"20845:136:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95880,"nodeType":"ExpressionStatement","src":"20845:136:153"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":95885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95882,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21062:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95883,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"baseFeeMaxChangeDenominator","nodeType":"MemberAccess","referencedDeclaration":94312,"src":"21062:35:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":95884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21100:1:153","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"21062:39:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206265206c6172676572207468616e2031","id":95886,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21103:49:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a2fada1fe2708845c3612912d722eb6febd82dcb64b4a98ff41143480c2d7e","typeString":"literal_string \"SystemConfig: denominator must be larger than 1\""},"value":"SystemConfig: denominator must be larger than 1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c0a2fada1fe2708845c3612912d722eb6febd82dcb64b4a98ff41143480c2d7e","typeString":"literal_string \"SystemConfig: denominator must be larger than 1\""}],"id":95881,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21054:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21054:99:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95888,"nodeType":"ExpressionStatement","src":"21054:99:153"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint64","typeString":"uint64"},"id":95896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":95894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95890,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21349:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"maxResourceLimit","nodeType":"MemberAccess","referencedDeclaration":94308,"src":"21349:24:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":95892,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21376:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95893,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"systemTxMaxGas","nodeType":"MemberAccess","referencedDeclaration":94316,"src":"21376:22:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"21349:49:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":95895,"name":"gasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95074,"src":"21402:8:153","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"21349:61:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77","id":95897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21412:33:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e802b99b7871665ffc01e67ec99efdd73637cc03d3134ef893ffd574a9c611a","typeString":"literal_string \"SystemConfig: gas limit too low\""},"value":"SystemConfig: gas limit too low"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8e802b99b7871665ffc01e67ec99efdd73637cc03d3134ef893ffd574a9c611a","typeString":"literal_string \"SystemConfig: gas limit too low\""}],"id":95889,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21341:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21341:105:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95899,"nodeType":"ExpressionStatement","src":"21341:105:153"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":95904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95901,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21521:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95902,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"elasticityMultiplier","nodeType":"MemberAccess","referencedDeclaration":94310,"src":"21521:28:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":95903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21552:1:153","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21521:32:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c6965722063616e6e6f742062652030","id":95905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21555:49:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_59a820cce0ebef6a669f57c5972b936f0f32ddecc515ae6b733585a6a86ccb87","typeString":"literal_string \"SystemConfig: elasticity multiplier cannot be 0\""},"value":"SystemConfig: elasticity multiplier cannot be 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_59a820cce0ebef6a669f57c5972b936f0f32ddecc515ae6b733585a6a86ccb87","typeString":"literal_string \"SystemConfig: elasticity multiplier cannot be 0\""}],"id":95900,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21513:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21513:92:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95907,"nodeType":"ExpressionStatement","src":"21513:92:153"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":95921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":95917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":95913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95909,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21705:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"maxResourceLimit","nodeType":"MemberAccess","referencedDeclaration":94308,"src":"21705:24:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"expression":{"id":95911,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21732:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95912,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"elasticityMultiplier","nodeType":"MemberAccess","referencedDeclaration":94310,"src":"21732:28:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"21705:55:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"id":95914,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21704:57:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"id":95915,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21764:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95916,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"elasticityMultiplier","nodeType":"MemberAccess","referencedDeclaration":94310,"src":"21764:28:153","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"21704:88:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"id":95918,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"21703:90:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":95919,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21813:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"id":95920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"maxResourceLimit","nodeType":"MemberAccess","referencedDeclaration":94308,"src":"21813:24:153","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"21703:134:153","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53797374656d436f6e6669673a20707265636973696f6e206c6f7373207769746820746172676574207265736f75726365206c696d6974","id":95922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21851:57:153","typeDescriptions":{"typeIdentifier":"t_stringliteral_fef4ef4eda0ba4ff507d3db7d2e0ca5d7440f98c636615806e09e69039b34a5e","typeString":"literal_string \"SystemConfig: precision loss with target resource limit\""},"value":"SystemConfig: precision loss with target resource limit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fef4ef4eda0ba4ff507d3db7d2e0ca5d7440f98c636615806e09e69039b34a5e","typeString":"literal_string \"SystemConfig: precision loss with target resource limit\""}],"id":95908,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21682:7:153","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"21682:236:153","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95924,"nodeType":"ExpressionStatement","src":"21682:236:153"},{"expression":{"id":95927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95925,"name":"_resourceConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95084,"src":"21929:15:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage","typeString":"struct ResourceMetering.ResourceConfig storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95926,"name":"_config","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95869,"src":"21947:7:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig memory"}},"src":"21929:25:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage","typeString":"struct ResourceMetering.ResourceConfig storage ref"}},"id":95928,"nodeType":"ExpressionStatement","src":"21929:25:153"}]},"documentation":{"id":95866,"nodeType":"StructuredDocumentation","src":"20334:343:153","text":"@notice An internal setter for the resource config.\n         Ensures that the config is sane before storing it by checking for invariants.\n         In the future, this method may emit an event that the `op-node` picks up\n         for when the resource config is changed.\n @param _config The new resource config."},"implemented":true,"kind":"function","modifiers":[],"name":"_setResourceConfig","nameLocation":"20691:18:153","parameters":{"id":95870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95869,"mutability":"mutable","name":"_config","nameLocation":"20749:7:153","nodeType":"VariableDeclaration","scope":95930,"src":"20710:46:153","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_memory_ptr","typeString":"struct ResourceMetering.ResourceConfig"},"typeName":{"id":95868,"nodeType":"UserDefinedTypeName","pathNode":{"id":95867,"name":"ResourceMetering.ResourceConfig","nodeType":"IdentifierPath","referencedDeclaration":94319,"src":"20710:31:153"},"referencedDeclaration":94319,"src":"20710:31:153","typeDescriptions":{"typeIdentifier":"t_struct$_ResourceConfig_$94319_storage_ptr","typeString":"struct ResourceMetering.ResourceConfig"}},"visibility":"internal"}],"src":"20709:48:153"},"returnParameters":{"id":95871,"nodeType":"ParameterList","parameters":[],"src":"20767:0:153"},"scope":95931,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":94891,"name":"OwnableUpgradeable","nodeType":"IdentifierPath","referencedDeclaration":47574,"src":"862:18:153"},"id":94892,"nodeType":"InheritanceSpecifier","src":"862:18:153"},{"baseName":{"id":94893,"name":"ISemver","nodeType":"IdentifierPath","referencedDeclaration":122319,"src":"882:7:153"},"id":94894,"nodeType":"InheritanceSpecifier","src":"882:7:153"},{"baseName":{"id":94895,"name":"IGasToken","nodeType":"IdentifierPath","referencedDeclaration":113292,"src":"891:9:153"},"id":94896,"nodeType":"InheritanceSpecifier","src":"891:9:153"}],"canonicalName":"SystemConfig","contractDependencies":[],"contractKind":"contract","documentation":{"id":94890,"nodeType":"StructuredDocumentation","src":"598:239:153","text":"@title SystemConfig\n @notice The SystemConfig contract is used to manage configuration of an Optimism network.\n         All configuration is stored on L1 and picked up by L2 as part of the derviation of\n         the L2 chain."},"fullyImplemented":true,"linearizedBaseContracts":[95931,113292,122319,47574,49113,47725],"name":"SystemConfig","nameLocation":"846:12:153","scope":95932,"usedErrors":[]}],"license":"MIT"},"id":153}