{"abi":[{"type":"function","name":"DEPOSITOR_ACCOUNT","inputs":[],"outputs":[{"name":"addr_","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"baseFeeScalar","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"basefee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batcherHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"blobBaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"blobBaseFeeScalar","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"dependencySetSize","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"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":"hash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"isCustomGasToken","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isInDependencySet","inputs":[{"name":"_chainId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"l1FeeOverhead","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"l1FeeScalar","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"number","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"sequenceNumber","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"setConfig","inputs":[{"name":"_type","type":"uint8","internalType":"enum ConfigType"},{"name":"_value","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGasPayingToken","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_decimals","type":"uint8","internalType":"uint8"},{"name":"_name","type":"bytes32","internalType":"bytes32"},{"name":"_symbol","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setL1BlockValues","inputs":[{"name":"_number","type":"uint64","internalType":"uint64"},{"name":"_timestamp","type":"uint64","internalType":"uint64"},{"name":"_basefee","type":"uint256","internalType":"uint256"},{"name":"_hash","type":"bytes32","internalType":"bytes32"},{"name":"_sequenceNumber","type":"uint64","internalType":"uint64"},{"name":"_batcherHash","type":"bytes32","internalType":"bytes32"},{"name":"_l1FeeOverhead","type":"uint256","internalType":"uint256"},{"name":"_l1FeeScalar","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setL1BlockValuesEcotone","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"timestamp","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"event","name":"DependencyAdded","inputs":[{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DependencyRemoved","inputs":[{"name":"chainId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"GasPayingTokenSet","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"decimals","type":"uint8","indexed":true,"internalType":"uint8"},{"name":"name","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"symbol","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"AlreadyDependency","inputs":[]},{"type":"error","name":"CantRemovedDependency","inputs":[]},{"type":"error","name":"DependencySetSizeTooLarge","inputs":[]},{"type":"error","name":"NotDependency","inputs":[]},{"type":"error","name":"NotDepositor","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50611291806100206000396000f3fe608060405234801561001057600080fd5b506004361061018d5760003560e01c806371cfaa3f116100e3578063c59859181161008c578063e591b28211610066578063e591b2821461035e578063e81b2c6d14610380578063f82061401461038957600080fd5b8063c598591814610323578063d844471514610343578063e38bbc321461034b57600080fd5b80639e8c4966116100bd5780639e8c4966146102e7578063b80777ea146102f0578063c00121631461031057600080fd5b806371cfaa3f146102b75780638381f58a146102ca5780638b239f73146102de57600080fd5b806354fd4d50116101455780635eb30fa31161011f5780635eb30fa31461023f57806364ca23ef1461025957806368d5dca61461028657600080fd5b806354fd4d5014610219578063550fcdc91461022e5780635cf249691461023657600080fd5b8063213268491161017657806321326849146101c35780634397dfef146101db578063440a5e201461021157600080fd5b8063015d8eb91461019257806309bd5a60146101a7575b600080fd5b6101a56101a0366004610f0c565b610392565b005b6101b060025481565b6040519081526020015b60405180910390f35b6101cb6104d1565b60405190151581526020016101ba565b6101e3610510565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260ff9091166020830152016101ba565b6101a5610524565b61022161057b565b6040516101ba9190610faa565b6102216105db565b6101b060015481565b6102476105ea565b60405160ff90911681526020016101ba565b60035461026d9067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101ba565b6003546102a29068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101ba565b6101a56102c536600461102f565b6105f6565b60005461026d9067ffffffffffffffff1681565b6101b060055481565b6101b060065481565b60005461026d9068010000000000000000900467ffffffffffffffff1681565b6101a561031e366004611075565b6106ab565b6003546102a2906c01000000000000000000000000900463ffffffff1681565b610221610766565b6101cb6103593660046110fe565b610770565b60405173deaddeaddeaddeaddeaddeaddeaddeaddead000181526020016101ba565b6101b060045481565b6101b060075481565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4c31426c6f636b3a206f6e6c7920746865206465706f7369746f72206163636f60448201527f756e742063616e20736574204c3120626c6f636b2076616c7565730000000000606482015260840160405180910390fd5b6000805467ffffffffffffffff98891668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116998916999099179890981790975560019490945560029290925560038054919094167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009190911617909255600491909155600555600655565b6000806104dc610510565b5073ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141592915050565b60008061051b61078c565b90939092509050565b73deaddeaddeaddeaddeaddeaddeaddeaddead000133811461054e57633cc50b456000526004601cfd5b60043560801c60035560143560801c60005560243560015560443560075560643560025560843560045550565b60606105b760408051808201909152600c81527f312e342e312d626574612e310000000000000000000000000000000000000000602082015290565b6040516020016105c79190611117565b604051602081830303815290604052905090565b60606105e561080d565b905090565b60006105e560086108ce565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610643576040517f3cc50b4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61064f848484846108d8565b604080518381526020810183905260ff85169173ffffffffffffffffffffffffffffffffffffffff8716917f10e43c4d58f3ef4edae7c1ca2e7f02d46b2cadbcc046737038527ed8486ffeb0910160405180910390a350505050565b3373deaddeaddeaddeaddeaddeaddeaddeaddead0001146106f8576040517f3cc50b4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083600281111561070c5761070c611158565b036107205761071b82826109aa565b505050565b600183600281111561073457610734611158565b036107435761071b8282610a61565b600283600281111561075757610757611158565b0361071b5761071b8282610b64565b60606105e5610c51565b6000468214806107865750610786600883610d07565b92915050565b600080806107c26107be60017f04adb1412b2ddc16fcc0d4538d5c8f07cf9c83abecc6b41f6f69037b708fbcec611187565b5490565b73ffffffffffffffffffffffffffffffffffffffff81169350905082610801575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92601292509050565b60a081901c9150509091565b6060600061081961078c565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff82160161089257505060408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b6108c86108c36107be60017fa48b38a4b44951360fbdcbfaaeae5ed6ae92585412e9841b70ec72ed8cd05764611187565b610d22565b91505090565b6000610786825490565b61093e61090660017f04adb1412b2ddc16fcc0d4538d5c8f07cf9c83abecc6b41f6f69037b708fbcec611187565b74ff000000000000000000000000000000000000000060a086901b1673ffffffffffffffffffffffffffffffffffffffff8716179055565b61097161096c60017f657c3582c29b3176614e3a33ddd1ec48352696a04e92b3c0566d72010fa8863d611187565b839055565b6109a461099f60017fa48b38a4b44951360fbdcbfaaeae5ed6ae92585412e9841b70ec72ed8cd05764611187565b829055565b50505050565b6000806000806109ef86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5692505050565b9350935093509350610a03848484846108d8565b604080518381526020810183905260ff85169173ffffffffffffffffffffffffffffffffffffffff8716917f10e43c4d58f3ef4edae7c1ca2e7f02d46b2cadbcc046737038527ed8486ffeb0910160405180910390a3505050505050565b6000610aa283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d7f92505050565b905060ff610ab060086108ce565b03610ae7576040517f04892cf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b46811480610afd5750610afb600882610d95565b155b15610b34576040517ff3cef93100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405181907f754553d16dd99693ae11c457214cb1baa77b15c7b02cea5515370dc637e050f090600090a2505050565b6000610ba583838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d7f92505050565b9050468103610be0576040517f70aed6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610beb600882610da1565b610c21576040517f5894c29b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405181907fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd8990600090a2505050565b60606000610c5d61078c565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601610cd657505060408051808201909152600581527f4574686572000000000000000000000000000000000000000000000000000000602082015290565b6108c86108c36107be60017f657c3582c29b3176614e3a33ddd1ec48352696a04e92b3c0566d72010fa8863d611187565b600081815260018301602052604081205415155b9392505050565b60405160005b82811a15610d3857600101610d28565b80825260208201838152600082820152505060408101604052919050565b60008060008084806020019051810190610d7091906111c5565b93509350935093509193509193565b600081806020019051810190610786919061120d565b6000610d1b8383610dad565b6000610d1b8383610dfc565b6000818152600183016020526040812054610df457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610786565b506000610786565b60008181526001830160205260408120548015610ee5576000610e20600183611187565b8554909150600090610e3490600190611187565b9050818114610e99576000866000018281548110610e5457610e54611226565b9060005260206000200154905080876000018481548110610e7757610e77611226565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610eaa57610eaa611255565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610786565b6000915050610786565b803567ffffffffffffffff81168114610f0757600080fd5b919050565b600080600080600080600080610100898b031215610f2957600080fd5b610f3289610eef565b9750610f4060208a01610eef565b96506040890135955060608901359450610f5c60808a01610eef565b979a969950949793969560a0850135955060c08501359460e001359350915050565b60005b83811015610f99578181015183820152602001610f81565b838111156109a45750506000910152565b6020815260008251806020840152610fc9816040850160208701610f7e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461101d57600080fd5b50565b60ff8116811461101d57600080fd5b6000806000806080858703121561104557600080fd5b843561105081610ffb565b9350602085013561106081611020565b93969395505050506040820135916060013590565b60008060006040848603121561108a57600080fd5b83356003811061109957600080fd5b9250602084013567ffffffffffffffff808211156110b657600080fd5b818601915086601f8301126110ca57600080fd5b8135818111156110d957600080fd5b8760208285010111156110eb57600080fd5b6020830194508093505050509250925092565b60006020828403121561111057600080fd5b5035919050565b60008251611129818460208701610f7e565b7f2b696e7465726f70000000000000000000000000000000000000000000000000920191825250600801919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000828210156111c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b600080600080608085870312156111db57600080fd5b84516111e681610ffb565b60208601519094506111f781611020565b6040860151606090960151949790965092505050565b60006020828403121561121f57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea164736f6c634300080f000a","sourceMap":"1048:3662:162:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061018d5760003560e01c806371cfaa3f116100e3578063c59859181161008c578063e591b28211610066578063e591b2821461035e578063e81b2c6d14610380578063f82061401461038957600080fd5b8063c598591814610323578063d844471514610343578063e38bbc321461034b57600080fd5b80639e8c4966116100bd5780639e8c4966146102e7578063b80777ea146102f0578063c00121631461031057600080fd5b806371cfaa3f146102b75780638381f58a146102ca5780638b239f73146102de57600080fd5b806354fd4d50116101455780635eb30fa31161011f5780635eb30fa31461023f57806364ca23ef1461025957806368d5dca61461028657600080fd5b806354fd4d5014610219578063550fcdc91461022e5780635cf249691461023657600080fd5b8063213268491161017657806321326849146101c35780634397dfef146101db578063440a5e201461021157600080fd5b8063015d8eb91461019257806309bd5a60146101a7575b600080fd5b6101a56101a0366004610f0c565b610392565b005b6101b060025481565b6040519081526020015b60405180910390f35b6101cb6104d1565b60405190151581526020016101ba565b6101e3610510565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835260ff9091166020830152016101ba565b6101a5610524565b61022161057b565b6040516101ba9190610faa565b6102216105db565b6101b060015481565b6102476105ea565b60405160ff90911681526020016101ba565b60035461026d9067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101ba565b6003546102a29068010000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016101ba565b6101a56102c536600461102f565b6105f6565b60005461026d9067ffffffffffffffff1681565b6101b060055481565b6101b060065481565b60005461026d9068010000000000000000900467ffffffffffffffff1681565b6101a561031e366004611075565b6106ab565b6003546102a2906c01000000000000000000000000900463ffffffff1681565b610221610766565b6101cb6103593660046110fe565b610770565b60405173deaddeaddeaddeaddeaddeaddeaddeaddead000181526020016101ba565b6101b060045481565b6101b060075481565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4c31426c6f636b3a206f6e6c7920746865206465706f7369746f72206163636f60448201527f756e742063616e20736574204c3120626c6f636b2076616c7565730000000000606482015260840160405180910390fd5b6000805467ffffffffffffffff98891668010000000000000000027fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116998916999099179890981790975560019490945560029290925560038054919094167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000009190911617909255600491909155600555600655565b6000806104dc610510565b5073ffffffffffffffffffffffffffffffffffffffff1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141592915050565b60008061051b61078c565b90939092509050565b73deaddeaddeaddeaddeaddeaddeaddeaddead000133811461054e57633cc50b456000526004601cfd5b60043560801c60035560143560801c60005560243560015560443560075560643560025560843560045550565b60606105b760408051808201909152600c81527f312e342e312d626574612e310000000000000000000000000000000000000000602082015290565b6040516020016105c79190611117565b604051602081830303815290604052905090565b60606105e561080d565b905090565b60006105e560086108ce565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610643576040517f3cc50b4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61064f848484846108d8565b604080518381526020810183905260ff85169173ffffffffffffffffffffffffffffffffffffffff8716917f10e43c4d58f3ef4edae7c1ca2e7f02d46b2cadbcc046737038527ed8486ffeb0910160405180910390a350505050565b3373deaddeaddeaddeaddeaddeaddeaddeaddead0001146106f8576040517f3cc50b4500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083600281111561070c5761070c611158565b036107205761071b82826109aa565b505050565b600183600281111561073457610734611158565b036107435761071b8282610a61565b600283600281111561075757610757611158565b0361071b5761071b8282610b64565b60606105e5610c51565b6000468214806107865750610786600883610d07565b92915050565b600080806107c26107be60017f04adb1412b2ddc16fcc0d4538d5c8f07cf9c83abecc6b41f6f69037b708fbcec611187565b5490565b73ffffffffffffffffffffffffffffffffffffffff81169350905082610801575073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92601292509050565b60a081901c9150509091565b6060600061081961078c565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff82160161089257505060408051808201909152600381527f4554480000000000000000000000000000000000000000000000000000000000602082015290565b6108c86108c36107be60017fa48b38a4b44951360fbdcbfaaeae5ed6ae92585412e9841b70ec72ed8cd05764611187565b610d22565b91505090565b6000610786825490565b61093e61090660017f04adb1412b2ddc16fcc0d4538d5c8f07cf9c83abecc6b41f6f69037b708fbcec611187565b74ff000000000000000000000000000000000000000060a086901b1673ffffffffffffffffffffffffffffffffffffffff8716179055565b61097161096c60017f657c3582c29b3176614e3a33ddd1ec48352696a04e92b3c0566d72010fa8863d611187565b839055565b6109a461099f60017fa48b38a4b44951360fbdcbfaaeae5ed6ae92585412e9841b70ec72ed8cd05764611187565b829055565b50505050565b6000806000806109ef86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5692505050565b9350935093509350610a03848484846108d8565b604080518381526020810183905260ff85169173ffffffffffffffffffffffffffffffffffffffff8716917f10e43c4d58f3ef4edae7c1ca2e7f02d46b2cadbcc046737038527ed8486ffeb0910160405180910390a3505050505050565b6000610aa283838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d7f92505050565b905060ff610ab060086108ce565b03610ae7576040517f04892cf700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b46811480610afd5750610afb600882610d95565b155b15610b34576040517ff3cef93100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405181907f754553d16dd99693ae11c457214cb1baa77b15c7b02cea5515370dc637e050f090600090a2505050565b6000610ba583838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d7f92505050565b9050468103610be0576040517f70aed6af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610beb600882610da1565b610c21576040517f5894c29b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405181907fc96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd8990600090a2505050565b60606000610c5d61078c565b5090507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601610cd657505060408051808201909152600581527f4574686572000000000000000000000000000000000000000000000000000000602082015290565b6108c86108c36107be60017f657c3582c29b3176614e3a33ddd1ec48352696a04e92b3c0566d72010fa8863d611187565b600081815260018301602052604081205415155b9392505050565b60405160005b82811a15610d3857600101610d28565b80825260208201838152600082820152505060408101604052919050565b60008060008084806020019051810190610d7091906111c5565b93509350935093509193509193565b600081806020019051810190610786919061120d565b6000610d1b8383610dad565b6000610d1b8383610dfc565b6000818152600183016020526040812054610df457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610786565b506000610786565b60008181526001830160205260408120548015610ee5576000610e20600183611187565b8554909150600090610e3490600190611187565b9050818114610e99576000866000018281548110610e5457610e54611226565b9060005260206000200154905080876000018481548110610e7757610e77611226565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610eaa57610eaa611255565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610786565b6000915050610786565b803567ffffffffffffffff81168114610f0757600080fd5b919050565b600080600080600080600080610100898b031215610f2957600080fd5b610f3289610eef565b9750610f4060208a01610eef565b96506040890135955060608901359450610f5c60808a01610eef565b979a969950949793969560a0850135955060c08501359460e001359350915050565b60005b83811015610f99578181015183820152602001610f81565b838111156109a45750506000910152565b6020815260008251806020840152610fc9816040850160208701610f7e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461101d57600080fd5b50565b60ff8116811461101d57600080fd5b6000806000806080858703121561104557600080fd5b843561105081610ffb565b9350602085013561106081611020565b93969395505050506040820135916060013590565b60008060006040848603121561108a57600080fd5b83356003811061109957600080fd5b9250602084013567ffffffffffffffff808211156110b657600080fd5b818601915086601f8301126110ca57600080fd5b8135818111156110d957600080fd5b8760208285010111156110eb57600080fd5b6020830194508093505050509250925092565b60006020828403121561111057600080fd5b5035919050565b60008251611129818460208701610f7e565b7f2b696e7465726f70000000000000000000000000000000000000000000000000920191825250600801919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000828210156111c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500390565b600080600080608085870312156111db57600080fd5b84516111e681610ffb565b60208601519094506111f781611020565b6040860151606090960151949790965092505050565b60006020828403121561121f57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea164736f6c634300080f000a","sourceMap":"1048:3662:162:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4044:662:161;;;;;;:::i;:::-;;:::i;:::-;;1460:19;;;;;;;;;1014:25:416;;;1002:2;987:18;1460:19:161;;;;;;;;3404:148;;;:::i;:::-;;;1215:14:416;;1208:22;1190:41;;1178:2;1163:18;3404:148:161;1050:187:416;2614:142:161;;;:::i;:::-;;;;1442:42:416;1430:55;;;1412:74;;1534:4;1522:17;;;1517:2;1502:18;;1495:45;1385:18;2614:142:161;1242:304:416;5438:957:161;;;:::i;1583:130:162:-;;;:::i;:::-;;;;;;;:::i;3139:129:161:-;;;:::i;1390:22::-;;;;;;2330:112:162;;;:::i;:::-;;;2615:4:416;2603:17;;;2585:36;;2573:2;2558:18;2330:112:162;2443:184:416;1545:28:161;;;;;;;;;;;;2806:18:416;2794:31;;;2776:50;;2764:2;2749:18;1545:28:161;2632:200:416;1687:31:161;;;;;;;;;;;;;;;3011:10:416;2999:23;;;2981:42;;2969:2;2954:18;1687:31:161;2837:192:416;6663:384:161;;;;;;:::i;:::-;;:::i;1229:20::-;;;;;;;;;2069:28;;;;;;2210:26;;;;;;1320:23;;;;;;;;;;;;2719:445:162;;;;;;:::i;:::-;;:::i;1827:27:161:-;;;;;;;;;;;;2886:121;;;:::i;2047:157:162:-;;;;;;:::i;:::-;;:::i;1039:117:161:-;;;2290:42:215;4925:74:416;;4913:2;4898:18;1039:117:161;4779:226:416;1928:26:161;;;;;;2288;;;;;;4044:662;4339:10;2290:42:215;4339:33:161;4331:105;;;;;;;5212:2:416;4331:105:161;;;5194:21:416;5251:2;5231:18;;;5224:30;5290:34;5270:18;;;5263:62;5361:29;5341:18;;;5334:57;5408:19;;4331:105:161;;;;;;;;4447:6;:16;;;4473:22;;;;;;;;;4447:16;;;4473:22;;;;;;;;;;;4447:16;4505:18;;;;4533:4;:12;;;;4555:14;:32;;;;;;4447:16;4555:32;;;;;;;;4597:11;:26;;;;4633:13;:30;4673:11;:26;4044:662::o;3404:148::-;3453:4;3470:13;3488:16;:14;:16::i;:::-;-1:-1:-1;3521:24:161;;2073:42:215;3521:24:161;;;3404:148;-1:-1:-1;;3404:148:161:o;2614:142::-;2661:13;2676:15;2724:25;:23;:25::i;:::-;2703:46;;;;-1:-1:-1;2614:142:161;-1:-1:-1;2614:142:161:o;5438:957::-;2290:42:215;5637:8:161;5630:225;;;;5689:10;5683:4;5676:24;5787:4;5781;5774:18;5630:225;6006:1;5993:15;5988:3;5984:25;5963:19;5956:54;6119:2;6106:16;6101:3;6097:26;6084:11;6077:47;6171:2;6158:16;6144:12;6137:38;6237:2;6224:16;6206;6199:42;6296:3;6283:17;6272:9;6265:36;6363:3;6350:17;6332:16;6325:43;5550:839;5438:957::o;1583:130:162:-;1632:13;1678:15;2430:21:161;;;;;;;;;;;;;;;;;;2357:101;1678:15:162;1664:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;1657:49;;1583:130;:::o;3139:129:161:-;3192:21;3235:26;:24;:26::i;:::-;3225:36;;3139:129;:::o;2330:112:162:-;2382:5;2412:22;:13;:20;:22::i;6663:384:161:-;6778:10;2290:42:215;6778:33:161;6774:60;;6820:14;;;;;;;;;;;;;;6774:60;6845:92;6874:6;6893:9;6911:5;6927:7;6845:18;:92::i;:::-;6953:87;;;6052:25:416;;;6108:2;6093:18;;6086:34;;;6953:87:161;;;;;;;;;;6025:18:416;6953:87:161;;;;;;;6663:384;;;;:::o;2719:445:162:-;2802:10;2290:42:215;2802:33:162;2798:60;;2844:14;;;;;;;;;;;;;;2798:60;2882:31;2873:5;:40;;;;;;;;:::i;:::-;;2869:289;;2929:26;2948:6;;2929:18;:26::i;:::-;2719:445;;;:::o;2869:289::-;2985:25;2976:5;:34;;;;;;;;:::i;:::-;;2972:186;;3026:22;3041:6;;3026:14;:22::i;2972:186::-;3078:28;3069:5;:37;;;;;;;;:::i;:::-;;3065:93;;3122:25;3140:6;;3122:17;:25::i;2886:121:161:-;2937:19;2976:24;:22;:24::i;2047:157:162:-;2113:4;2148:13;2136:8;:25;:61;;;-1:-1:-1;2165:32:162;:13;2188:8;2165:22;:32::i;:::-;2129:68;2047:157;-1:-1:-1;;2047:157:162:o;2108:406:217:-;2151:13;;;2208:41;1417:48;1464:1;1425:35;1417:48;:::i;:::-;2247:12:226;;2130:145;2208:41:217;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;3178:306::-;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;11254:112:77:-;11314:7;11340:19;11348:3;4444:18;;4362:107;3592:338:217;3689:104;1417:48;1464:1;1425:35;1417:48;:::i;:::-;3739:25;3761:3;3739:25;;;;3767:24;;;3739:52;2703:21:226;;2610:130;3689:104:217;3803:53;1626:52;1677:1;1634:39;1626:52;:::i;:::-;3850:5;2703:21:226;;2610:130;3803:53:217;3866:57;1851:54;1904:1;1859:41;1851:54;:::i;:::-;3915:7;2703:21:226;;2610:130;3866:57:217;3592:338;;;;:::o;3311:383:162:-;3382:13;3397:14;3413:12;3427:14;3445:44;3482:6;;3445:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3445:36:162;;-1:-1:-1;;;3445:44:162:i;:::-;3381:108;;;;;;;;3500:88;3529:5;3547:8;3564:4;3579:6;3500:18;:88::i;:::-;3604:83;;;6052:25:416;;;6108:2;6093:18;;6086:34;;;3604:83:162;;;;;;;;;;6025:18:416;3604:83:162;;;;;;;3371:323;;;;3311:383;;:::o;3857:361::-;3923:15;3941:40;3974:6;;3941:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3941:32:162;;-1:-1:-1;;;3941:40:162:i;:::-;3923:58;-1:-1:-1;4022:15:162;3996:22;:13;:20;:22::i;:::-;:41;3992:81;;4046:27;;;;;;;;;;;;;;3992:81;4099:13;4088:7;:24;:55;;;-1:-1:-1;4117:26:162;:13;4135:7;4117:17;:26::i;:::-;4116:27;4088:55;4084:87;;;4152:19;;;;;;;;;;;;;;4084:87;4187:24;;4203:7;;4187:24;;;;;3913:305;3857:361;;:::o;4389:319::-;4458:15;4476:43;4512:6;;4476:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4476:35:162;;-1:-1:-1;;;4476:43:162:i;:::-;4458:61;;4545:13;4534:7;:24;4530:60;;4567:23;;;;;;;;;;;;;;4530:60;4606:29;:13;4627:7;4606:20;:29::i;:::-;4601:58;;4644:15;;;;;;;;;;;;;;4601:58;4675:26;;4693:7;;4675:26;;;;;4448:260;4389:319;;:::o;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;11029:144:77:-;11106:4;4250:19;;;:12;;;:19;;;;;;:24;;11129:37;11122:44;11029:144;-1:-1:-1;;;11029:144:77:o;40019:458:106:-;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;1063:187:225:-;1139:7;1148:5;1155:7;1164;1201:5;1190:53;;;;;;;;;;;;:::i;:::-;1183:60;;;;;;;;1063:187;;;;;:::o;1773:133::-;1845:7;1882:5;1871:28;;;;;;;;;;;;:::i;10516:129:77:-;10583:4;10606:32;10611:3;10631:5;10606:4;:32::i;10813:135::-;10883:4;10906:35;10914:3;10934:5;10906:7;:35::i;2113:404::-;2176:4;4250:19;;;:12;;;:19;;;;;;2192:319;;-1:-1:-1;2234:23:77;;;;;;;;:11;:23;;;;;;;;;;;;;2414:18;;2392:19;;;:12;;;:19;;;;;;:40;;;;2446:11;;2192:319;-1:-1:-1;2495:5:77;2488:12;;2685:1388;2751:4;2888:19;;;:12;;;:19;;;;;;2922:15;;2918:1149;;3291:21;3315:14;3328:1;3315:10;:14;:::i;:::-;3363:18;;3291:38;;-1:-1:-1;3343:17:77;;3363:22;;3384:1;;3363:22;:::i;:::-;3343:42;;3417:13;3404:9;:26;3400:398;;3450:17;3470:3;:11;;3482:9;3470:22;;;;;;;;:::i;:::-;;;;;;;;;3450:42;;3621:9;3592:3;:11;;3604:13;3592:26;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;;3704:23;;;:12;;;:23;;;;;:36;;;3400:398;3876:17;;:3;;:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3968:3;:12;;:19;3981:5;3968:19;;;;;;;;;;;3961:26;;;4009:4;4002:11;;;;;;;2918:1149;4051:5;4044:12;;;;;14:171:416;81:20;;141:18;130:30;;120:41;;110:69;;175:1;172;165:12;110:69;14:171;;;:::o;190:673::-;309:6;317;325;333;341;349;357;365;418:3;406:9;397:7;393:23;389:33;386:53;;;435:1;432;425:12;386:53;458:28;476:9;458:28;:::i;:::-;448:38;;505:37;538:2;527:9;523:18;505:37;:::i;:::-;495:47;;589:2;578:9;574:18;561:32;551:42;;640:2;629:9;625:18;612:32;602:42;;663:38;696:3;685:9;681:19;663:38;:::i;:::-;190:673;;;;-1:-1:-1;190:673:416;;;;653:48;748:3;733:19;;720:33;;-1:-1:-1;800:3:416;785:19;;772:33;;852:3;837:19;824:33;;-1:-1:-1;190:673:416;-1:-1:-1;;190:673:416:o;1551:258::-;1623:1;1633:113;1647:6;1644:1;1641:13;1633:113;;;1723:11;;;1717:18;1704:11;;;1697:39;1669:2;1662:10;1633:113;;;1764:6;1761:1;1758:13;1755:48;;;-1:-1:-1;;1799:1:416;1781:16;;1774:27;1551:258::o;1814:442::-;1963:2;1952:9;1945:21;1926:4;1995:6;1989:13;2038:6;2033:2;2022:9;2018:18;2011:34;2054:66;2113:6;2108:2;2097:9;2093:18;2088:2;2080:6;2076:15;2054:66;:::i;:::-;2172:2;2160:15;2177:66;2156:88;2141:104;;;;2247:2;2137:113;;1814:442;-1:-1:-1;;1814:442:416:o;3034:154::-;3120:42;3113:5;3109:54;3102:5;3099:65;3089:93;;3178:1;3175;3168:12;3089:93;3034:154;:::o;3193:114::-;3277:4;3270:5;3266:16;3259:5;3256:27;3246:55;;3297:1;3294;3287:12;3312:521;3396:6;3404;3412;3420;3473:3;3461:9;3452:7;3448:23;3444:33;3441:53;;;3490:1;3487;3480:12;3441:53;3529:9;3516:23;3548:31;3573:5;3548:31;:::i;:::-;3598:5;-1:-1:-1;3655:2:416;3640:18;;3627:32;3668:31;3627:32;3668:31;:::i;:::-;3312:521;;3718:7;;-1:-1:-1;;;;3772:2:416;3757:18;;3744:32;;3823:2;3808:18;3795:32;;3312:521::o;3838:751::-;3933:6;3941;3949;4002:2;3990:9;3981:7;3977:23;3973:32;3970:52;;;4018:1;4015;4008:12;3970:52;4057:9;4044:23;4096:1;4089:5;4086:12;4076:40;;4112:1;4109;4102:12;4076:40;4135:5;-1:-1:-1;4191:2:416;4176:18;;4163:32;4214:18;4244:14;;;4241:34;;;4271:1;4268;4261:12;4241:34;4309:6;4298:9;4294:22;4284:32;;4354:7;4347:4;4343:2;4339:13;4335:27;4325:55;;4376:1;4373;4366:12;4325:55;4416:2;4403:16;4442:2;4434:6;4431:14;4428:34;;;4458:1;4455;4448:12;4428:34;4503:7;4498:2;4489:6;4485:2;4481:15;4477:24;4474:37;4471:57;;;4524:1;4521;4514:12;4471:57;4555:2;4551;4547:11;4537:21;;4577:6;4567:16;;;;;3838:751;;;;;:::o;4594:180::-;4653:6;4706:2;4694:9;4685:7;4681:23;4677:32;4674:52;;;4722:1;4719;4712:12;4674:52;-1:-1:-1;4745:23:416;;4594:180;-1:-1:-1;4594:180:416:o;5438:435::-;5659:3;5697:6;5691:13;5713:53;5759:6;5754:3;5747:4;5739:6;5735:17;5713:53;:::i;:::-;5827:10;5788:16;;5813:25;;;-1:-1:-1;5865:1:416;5854:13;;5438:435;-1:-1:-1;5438:435:416:o;6131:184::-;6183:77;6180:1;6173:88;6280:4;6277:1;6270:15;6304:4;6301:1;6294:15;6320:279;6360:4;6388:1;6385;6382:8;6379:188;;;6423:77;6420:1;6413:88;6524:4;6521:1;6514:15;6552:4;6549:1;6542:15;6379:188;-1:-1:-1;6584:9:416;;6320:279::o;6604:512::-;6707:6;6715;6723;6731;6784:3;6772:9;6763:7;6759:23;6755:33;6752:53;;;6801:1;6798;6791:12;6752:53;6833:9;6827:16;6852:31;6877:5;6852:31;:::i;:::-;6952:2;6937:18;;6931:25;6902:5;;-1:-1:-1;6965:31:416;6931:25;6965:31;:::i;:::-;7062:2;7047:18;;7041:25;7106:2;7091:18;;;7085:25;6604:512;;7015:7;;-1:-1:-1;6604:512:416;-1:-1:-1;;;6604:512:416:o;7121:184::-;7191:6;7244:2;7232:9;7223:7;7219:23;7215:32;7212:52;;;7260:1;7257;7250:12;7212:52;-1:-1:-1;7283:16:416;;7121:184;-1:-1:-1;7121:184:416:o;7310:::-;7362:77;7359:1;7352:88;7459:4;7456:1;7449:15;7483:4;7480:1;7473:15;7499:184;7551:77;7548:1;7541:88;7648:4;7645:1;7638:15;7672:4;7669:1;7662:15","linkReferences":{}},"methodIdentifiers":{"DEPOSITOR_ACCOUNT()":"e591b282","baseFeeScalar()":"c5985918","basefee()":"5cf24969","batcherHash()":"e81b2c6d","blobBaseFee()":"f8206140","blobBaseFeeScalar()":"68d5dca6","dependencySetSize()":"5eb30fa3","gasPayingToken()":"4397dfef","gasPayingTokenName()":"d8444715","gasPayingTokenSymbol()":"550fcdc9","hash()":"09bd5a60","isCustomGasToken()":"21326849","isInDependencySet(uint256)":"e38bbc32","l1FeeOverhead()":"8b239f73","l1FeeScalar()":"9e8c4966","number()":"8381f58a","sequenceNumber()":"64ca23ef","setConfig(uint8,bytes)":"c0012163","setGasPayingToken(address,uint8,bytes32,bytes32)":"71cfaa3f","setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)":"015d8eb9","setL1BlockValuesEcotone()":"440a5e20","timestamp()":"b80777ea","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AlreadyDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CantRemovedDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DependencySetSizeTooLarge\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDependency\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDepositor\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"DependencyAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"name\":\"DependencyRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"symbol\",\"type\":\"bytes32\"}],\"name\":\"GasPayingTokenSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEPOSITOR_ACCOUNT\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addr_\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"basefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"batcherHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"blobBaseFeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"dependencySetSize\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"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\":[],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCustomGasToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"}],\"name\":\"isInDependencySet\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1FeeOverhead\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1FeeScalar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"number\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sequenceNumber\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ConfigType\",\"name\":\"_type\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_value\",\"type\":\"bytes\"}],\"name\":\"setConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"_name\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_symbol\",\"type\":\"bytes32\"}],\"name\":\"setGasPayingToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"_number\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_timestamp\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"_basefee\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_hash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"_sequenceNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"_batcherHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_l1FeeOverhead\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_l1FeeScalar\",\"type\":\"uint256\"}],\"name\":\"setL1BlockValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setL1BlockValuesEcotone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"custom:proxied\":\"@custom:predeploy 0x4200000000000000000000000000000000000015\",\"kind\":\"dev\",\"methods\":{\"dependencySetSize()\":{\"returns\":{\"_0\":\"The size of the interop dependency set.\"}},\"isInDependencySet(uint256)\":{\"params\":{\"_chainId\":\"The chain ID to check.\"},\"returns\":{\"_0\":\"True if the chain ID to check is in the interop dependency set. False otherwise.\"}},\"setConfig(uint8,bytes)\":{\"params\":{\"_type\":\"The type of configuration to set.\",\"_value\":\"The encoded value with which to set the configuration.\"}},\"setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)\":{\"custom:legacy\":\"@notice Updates the L1 block values.\",\"params\":{\"_basefee\":\"L1 basefee.\",\"_batcherHash\":\"Versioned hash to authenticate batcher by.\",\"_hash\":\"L1 blockhash.\",\"_l1FeeOverhead\":\"L1 fee overhead.\",\"_l1FeeScalar\":\"L1 fee scalar.\",\"_number\":\"L1 blocknumber.\",\"_sequenceNumber\":\"Number of L2 blocks since epoch start.\",\"_timestamp\":\"L1 timestamp.\"}},\"version()\":{\"custom:semver\":\"+interop\"}},\"title\":\"L1BlockInterop\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyDependency()\":[{\"notice\":\"Error when a chain ID already in the interop dependency set is attempted to be added.\"}],\"CantRemovedDependency()\":[{\"notice\":\"Error when the chain's chain ID is attempted to be removed from the interop dependency set.\"}],\"DependencySetSizeTooLarge()\":[{\"notice\":\"Error when the interop dependency set size is too large.\"}],\"NotDependency()\":[{\"notice\":\"Error when a chain ID is not in the interop dependency set.\"}],\"NotDepositor()\":[{\"notice\":\"Error returns when a non-depositor account tries to set L1 block values.\"}]},\"events\":{\"DependencyAdded(uint256)\":{\"notice\":\"Event emitted when a new dependency is added to the interop dependency set.\"},\"DependencyRemoved(uint256)\":{\"notice\":\"Event emitted when a dependency is removed from the interop dependency set.\"},\"GasPayingTokenSet(address,uint8,bytes32,bytes32)\":{\"notice\":\"Event emitted when the gas paying token is set.\"}},\"kind\":\"user\",\"methods\":{\"DEPOSITOR_ACCOUNT()\":{\"notice\":\"Address of the special depositor account.\"},\"baseFeeScalar()\":{\"notice\":\"The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func.\"},\"basefee()\":{\"notice\":\"The latest L1 base fee.\"},\"batcherHash()\":{\"notice\":\"The versioned hash to authenticate the batcher by.\"},\"blobBaseFee()\":{\"notice\":\"The latest L1 blob base fee.\"},\"blobBaseFeeScalar()\":{\"notice\":\"The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func.\"},\"dependencySetSize()\":{\"notice\":\"Returns the size of the interop dependency set.\"},\"gasPayingToken()\":{\"notice\":\"Returns the gas paying token, its decimals, name and symbol.         If nothing is set in state, then it means ether is used.\"},\"gasPayingTokenName()\":{\"notice\":\"Returns the gas paying token name.         If nothing is set in state, then it means ether is used.\"},\"gasPayingTokenSymbol()\":{\"notice\":\"Returns the gas paying token symbol.         If nothing is set in state, then it means ether is used.\"},\"hash()\":{\"notice\":\"The latest L1 blockhash.\"},\"isCustomGasToken()\":{\"notice\":\"Getter for custom gas token paying networks. Returns true if the         network uses a custom gas token.\"},\"isInDependencySet(uint256)\":{\"notice\":\"Returns true if a chain ID is in the interop dependency set and false otherwise.         The chain's chain ID is always considered to be in the dependency set.\"},\"l1FeeOverhead()\":{\"notice\":\"The overhead value applied to the L1 portion of the transaction fee.\"},\"l1FeeScalar()\":{\"notice\":\"The scalar value applied to the L1 portion of the transaction fee.\"},\"number()\":{\"notice\":\"The latest L1 block number known by the L2 system.\"},\"sequenceNumber()\":{\"notice\":\"The number of L2 blocks in the same epoch.\"},\"setConfig(uint8,bytes)\":{\"notice\":\"Sets static configuration options for the L2 system. Can only be called by the special         depositor account.\"},\"setGasPayingToken(address,uint8,bytes32,bytes32)\":{\"notice\":\"Sets the gas paying token for the L2 system. Can only be called by the special         depositor account. This function is not called on every L2 block but instead         only called by specially crafted L1 deposit transactions.\"},\"setL1BlockValuesEcotone()\":{\"notice\":\"Updates the L1 block values for an Ecotone upgraded chain. Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size. Params are expected to be in the following order:   1. _baseFeeScalar      L1 base fee scalar   2. _blobBaseFeeScalar  L1 blob base fee scalar   3. _sequenceNumber     Number of L2 blocks since epoch start.   4. _timestamp          L1 timestamp.   5. _number             L1 blocknumber.   6. _basefee            L1 base fee.   7. _blobBaseFee        L1 blob base fee.   8. _hash               L1 blockhash.   9. _batcherHash        Versioned hash to authenticate batcher by.\"},\"timestamp()\":{\"notice\":\"The latest L1 timestamp known by the L2 system.\"}},\"notice\":\"Interop extenstions of L1Block.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/L2/L1BlockInterop.sol\":\"L1BlockInterop\"},\"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/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f\",\"dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"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/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x5050943b32b6a8f282573d166b2e9d87ab7eb4dbba4ab6acf36ecb54fe6995e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4831d777a29ebdf9f2caecd70e74b97bff1b70e53622fd0a02aed01e21c8271\",\"dweb:/ipfs/QmUqurVVnCc7XkMxb2k23TVQUtuhHZduJ3hTZarTJrqU24\"]},\"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/ResourceMetering.sol\":{\"keccak256\":\"0x069f3449a0408d7a9d05f3a5e01cce5e9c746591d8f3c87b43fcf9723bf7301d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://124fff8e3b3c5992f04f1c92ceac09b003b880ec43031ef4ce816b2750184805\",\"dweb:/ipfs/QmfRxhi3hRdAhFkMLjX6RgHeFnWtkTJveQe8DVJcvRv3Er\"]},\"src/L2/L1Block.sol\":{\"keccak256\":\"0x1f8894a2ab02b402c2e9d4d94b8f3d3bc4423e4b1236fb167f7e705f2a115e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://291b05252e8e5394ec13718d6f2d15750f55f11d79224961abcd1c03689f66fc\",\"dweb:/ipfs/QmRGQXadbHNy3ZHbCNCKU8XPg4wqvQBzRMAk5JTRucioFZ\"]},\"src/L2/L1BlockInterop.sol\":{\"keccak256\":\"0xac9d507efbc0e401658b0d855d86a0fb9ed9046b11b810224367c93defb1ee57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ccf7a4be3dbeaeaf67ef04fe41208e985741ad7dd94a2f836da66ca314b958\",\"dweb:/ipfs/QmPkhgRq3SpE2ymFAJoubjP8ZW4kj1tF9doFfcbkJ64CXS\"]},\"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/Constants.sol\":{\"keccak256\":\"0x0a52edff4eb90806c5fd570e9c4be2e04327facb9af24e8d15c6cdea9f7a6395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b009c00e43bfc2794ee8954a57e37084eb6fdc05c215aab19f8d697d1a86ca5\",\"dweb:/ipfs/QmQNzUfs95W6dLVPrHj8ik51uhiD5acihYcxZBDhpTCw4f\"]},\"src/libraries/GasPayingToken.sol\":{\"keccak256\":\"0xf19e06af2387c0febaa4a77f93e35dfaf367cac318c804b9023eba0cb5b35237\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c1b26566a54ea67c802261882e26322baf6100480613c6582337fb85d7d82d8\",\"dweb:/ipfs/QmPt5FLyGAeJVx1tDXHP55B91xgn4AwQk91WaCJkFV7kTw\"]},\"src/libraries/L1BlockErrors.sol\":{\"keccak256\":\"0x34996ccf6dad2275743a9cfc9b5bed1295ab58afd3ad23c2f3e099b0eec22cdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://faa82b96c691f9293dac833ef3afc10ca59a306e00de0334b1882cdfcad49594\",\"dweb:/ipfs/QmZzwimfHtv9tF8d31MWMUq9w7Gks6edMqc21JQkm6RoP2\"]},\"src/libraries/StaticConfig.sol\":{\"keccak256\":\"0x5b7689be1f9600fcfe2e0b0c1aaa00b5497ab60d5486818725048d181fa53125\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f2feaba56c49b226d9651d235fed39af0672f3bc9c946d9ae86b98305a65aa9\",\"dweb:/ipfs/QmRRrpCmwpJTjSXG4Qmn5WxtAwmhsf9dZpHoFvASQ3xBta\"]},\"src/libraries/Storage.sol\":{\"keccak256\":\"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269\",\"dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK\"]},\"src/universal/ISemver.sol\":{\"keccak256\":\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\",\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AlreadyDependency"},{"inputs":[],"type":"error","name":"CantRemovedDependency"},{"inputs":[],"type":"error","name":"DependencySetSizeTooLarge"},{"inputs":[],"type":"error","name":"NotDependency"},{"inputs":[],"type":"error","name":"NotDepositor"},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256","indexed":true}],"type":"event","name":"DependencyAdded","anonymous":false},{"inputs":[{"internalType":"uint256","name":"chainId","type":"uint256","indexed":true}],"type":"event","name":"DependencyRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"uint8","name":"decimals","type":"uint8","indexed":true},{"internalType":"bytes32","name":"name","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"symbol","type":"bytes32","indexed":false}],"type":"event","name":"GasPayingTokenSet","anonymous":false},{"inputs":[],"stateMutability":"pure","type":"function","name":"DEPOSITOR_ACCOUNT","outputs":[{"internalType":"address","name":"addr_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseFeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"basefee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"batcherHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"blobBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"blobBaseFeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"dependencySetSize","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"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":[],"stateMutability":"view","type":"function","name":"hash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isCustomGasToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_chainId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isInDependencySet","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1FeeOverhead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1FeeScalar","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"number","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"sequenceNumber","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"enum ConfigType","name":"_type","type":"uint8"},{"internalType":"bytes","name":"_value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setConfig"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint8","name":"_decimals","type":"uint8"},{"internalType":"bytes32","name":"_name","type":"bytes32"},{"internalType":"bytes32","name":"_symbol","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setGasPayingToken"},{"inputs":[{"internalType":"uint64","name":"_number","type":"uint64"},{"internalType":"uint64","name":"_timestamp","type":"uint64"},{"internalType":"uint256","name":"_basefee","type":"uint256"},{"internalType":"bytes32","name":"_hash","type":"bytes32"},{"internalType":"uint64","name":"_sequenceNumber","type":"uint64"},{"internalType":"bytes32","name":"_batcherHash","type":"bytes32"},{"internalType":"uint256","name":"_l1FeeOverhead","type":"uint256"},{"internalType":"uint256","name":"_l1FeeScalar","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setL1BlockValues"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setL1BlockValuesEcotone"},{"inputs":[],"stateMutability":"view","type":"function","name":"timestamp","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"dependencySetSize()":{"returns":{"_0":"The size of the interop dependency set."}},"isInDependencySet(uint256)":{"params":{"_chainId":"The chain ID to check."},"returns":{"_0":"True if the chain ID to check is in the interop dependency set. False otherwise."}},"setConfig(uint8,bytes)":{"params":{"_type":"The type of configuration to set.","_value":"The encoded value with which to set the configuration."}},"setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)":{"custom:legacy":"@notice Updates the L1 block values.","params":{"_basefee":"L1 basefee.","_batcherHash":"Versioned hash to authenticate batcher by.","_hash":"L1 blockhash.","_l1FeeOverhead":"L1 fee overhead.","_l1FeeScalar":"L1 fee scalar.","_number":"L1 blocknumber.","_sequenceNumber":"Number of L2 blocks since epoch start.","_timestamp":"L1 timestamp."}},"version()":{"custom:semver":"+interop"}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_ACCOUNT()":{"notice":"Address of the special depositor account."},"baseFeeScalar()":{"notice":"The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func."},"basefee()":{"notice":"The latest L1 base fee."},"batcherHash()":{"notice":"The versioned hash to authenticate the batcher by."},"blobBaseFee()":{"notice":"The latest L1 blob base fee."},"blobBaseFeeScalar()":{"notice":"The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func."},"dependencySetSize()":{"notice":"Returns the size of the interop dependency set."},"gasPayingToken()":{"notice":"Returns the gas paying token, its decimals, name and symbol.         If nothing is set in state, then it means ether is used."},"gasPayingTokenName()":{"notice":"Returns the gas paying token name.         If nothing is set in state, then it means ether is used."},"gasPayingTokenSymbol()":{"notice":"Returns the gas paying token symbol.         If nothing is set in state, then it means ether is used."},"hash()":{"notice":"The latest L1 blockhash."},"isCustomGasToken()":{"notice":"Getter for custom gas token paying networks. Returns true if the         network uses a custom gas token."},"isInDependencySet(uint256)":{"notice":"Returns true if a chain ID is in the interop dependency set and false otherwise.         The chain's chain ID is always considered to be in the dependency set."},"l1FeeOverhead()":{"notice":"The overhead value applied to the L1 portion of the transaction fee."},"l1FeeScalar()":{"notice":"The scalar value applied to the L1 portion of the transaction fee."},"number()":{"notice":"The latest L1 block number known by the L2 system."},"sequenceNumber()":{"notice":"The number of L2 blocks in the same epoch."},"setConfig(uint8,bytes)":{"notice":"Sets static configuration options for the L2 system. Can only be called by the special         depositor account."},"setGasPayingToken(address,uint8,bytes32,bytes32)":{"notice":"Sets the gas paying token for the L2 system. Can only be called by the special         depositor account. This function is not called on every L2 block but instead         only called by specially crafted L1 deposit transactions."},"setL1BlockValuesEcotone()":{"notice":"Updates the L1 block values for an Ecotone upgraded chain. Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size. Params are expected to be in the following order:   1. _baseFeeScalar      L1 base fee scalar   2. _blobBaseFeeScalar  L1 blob base fee scalar   3. _sequenceNumber     Number of L2 blocks since epoch start.   4. _timestamp          L1 timestamp.   5. _number             L1 blocknumber.   6. _basefee            L1 base fee.   7. _blobBaseFee        L1 blob base fee.   8. _hash               L1 blockhash.   9. _batcherHash        Versioned hash to authenticate batcher by."},"timestamp()":{"notice":"The latest L1 timestamp known by the L2 system."}},"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/L2/L1BlockInterop.sol":"L1BlockInterop"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66","urls":["bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f","dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV"],"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/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/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x5050943b32b6a8f282573d166b2e9d87ab7eb4dbba4ab6acf36ecb54fe6995e4","urls":["bzz-raw://d4831d777a29ebdf9f2caecd70e74b97bff1b70e53622fd0a02aed01e21c8271","dweb:/ipfs/QmUqurVVnCc7XkMxb2k23TVQUtuhHZduJ3hTZarTJrqU24"],"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/ResourceMetering.sol":{"keccak256":"0x069f3449a0408d7a9d05f3a5e01cce5e9c746591d8f3c87b43fcf9723bf7301d","urls":["bzz-raw://124fff8e3b3c5992f04f1c92ceac09b003b880ec43031ef4ce816b2750184805","dweb:/ipfs/QmfRxhi3hRdAhFkMLjX6RgHeFnWtkTJveQe8DVJcvRv3Er"],"license":"MIT"},"src/L2/L1Block.sol":{"keccak256":"0x1f8894a2ab02b402c2e9d4d94b8f3d3bc4423e4b1236fb167f7e705f2a115e80","urls":["bzz-raw://291b05252e8e5394ec13718d6f2d15750f55f11d79224961abcd1c03689f66fc","dweb:/ipfs/QmRGQXadbHNy3ZHbCNCKU8XPg4wqvQBzRMAk5JTRucioFZ"],"license":"MIT"},"src/L2/L1BlockInterop.sol":{"keccak256":"0xac9d507efbc0e401658b0d855d86a0fb9ed9046b11b810224367c93defb1ee57","urls":["bzz-raw://59ccf7a4be3dbeaeaf67ef04fe41208e985741ad7dd94a2f836da66ca314b958","dweb:/ipfs/QmPkhgRq3SpE2ymFAJoubjP8ZW4kj1tF9doFfcbkJ64CXS"],"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/Constants.sol":{"keccak256":"0x0a52edff4eb90806c5fd570e9c4be2e04327facb9af24e8d15c6cdea9f7a6395","urls":["bzz-raw://9b009c00e43bfc2794ee8954a57e37084eb6fdc05c215aab19f8d697d1a86ca5","dweb:/ipfs/QmQNzUfs95W6dLVPrHj8ik51uhiD5acihYcxZBDhpTCw4f"],"license":"MIT"},"src/libraries/GasPayingToken.sol":{"keccak256":"0xf19e06af2387c0febaa4a77f93e35dfaf367cac318c804b9023eba0cb5b35237","urls":["bzz-raw://3c1b26566a54ea67c802261882e26322baf6100480613c6582337fb85d7d82d8","dweb:/ipfs/QmPt5FLyGAeJVx1tDXHP55B91xgn4AwQk91WaCJkFV7kTw"],"license":"MIT"},"src/libraries/L1BlockErrors.sol":{"keccak256":"0x34996ccf6dad2275743a9cfc9b5bed1295ab58afd3ad23c2f3e099b0eec22cdc","urls":["bzz-raw://faa82b96c691f9293dac833ef3afc10ca59a306e00de0334b1882cdfcad49594","dweb:/ipfs/QmZzwimfHtv9tF8d31MWMUq9w7Gks6edMqc21JQkm6RoP2"],"license":"MIT"},"src/libraries/StaticConfig.sol":{"keccak256":"0x5b7689be1f9600fcfe2e0b0c1aaa00b5497ab60d5486818725048d181fa53125","urls":["bzz-raw://6f2feaba56c49b226d9651d235fed39af0672f3bc9c946d9ae86b98305a65aa9","dweb:/ipfs/QmRRrpCmwpJTjSXG4Qmn5WxtAwmhsf9dZpHoFvASQ3xBta"],"license":"MIT"},"src/libraries/Storage.sol":{"keccak256":"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f","urls":["bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269","dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":96976,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"number","offset":0,"slot":"0","type":"t_uint64"},{"astId":96979,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"timestamp","offset":8,"slot":"0","type":"t_uint64"},{"astId":96982,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"basefee","offset":0,"slot":"1","type":"t_uint256"},{"astId":96985,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"hash","offset":0,"slot":"2","type":"t_bytes32"},{"astId":96988,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"sequenceNumber","offset":0,"slot":"3","type":"t_uint64"},{"astId":96991,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"blobBaseFeeScalar","offset":8,"slot":"3","type":"t_uint32"},{"astId":96994,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"baseFeeScalar","offset":12,"slot":"3","type":"t_uint32"},{"astId":96997,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"batcherHash","offset":0,"slot":"4","type":"t_bytes32"},{"astId":97000,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"l1FeeOverhead","offset":0,"slot":"5","type":"t_uint256"},{"astId":97003,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"l1FeeScalar","offset":0,"slot":"6","type":"t_uint256"},{"astId":97006,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"blobBaseFee","offset":0,"slot":"7","type":"t_uint256"},{"astId":97223,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"dependencySet","offset":0,"slot":"8","type":"t_struct(UintSet)57986_storage"}],"types":{"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_struct(Set)57528_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","numberOfBytes":"64","members":[{"astId":57523,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":57527,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"_indexes","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}]},"t_struct(UintSet)57986_storage":{"encoding":"inplace","label":"struct EnumerableSet.UintSet","numberOfBytes":"64","members":[{"astId":57985,"contract":"src/L2/L1BlockInterop.sol:L1BlockInterop","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)57528_storage"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint32":{"encoding":"inplace","label":"uint32","numberOfBytes":"4"},"t_uint64":{"encoding":"inplace","label":"uint64","numberOfBytes":"8"}}},"userdoc":{"version":1,"kind":"user","methods":{"DEPOSITOR_ACCOUNT()":{"notice":"Address of the special depositor account."},"baseFeeScalar()":{"notice":"The scalar value applied to the L1 base fee portion of the blob-capable L1 cost func."},"basefee()":{"notice":"The latest L1 base fee."},"batcherHash()":{"notice":"The versioned hash to authenticate the batcher by."},"blobBaseFee()":{"notice":"The latest L1 blob base fee."},"blobBaseFeeScalar()":{"notice":"The scalar value applied to the L1 blob base fee portion of the blob-capable L1 cost func."},"dependencySetSize()":{"notice":"Returns the size of the interop dependency set."},"gasPayingToken()":{"notice":"Returns the gas paying token, its decimals, name and symbol.         If nothing is set in state, then it means ether is used."},"gasPayingTokenName()":{"notice":"Returns the gas paying token name.         If nothing is set in state, then it means ether is used."},"gasPayingTokenSymbol()":{"notice":"Returns the gas paying token symbol.         If nothing is set in state, then it means ether is used."},"hash()":{"notice":"The latest L1 blockhash."},"isCustomGasToken()":{"notice":"Getter for custom gas token paying networks. Returns true if the         network uses a custom gas token."},"isInDependencySet(uint256)":{"notice":"Returns true if a chain ID is in the interop dependency set and false otherwise.         The chain's chain ID is always considered to be in the dependency set."},"l1FeeOverhead()":{"notice":"The overhead value applied to the L1 portion of the transaction fee."},"l1FeeScalar()":{"notice":"The scalar value applied to the L1 portion of the transaction fee."},"number()":{"notice":"The latest L1 block number known by the L2 system."},"sequenceNumber()":{"notice":"The number of L2 blocks in the same epoch."},"setConfig(uint8,bytes)":{"notice":"Sets static configuration options for the L2 system. Can only be called by the special         depositor account."},"setGasPayingToken(address,uint8,bytes32,bytes32)":{"notice":"Sets the gas paying token for the L2 system. Can only be called by the special         depositor account. This function is not called on every L2 block but instead         only called by specially crafted L1 deposit transactions."},"setL1BlockValuesEcotone()":{"notice":"Updates the L1 block values for an Ecotone upgraded chain. Params are packed and passed in as raw msg.data instead of ABI to reduce calldata size. Params are expected to be in the following order:   1. _baseFeeScalar      L1 base fee scalar   2. _blobBaseFeeScalar  L1 blob base fee scalar   3. _sequenceNumber     Number of L2 blocks since epoch start.   4. _timestamp          L1 timestamp.   5. _number             L1 blocknumber.   6. _basefee            L1 base fee.   7. _blobBaseFee        L1 blob base fee.   8. _hash               L1 blockhash.   9. _batcherHash        Versioned hash to authenticate batcher by."},"timestamp()":{"notice":"The latest L1 timestamp known by the L2 system."}},"events":{"DependencyAdded(uint256)":{"notice":"Event emitted when a new dependency is added to the interop dependency set."},"DependencyRemoved(uint256)":{"notice":"Event emitted when a dependency is removed from the interop dependency set."},"GasPayingTokenSet(address,uint8,bytes32,bytes32)":{"notice":"Event emitted when the gas paying token is set."}},"errors":{"AlreadyDependency()":[{"notice":"Error when a chain ID already in the interop dependency set is attempted to be added."}],"CantRemovedDependency()":[{"notice":"Error when the chain's chain ID is attempted to be removed from the interop dependency set."}],"DependencySetSizeTooLarge()":[{"notice":"Error when the interop dependency set size is too large."}],"NotDependency()":[{"notice":"Error when a chain ID is not in the interop dependency set."}],"NotDepositor()":[{"notice":"Error returns when a non-depositor account tries to set L1 block values."}]},"notice":"Interop extenstions of L1Block."},"devdoc":{"version":1,"kind":"dev","methods":{"dependencySetSize()":{"returns":{"_0":"The size of the interop dependency set."}},"isInDependencySet(uint256)":{"params":{"_chainId":"The chain ID to check."},"returns":{"_0":"True if the chain ID to check is in the interop dependency set. False otherwise."}},"setConfig(uint8,bytes)":{"params":{"_type":"The type of configuration to set.","_value":"The encoded value with which to set the configuration."}},"setL1BlockValues(uint64,uint64,uint256,bytes32,uint64,bytes32,uint256,uint256)":{"params":{"_basefee":"L1 basefee.","_batcherHash":"Versioned hash to authenticate batcher by.","_hash":"L1 blockhash.","_l1FeeOverhead":"L1 fee overhead.","_l1FeeScalar":"L1 fee scalar.","_number":"L1 blocknumber.","_sequenceNumber":"Number of L2 blocks since epoch start.","_timestamp":"L1 timestamp."}},"version()":{}},"title":"L1BlockInterop"},"ast":{"absolutePath":"src/L2/L1BlockInterop.sol","id":97440,"exportedSymbols":{"AlreadyDependency":[113781],"CantRemovedDependency":[113784],"ConfigType":[97202],"DependencySetSizeTooLarge":[113778],"EnumerableSet":[58116],"GasPayingToken":[113545],"L1Block":[97187],"L1BlockInterop":[97439],"NotDependency":[113775],"NotDepositor":[113772],"StaticConfig":[114858]},"nodeType":"SourceUnit","src":"33:4678:162","nodes":[{"id":97189,"nodeType":"PragmaDirective","src":"33:23:162","nodes":[],"literals":["solidity","0.8",".15"]},{"id":97191,"nodeType":"ImportDirective","src":"58:45:162","nodes":[],"absolutePath":"src/L2/L1Block.sol","file":"src/L2/L1Block.sol","nameLocation":"-1:-1:-1","scope":97440,"sourceUnit":97188,"symbolAliases":[{"foreign":{"id":97190,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"67:7:162","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97193,"nodeType":"ImportDirective","src":"104:88:162","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol","file":"@openzeppelin/contracts/utils/structs/EnumerableSet.sol","nameLocation":"-1:-1:-1","scope":97440,"sourceUnit":58117,"symbolAliases":[{"foreign":{"id":97192,"name":"EnumerableSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58116,"src":"113:13:162","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97195,"nodeType":"ImportDirective","src":"193:66:162","nodes":[],"absolutePath":"src/libraries/GasPayingToken.sol","file":"src/libraries/GasPayingToken.sol","nameLocation":"-1:-1:-1","scope":97440,"sourceUnit":113546,"symbolAliases":[{"foreign":{"id":97194,"name":"GasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113545,"src":"202:14:162","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97197,"nodeType":"ImportDirective","src":"260:62:162","nodes":[],"absolutePath":"src/libraries/StaticConfig.sol","file":"src/libraries/StaticConfig.sol","nameLocation":"-1:-1:-1","scope":97440,"sourceUnit":114859,"symbolAliases":[{"foreign":{"id":97196,"name":"StaticConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114858,"src":"269:12:162","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":97198,"nodeType":"ImportDirective","src":"323:41:162","nodes":[],"absolutePath":"src/libraries/L1BlockErrors.sol","file":"src/libraries/L1BlockErrors.sol","nameLocation":"-1:-1:-1","scope":97440,"sourceUnit":113785,"symbolAliases":[],"unitAlias":""},{"id":97202,"nodeType":"EnumDefinition","src":"804:87:162","nodes":[],"canonicalName":"ConfigType","members":[{"id":97199,"name":"SET_GAS_PAYING_TOKEN","nameLocation":"826:20:162","nodeType":"EnumValue","src":"826:20:162"},{"id":97200,"name":"ADD_DEPENDENCY","nameLocation":"852:14:162","nodeType":"EnumValue","src":"852:14:162"},{"id":97201,"name":"REMOVE_DEPENDENCY","nameLocation":"872:17:162","nodeType":"EnumValue","src":"872:17:162"}],"name":"ConfigType","nameLocation":"809:10:162"},{"id":97439,"nodeType":"ContractDefinition","src":"1048:3662:162","nodes":[{"id":97209,"nodeType":"UsingForDirective","src":"1089:46:162","nodes":[],"global":false,"libraryName":{"id":97206,"name":"EnumerableSet","nodeType":"IdentifierPath","referencedDeclaration":58116,"src":"1095:13:162"},"typeName":{"id":97208,"nodeType":"UserDefinedTypeName","pathNode":{"id":97207,"name":"EnumerableSet.UintSet","nodeType":"IdentifierPath","referencedDeclaration":57986,"src":"1113:21:162"},"referencedDeclaration":57986,"src":"1113:21:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage_ptr","typeString":"struct EnumerableSet.UintSet"}}},{"id":97214,"nodeType":"EventDefinition","src":"1233:47:162","nodes":[],"anonymous":false,"documentation":{"id":97210,"nodeType":"StructuredDocumentation","src":"1141:87:162","text":"@notice Event emitted when a new dependency is added to the interop dependency set."},"eventSelector":"754553d16dd99693ae11c457214cb1baa77b15c7b02cea5515370dc637e050f0","name":"DependencyAdded","nameLocation":"1239:15:162","parameters":{"id":97213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97212,"indexed":true,"mutability":"mutable","name":"chainId","nameLocation":"1271:7:162","nodeType":"VariableDeclaration","scope":97214,"src":"1255:23:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97211,"name":"uint256","nodeType":"ElementaryTypeName","src":"1255:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1254:25:162"}},{"id":97219,"nodeType":"EventDefinition","src":"1378:49:162","nodes":[],"anonymous":false,"documentation":{"id":97215,"nodeType":"StructuredDocumentation","src":"1286:87:162","text":"@notice Event emitted when a dependency is removed from the interop dependency set."},"eventSelector":"c96df06add4aa6dba310cd93d0b93d7b645252f40e11fa6089731c841315cd89","name":"DependencyRemoved","nameLocation":"1384:17:162","parameters":{"id":97218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97217,"indexed":true,"mutability":"mutable","name":"chainId","nameLocation":"1418:7:162","nodeType":"VariableDeclaration","scope":97219,"src":"1402:23:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97216,"name":"uint256","nodeType":"ElementaryTypeName","src":"1402:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1401:25:162"}},{"id":97223,"nodeType":"VariableDeclaration","src":"1509:35:162","nodes":[],"constant":false,"documentation":{"id":97220,"nodeType":"StructuredDocumentation","src":"1433:71:162","text":"@notice The interop dependency set, containing the chain IDs in it."},"mutability":"mutable","name":"dependencySet","nameLocation":"1531:13:162","scope":97439,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage","typeString":"struct EnumerableSet.UintSet"},"typeName":{"id":97222,"nodeType":"UserDefinedTypeName","pathNode":{"id":97221,"name":"EnumerableSet.UintSet","nodeType":"IdentifierPath","referencedDeclaration":57986,"src":"1509:21:162"},"referencedDeclaration":57986,"src":"1509:21:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage_ptr","typeString":"struct EnumerableSet.UintSet"}},"visibility":"internal"},{"id":97240,"nodeType":"FunctionDefinition","src":"1583:130:162","nodes":[],"body":{"id":97239,"nodeType":"Block","src":"1647:66:162","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":97233,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1678:5:162","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_L1BlockInterop_$97439_$","typeString":"type(contract super L1BlockInterop)"}},"id":97234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"version","nodeType":"MemberAccess","referencedDeclaration":97015,"src":"1678:13:162","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":97235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1678:15:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2b696e7465726f70","id":97236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1695:10:162","typeDescriptions":{"typeIdentifier":"t_stringliteral_443b64a5b19ed0b303815a022525e76355089425eb9408ca61ad4db7a7e2dfe0","typeString":"literal_string \"+interop\""},"value":"+interop"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_443b64a5b19ed0b303815a022525e76355089425eb9408ca61ad4db7a7e2dfe0","typeString":"literal_string \"+interop\""}],"expression":{"id":97231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1664:6:162","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":97230,"name":"string","nodeType":"ElementaryTypeName","src":"1664:6:162","typeDescriptions":{}}},"id":97232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"concat","nodeType":"MemberAccess","src":"1664:13:162","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":97237,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1664:42:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":97229,"id":97238,"nodeType":"Return","src":"1657:49:162"}]},"baseFunctions":[97015],"documentation":{"id":97224,"nodeType":"StructuredDocumentation","src":"1551:27:162","text":"@custom:semver +interop"},"functionSelector":"54fd4d50","implemented":true,"kind":"function","modifiers":[],"name":"version","nameLocation":"1592:7:162","overrides":{"id":97226,"nodeType":"OverrideSpecifier","overrides":[],"src":"1614:8:162"},"parameters":{"id":97225,"nodeType":"ParameterList","parameters":[],"src":"1599:2:162"},"returnParameters":{"id":97229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97240,"src":"1632:13:162","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":97227,"name":"string","nodeType":"ElementaryTypeName","src":"1632:6:162","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1631:15:162"},"scope":97439,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":97259,"nodeType":"FunctionDefinition","src":"2047:157:162","nodes":[],"body":{"id":97258,"nodeType":"Block","src":"2119:85:162","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97248,"name":"_chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97243,"src":"2136:8:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97249,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2148:5:162","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":97250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"2148:13:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2136:25:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":97254,"name":"_chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97243,"src":"2188:8:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":97252,"name":"dependencySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97223,"src":"2165:13:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage","typeString":"struct EnumerableSet.UintSet storage ref"}},"id":97253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":58049,"src":"2165:22:162","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_UintSet_$57986_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$57986_storage_ptr_$","typeString":"function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (bool)"}},"id":97255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2165:32:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2136:61:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":97247,"id":97257,"nodeType":"Return","src":"2129:68:162"}]},"documentation":{"id":97241,"nodeType":"StructuredDocumentation","src":"1719:323:162","text":"@notice Returns true if a chain ID is in the interop dependency set and false otherwise.\n         The chain's chain ID is always considered to be in the dependency set.\n @param _chainId The chain ID to check.\n @return True if the chain ID to check is in the interop dependency set. False otherwise."},"functionSelector":"e38bbc32","implemented":true,"kind":"function","modifiers":[],"name":"isInDependencySet","nameLocation":"2056:17:162","parameters":{"id":97244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97243,"mutability":"mutable","name":"_chainId","nameLocation":"2082:8:162","nodeType":"VariableDeclaration","scope":97259,"src":"2074:16:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97242,"name":"uint256","nodeType":"ElementaryTypeName","src":"2074:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2073:18:162"},"returnParameters":{"id":97247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97259,"src":"2113:4:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":97245,"name":"bool","nodeType":"ElementaryTypeName","src":"2113:4:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2112:6:162"},"scope":97439,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":97273,"nodeType":"FunctionDefinition","src":"2330:112:162","nodes":[],"body":{"id":97272,"nodeType":"Block","src":"2389:53:162","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":97267,"name":"dependencySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97223,"src":"2412:13:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage","typeString":"struct EnumerableSet.UintSet storage ref"}},"id":97268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":58064,"src":"2412:20:162","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_UintSet_$57986_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$57986_storage_ptr_$","typeString":"function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"}},"id":97269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2412:22:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2406:5:162","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":97265,"name":"uint8","nodeType":"ElementaryTypeName","src":"2406:5:162","typeDescriptions":{}}},"id":97270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2406:29:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":97264,"id":97271,"nodeType":"Return","src":"2399:36:162"}]},"documentation":{"id":97260,"nodeType":"StructuredDocumentation","src":"2210:115:162","text":"@notice Returns the size of the interop dependency set.\n @return The size of the interop dependency set."},"functionSelector":"5eb30fa3","implemented":true,"kind":"function","modifiers":[],"name":"dependencySetSize","nameLocation":"2339:17:162","parameters":{"id":97261,"nodeType":"ParameterList","parameters":[],"src":"2356:2:162"},"returnParameters":{"id":97264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97273,"src":"2382:5:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":97262,"name":"uint8","nodeType":"ElementaryTypeName","src":"2382:5:162","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2381:7:162"},"scope":97439,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":97322,"nodeType":"FunctionDefinition","src":"2719:445:162","nodes":[],"body":{"id":97321,"nodeType":"Block","src":"2788:376:162","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":97286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":97282,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2802:3:162","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":97283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"2802:10:162","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":97284,"name":"DEPOSITOR_ACCOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96973,"src":"2816:17:162","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_address_$","typeString":"function () pure returns (address)"}},"id":97285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2816:19:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2802:33:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97290,"nodeType":"IfStatement","src":"2798:60:162","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97287,"name":"NotDepositor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113772,"src":"2844:12:162","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2844:14:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97289,"nodeType":"RevertStatement","src":"2837:21:162"}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"},"id":97294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97291,"name":"_type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97277,"src":"2873:5:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97292,"name":"ConfigType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97202,"src":"2882:10:162","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ConfigType_$97202_$","typeString":"type(enum ConfigType)"}},"id":97293,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"SET_GAS_PAYING_TOKEN","nodeType":"MemberAccess","referencedDeclaration":97199,"src":"2882:31:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"src":"2873:40:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"},"id":97303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97300,"name":"_type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97277,"src":"2976:5:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97301,"name":"ConfigType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97202,"src":"2985:10:162","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ConfigType_$97202_$","typeString":"type(enum ConfigType)"}},"id":97302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"ADD_DEPENDENCY","nodeType":"MemberAccess","referencedDeclaration":97200,"src":"2985:25:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"src":"2976:34:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"},"id":97312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97309,"name":"_type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97277,"src":"3069:5:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97310,"name":"ConfigType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97202,"src":"3078:10:162","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ConfigType_$97202_$","typeString":"type(enum ConfigType)"}},"id":97311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"REMOVE_DEPENDENCY","nodeType":"MemberAccess","referencedDeclaration":97201,"src":"3078:28:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"src":"3069:37:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97318,"nodeType":"IfStatement","src":"3065:93:162","trueBody":{"id":97317,"nodeType":"Block","src":"3108:50:162","statements":[{"expression":{"arguments":[{"id":97314,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"3140:6:162","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":97313,"name":"_removeDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97438,"src":"3122:17:162","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (bytes calldata)"}},"id":97315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3122:25:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97316,"nodeType":"ExpressionStatement","src":"3122:25:162"}]}},"id":97319,"nodeType":"IfStatement","src":"2972:186:162","trueBody":{"id":97308,"nodeType":"Block","src":"3012:47:162","statements":[{"expression":{"arguments":[{"id":97305,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"3041:6:162","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":97304,"name":"_addDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97403,"src":"3026:14:162","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (bytes calldata)"}},"id":97306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3026:22:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97307,"nodeType":"ExpressionStatement","src":"3026:22:162"}]}},"id":97320,"nodeType":"IfStatement","src":"2869:289:162","trueBody":{"id":97299,"nodeType":"Block","src":"2915:51:162","statements":[{"expression":{"arguments":[{"id":97296,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"2948:6:162","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":97295,"name":"_setGasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97358,"src":"2929:18:162","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (bytes calldata)"}},"id":97297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2929:26:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97298,"nodeType":"ExpressionStatement","src":"2929:26:162"}]}}]},"documentation":{"id":97274,"nodeType":"StructuredDocumentation","src":"2448:266:162","text":"@notice Sets static configuration options for the L2 system. Can only be called by the special\n         depositor account.\n @param _type  The type of configuration to set.\n @param _value The encoded value with which to set the configuration."},"functionSelector":"c0012163","implemented":true,"kind":"function","modifiers":[],"name":"setConfig","nameLocation":"2728:9:162","parameters":{"id":97280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97277,"mutability":"mutable","name":"_type","nameLocation":"2749:5:162","nodeType":"VariableDeclaration","scope":97322,"src":"2738:16:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"},"typeName":{"id":97276,"nodeType":"UserDefinedTypeName","pathNode":{"id":97275,"name":"ConfigType","nodeType":"IdentifierPath","referencedDeclaration":97202,"src":"2738:10:162"},"referencedDeclaration":97202,"src":"2738:10:162","typeDescriptions":{"typeIdentifier":"t_enum$_ConfigType_$97202","typeString":"enum ConfigType"}},"visibility":"internal"},{"constant":false,"id":97279,"mutability":"mutable","name":"_value","nameLocation":"2771:6:162","nodeType":"VariableDeclaration","scope":97322,"src":"2756:21:162","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":97278,"name":"bytes","nodeType":"ElementaryTypeName","src":"2756:5:162","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2737:41:162"},"returnParameters":{"id":97281,"nodeType":"ParameterList","parameters":[],"src":"2788:0:162"},"scope":97439,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":97358,"nodeType":"FunctionDefinition","src":"3311:383:162","nodes":[],"body":{"id":97357,"nodeType":"Block","src":"3371:323:162","nodes":[],"statements":[{"assignments":[97329,97331,97333,97335],"declarations":[{"constant":false,"id":97329,"mutability":"mutable","name":"token","nameLocation":"3390:5:162","nodeType":"VariableDeclaration","scope":97357,"src":"3382:13:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":97328,"name":"address","nodeType":"ElementaryTypeName","src":"3382:7:162","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":97331,"mutability":"mutable","name":"decimals","nameLocation":"3403:8:162","nodeType":"VariableDeclaration","scope":97357,"src":"3397:14:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":97330,"name":"uint8","nodeType":"ElementaryTypeName","src":"3397:5:162","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":97333,"mutability":"mutable","name":"name","nameLocation":"3421:4:162","nodeType":"VariableDeclaration","scope":97357,"src":"3413:12:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":97332,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3413:7:162","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":97335,"mutability":"mutable","name":"symbol","nameLocation":"3435:6:162","nodeType":"VariableDeclaration","scope":97357,"src":"3427:14:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":97334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3427:7:162","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":97340,"initialValue":{"arguments":[{"id":97338,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97325,"src":"3482:6:162","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":97336,"name":"StaticConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114858,"src":"3445:12:162","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StaticConfig_$114858_$","typeString":"type(library StaticConfig)"}},"id":97337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"decodeSetGasPayingToken","nodeType":"MemberAccess","referencedDeclaration":114795,"src":"3445:36:162","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"function (bytes memory) pure returns (address,uint8,bytes32,bytes32)"}},"id":97339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3445:44:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$","typeString":"tuple(address,uint8,bytes32,bytes32)"}},"nodeType":"VariableDeclarationStatement","src":"3381:108:162"},{"expression":{"arguments":[{"id":97344,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97329,"src":"3529:5:162","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":97345,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97331,"src":"3547:8:162","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":97346,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97333,"src":"3564:4:162","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":97347,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97335,"src":"3579:6:162","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":97341,"name":"GasPayingToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113545,"src":"3500:14:162","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GasPayingToken_$113545_$","typeString":"type(library GasPayingToken)"}},"id":97343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"set","nodeType":"MemberAccess","referencedDeclaration":113519,"src":"3500:18:162","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,uint8,bytes32,bytes32)"}},"id":97348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_token","_decimals","_name","_symbol"],"nodeType":"FunctionCall","src":"3500:88:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97349,"nodeType":"ExpressionStatement","src":"3500:88:162"},{"eventCall":{"arguments":[{"id":97351,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97329,"src":"3631:5:162","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":97352,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97331,"src":"3648:8:162","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":97353,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97333,"src":"3664:4:162","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":97354,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97335,"src":"3678:6:162","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":97350,"name":"GasPayingTokenSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96961,"src":"3604:17:162","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,uint8,bytes32,bytes32)"}},"id":97355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["token","decimals","name","symbol"],"nodeType":"FunctionCall","src":"3604:83:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97356,"nodeType":"EmitStatement","src":"3599:88:162"}]},"documentation":{"id":97323,"nodeType":"StructuredDocumentation","src":"3170:136:162","text":"@notice Internal method to set the gas paying token.\n @param _value The encoded value with which to set the gas paying token."},"implemented":true,"kind":"function","modifiers":[],"name":"_setGasPayingToken","nameLocation":"3320:18:162","parameters":{"id":97326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97325,"mutability":"mutable","name":"_value","nameLocation":"3354:6:162","nodeType":"VariableDeclaration","scope":97358,"src":"3339:21:162","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":97324,"name":"bytes","nodeType":"ElementaryTypeName","src":"3339:5:162","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3338:23:162"},"returnParameters":{"id":97327,"nodeType":"ParameterList","parameters":[],"src":"3371:0:162"},"scope":97439,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":97403,"nodeType":"FunctionDefinition","src":"3857:361:162","nodes":[],"body":{"id":97402,"nodeType":"Block","src":"3913:305:162","nodes":[],"statements":[{"assignments":[97365],"declarations":[{"constant":false,"id":97365,"mutability":"mutable","name":"chainId","nameLocation":"3931:7:162","nodeType":"VariableDeclaration","scope":97402,"src":"3923:15:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97364,"name":"uint256","nodeType":"ElementaryTypeName","src":"3923:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97370,"initialValue":{"arguments":[{"id":97368,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97361,"src":"3974:6:162","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":97366,"name":"StaticConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114858,"src":"3941:12:162","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StaticConfig_$114858_$","typeString":"type(library StaticConfig)"}},"id":97367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"decodeAddDependency","nodeType":"MemberAccess","referencedDeclaration":114826,"src":"3941:32:162","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":97369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3941:40:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3923:58:162"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":97371,"name":"dependencySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97223,"src":"3996:13:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage","typeString":"struct EnumerableSet.UintSet storage ref"}},"id":97372,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":58064,"src":"3996:20:162","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_UintSet_$57986_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$57986_storage_ptr_$","typeString":"function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)"}},"id":97373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3996:22:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":97376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4027:5:162","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":97375,"name":"uint8","nodeType":"ElementaryTypeName","src":"4027:5:162","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":97374,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4022:4:162","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4022:11:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":97378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"max","nodeType":"MemberAccess","src":"4022:15:162","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3996:41:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97383,"nodeType":"IfStatement","src":"3992:81:162","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97380,"name":"DependencySetSizeTooLarge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113778,"src":"4046:25:162","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4046:27:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97382,"nodeType":"RevertStatement","src":"4039:34:162"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97384,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97365,"src":"4088:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97385,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4099:5:162","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":97386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"4099:13:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4088:24:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":97392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4116:27:162","subExpression":{"arguments":[{"id":97390,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97365,"src":"4135:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":97388,"name":"dependencySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97223,"src":"4117:13:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage","typeString":"struct EnumerableSet.UintSet storage ref"}},"id":97389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":58007,"src":"4117:17:162","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_UintSet_$57986_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$57986_storage_ptr_$","typeString":"function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"}},"id":97391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4117:26:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4088:55:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97397,"nodeType":"IfStatement","src":"4084:87:162","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97394,"name":"AlreadyDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113781,"src":"4152:17:162","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4152:19:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97396,"nodeType":"RevertStatement","src":"4145:26:162"}},{"eventCall":{"arguments":[{"id":97399,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97365,"src":"4203:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97398,"name":"DependencyAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97214,"src":"4187:15:162","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":97400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4187:24:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97401,"nodeType":"EmitStatement","src":"4182:29:162"}]},"documentation":{"id":97359,"nodeType":"StructuredDocumentation","src":"3700:152:162","text":"@notice Internal method to add a dependency to the interop dependency set.\n @param _value The encoded value with which to add the dependency."},"implemented":true,"kind":"function","modifiers":[],"name":"_addDependency","nameLocation":"3866:14:162","parameters":{"id":97362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97361,"mutability":"mutable","name":"_value","nameLocation":"3896:6:162","nodeType":"VariableDeclaration","scope":97403,"src":"3881:21:162","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":97360,"name":"bytes","nodeType":"ElementaryTypeName","src":"3881:5:162","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3880:23:162"},"returnParameters":{"id":97363,"nodeType":"ParameterList","parameters":[],"src":"3913:0:162"},"scope":97439,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":97438,"nodeType":"FunctionDefinition","src":"4389:319:162","nodes":[],"body":{"id":97437,"nodeType":"Block","src":"4448:260:162","nodes":[],"statements":[{"assignments":[97410],"declarations":[{"constant":false,"id":97410,"mutability":"mutable","name":"chainId","nameLocation":"4466:7:162","nodeType":"VariableDeclaration","scope":97437,"src":"4458:15:162","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97409,"name":"uint256","nodeType":"ElementaryTypeName","src":"4458:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97415,"initialValue":{"arguments":[{"id":97413,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97406,"src":"4512:6:162","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":97411,"name":"StaticConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114858,"src":"4476:12:162","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StaticConfig_$114858_$","typeString":"type(library StaticConfig)"}},"id":97412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"decodeRemoveDependency","nodeType":"MemberAccess","referencedDeclaration":114857,"src":"4476:35:162","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":97414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4476:43:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4458:61:162"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97416,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97410,"src":"4534:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97417,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4545:5:162","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":97418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"chainid","nodeType":"MemberAccess","src":"4545:13:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4534:24:162","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97423,"nodeType":"IfStatement","src":"4530:60:162","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97420,"name":"CantRemovedDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113784,"src":"4567:21:162","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4567:23:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97422,"nodeType":"RevertStatement","src":"4560:30:162"}},{"condition":{"id":97428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4605:30:162","subExpression":{"arguments":[{"id":97426,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97410,"src":"4627:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":97424,"name":"dependencySet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97223,"src":"4606:13:162","typeDescriptions":{"typeIdentifier":"t_struct$_UintSet_$57986_storage","typeString":"struct EnumerableSet.UintSet storage ref"}},"id":97425,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":58028,"src":"4606:20:162","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_UintSet_$57986_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$57986_storage_ptr_$","typeString":"function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)"}},"id":97427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4606:29:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97432,"nodeType":"IfStatement","src":"4601:58:162","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":97429,"name":"NotDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":113775,"src":"4644:13:162","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":97430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4644:15:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97431,"nodeType":"RevertStatement","src":"4637:22:162"}},{"eventCall":{"arguments":[{"id":97434,"name":"chainId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97410,"src":"4693:7:162","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97433,"name":"DependencyRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97219,"src":"4675:17:162","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":97435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4675:26:162","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97436,"nodeType":"EmitStatement","src":"4670:31:162"}]},"documentation":{"id":97404,"nodeType":"StructuredDocumentation","src":"4224:160:162","text":"@notice Internal method to remove a dependency from the interop dependency set.\n @param _value The encoded value with which to remove the dependency."},"implemented":true,"kind":"function","modifiers":[],"name":"_removeDependency","nameLocation":"4398:17:162","parameters":{"id":97407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97406,"mutability":"mutable","name":"_value","nameLocation":"4431:6:162","nodeType":"VariableDeclaration","scope":97438,"src":"4416:21:162","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":97405,"name":"bytes","nodeType":"ElementaryTypeName","src":"4416:5:162","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4415:23:162"},"returnParameters":{"id":97408,"nodeType":"ParameterList","parameters":[],"src":"4448:0:162"},"scope":97439,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":97204,"name":"L1Block","nodeType":"IdentifierPath","referencedDeclaration":97187,"src":"1075:7:162"},"id":97205,"nodeType":"InheritanceSpecifier","src":"1075:7:162"}],"canonicalName":"L1BlockInterop","contractDependencies":[],"contractKind":"contract","documentation":{"id":97203,"nodeType":"StructuredDocumentation","src":"893:155:162","text":"@custom:proxied\n @custom:predeploy 0x4200000000000000000000000000000000000015\n @title L1BlockInterop\n @notice Interop extenstions of L1Block."},"fullyImplemented":true,"linearizedBaseContracts":[97439,97187,113292,122319],"name":"L1BlockInterop","nameLocation":"1057:14:162","scope":97440,"usedErrors":[113772,113775,113778,113781,113784]}],"license":"MIT"},"id":162}