{"abi":[{"type":"function","name":"DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseFeeScalar","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"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":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"gasPrice","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getL1Fee","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getL1FeeUpperBound","inputs":[{"name":"_unsignedTxSize","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getL1GasUsed","inputs":[{"name":"_data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isEcotone","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isFjord","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"l1BaseFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"overhead","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"scalar","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setEcotone","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFjord","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506117f6806100206000396000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c80636ef25c3a116100b2578063de26c4a111610081578063f45e65d811610066578063f45e65d81461025b578063f820614014610263578063fe173b971461020d57600080fd5b8063de26c4a114610235578063f1c7a58b1461024857600080fd5b80636ef25c3a1461020d5780638e98b10614610213578063960e3a231461021b578063c59859181461022d57600080fd5b806349948e0e11610109578063519b4bd3116100ee578063519b4bd31461019f57806354fd4d50146101a757806368d5dca6146101f057600080fd5b806349948e0e1461016f5780634ef6e2241461018257600080fd5b80630c18c1621461013b57806322b90ab3146101565780632e0f262514610160578063313ce56714610168575b600080fd5b61014361026b565b6040519081526020015b60405180910390f35b61015e61038c565b005b610143600681565b6006610143565b61014361017d3660046112a1565b610515565b60005461018f9060ff1681565b604051901515815260200161014d565b610143610552565b6101e36040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b60405161014d9190611370565b6101f86105b3565b60405163ffffffff909116815260200161014d565b48610143565b61015e610638565b60005461018f90610100900460ff1681565b6101f8610832565b6101436102433660046112a1565b610893565b6101436102563660046113e3565b61098d565b610143610a69565b610143610b5c565b6000805460ff1615610304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f47617350726963654f7261636c653a206f76657268656164282920697320646560448201527f707265636174656400000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038791906113fc565b905090565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f47617350726963654f7261636c653a206f6e6c7920746865206465706f73697460448201527f6f72206163636f756e742063616e2073657420697345636f746f6e6520666c6160648201527f6700000000000000000000000000000000000000000000000000000000000000608482015260a4016102fb565b60005460ff16156104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a2045636f746f6e6520616c72656164792060448201527f616374697665000000000000000000000000000000000000000000000000000060648201526084016102fb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60008054610100900460ff16156105355761052f82610bbd565b92915050565b60005460ff16156105495761052f82610bdc565b61052f82610c80565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16635cf249696040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff166368d5dca66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103879190611415565b3373deaddeaddeaddeaddeaddeaddeaddeaddead0001146106db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f47617350726963654f7261636c653a206f6e6c7920746865206465706f73697460448201527f6f72206163636f756e742063616e20736574206973466a6f726420666c61670060648201526084016102fb565b60005460ff1661076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f47617350726963654f7261636c653a20466a6f72642063616e206f6e6c79206260448201527f65206163746976617465642061667465722045636f746f6e650000000000000060648201526084016102fb565b600054610100900460ff1615610804576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f47617350726963654f7261636c653a20466a6f726420616c726561647920616360448201527f746976650000000000000000000000000000000000000000000000000000000060648201526084016102fb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663c59859186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610614573d6000803e3d6000fd5b60008054610100900460ff16156108da57620f42406108c56108b484610dd4565b516108c090604461146a565b6110f1565b6108d0906010611482565b61052f91906114bf565b60006108e583611150565b60005490915060ff16156108f95792915050565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097c91906113fc565b610986908261146a565b9392505050565b60008054610100900460ff16610a25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f47617350726963654f7261636c653a206765744c314665655570706572426f7560448201527f6e64206f6e6c7920737570706f72747320466a6f72640000000000000000000060648201526084016102fb565b6000610a3283604461146a565b90506000610a4160ff836114bf565b610a4b908361146a565b610a5690601061146a565b9050610a61816111e0565b949350505050565b6000805460ff1615610afd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a207363616c61722829206973206465707260448201527f656361746564000000000000000000000000000000000000000000000000000060648201526084016102fb565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663f82061406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b600061052f610bcb83610dd4565b51610bd790604461146a565b6111e0565b600080610be883611150565b90506000610bf4610552565b610bfc610832565b610c079060106114fa565b63ffffffff16610c179190611482565b90506000610c23610b5c565b610c2b6105b3565b63ffffffff16610c3b9190611482565b90506000610c49828461146a565b610c539085611482565b9050610c616006600a611646565b610c6c906010611482565b610c7690826114bf565b9695505050505050565b600080610c8c83611150565b9050600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1391906113fc565b610d1b610552565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9e91906113fc565b610da8908561146a565b610db29190611482565b610dbc9190611482565b9050610dca6006600a611646565b610a6190826114bf565b6060610f63565b818153600101919050565b600082840393505b838110156109865782810151828201511860001a1590930292600101610dee565b825b60208210610e5b578251610e26601f83610ddb565b52602092909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190602101610e11565b8115610986578251610e706001840383610ddb565b520160010192915050565b60006001830392505b6101078210610ebc57610eae8360ff16610ea960fd610ea98760081c60e00189610ddb565b610ddb565b935061010682039150610e84565b60078210610ee957610ee28360ff16610ea960078503610ea98760081c60e00189610ddb565b9050610986565b610a618360ff16610ea98560081c8560051b0187610ddb565b610f5b828203610f3f610f2f84600081518060001a8160011a60081b178160021a60101b17915050919050565b639e3779b90260131c611fff1690565b8060021b6040510182815160e01c1860e01b8151188152505050565b600101919050565b6180003860405139618000604051016020830180600d8551820103826002015b81811015611096576000805b50508051604051600082901a600183901a60081b1760029290921a60101b91909117639e3779b9810260111c617ffc16909101805160e081811c878603811890911b90911890915284019081830390848410610feb5750611026565b600184019350611fff8211611020578251600081901a600182901a60081b1760029190911a60101b1781036110205750611026565b50610f8f565b838310611034575050611096565b600183039250858311156110525761104f8787888603610e0f565b96505b611066600985016003850160038501610de6565b9150611073878284610e7b565b96505061108b8461108686848601610f02565b610f02565b915050809350610f83565b50506110a88383848851850103610e0f565b925050506040519150618000820180820391508183526020830160005b838110156110dd5782810151828201526020016110c5565b506000920191825250602001604052919050565b60008061110183620cc394611482565b61112b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd763200611652565b905061113b6064620f42406116c6565b81121561052f576109866064620f42406116c6565b80516000908190815b818110156111d35784818151811061117357611173611782565b01602001517fff00000000000000000000000000000000000000000000000000000000000000166000036111b3576111ac60048461146a565b92506111c1565b6111be60108461146a565b92505b806111cb816117b1565b915050611159565b50610a618261044061146a565b6000806111ec836110f1565b905060006111f8610b5c565b6112006105b3565b63ffffffff166112109190611482565b611218610552565b611220610832565b61122b9060106114fa565b63ffffffff1661123b9190611482565b611245919061146a565b905061125360066002611482565b61125e90600a611646565b6112688284611482565b610a6191906114bf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156112b357600080fd5b813567ffffffffffffffff808211156112cb57600080fd5b818401915084601f8301126112df57600080fd5b8135818111156112f1576112f1611272565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561133757611337611272565b8160405282815287602084870101111561135057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b8181101561139d57858101830151858201604001528201611381565b818111156113af576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000602082840312156113f557600080fd5b5035919050565b60006020828403121561140e57600080fd5b5051919050565b60006020828403121561142757600080fd5b815163ffffffff8116811461098657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561147d5761147d61143b565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156114ba576114ba61143b565b500290565b6000826114f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600063ffffffff8083168185168183048111821515161561151d5761151d61143b565b02949350505050565b600181815b8085111561157f57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156115655761156561143b565b8085161561157257918102915b93841c939080029061152b565b509250929050565b6000826115965750600161052f565b816115a35750600061052f565b81600181146115b957600281146115c3576115df565b600191505061052f565b60ff8411156115d4576115d461143b565b50506001821b61052f565b5060208310610133831016604e8410600b8410161715611602575081810a61052f565b61160c8383611526565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561163e5761163e61143b565b029392505050565b60006109868383611587565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384138115161561168c5761168c61143b565b827f80000000000000000000000000000000000000000000000000000000000000000384128116156116c0576116c061143b565b50500190565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156117075761170761143b565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156117425761174261143b565b6000871292508782058712848416161561175e5761175e61143b565b878505871281841616156117745761177461143b565b505050929093029392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117e2576117e261143b565b506001019056fea164736f6c634300080f000a","sourceMap":"1261:10075:160:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101365760003560e01c80636ef25c3a116100b2578063de26c4a111610081578063f45e65d811610066578063f45e65d81461025b578063f820614014610263578063fe173b971461020d57600080fd5b8063de26c4a114610235578063f1c7a58b1461024857600080fd5b80636ef25c3a1461020d5780638e98b10614610213578063960e3a231461021b578063c59859181461022d57600080fd5b806349948e0e11610109578063519b4bd3116100ee578063519b4bd31461019f57806354fd4d50146101a757806368d5dca6146101f057600080fd5b806349948e0e1461016f5780634ef6e2241461018257600080fd5b80630c18c1621461013b57806322b90ab3146101565780632e0f262514610160578063313ce56714610168575b600080fd5b61014361026b565b6040519081526020015b60405180910390f35b61015e61038c565b005b610143600681565b6006610143565b61014361017d3660046112a1565b610515565b60005461018f9060ff1681565b604051901515815260200161014d565b610143610552565b6101e36040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b60405161014d9190611370565b6101f86105b3565b60405163ffffffff909116815260200161014d565b48610143565b61015e610638565b60005461018f90610100900460ff1681565b6101f8610832565b6101436102433660046112a1565b610893565b6101436102563660046113e3565b61098d565b610143610a69565b610143610b5c565b6000805460ff1615610304576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f47617350726963654f7261636c653a206f76657268656164282920697320646560448201527f707265636174656400000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038791906113fc565b905090565b3373deaddeaddeaddeaddeaddeaddeaddeaddead000114610455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f47617350726963654f7261636c653a206f6e6c7920746865206465706f73697460448201527f6f72206163636f756e742063616e2073657420697345636f746f6e6520666c6160648201527f6700000000000000000000000000000000000000000000000000000000000000608482015260a4016102fb565b60005460ff16156104e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a2045636f746f6e6520616c72656164792060448201527f616374697665000000000000000000000000000000000000000000000000000060648201526084016102fb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60008054610100900460ff16156105355761052f82610bbd565b92915050565b60005460ff16156105495761052f82610bdc565b61052f82610c80565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16635cf249696040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff166368d5dca66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103879190611415565b3373deaddeaddeaddeaddeaddeaddeaddeaddead0001146106db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f47617350726963654f7261636c653a206f6e6c7920746865206465706f73697460448201527f6f72206163636f756e742063616e20736574206973466a6f726420666c61670060648201526084016102fb565b60005460ff1661076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f47617350726963654f7261636c653a20466a6f72642063616e206f6e6c79206260448201527f65206163746976617465642061667465722045636f746f6e650000000000000060648201526084016102fb565b600054610100900460ff1615610804576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f47617350726963654f7261636c653a20466a6f726420616c726561647920616360448201527f746976650000000000000000000000000000000000000000000000000000000060648201526084016102fb565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663c59859186040518163ffffffff1660e01b8152600401602060405180830381865afa158015610614573d6000803e3d6000fd5b60008054610100900460ff16156108da57620f42406108c56108b484610dd4565b516108c090604461146a565b6110f1565b6108d0906010611482565b61052f91906114bf565b60006108e583611150565b60005490915060ff16156108f95792915050565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610958573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097c91906113fc565b610986908261146a565b9392505050565b60008054610100900460ff16610a25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f47617350726963654f7261636c653a206765744c314665655570706572426f7560448201527f6e64206f6e6c7920737570706f72747320466a6f72640000000000000000000060648201526084016102fb565b6000610a3283604461146a565b90506000610a4160ff836114bf565b610a4b908361146a565b610a5690601061146a565b9050610a61816111e0565b949350505050565b6000805460ff1615610afd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f47617350726963654f7261636c653a207363616c61722829206973206465707260448201527f656361746564000000000000000000000000000000000000000000000000000060648201526084016102fb565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff1663f82061406040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d6000803e3d6000fd5b600061052f610bcb83610dd4565b51610bd790604461146a565b6111e0565b600080610be883611150565b90506000610bf4610552565b610bfc610832565b610c079060106114fa565b63ffffffff16610c179190611482565b90506000610c23610b5c565b610c2b6105b3565b63ffffffff16610c3b9190611482565b90506000610c49828461146a565b610c539085611482565b9050610c616006600a611646565b610c6c906010611482565b610c7690826114bf565b9695505050505050565b600080610c8c83611150565b9050600073420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16639e8c49666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1391906113fc565b610d1b610552565b73420000000000000000000000000000000000001573ffffffffffffffffffffffffffffffffffffffff16638b239f736040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9e91906113fc565b610da8908561146a565b610db29190611482565b610dbc9190611482565b9050610dca6006600a611646565b610a6190826114bf565b6060610f63565b818153600101919050565b600082840393505b838110156109865782810151828201511860001a1590930292600101610dee565b825b60208210610e5b578251610e26601f83610ddb565b52602092909201917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090910190602101610e11565b8115610986578251610e706001840383610ddb565b520160010192915050565b60006001830392505b6101078210610ebc57610eae8360ff16610ea960fd610ea98760081c60e00189610ddb565b610ddb565b935061010682039150610e84565b60078210610ee957610ee28360ff16610ea960078503610ea98760081c60e00189610ddb565b9050610986565b610a618360ff16610ea98560081c8560051b0187610ddb565b610f5b828203610f3f610f2f84600081518060001a8160011a60081b178160021a60101b17915050919050565b639e3779b90260131c611fff1690565b8060021b6040510182815160e01c1860e01b8151188152505050565b600101919050565b6180003860405139618000604051016020830180600d8551820103826002015b81811015611096576000805b50508051604051600082901a600183901a60081b1760029290921a60101b91909117639e3779b9810260111c617ffc16909101805160e081811c878603811890911b90911890915284019081830390848410610feb5750611026565b600184019350611fff8211611020578251600081901a600182901a60081b1760029190911a60101b1781036110205750611026565b50610f8f565b838310611034575050611096565b600183039250858311156110525761104f8787888603610e0f565b96505b611066600985016003850160038501610de6565b9150611073878284610e7b565b96505061108b8461108686848601610f02565b610f02565b915050809350610f83565b50506110a88383848851850103610e0f565b925050506040519150618000820180820391508183526020830160005b838110156110dd5782810151828201526020016110c5565b506000920191825250602001604052919050565b60008061110183620cc394611482565b61112b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd763200611652565b905061113b6064620f42406116c6565b81121561052f576109866064620f42406116c6565b80516000908190815b818110156111d35784818151811061117357611173611782565b01602001517fff00000000000000000000000000000000000000000000000000000000000000166000036111b3576111ac60048461146a565b92506111c1565b6111be60108461146a565b92505b806111cb816117b1565b915050611159565b50610a618261044061146a565b6000806111ec836110f1565b905060006111f8610b5c565b6112006105b3565b63ffffffff166112109190611482565b611218610552565b611220610832565b61122b9060106114fa565b63ffffffff1661123b9190611482565b611245919061146a565b905061125360066002611482565b61125e90600a611646565b6112688284611482565b610a6191906114bf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156112b357600080fd5b813567ffffffffffffffff808211156112cb57600080fd5b818401915084601f8301126112df57600080fd5b8135818111156112f1576112f1611272565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561133757611337611272565b8160405282815287602084870101111561135057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b8181101561139d57858101830151858201604001528201611381565b818111156113af576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000602082840312156113f557600080fd5b5035919050565b60006020828403121561140e57600080fd5b5051919050565b60006020828403121561142757600080fd5b815163ffffffff8116811461098657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000821982111561147d5761147d61143b565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156114ba576114ba61143b565b500290565b6000826114f5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600063ffffffff8083168185168183048111821515161561151d5761151d61143b565b02949350505050565b600181815b8085111561157f57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156115655761156561143b565b8085161561157257918102915b93841c939080029061152b565b509250929050565b6000826115965750600161052f565b816115a35750600061052f565b81600181146115b957600281146115c3576115df565b600191505061052f565b60ff8411156115d4576115d461143b565b50506001821b61052f565b5060208310610133831016604e8410600b8410161715611602575081810a61052f565b61160c8383611526565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561163e5761163e61143b565b029392505050565b60006109868383611587565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384138115161561168c5761168c61143b565b827f80000000000000000000000000000000000000000000000000000000000000000384128116156116c0576116c061143b565b50500190565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156117075761170761143b565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156117425761174261143b565b6000871292508782058712848416161561175e5761175e61143b565b878505871281841616156117745761177461143b565b505050929093029392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117e2576117e261143b565b506001019056fea164736f6c634300080f000a","sourceMap":"1261:10075:160:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5252:202;;;:::i;:::-;;;160:25:416;;;148:2;133:18;5252:202:160;;;;;;;;3993:306;;;:::i;:::-;;1357:36;;1392:1;1357:36;;6862:82;1392:1;6862:82;;2674:268;;;;;;:::i;:::-;;:::i;2217:21::-;;;;;;;;;;;;1535:14:416;;1528:22;1510:41;;1498:2;1483:18;2217:21:160;1370:187:416;5869:124:160;;;:::i;1463:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6568:141::-;;;:::i;:::-;;;2397:10:416;2385:23;;;2367:42;;2355:2;2340:18;6568:141:160;2223:192:416;5047:86:160;5113:13;5047:86;;4381:373;;;:::i;2327:19::-;;;;;;;;;;;;6323:133;;;:::i;7467:648::-;;;;;;:::i;:::-;;:::i;3439:470::-;;;;;;:::i;:::-;;:::i;5569:196::-;;;:::i;6091:130::-;;;:::i;5252:202::-;5293:7;5321:9;;;;5320:10;5312:63;;;;;;;2807:2:416;5312:63:160;;;2789:21:416;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:10;2936:18;;;2929:38;2984:19;;5312:63:160;;;;;;;;;2827:42:222;5392:53:160;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5385:62;;5252:202;:::o;3993:306::-;4055:10;2290:42:215;4055:41:160;4034:153;;;;;;;3405:2:416;4034:153:160;;;3387:21:416;3444:2;3424:18;;;3417:30;3483:34;3463:18;;;3456:62;3554:34;3534:18;;;3527:62;3626:3;3605:19;;;3598:32;3647:19;;4034:153:160;3203:469:416;4034:153:160;4205:9;;;;:18;4197:69;;;;;;;3879:2:416;4197:69:160;;;3861:21:416;3918:2;3898:18;;;3891:30;3957:34;3937:18;;;3930:62;4028:8;4008:18;;;4001:36;4054:19;;4197:69:160;3677:402:416;4197:69:160;4276:9;:16;;;;4288:4;4276:16;;;3993:306::o;2674:268::-;2735:7;2758;;;;;;;2754:142;;;2788:21;2803:5;2788:14;:21::i;:::-;2781:28;2674:268;-1:-1:-1;;2674:268:160:o;2754:142::-;2830:9;;;;2826:70;;;2862:23;2879:5;2862:16;:23::i;2826:70::-;2912:23;2929:5;2912:16;:23::i;5869:124::-;5911:7;2827:42:222;5937:47:160;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6568:141;6618:6;2827:42:222;6643:57:160;;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4381:373::-;4441:10;2290:42:215;4441:41:160;4420:139;;;;;;;4571:2:416;4420:139:160;;;4553:21:416;4610:2;4590:18;;;4583:30;4649:34;4629:18;;;4622:62;4720:33;4700:18;;;4693:61;4771:19;;4420:139:160;4369:427:416;4420:139:160;4577:9;;;;4569:79;;;;;;;5003:2:416;4569:79:160;;;4985:21:416;5042:2;5022:18;;;5015:30;5081:34;5061:18;;;5054:62;5152:27;5132:18;;;5125:55;5197:19;;4569:79:160;4801:421:416;4569:79:160;4666:7;;;;;;;:16;4658:65;;;;;;;5429:2:416;4658:65:160;;;5411:21:416;5468:2;5448:18;;;5441:30;5507:34;5487:18;;;5480:62;5578:6;5558:18;;;5551:34;5602:19;;4658:65:160;5227:400:416;4658:65:160;4733:7;:14;;;;;;;;4381:373::o;6323:133::-;6369:6;2827:42:222;6394:53:160;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7467:648;7530:7;7553;;;;;;;7549:359;;;7894:3;7825:61;7848:25;7867:5;7848:18;:25::i;:::-;:32;:37;;7883:2;7848:37;:::i;:::-;7825:22;:61::i;:::-;:66;;7889:2;7825:66;:::i;:::-;:72;;;;:::i;7549:359::-;7917:17;7937:22;7953:5;7937:15;:22::i;:::-;7973:9;;7917:42;;-1:-1:-1;7973:9:160;;7969:56;;;8005:9;7467:648;-1:-1:-1;;7467:648:160:o;7969:56::-;2827:42:222;8053:53:160;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8041:67;;:9;:67;:::i;:::-;8034:74;7467:648;-1:-1:-1;;;7467:648:160:o;3439:470::-;3515:7;3542;;;;;;;3534:74;;;;;;;6668:2:416;3534:74:160;;;6650:21:416;6707:2;6687:18;;;6680:30;6746:34;6726:18;;;6719:62;6817:24;6797:18;;;6790:52;6859:19;;3534:74:160;6466:418:416;3534:74:160;3677:14;3694:20;:15;3712:2;3694:20;:::i;:::-;3677:37;-1:-1:-1;3807:21:160;3840:12;3849:3;3677:37;3840:12;:::i;:::-;3831:21;;:6;:21;:::i;:::-;:26;;3855:2;3831:26;:::i;:::-;3807:50;;3875:27;3888:13;3875:12;:27::i;:::-;3868:34;3439:470;-1:-1:-1;;;;3439:470:160:o;5569:196::-;5608:7;5636:9;;;;5635:10;5627:61;;;;;;;7091:2:416;5627:61:160;;;7073:21:416;7130:2;7110:18;;;7103:30;7169:34;7149:18;;;7142:62;7240:8;7220:18;;;7213:36;7266:19;;5627:61:160;6889:402:416;5627:61:160;2827:42:222;5705:51:160;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6091:130;6135:7;2827:42:222;6161:51:160;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9462:151;9529:7;9555:51;9568:25;9587:5;9568:18;:25::i;:::-;:32;:37;;9603:2;9568:37;:::i;:::-;9555:12;:51::i;8875:393::-;8944:7;8963:17;8983:22;8999:5;8983:15;:22::i;:::-;8963:42;;9015:21;9062:11;:9;:11::i;:::-;9039:15;:13;:15::i;:::-;:20;;9057:2;9039:20;:::i;:::-;:34;;;;;;:::i;:::-;9015:58;;9083:25;9133:13;:11;:13::i;:::-;9111:19;:17;:19::i;:::-;:35;;;;;;:::i;:::-;9083:63;-1:-1:-1;9156:11:160;9183:33;9083:63;9183:13;:33;:::i;:::-;9170:47;;:9;:47;:::i;:::-;9156:61;-1:-1:-1;9246:14:160;1392:1;9246:2;:14;:::i;:::-;9241:19;;:2;:19;:::i;:::-;9234:27;;:3;:27;:::i;:::-;9227:34;8875:393;-1:-1:-1;;;;;;8875:393:160:o;8328:351::-;8397:7;8416:17;8436:22;8452:5;8436:15;:22::i;:::-;8416:42;;8468:11;2827:42:222;8580:51:160;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8554:11;:9;:11::i;:::-;2827:42:222;8495:53:160;;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8483:67;;:9;:67;:::i;:::-;8482:83;;;;:::i;:::-;:151;;;;:::i;:::-;8468:165;-1:-1:-1;8657:14:160;1392:1;8657:2;:14;:::i;:::-;8650:22;;:3;:22;:::i;1102:4019:107:-;1165:19;1262:107;;;1319:2;1315;1307:15;1353:1;1345:10;;1262:107;-1:-1:-1;1262:107:107:o;1550:236::-;1578:2;1619;1615;1611:11;1605:17;;1599:173;1632:2;1628;1625:10;1599:173;;;1734:11;;;1728:18;1714:11;;;1708:18;1704:43;1701:1;1696:52;1689:60;1685:69;;;;1652:1;1644:10;1599:173;;1799:454;1873:5;1861:230;1898:4;1891:5;1888:15;1861:230;;1983:4;1977:11;1964;1972:2;1968;1964:11;:::i;:::-;1957:32;2068:4;2058:15;;;;;1916:16;;;;;2024:4;2016:13;1861:230;;;2118:5;2108:26;2127:5;2108:26;2188:4;2182:11;2158:22;2177:1;2170:5;2166:13;2162:2;2158:22;:::i;:::-;2151:43;2224:14;2221:1;2217:22;;1799:454;-1:-1:-1;;1799:454:107:o;2266:493::-;2296:2;2337:1;2333:2;2329:10;2323:16;;2317:173;2356:3;2352:2;2349:11;2317:173;;2413:59;2468:2;2462:4;2458:13;2417:39;2452:3;2421:29;2445:2;2442:1;2438:10;2433:3;2429:20;2425:2;2421:29;:::i;:::-;2417:39;:::i;2413:59::-;2407:65;;2378:3;2374:2;2370:12;2364:18;;2317:173;;;2524:1;2520:2;2517:9;2507:159;;2556:66;2618:2;2612:4;2608:13;2560:46;2603:1;2599:2;2595:10;2564:29;2588:2;2585:1;2581:10;2576:3;2572:20;2568:2;2564:29;:::i;2556:66::-;2550:72;;2643:5;;2507:159;2689:56;2741:2;2735:4;2731:13;2693:36;2724:2;2721:1;2717:10;2712:2;2709:1;2705:10;2701:27;2697:2;2693:36;:::i;3198:153::-;3259:43;3292:8;3287:3;3283:18;3267:14;3272:8;3276:3;1402:2;1438;1432:9;1519:1;1516;1511:10;1506:1;1503;1498:10;1495:1;1491:18;1488:34;1483:1;1480;1475:10;1471:2;1467:19;1464:59;1458:65;;;1382:155;;;;3272:8;3146:10;3142:19;3138:2;3134:28;3164:6;3130:41;;3082:103;3267:14;2848:2;2845:1;2841:10;2834:4;2828:11;2824:28;2926:2;2921:1;2915:8;2910:3;2906:18;2902:27;2897:3;2893:37;2889:1;2883:8;2879:52;2876:1;2869:63;;2772:174;;;3259:43;3335:1;3326:11;;3198:153;-1:-1:-1;3198:153:107:o;:::-;3398:6;3386:10;3379:4;3373:11;3364:41;3469:6;3462:4;3456:11;3452:24;3508:4;3502;3498:15;3541:1;3601:2;3593:4;3587:11;3578:7;3574:25;3570:34;3640:1;3637;3633:9;3617:904;3652:7;3648:2;3645:15;3617:904;;;3691:1;3718;3736:410;-1:-1:-1;;1432:9:107;;3035:4;3029:11;1402:2;1511:10;;;1503:1;1498:10;;;1495:1;1491:18;1488:34;1480:1;1475:10;;;;1471:2;1467:19;1464:59;;;;3146:10;3142:19;;3042:10;;;;3025:28;;;3019:35;;3014:3;3010:45;;;3905:16;;;2902:27;;2893:37;;;2879:52;;;2869:63;;;3849:24;;;3948:10;;;;3989:15;;;3979:36;;4008:5;;;3979:36;4050:1;4046:2;4042:10;4036:16;;4089:6;4086:1;4083:13;4073:55;;1432:9;;1402:2;1511:10;;;1503:1;1498:10;;;1495:1;1491:18;1488:34;1480:1;1475:10;;;;1471:2;1467:19;1464:59;4106:1;4103:13;4100:26;;4119:5;;;4100:26;4073:55;3736:410;;;4180:7;4176:2;4173:15;4163:36;;4192:5;;;;4163:36;4230:1;4226:2;4222:10;4216:16;;4259:1;4255:2;4252:9;4249:50;;;4270:27;4294:2;4291:1;4287;4283:2;4279:10;4270:27;:::i;:::-;4264:33;;4249:50;4325:43;4365:1;4356:7;4352:15;4348:1;4344:2;4340:10;4336:1;4333;4329:9;4325:43;:::i;:::-;4316:52;;4391:15;4403:2;4400:1;4397;4391:15;:::i;:::-;4385:21;;;4429:54;4475:7;4441:32;4465:7;4461:1;4457:2;4453:10;4441:32;:::i;:::-;4429:54;:::i;:::-;4423:60;;;4505:2;4500:7;;3617:904;;;3621:23;;4540:50;4587:2;4584:1;4580;4572:4;4566:11;4557:7;4553:25;4549:33;4540:50;:::i;:::-;4534:56;;;;4619:4;4613:11;4603:21;;4658:6;4650;4646:19;4695:1;4691:2;4687:10;4678:19;;4725:1;4717:6;4710:17;4861:4;4853:6;4849:17;4885:5;4879:84;4899:1;4896;4893:8;4879:84;;;4950:9;;;4944:16;4933:9;;;4926:35;4916:4;4909:12;4879:84;;;-1:-1:-1;4994:1:107;4983:9;;4976:20;;;-1:-1:-1;5075:4:107;5060:20;5054:4;5047:34;1102:4019;;-1:-1:-1;1102:4019:107:o;10975:359:160:-;11051:7;;11117:30;11136:11;1911:7;11117:30;:::i;:::-;11093:55;;1699:11;11093:55;:::i;:::-;11070:78;-1:-1:-1;11178:34:160;2123:3;11209;11178:34;:::i;:::-;11162:13;:50;11158:131;;;11244:34;2123:3;11275;11244:34;:::i;9815:366::-;9946:12;;9883:7;;;;;9968:173;9992:6;9988:1;:10;9968:173;;;10023:5;10029:1;10023:8;;;;;;;;:::i;:::-;;;;;;;10035:1;10023:13;10019:112;;10056:10;10065:1;10056:10;;:::i;:::-;;;10019:112;;;10105:11;10114:2;10105:11;;:::i;:::-;;;10019:112;10000:3;;;;:::i;:::-;;;;9968:173;;;-1:-1:-1;10157:17:160;:5;10166:7;10157:17;:::i;10380:390::-;10446:7;10535:21;10559:35;10582:11;10559:22;:35::i;:::-;10535:59;;10604:17;10683:13;:11;:13::i;:::-;10661:19;:17;:19::i;:::-;:35;;;;;;:::i;:::-;10647:11;:9;:11::i;:::-;10624:15;:13;:15::i;:::-;:20;;10642:2;10624:20;:::i;:::-;:34;;;;;;:::i;:::-;:72;;;;:::i;:::-;10604:92;-1:-1:-1;10749:12:160;1392:1;10760;10749:12;:::i;:::-;10742:20;;:2;:20;:::i;:::-;10713:25;10729:9;10713:13;:25;:::i;:::-;:50;;;;:::i;196:184:416:-;248:77;245:1;238:88;345:4;342:1;335:15;369:4;366:1;359:15;385:980;453:6;506:2;494:9;485:7;481:23;477:32;474:52;;;522:1;519;512:12;474:52;562:9;549:23;591:18;632:2;624:6;621:14;618:34;;;648:1;645;638:12;618:34;686:6;675:9;671:22;661:32;;731:7;724:4;720:2;716:13;712:27;702:55;;753:1;750;743:12;702:55;789:2;776:16;811:2;807;804:10;801:36;;;817:18;;:::i;:::-;951:2;945:9;1013:4;1005:13;;856:66;1001:22;;;1025:2;997:31;993:40;981:53;;;1049:18;;;1069:22;;;1046:46;1043:72;;;1095:18;;:::i;:::-;1135:10;1131:2;1124:22;1170:2;1162:6;1155:18;1210:7;1205:2;1200;1196;1192:11;1188:20;1185:33;1182:53;;;1231:1;1228;1221:12;1182:53;1287:2;1282;1278;1274:11;1269:2;1261:6;1257:15;1244:46;1332:1;1310:15;;;1327:2;1306:24;1299:35;;;;-1:-1:-1;1314:6:416;385:980;-1:-1:-1;;;;;385:980:416:o;1562:656::-;1674:4;1703:2;1732;1721:9;1714:21;1764:6;1758:13;1807:6;1802:2;1791:9;1787:18;1780:34;1832:1;1842:140;1856:6;1853:1;1850:13;1842:140;;;1951:14;;;1947:23;;1941:30;1917:17;;;1936:2;1913:26;1906:66;1871:10;;1842:140;;;2000:6;1997:1;1994:13;1991:91;;;2070:1;2065:2;2056:6;2045:9;2041:22;2037:31;2030:42;1991:91;-1:-1:-1;2134:2:416;2122:15;2139:66;2118:88;2103:104;;;;2209:2;2099:113;;1562:656;-1:-1:-1;;;1562:656:416:o;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:416;;2420:180;-1:-1:-1;2420:180:416:o;3014:184::-;3084:6;3137:2;3125:9;3116:7;3112:23;3108:32;3105:52;;;3153:1;3150;3143:12;3105:52;-1:-1:-1;3176:16:416;;3014:184;-1:-1:-1;3014:184:416:o;4084:280::-;4153:6;4206:2;4194:9;4185:7;4181:23;4177:32;4174:52;;;4222:1;4219;4212:12;4174:52;4254:9;4248:16;4304:10;4297:5;4293:22;4286:5;4283:33;4273:61;;4330:1;4327;4320:12;5632:184;5684:77;5681:1;5674:88;5781:4;5778:1;5771:15;5805:4;5802:1;5795:15;5821:128;5861:3;5892:1;5888:6;5885:1;5882:13;5879:39;;;5898:18;;:::i;:::-;-1:-1:-1;5934:9:416;;5821:128::o;5954:228::-;5994:7;6120:1;6052:66;6048:74;6045:1;6042:81;6037:1;6030:9;6023:17;6019:105;6016:131;;;6127:18;;:::i;:::-;-1:-1:-1;6167:9:416;;5954:228::o;6187:274::-;6227:1;6253;6243:189;;6288:77;6285:1;6278:88;6389:4;6386:1;6379:15;6417:4;6414:1;6407:15;6243:189;-1:-1:-1;6446:9:416;;6187:274::o;7296:262::-;7335:7;7367:10;7404:2;7401:1;7397:10;7434:2;7431:1;7427:10;7490:3;7486:2;7482:12;7477:3;7474:21;7467:3;7460:11;7453:19;7449:47;7446:73;;;7499:18;;:::i;:::-;7539:13;;7296:262;-1:-1:-1;;;;7296:262:416:o;7563:482::-;7652:1;7695:5;7652:1;7709:330;7730:7;7720:8;7717:21;7709:330;;;7849:4;7781:66;7777:77;7771:4;7768:87;7765:113;;;7858:18;;:::i;:::-;7908:7;7898:8;7894:22;7891:55;;;7928:16;;;;7891:55;8007:22;;;;7967:15;;;;7709:330;;;7713:3;7563:482;;;;;:::o;8050:866::-;8099:5;8129:8;8119:80;;-1:-1:-1;8170:1:416;8184:5;;8119:80;8218:4;8208:76;;-1:-1:-1;8255:1:416;8269:5;;8208:76;8300:4;8318:1;8313:59;;;;8386:1;8381:130;;;;8293:218;;8313:59;8343:1;8334:10;;8357:5;;;8381:130;8418:3;8408:8;8405:17;8402:43;;;8425:18;;:::i;:::-;-1:-1:-1;;8481:1:416;8467:16;;8496:5;;8293:218;;8595:2;8585:8;8582:16;8576:3;8570:4;8567:13;8563:36;8557:2;8547:8;8544:16;8539:2;8533:4;8530:12;8526:35;8523:77;8520:159;;;-1:-1:-1;8632:19:416;;;8664:5;;8520:159;8711:34;8736:8;8730:4;8711:34;:::i;:::-;8841:6;8773:66;8769:79;8760:7;8757:92;8754:118;;;8852:18;;:::i;:::-;8890:20;;8050:866;-1:-1:-1;;;8050:866:416:o;8921:131::-;8981:5;9010:36;9037:8;9031:4;9010:36;:::i;9057:367::-;9096:3;9131:1;9128;9124:9;9240:1;9172:66;9168:74;9165:1;9161:82;9156:2;9149:10;9145:99;9142:125;;;9247:18;;:::i;:::-;9366:1;9298:66;9294:74;9291:1;9287:82;9283:2;9279:91;9276:117;;;9373:18;;:::i;:::-;-1:-1:-1;;9409:9:416;;9057:367::o;9429:655::-;9468:7;9500:66;9592:1;9589;9585:9;9620:1;9617;9613:9;9665:1;9661:2;9657:10;9654:1;9651:17;9646:2;9642;9638:11;9634:35;9631:61;;;9672:18;;:::i;:::-;9711:66;9803:1;9800;9796:9;9850:1;9846:2;9841:11;9838:1;9834:19;9829:2;9825;9821:11;9817:37;9814:63;;;9857:18;;:::i;:::-;9903:1;9900;9896:9;9886:19;;9950:1;9946:2;9941:11;9938:1;9934:19;9929:2;9925;9921:11;9917:37;9914:63;;;9957:18;;:::i;:::-;10022:1;10018:2;10013:11;10010:1;10006:19;10001:2;9997;9993:11;9989:37;9986:63;;;10029:18;;:::i;:::-;-1:-1:-1;;;10069:9:416;;;;;9429:655;-1:-1:-1;;;9429:655:416:o;10089:184::-;10141:77;10138:1;10131:88;10238:4;10235:1;10228:15;10262:4;10259:1;10252:15;10278:195;10317:3;10348:66;10341:5;10338:77;10335:103;;10418:18;;:::i;:::-;-1:-1:-1;10465:1:416;10454:13;;10278:195::o","linkReferences":{}},"methodIdentifiers":{"DECIMALS()":"2e0f2625","baseFee()":"6ef25c3a","baseFeeScalar()":"c5985918","blobBaseFee()":"f8206140","blobBaseFeeScalar()":"68d5dca6","decimals()":"313ce567","gasPrice()":"fe173b97","getL1Fee(bytes)":"49948e0e","getL1FeeUpperBound(uint256)":"f1c7a58b","getL1GasUsed(bytes)":"de26c4a1","isEcotone()":"4ef6e224","isFjord()":"960e3a23","l1BaseFee()":"519b4bd3","overhead()":"0c18c162","scalar()":"f45e65d8","setEcotone()":"22b90ab3","setFjord()":"8e98b106","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseFeeScalar\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"gasPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"getL1Fee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_unsignedTxSize\",\"type\":\"uint256\"}],\"name\":\"getL1FeeUpperBound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"getL1GasUsed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isEcotone\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isFjord\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1BaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"overhead\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"scalar\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setEcotone\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setFjord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:proxied\":\"@custom:predeploy 0x420000000000000000000000000000000000000F\",\"kind\":\"dev\",\"methods\":{\"baseFee()\":{\"returns\":{\"_0\":\"Current L2 base fee.\"}},\"baseFeeScalar()\":{\"returns\":{\"_0\":\"Current base fee scalar.\"}},\"blobBaseFee()\":{\"returns\":{\"_0\":\"Current blob base fee.\"}},\"blobBaseFeeScalar()\":{\"returns\":{\"_0\":\"Current blob base fee scalar.\"}},\"decimals()\":{\"custom:legacy\":\"@notice Retrieves the number of decimals used in the scalar.\",\"returns\":{\"_0\":\"Number of decimals used in the scalar.\"}},\"gasPrice()\":{\"returns\":{\"_0\":\"Current L2 gas price (base fee).\"}},\"getL1Fee(bytes)\":{\"params\":{\"_data\":\"Unsigned fully RLP-encoded transaction to get the L1 fee for.\"},\"returns\":{\"_0\":\"L1 fee that should be paid for the tx\"}},\"getL1FeeUpperBound(uint256)\":{\"params\":{\"_unsignedTxSize\":\"Unsigned fully RLP-encoded transaction size to get the L1 fee for.\"},\"returns\":{\"_0\":\"L1 estimated upper-bound fee that should be paid for the tx\"}},\"getL1GasUsed(bytes)\":{\"custom:deprecated\":\"This method does not accurately estimate the gas used for a transaction.                    If you are calculating fees use getL1Fee or getL1FeeUpperBound.\",\"params\":{\"_data\":\"Unsigned fully RLP-encoded transaction to get the L1 gas for.\"},\"returns\":{\"_0\":\"Amount of L1 gas used to publish the transaction.\"}},\"l1BaseFee()\":{\"returns\":{\"_0\":\"Latest known L1 base fee.\"}},\"overhead()\":{\"custom:legacy\":\"@notice Retrieves the current fee overhead.\",\"returns\":{\"_0\":\"Current fee overhead.\"}},\"scalar()\":{\"custom:legacy\":\"@notice Retrieves the current fee scalar.\",\"returns\":{\"_0\":\"Current fee scalar.\"}}},\"stateVariables\":{\"version\":{\"custom:semver\":\"1.3.0\"}},\"title\":\"GasPriceOracle\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DECIMALS()\":{\"notice\":\"Number of decimals used in the scalar.\"},\"baseFee()\":{\"notice\":\"Retrieves the current base fee.\"},\"baseFeeScalar()\":{\"notice\":\"Retrieves the current base fee scalar.\"},\"blobBaseFee()\":{\"notice\":\"Retrieves the current blob base fee.\"},\"blobBaseFeeScalar()\":{\"notice\":\"Retrieves the current blob base fee scalar.\"},\"gasPrice()\":{\"notice\":\"Retrieves the current gas price (base fee).\"},\"getL1Fee(bytes)\":{\"notice\":\"Computes the L1 portion of the fee based on the size of the rlp encoded input         transaction, the current L1 base fee, and the various dynamic parameters.\"},\"getL1FeeUpperBound(uint256)\":{\"notice\":\"returns an upper bound for the L1 fee for a given transaction size. It is provided for callers who wish to estimate L1 transaction costs in the write path, and is much more gas efficient than `getL1Fee`. It assumes the worst case of fastlz upper-bound which covers %99.99 txs.\"},\"getL1GasUsed(bytes)\":{\"notice\":\"Computes the amount of L1 gas used for a transaction. Adds 68 bytes         of padding to account for the fact that the input does not have a signature.\"},\"isEcotone()\":{\"notice\":\"Indicates whether the network has gone through the Ecotone upgrade.\"},\"isFjord()\":{\"notice\":\"Indicates whether the network has gone through the Fjord upgrade.\"},\"l1BaseFee()\":{\"notice\":\"Retrieves the latest known L1 base fee.\"},\"setEcotone()\":{\"notice\":\"Set chain to be Ecotone chain (callable by depositor account)\"},\"setFjord()\":{\"notice\":\"Set chain to be Fjord chain (callable by depositor account)\"},\"version()\":{\"notice\":\"Semantic version.\"}},\"notice\":\"This contract maintains the variables responsible for computing the L1 portion of the         total fee charged on L2. Before Bedrock, this contract held variables in state that were         read during the state transition function to compute the L1 portion of the transaction         fee. After Bedrock, this contract now simply proxies the L1Block contract, which has         the values used to compute the L1 portion of the fee in its state.         The contract exposes an API that is useful for knowing how large the L1 portion of the         transaction fee will be. The following events were deprecated with Bedrock:         - event OverheadUpdated(uint256 overhead);         - event ScalarUpdated(uint256 scalar);         - event DecimalsUpdated(uint256 decimals);\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/L2/GasPriceOracle.sol\":\"GasPriceOracle\"},\"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/solady/src/utils/LibString.sol\":{\"keccak256\":\"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229\",\"dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ\"]},\"lib/solady/src/utils/LibZip.sol\":{\"keccak256\":\"0x6998487ca189f50322b6518c8b9906641a3f24ccdd36c76d234ed59a382e4f9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1095dc09387c648a6aa6e0e0043e305bec708504f66f07365a9fc32dae29c9d\",\"dweb:/ipfs/QmPR1TASKvyWNvxn4aCe15aLgmm4GFzzwPHhD2ACvtNQTE\"]},\"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/GasPriceOracle.sol\":{\"keccak256\":\"0xdc9aabc2688ee67798c8a35874c7c30684579e196675ea50851a53aa774cf2df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62ca4f54d7ce374841acbf11022fc22185879a75ffacf6198ae515b09cfc7c44\",\"dweb:/ipfs/QmVK43SGD4npXydNQmnGvUhdsuUEymk7DW6UhF9taTfUhp\"]},\"src/L2/L1Block.sol\":{\"keccak256\":\"0x1f8894a2ab02b402c2e9d4d94b8f3d3bc4423e4b1236fb167f7e705f2a115e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://291b05252e8e5394ec13718d6f2d15750f55f11d79224961abcd1c03689f66fc\",\"dweb:/ipfs/QmRGQXadbHNy3ZHbCNCKU8XPg4wqvQBzRMAk5JTRucioFZ\"]},\"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/Predeploys.sol\":{\"keccak256\":\"0xbc21e07126b325cf053f1c5a26968f02fb0a0da503634044a8e84c9d642acb8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7af279cd7b3b12189894ae43f33d19ba84931670ba10b78c108b9d31b767c6b3\",\"dweb:/ipfs/QmWA4qha4WjQToAYhQbqVPe8WrniBAoktVNSSxCCqBraH3\"]},\"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":[],"stateMutability":"view","type":"function","name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseFeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"blobBaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"blobBaseFeeScalar","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"gasPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"view","type":"function","name":"getL1Fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_unsignedTxSize","type":"uint256"}],"stateMutability":"view","type":"function","name":"getL1FeeUpperBound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"view","type":"function","name":"getL1GasUsed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isEcotone","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isFjord","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1BaseFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"overhead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"scalar","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setEcotone"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setFjord"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"baseFee()":{"returns":{"_0":"Current L2 base fee."}},"baseFeeScalar()":{"returns":{"_0":"Current base fee scalar."}},"blobBaseFee()":{"returns":{"_0":"Current blob base fee."}},"blobBaseFeeScalar()":{"returns":{"_0":"Current blob base fee scalar."}},"decimals()":{"custom:legacy":"@notice Retrieves the number of decimals used in the scalar.","returns":{"_0":"Number of decimals used in the scalar."}},"gasPrice()":{"returns":{"_0":"Current L2 gas price (base fee)."}},"getL1Fee(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 fee for."},"returns":{"_0":"L1 fee that should be paid for the tx"}},"getL1FeeUpperBound(uint256)":{"params":{"_unsignedTxSize":"Unsigned fully RLP-encoded transaction size to get the L1 fee for."},"returns":{"_0":"L1 estimated upper-bound fee that should be paid for the tx"}},"getL1GasUsed(bytes)":{"custom:deprecated":"This method does not accurately estimate the gas used for a transaction.                    If you are calculating fees use getL1Fee or getL1FeeUpperBound.","params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 gas for."},"returns":{"_0":"Amount of L1 gas used to publish the transaction."}},"l1BaseFee()":{"returns":{"_0":"Latest known L1 base fee."}},"overhead()":{"custom:legacy":"@notice Retrieves the current fee overhead.","returns":{"_0":"Current fee overhead."}},"scalar()":{"custom:legacy":"@notice Retrieves the current fee scalar.","returns":{"_0":"Current fee scalar."}}},"version":1},"userdoc":{"kind":"user","methods":{"DECIMALS()":{"notice":"Number of decimals used in the scalar."},"baseFee()":{"notice":"Retrieves the current base fee."},"baseFeeScalar()":{"notice":"Retrieves the current base fee scalar."},"blobBaseFee()":{"notice":"Retrieves the current blob base fee."},"blobBaseFeeScalar()":{"notice":"Retrieves the current blob base fee scalar."},"gasPrice()":{"notice":"Retrieves the current gas price (base fee)."},"getL1Fee(bytes)":{"notice":"Computes the L1 portion of the fee based on the size of the rlp encoded input         transaction, the current L1 base fee, and the various dynamic parameters."},"getL1FeeUpperBound(uint256)":{"notice":"returns an upper bound for the L1 fee for a given transaction size. It is provided for callers who wish to estimate L1 transaction costs in the write path, and is much more gas efficient than `getL1Fee`. It assumes the worst case of fastlz upper-bound which covers %99.99 txs."},"getL1GasUsed(bytes)":{"notice":"Computes the amount of L1 gas used for a transaction. Adds 68 bytes         of padding to account for the fact that the input does not have a signature."},"isEcotone()":{"notice":"Indicates whether the network has gone through the Ecotone upgrade."},"isFjord()":{"notice":"Indicates whether the network has gone through the Fjord upgrade."},"l1BaseFee()":{"notice":"Retrieves the latest known L1 base fee."},"setEcotone()":{"notice":"Set chain to be Ecotone chain (callable by depositor account)"},"setFjord()":{"notice":"Set chain to be Fjord chain (callable by depositor account)"},"version()":{"notice":"Semantic version."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/L2/GasPriceOracle.sol":"GasPriceOracle"},"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/solady/src/utils/LibString.sol":{"keccak256":"0x74ec81acbea6db4afe149ab51e26961bcb801af42f7af98242be71b866066200","urls":["bzz-raw://16bb49824fcfa9667aeed0eb515fdefda1016225085cf78ed852078c67168229","dweb:/ipfs/QmZ59xrx5QLSx5N5CiTLrfwsPKR7kpK4RRpiEWSMEpvDzQ"],"license":"MIT"},"lib/solady/src/utils/LibZip.sol":{"keccak256":"0x6998487ca189f50322b6518c8b9906641a3f24ccdd36c76d234ed59a382e4f9d","urls":["bzz-raw://d1095dc09387c648a6aa6e0e0043e305bec708504f66f07365a9fc32dae29c9d","dweb:/ipfs/QmPR1TASKvyWNvxn4aCe15aLgmm4GFzzwPHhD2ACvtNQTE"],"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/GasPriceOracle.sol":{"keccak256":"0xdc9aabc2688ee67798c8a35874c7c30684579e196675ea50851a53aa774cf2df","urls":["bzz-raw://62ca4f54d7ce374841acbf11022fc22185879a75ffacf6198ae515b09cfc7c44","dweb:/ipfs/QmVK43SGD4npXydNQmnGvUhdsuUEymk7DW6UhF9taTfUhp"],"license":"MIT"},"src/L2/L1Block.sol":{"keccak256":"0x1f8894a2ab02b402c2e9d4d94b8f3d3bc4423e4b1236fb167f7e705f2a115e80","urls":["bzz-raw://291b05252e8e5394ec13718d6f2d15750f55f11d79224961abcd1c03689f66fc","dweb:/ipfs/QmRGQXadbHNy3ZHbCNCKU8XPg4wqvQBzRMAk5JTRucioFZ"],"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/Predeploys.sol":{"keccak256":"0xbc21e07126b325cf053f1c5a26968f02fb0a0da503634044a8e84c9d642acb8f","urls":["bzz-raw://7af279cd7b3b12189894ae43f33d19ba84931670ba10b78c108b9d31b767c6b3","dweb:/ipfs/QmWA4qha4WjQToAYhQbqVPe8WrniBAoktVNSSxCCqBraH3"],"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":96390,"contract":"src/L2/GasPriceOracle.sol:GasPriceOracle","label":"isEcotone","offset":0,"slot":"0","type":"t_bool"},{"astId":96393,"contract":"src/L2/GasPriceOracle.sol:GasPriceOracle","label":"isFjord","offset":1,"slot":"0","type":"t_bool"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user","methods":{"DECIMALS()":{"notice":"Number of decimals used in the scalar."},"baseFee()":{"notice":"Retrieves the current base fee."},"baseFeeScalar()":{"notice":"Retrieves the current base fee scalar."},"blobBaseFee()":{"notice":"Retrieves the current blob base fee."},"blobBaseFeeScalar()":{"notice":"Retrieves the current blob base fee scalar."},"gasPrice()":{"notice":"Retrieves the current gas price (base fee)."},"getL1Fee(bytes)":{"notice":"Computes the L1 portion of the fee based on the size of the rlp encoded input         transaction, the current L1 base fee, and the various dynamic parameters."},"getL1FeeUpperBound(uint256)":{"notice":"returns an upper bound for the L1 fee for a given transaction size. It is provided for callers who wish to estimate L1 transaction costs in the write path, and is much more gas efficient than `getL1Fee`. It assumes the worst case of fastlz upper-bound which covers %99.99 txs."},"getL1GasUsed(bytes)":{"notice":"Computes the amount of L1 gas used for a transaction. Adds 68 bytes         of padding to account for the fact that the input does not have a signature."},"isEcotone()":{"notice":"Indicates whether the network has gone through the Ecotone upgrade."},"isFjord()":{"notice":"Indicates whether the network has gone through the Fjord upgrade."},"l1BaseFee()":{"notice":"Retrieves the latest known L1 base fee."},"setEcotone()":{"notice":"Set chain to be Ecotone chain (callable by depositor account)"},"setFjord()":{"notice":"Set chain to be Fjord chain (callable by depositor account)"},"version()":{"notice":"Semantic version."}},"notice":"This contract maintains the variables responsible for computing the L1 portion of the         total fee charged on L2. Before Bedrock, this contract held variables in state that were         read during the state transition function to compute the L1 portion of the transaction         fee. After Bedrock, this contract now simply proxies the L1Block contract, which has         the values used to compute the L1 portion of the fee in its state.         The contract exposes an API that is useful for knowing how large the L1 portion of the         transaction fee will be. The following events were deprecated with Bedrock:         - event OverheadUpdated(uint256 overhead);         - event ScalarUpdated(uint256 scalar);         - event DecimalsUpdated(uint256 decimals);"},"devdoc":{"version":1,"kind":"dev","methods":{"baseFee()":{"returns":{"_0":"Current L2 base fee."}},"baseFeeScalar()":{"returns":{"_0":"Current base fee scalar."}},"blobBaseFee()":{"returns":{"_0":"Current blob base fee."}},"blobBaseFeeScalar()":{"returns":{"_0":"Current blob base fee scalar."}},"decimals()":{"returns":{"_0":"Number of decimals used in the scalar."}},"gasPrice()":{"returns":{"_0":"Current L2 gas price (base fee)."}},"getL1Fee(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 fee for."},"returns":{"_0":"L1 fee that should be paid for the tx"}},"getL1FeeUpperBound(uint256)":{"params":{"_unsignedTxSize":"Unsigned fully RLP-encoded transaction size to get the L1 fee for."},"returns":{"_0":"L1 estimated upper-bound fee that should be paid for the tx"}},"getL1GasUsed(bytes)":{"params":{"_data":"Unsigned fully RLP-encoded transaction to get the L1 gas for."},"returns":{"_0":"Amount of L1 gas used to publish the transaction."}},"l1BaseFee()":{"returns":{"_0":"Latest known L1 base fee."}},"overhead()":{"returns":{"_0":"Current fee overhead."}},"scalar()":{"returns":{"_0":"Current fee scalar."}}},"title":"GasPriceOracle"},"ast":{"absolutePath":"src/L2/GasPriceOracle.sol","id":96936,"exportedSymbols":{"Constants":[112830],"GasPriceOracle":[96935],"ISemver":[122319],"L1Block":[97187],"LibZip":[64693],"Predeploys":[114341]},"nodeType":"SourceUnit","src":"32:11305:160","nodes":[{"id":96353,"nodeType":"PragmaDirective","src":"32:23:160","nodes":[],"literals":["solidity","0.8",".15"]},{"id":96355,"nodeType":"ImportDirective","src":"57:52:160","nodes":[],"absolutePath":"src/universal/ISemver.sol","file":"src/universal/ISemver.sol","nameLocation":"-1:-1:-1","scope":96936,"sourceUnit":122320,"symbolAliases":[{"foreign":{"id":96354,"name":"ISemver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122319,"src":"66:7:160","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":96357,"nodeType":"ImportDirective","src":"110:58:160","nodes":[],"absolutePath":"src/libraries/Predeploys.sol","file":"src/libraries/Predeploys.sol","nameLocation":"-1:-1:-1","scope":96936,"sourceUnit":114342,"symbolAliases":[{"foreign":{"id":96356,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"119:10:160","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":96359,"nodeType":"ImportDirective","src":"169:45:160","nodes":[],"absolutePath":"src/L2/L1Block.sol","file":"src/L2/L1Block.sol","nameLocation":"-1:-1:-1","scope":96936,"sourceUnit":97188,"symbolAliases":[{"foreign":{"id":96358,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"178:7:160","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":96361,"nodeType":"ImportDirective","src":"215:56:160","nodes":[],"absolutePath":"src/libraries/Constants.sol","file":"src/libraries/Constants.sol","nameLocation":"-1:-1:-1","scope":96936,"sourceUnit":112831,"symbolAliases":[{"foreign":{"id":96360,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112830,"src":"224:9:160","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":96363,"nodeType":"ImportDirective","src":"272:50:160","nodes":[],"absolutePath":"lib/solady/src/utils/LibZip.sol","file":"@solady/utils/LibZip.sol","nameLocation":"-1:-1:-1","scope":96936,"sourceUnit":64694,"symbolAliases":[{"foreign":{"id":96362,"name":"LibZip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"281:6:160","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":96935,"nodeType":"ContractDefinition","src":"1261:10075:160","nodes":[{"id":96370,"nodeType":"VariableDeclaration","src":"1357:36:160","nodes":[],"constant":true,"documentation":{"id":96367,"nodeType":"StructuredDocumentation","src":"1302:50:160","text":"@notice Number of decimals used in the scalar."},"functionSelector":"2e0f2625","mutability":"constant","name":"DECIMALS","nameLocation":"1381:8:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96368,"name":"uint256","nodeType":"ElementaryTypeName","src":"1357:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36","id":96369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1392:1:160","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"public"},{"id":96374,"nodeType":"VariableDeclaration","src":"1463:40:160","nodes":[],"baseFunctions":[122318],"constant":true,"documentation":{"id":96371,"nodeType":"StructuredDocumentation","src":"1400:58:160","text":"@notice Semantic version.\n @custom:semver 1.3.0"},"functionSelector":"54fd4d50","mutability":"constant","name":"version","nameLocation":"1486:7:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96372,"name":"string","nodeType":"ElementaryTypeName","src":"1463:6:160","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"312e332e30","id":96373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1496:7:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a08c3e203132c561752255a4d52ffae85bb9c5d33cb3291520dea1b84356389","typeString":"literal_string \"1.3.0\""},"value":"1.3.0"},"visibility":"public"},{"id":96379,"nodeType":"VariableDeclaration","src":"1659:51:160","nodes":[],"constant":true,"documentation":{"id":96375,"nodeType":"StructuredDocumentation","src":"1510:144:160","text":"@notice This is the intercept value for the linear regression used to estimate the final size of the\n         compressed transaction."},"mutability":"constant","name":"COST_INTERCEPT","nameLocation":"1682:14:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":96376,"name":"int32","nodeType":"ElementaryTypeName","src":"1659:5:160","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"id":96378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"1699:11:160","subExpression":{"hexValue":"34325f3538355f363030","id":96377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1700:10:160","typeDescriptions":{"typeIdentifier":"t_rational_42585600_by_1","typeString":"int_const 42585600"},"value":"42_585_600"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_42585600_by_1","typeString":"int_const -42585600"}},"visibility":"private"},{"id":96383,"nodeType":"VariableDeclaration","src":"1868:50:160","nodes":[],"constant":true,"documentation":{"id":96380,"nodeType":"StructuredDocumentation","src":"1717:146:160","text":"@notice This is the coefficient value for the linear regression used to estimate the final size of the\n         compressed transaction."},"mutability":"constant","name":"COST_FASTLZ_COEF","nameLocation":"1892:16:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":96381,"name":"uint32","nodeType":"ElementaryTypeName","src":"1868:6:160","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"value":{"hexValue":"3833365f353030","id":96382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1911:7:160","typeDescriptions":{"typeIdentifier":"t_rational_836500_by_1","typeString":"int_const 836500"},"value":"836_500"},"visibility":"private"},{"id":96387,"nodeType":"VariableDeclaration","src":"2075:51:160","nodes":[],"constant":true,"documentation":{"id":96384,"nodeType":"StructuredDocumentation","src":"1925:145:160","text":"@notice This is the minimum bound for the fastlz to brotli size estimation. Any estimations below this\n         are set to this value."},"mutability":"constant","name":"MIN_TRANSACTION_SIZE","nameLocation":"2100:20:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96385,"name":"uint256","nodeType":"ElementaryTypeName","src":"2075:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"313030","id":96386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2123:3:160","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"visibility":"private"},{"id":96390,"nodeType":"VariableDeclaration","src":"2217:21:160","nodes":[],"constant":false,"documentation":{"id":96388,"nodeType":"StructuredDocumentation","src":"2133:79:160","text":"@notice Indicates whether the network has gone through the Ecotone upgrade."},"functionSelector":"4ef6e224","mutability":"mutable","name":"isEcotone","nameLocation":"2229:9:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":96389,"name":"bool","nodeType":"ElementaryTypeName","src":"2217:4:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":96393,"nodeType":"VariableDeclaration","src":"2327:19:160","nodes":[],"constant":false,"documentation":{"id":96391,"nodeType":"StructuredDocumentation","src":"2245:77:160","text":"@notice Indicates whether the network has gone through the Fjord upgrade."},"functionSelector":"960e3a23","mutability":"mutable","name":"isFjord","nameLocation":"2339:7:160","scope":96935,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":96392,"name":"bool","nodeType":"ElementaryTypeName","src":"2327:4:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"id":96420,"nodeType":"FunctionDefinition","src":"2674:268:160","nodes":[],"body":{"id":96419,"nodeType":"Block","src":"2744:198:160","nodes":[],"statements":[{"condition":{"id":96401,"name":"isFjord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96393,"src":"2758:7:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":96407,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"2830:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96413,"nodeType":"IfStatement","src":"2826:70:160","trueBody":{"id":96412,"nodeType":"Block","src":"2841:55:160","statements":[{"expression":{"arguments":[{"id":96409,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96396,"src":"2879:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96408,"name":"_getL1FeeEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96775,"src":"2862:16:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view returns (uint256)"}},"id":96410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2862:23:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96400,"id":96411,"nodeType":"Return","src":"2855:30:160"}]}},"id":96414,"nodeType":"IfStatement","src":"2754:142:160","trueBody":{"id":96406,"nodeType":"Block","src":"2767:53:160","statements":[{"expression":{"arguments":[{"id":96403,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96396,"src":"2803:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96402,"name":"_getL1FeeFjord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96794,"src":"2788:14:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view returns (uint256)"}},"id":96404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2788:21:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96400,"id":96405,"nodeType":"Return","src":"2781:28:160"}]}},{"expression":{"arguments":[{"id":96416,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96396,"src":"2929:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96415,"name":"_getL1FeeBedrock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96724,"src":"2912:16:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) view returns (uint256)"}},"id":96417,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2912:23:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96400,"id":96418,"nodeType":"Return","src":"2905:30:160"}]},"documentation":{"id":96394,"nodeType":"StructuredDocumentation","src":"2353:316:160","text":"@notice Computes the L1 portion of the fee based on the size of the rlp encoded input\n         transaction, the current L1 base fee, and the various dynamic parameters.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"functionSelector":"49948e0e","implemented":true,"kind":"function","modifiers":[],"name":"getL1Fee","nameLocation":"2683:8:160","parameters":{"id":96397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96396,"mutability":"mutable","name":"_data","nameLocation":"2705:5:160","nodeType":"VariableDeclaration","scope":96420,"src":"2692:18:160","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96395,"name":"bytes","nodeType":"ElementaryTypeName","src":"2692:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2691:20:160"},"returnParameters":{"id":96400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96399,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96420,"src":"2735:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96398,"name":"uint256","nodeType":"ElementaryTypeName","src":"2735:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2734:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":96454,"nodeType":"FunctionDefinition","src":"3439:470:160","nodes":[],"body":{"id":96453,"nodeType":"Block","src":"3524:385:160","nodes":[],"statements":[{"expression":{"arguments":[{"id":96429,"name":"isFjord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96393,"src":"3542:7:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a206765744c314665655570706572426f756e64206f6e6c7920737570706f72747320466a6f7264","id":96430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3551:56:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_8041e9639b9ae1a11033e76f95f26ff85a63fcf2179dddd602691d16fd590b44","typeString":"literal_string \"GasPriceOracle: getL1FeeUpperBound only supports Fjord\""},"value":"GasPriceOracle: getL1FeeUpperBound only supports Fjord"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8041e9639b9ae1a11033e76f95f26ff85a63fcf2179dddd602691d16fd590b44","typeString":"literal_string \"GasPriceOracle: getL1FeeUpperBound only supports Fjord\""}],"id":96428,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3534:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3534:74:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96432,"nodeType":"ExpressionStatement","src":"3534:74:160"},{"assignments":[96434],"declarations":[{"constant":false,"id":96434,"mutability":"mutable","name":"txSize","nameLocation":"3685:6:160","nodeType":"VariableDeclaration","scope":96453,"src":"3677:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96433,"name":"uint256","nodeType":"ElementaryTypeName","src":"3677:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96438,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96435,"name":"_unsignedTxSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96423,"src":"3694:15:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3638","id":96436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3712:2:160","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"src":"3694:20:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3677:37:160"},{"assignments":[96440],"declarations":[{"constant":false,"id":96440,"mutability":"mutable","name":"flzUpperBound","nameLocation":"3815:13:160","nodeType":"VariableDeclaration","scope":96453,"src":"3807:21:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96439,"name":"uint256","nodeType":"ElementaryTypeName","src":"3807:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96448,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96441,"name":"txSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96434,"src":"3831:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96442,"name":"txSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96434,"src":"3840:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"323535","id":96443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3849:3:160","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"3840:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3831:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3136","id":96446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3855:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"3831:26:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3807:50:160"},{"expression":{"arguments":[{"id":96450,"name":"flzUpperBound","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96440,"src":"3888:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96449,"name":"_fjordL1Cost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96890,"src":"3875:12:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":96451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3875:27:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96427,"id":96452,"nodeType":"Return","src":"3868:34:160"}]},"documentation":{"id":96421,"nodeType":"StructuredDocumentation","src":"2948:486:160","text":"@notice returns an upper bound for the L1 fee for a given transaction size.\n It is provided for callers who wish to estimate L1 transaction costs in the\n write path, and is much more gas efficient than `getL1Fee`.\n It assumes the worst case of fastlz upper-bound which covers %99.99 txs.\n @param _unsignedTxSize Unsigned fully RLP-encoded transaction size to get the L1 fee for.\n @return L1 estimated upper-bound fee that should be paid for the tx"},"functionSelector":"f1c7a58b","implemented":true,"kind":"function","modifiers":[],"name":"getL1FeeUpperBound","nameLocation":"3448:18:160","parameters":{"id":96424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96423,"mutability":"mutable","name":"_unsignedTxSize","nameLocation":"3475:15:160","nodeType":"VariableDeclaration","scope":96454,"src":"3467:23:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96422,"name":"uint256","nodeType":"ElementaryTypeName","src":"3467:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3466:25:160"},"returnParameters":{"id":96427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96454,"src":"3515:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96425,"name":"uint256","nodeType":"ElementaryTypeName","src":"3515:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3514:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":96479,"nodeType":"FunctionDefinition","src":"3993:306:160","nodes":[],"body":{"id":96478,"nodeType":"Block","src":"4024:275:160","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":96463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":96459,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4055:3:160","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":96460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4055:10:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":96461,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112830,"src":"4069:9:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$112830_$","typeString":"type(library Constants)"}},"id":96462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DEPOSITOR_ACCOUNT","nodeType":"MemberAccess","referencedDeclaration":112796,"src":"4069:27:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4055:41:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a206f6e6c7920746865206465706f7369746f72206163636f756e742063616e2073657420697345636f746f6e6520666c6167","id":96464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4110:67:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6497d84b1fcb87671ee1e7d83fa633da5bca5b69ea1e0c7b61a9ee91a07700c","typeString":"literal_string \"GasPriceOracle: only the depositor account can set isEcotone flag\""},"value":"GasPriceOracle: only the depositor account can set isEcotone flag"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a6497d84b1fcb87671ee1e7d83fa633da5bca5b69ea1e0c7b61a9ee91a07700c","typeString":"literal_string \"GasPriceOracle: only the depositor account can set isEcotone flag\""}],"id":96458,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4034:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4034:153:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96466,"nodeType":"ExpressionStatement","src":"4034:153:160"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":96470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96468,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"4205:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":96469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4218:5:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4205:18:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a2045636f746f6e6520616c726561647920616374697665","id":96471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4225:40:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_5923a2a5f6dac6b5f7274d34a2dd94f4b6ab3b4a09fa25eddc1c3f3c5ff8cc39","typeString":"literal_string \"GasPriceOracle: Ecotone already active\""},"value":"GasPriceOracle: Ecotone already active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5923a2a5f6dac6b5f7274d34a2dd94f4b6ab3b4a09fa25eddc1c3f3c5ff8cc39","typeString":"literal_string \"GasPriceOracle: Ecotone already active\""}],"id":96467,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4197:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4197:69:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96473,"nodeType":"ExpressionStatement","src":"4197:69:160"},{"expression":{"id":96476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96474,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"4276:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":96475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4288:4:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4276:16:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96477,"nodeType":"ExpressionStatement","src":"4276:16:160"}]},"documentation":{"id":96455,"nodeType":"StructuredDocumentation","src":"3915:73:160","text":"@notice Set chain to be Ecotone chain (callable by depositor account)"},"functionSelector":"22b90ab3","implemented":true,"kind":"function","modifiers":[],"name":"setEcotone","nameLocation":"4002:10:160","parameters":{"id":96456,"nodeType":"ParameterList","parameters":[],"src":"4012:2:160"},"returnParameters":{"id":96457,"nodeType":"ParameterList","parameters":[],"src":"4024:0:160"},"scope":96935,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":96509,"nodeType":"FunctionDefinition","src":"4381:373:160","nodes":[],"body":{"id":96508,"nodeType":"Block","src":"4410:344:160","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":96488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":96484,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4441:3:160","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":96485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4441:10:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":96486,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112830,"src":"4455:9:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Constants_$112830_$","typeString":"type(library Constants)"}},"id":96487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"DEPOSITOR_ACCOUNT","nodeType":"MemberAccess","referencedDeclaration":112796,"src":"4455:27:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4441:41:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a206f6e6c7920746865206465706f7369746f72206163636f756e742063616e20736574206973466a6f726420666c6167","id":96489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4484:65:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c433b0a102dbc3ce6b3d3d9cb9dd1284e4d4a1077c9914569871fe76e7464cc","typeString":"literal_string \"GasPriceOracle: only the depositor account can set isFjord flag\""},"value":"GasPriceOracle: only the depositor account can set isFjord flag"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9c433b0a102dbc3ce6b3d3d9cb9dd1284e4d4a1077c9914569871fe76e7464cc","typeString":"literal_string \"GasPriceOracle: only the depositor account can set isFjord flag\""}],"id":96483,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4420:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4420:139:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96491,"nodeType":"ExpressionStatement","src":"4420:139:160"},{"expression":{"arguments":[{"id":96493,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"4577:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a20466a6f72642063616e206f6e6c79206265206163746976617465642061667465722045636f746f6e65","id":96494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4588:59:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_1290ff344319515f2aba35c31eeef15def0e561992c629768bf4be838a9f18dc","typeString":"literal_string \"GasPriceOracle: Fjord can only be activated after Ecotone\""},"value":"GasPriceOracle: Fjord can only be activated after Ecotone"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1290ff344319515f2aba35c31eeef15def0e561992c629768bf4be838a9f18dc","typeString":"literal_string \"GasPriceOracle: Fjord can only be activated after Ecotone\""}],"id":96492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4569:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4569:79:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96496,"nodeType":"ExpressionStatement","src":"4569:79:160"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":96500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96498,"name":"isFjord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96393,"src":"4666:7:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":96499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4677:5:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4666:16:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a20466a6f726420616c726561647920616374697665","id":96501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4684:38:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa0616cc71c57cc4ecc3da7b6429882ba22357b42bcd728771014c36ff6294d4","typeString":"literal_string \"GasPriceOracle: Fjord already active\""},"value":"GasPriceOracle: Fjord already active"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa0616cc71c57cc4ecc3da7b6429882ba22357b42bcd728771014c36ff6294d4","typeString":"literal_string \"GasPriceOracle: Fjord already active\""}],"id":96497,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4658:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4658:65:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96503,"nodeType":"ExpressionStatement","src":"4658:65:160"},{"expression":{"id":96506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96504,"name":"isFjord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96393,"src":"4733:7:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":96505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4743:4:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4733:14:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96507,"nodeType":"ExpressionStatement","src":"4733:14:160"}]},"documentation":{"id":96480,"nodeType":"StructuredDocumentation","src":"4305:71:160","text":"@notice Set chain to be Fjord chain (callable by depositor account)"},"functionSelector":"8e98b106","implemented":true,"kind":"function","modifiers":[],"name":"setFjord","nameLocation":"4390:8:160","parameters":{"id":96481,"nodeType":"ParameterList","parameters":[],"src":"4398:2:160"},"returnParameters":{"id":96482,"nodeType":"ParameterList","parameters":[],"src":"4410:0:160"},"scope":96935,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":96519,"nodeType":"FunctionDefinition","src":"4869:87:160","nodes":[],"body":{"id":96518,"nodeType":"Block","src":"4919:37:160","nodes":[],"statements":[{"expression":{"expression":{"id":96515,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4936:5:160","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":96516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"4936:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96514,"id":96517,"nodeType":"Return","src":"4929:20:160"}]},"documentation":{"id":96510,"nodeType":"StructuredDocumentation","src":"4760:104:160","text":"@notice Retrieves the current gas price (base fee).\n @return Current L2 gas price (base fee)."},"functionSelector":"fe173b97","implemented":true,"kind":"function","modifiers":[],"name":"gasPrice","nameLocation":"4878:8:160","parameters":{"id":96511,"nodeType":"ParameterList","parameters":[],"src":"4886:2:160"},"returnParameters":{"id":96514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96513,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96519,"src":"4910:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96512,"name":"uint256","nodeType":"ElementaryTypeName","src":"4910:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4909:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96529,"nodeType":"FunctionDefinition","src":"5047:86:160","nodes":[],"body":{"id":96528,"nodeType":"Block","src":"5096:37:160","nodes":[],"statements":[{"expression":{"expression":{"id":96525,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5113:5:160","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":96526,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","src":"5113:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96524,"id":96527,"nodeType":"Return","src":"5106:20:160"}]},"documentation":{"id":96520,"nodeType":"StructuredDocumentation","src":"4962:80:160","text":"@notice Retrieves the current base fee.\n @return Current L2 base fee."},"functionSelector":"6ef25c3a","implemented":true,"kind":"function","modifiers":[],"name":"baseFee","nameLocation":"5056:7:160","parameters":{"id":96521,"nodeType":"ParameterList","parameters":[],"src":"5063:2:160"},"returnParameters":{"id":96524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96523,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96529,"src":"5087:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96522,"name":"uint256","nodeType":"ElementaryTypeName","src":"5087:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5086:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96549,"nodeType":"FunctionDefinition","src":"5252:202:160","nodes":[],"body":{"id":96548,"nodeType":"Block","src":"5302:152:160","nodes":[],"statements":[{"expression":{"arguments":[{"id":96537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5320:10:160","subExpression":{"id":96536,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"5321:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a206f7665726865616428292069732064657072656361746564","id":96538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5332:42:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_25a8f9debbed12be50767fc7babd300130a5ca203afc2f904ec6e57d0959fbbf","typeString":"literal_string \"GasPriceOracle: overhead() is deprecated\""},"value":"GasPriceOracle: overhead() is deprecated"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25a8f9debbed12be50767fc7babd300130a5ca203afc2f904ec6e57d0959fbbf","typeString":"literal_string \"GasPriceOracle: overhead() is deprecated\""}],"id":96535,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5312:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:63:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96540,"nodeType":"ExpressionStatement","src":"5312:63:160"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96542,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5400:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"5400:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96541,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"5392:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5392:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeOverhead","nodeType":"MemberAccess","referencedDeclaration":97000,"src":"5392:53:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5392:55:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96534,"id":96547,"nodeType":"Return","src":"5385:62:160"}]},"documentation":{"id":96530,"nodeType":"StructuredDocumentation","src":"5139:108:160","text":"@custom:legacy\n @notice Retrieves the current fee overhead.\n @return Current fee overhead."},"functionSelector":"0c18c162","implemented":true,"kind":"function","modifiers":[],"name":"overhead","nameLocation":"5261:8:160","parameters":{"id":96531,"nodeType":"ParameterList","parameters":[],"src":"5269:2:160"},"returnParameters":{"id":96534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96533,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96549,"src":"5293:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96532,"name":"uint256","nodeType":"ElementaryTypeName","src":"5293:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5292:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96569,"nodeType":"FunctionDefinition","src":"5569:196:160","nodes":[],"body":{"id":96568,"nodeType":"Block","src":"5617:148:160","nodes":[],"statements":[{"expression":{"arguments":[{"id":96557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5635:10:160","subExpression":{"id":96556,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"5636:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"47617350726963654f7261636c653a207363616c617228292069732064657072656361746564","id":96558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5647:40:160","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdcd11c052395e9256e13a80dcc0e9d323cf16472d08af1bed3d17258d3603d3","typeString":"literal_string \"GasPriceOracle: scalar() is deprecated\""},"value":"GasPriceOracle: scalar() is deprecated"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fdcd11c052395e9256e13a80dcc0e9d323cf16472d08af1bed3d17258d3603d3","typeString":"literal_string \"GasPriceOracle: scalar() is deprecated\""}],"id":96555,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5627:7:160","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5627:61:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96560,"nodeType":"ExpressionStatement","src":"5627:61:160"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96562,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5713:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"5713:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96561,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"5705:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5705:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeScalar","nodeType":"MemberAccess","referencedDeclaration":97003,"src":"5705:51:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5705:53:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96554,"id":96567,"nodeType":"Return","src":"5698:60:160"}]},"documentation":{"id":96550,"nodeType":"StructuredDocumentation","src":"5460:104:160","text":"@custom:legacy\n @notice Retrieves the current fee scalar.\n @return Current fee scalar."},"functionSelector":"f45e65d8","implemented":true,"kind":"function","modifiers":[],"name":"scalar","nameLocation":"5578:6:160","parameters":{"id":96551,"nodeType":"ParameterList","parameters":[],"src":"5584:2:160"},"returnParameters":{"id":96554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96553,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96569,"src":"5608:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96552,"name":"uint256","nodeType":"ElementaryTypeName","src":"5608:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5607:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96583,"nodeType":"FunctionDefinition","src":"5869:124:160","nodes":[],"body":{"id":96582,"nodeType":"Block","src":"5920:73:160","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96576,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"5945:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"5945:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96575,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"5937:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5937:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96579,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"basefee","nodeType":"MemberAccess","referencedDeclaration":96982,"src":"5937:47:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5937:49:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96574,"id":96581,"nodeType":"Return","src":"5930:56:160"}]},"documentation":{"id":96570,"nodeType":"StructuredDocumentation","src":"5771:93:160","text":"@notice Retrieves the latest known L1 base fee.\n @return Latest known L1 base fee."},"functionSelector":"519b4bd3","implemented":true,"kind":"function","modifiers":[],"name":"l1BaseFee","nameLocation":"5878:9:160","parameters":{"id":96571,"nodeType":"ParameterList","parameters":[],"src":"5887:2:160"},"returnParameters":{"id":96574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96573,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96583,"src":"5911:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96572,"name":"uint256","nodeType":"ElementaryTypeName","src":"5911:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5910:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96597,"nodeType":"FunctionDefinition","src":"6091:130:160","nodes":[],"body":{"id":96596,"nodeType":"Block","src":"6144:77:160","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96590,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6169:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"6169:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96589,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"6161:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6161:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blobBaseFee","nodeType":"MemberAccess","referencedDeclaration":97006,"src":"6161:51:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6161:53:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96588,"id":96595,"nodeType":"Return","src":"6154:60:160"}]},"documentation":{"id":96584,"nodeType":"StructuredDocumentation","src":"5999:87:160","text":"@notice Retrieves the current blob base fee.\n @return Current blob base fee."},"functionSelector":"f8206140","implemented":true,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"6100:11:160","parameters":{"id":96585,"nodeType":"ParameterList","parameters":[],"src":"6111:2:160"},"returnParameters":{"id":96588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96587,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96597,"src":"6135:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96586,"name":"uint256","nodeType":"ElementaryTypeName","src":"6135:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6134:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96611,"nodeType":"FunctionDefinition","src":"6323:133:160","nodes":[],"body":{"id":96610,"nodeType":"Block","src":"6377:79:160","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96604,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6402:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"6402:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96603,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"6394:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6394:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"baseFeeScalar","nodeType":"MemberAccess","referencedDeclaration":96994,"src":"6394:53:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint32_$","typeString":"function () view external returns (uint32)"}},"id":96608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6394:55:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":96602,"id":96609,"nodeType":"Return","src":"6387:62:160"}]},"documentation":{"id":96598,"nodeType":"StructuredDocumentation","src":"6227:91:160","text":"@notice Retrieves the current base fee scalar.\n @return Current base fee scalar."},"functionSelector":"c5985918","implemented":true,"kind":"function","modifiers":[],"name":"baseFeeScalar","nameLocation":"6332:13:160","parameters":{"id":96599,"nodeType":"ParameterList","parameters":[],"src":"6345:2:160"},"returnParameters":{"id":96602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96611,"src":"6369:6:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":96600,"name":"uint32","nodeType":"ElementaryTypeName","src":"6369:6:160","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"6368:8:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96625,"nodeType":"FunctionDefinition","src":"6568:141:160","nodes":[],"body":{"id":96624,"nodeType":"Block","src":"6626:83:160","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96618,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"6651:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"6651:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96617,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"6643:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6643:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"blobBaseFeeScalar","nodeType":"MemberAccess","referencedDeclaration":96991,"src":"6643:57:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint32_$","typeString":"function () view external returns (uint32)"}},"id":96622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6643:59:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":96616,"id":96623,"nodeType":"Return","src":"6636:66:160"}]},"documentation":{"id":96612,"nodeType":"StructuredDocumentation","src":"6462:101:160","text":"@notice Retrieves the current blob base fee scalar.\n @return Current blob base fee scalar."},"functionSelector":"68d5dca6","implemented":true,"kind":"function","modifiers":[],"name":"blobBaseFeeScalar","nameLocation":"6577:17:160","parameters":{"id":96613,"nodeType":"ParameterList","parameters":[],"src":"6594:2:160"},"returnParameters":{"id":96616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96615,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96625,"src":"6618:6:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":96614,"name":"uint32","nodeType":"ElementaryTypeName","src":"6618:6:160","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"6617:8:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96634,"nodeType":"FunctionDefinition","src":"6862:82:160","nodes":[],"body":{"id":96633,"nodeType":"Block","src":"6912:32:160","nodes":[],"statements":[{"expression":{"id":96631,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96370,"src":"6929:8:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96630,"id":96632,"nodeType":"Return","src":"6922:15:160"}]},"documentation":{"id":96626,"nodeType":"StructuredDocumentation","src":"6715:142:160","text":"@custom:legacy\n @notice Retrieves the number of decimals used in the scalar.\n @return Number of decimals used in the scalar."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"6871:8:160","parameters":{"id":96627,"nodeType":"ParameterList","parameters":[],"src":"6879:2:160"},"returnParameters":{"id":96630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96629,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96634,"src":"6903:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96628,"name":"uint256","nodeType":"ElementaryTypeName","src":"6903:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6902:9:160"},"scope":96935,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":96680,"nodeType":"FunctionDefinition","src":"7467:648:160","nodes":[],"body":{"id":96679,"nodeType":"Block","src":"7539:576:160","nodes":[],"statements":[{"condition":{"id":96642,"name":"isFjord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96393,"src":"7553:7:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96658,"nodeType":"IfStatement","src":"7549:359:160","trueBody":{"id":96657,"nodeType":"Block","src":"7562:346:160","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":96646,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96637,"src":"7867:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":96644,"name":"LibZip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"7848:6:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibZip_$64693_$","typeString":"type(library LibZip)"}},"id":96645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"flzCompress","nodeType":"MemberAccess","referencedDeclaration":64656,"src":"7848:18:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":96647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7848:25:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"7848:32:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3638","id":96649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7883:2:160","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"src":"7848:37:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96643,"name":"_fjordLinearRegression","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96934,"src":"7825:22:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":96651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7825:61:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3136","id":96652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7889:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"7825:66:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"316536","id":96654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7894:3:160","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"src":"7825:72:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96641,"id":96656,"nodeType":"Return","src":"7818:79:160"}]}},{"assignments":[96660],"declarations":[{"constant":false,"id":96660,"mutability":"mutable","name":"l1GasUsed","nameLocation":"7925:9:160","nodeType":"VariableDeclaration","scope":96679,"src":"7917:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96659,"name":"uint256","nodeType":"ElementaryTypeName","src":"7917:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96664,"initialValue":{"arguments":[{"id":96662,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96637,"src":"7953:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96661,"name":"_getCalldataGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96847,"src":"7937:15:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":96663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7937:22:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7917:42:160"},{"condition":{"id":96665,"name":"isEcotone","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96390,"src":"7973:9:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96669,"nodeType":"IfStatement","src":"7969:56:160","trueBody":{"id":96668,"nodeType":"Block","src":"7984:41:160","statements":[{"expression":{"id":96666,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96660,"src":"8005:9:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96641,"id":96667,"nodeType":"Return","src":"7998:16:160"}]}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96670,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96660,"src":"8041:9:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96672,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"8061:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"8061:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96671,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"8053:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8053:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeOverhead","nodeType":"MemberAccess","referencedDeclaration":97000,"src":"8053:53:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8053:55:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8041:67:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96641,"id":96678,"nodeType":"Return","src":"8034:74:160"}]},"documentation":{"id":96635,"nodeType":"StructuredDocumentation","src":"6950:512:160","text":"@notice Computes the amount of L1 gas used for a transaction. Adds 68 bytes\n         of padding to account for the fact that the input does not have a signature.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 gas for.\n @return Amount of L1 gas used to publish the transaction.\n @custom:deprecated This method does not accurately estimate the gas used for a transaction.\n                    If you are calculating fees use getL1Fee or getL1FeeUpperBound."},"functionSelector":"de26c4a1","implemented":true,"kind":"function","modifiers":[],"name":"getL1GasUsed","nameLocation":"7476:12:160","parameters":{"id":96638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96637,"mutability":"mutable","name":"_data","nameLocation":"7502:5:160","nodeType":"VariableDeclaration","scope":96680,"src":"7489:18:160","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96636,"name":"bytes","nodeType":"ElementaryTypeName","src":"7489:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7488:20:160"},"returnParameters":{"id":96641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96680,"src":"7530:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96639,"name":"uint256","nodeType":"ElementaryTypeName","src":"7530:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7529:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":96724,"nodeType":"FunctionDefinition","src":"8328:351:160","nodes":[],"body":{"id":96723,"nodeType":"Block","src":"8406:273:160","nodes":[],"statements":[{"assignments":[96689],"declarations":[{"constant":false,"id":96689,"mutability":"mutable","name":"l1GasUsed","nameLocation":"8424:9:160","nodeType":"VariableDeclaration","scope":96723,"src":"8416:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96688,"name":"uint256","nodeType":"ElementaryTypeName","src":"8416:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96693,"initialValue":{"arguments":[{"id":96691,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96683,"src":"8452:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96690,"name":"_getCalldataGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96847,"src":"8436:15:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":96692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8436:22:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8416:42:160"},{"assignments":[96695],"declarations":[{"constant":false,"id":96695,"mutability":"mutable","name":"fee","nameLocation":"8476:3:160","nodeType":"VariableDeclaration","scope":96723,"src":"8468:11:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96694,"name":"uint256","nodeType":"ElementaryTypeName","src":"8468:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96715,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96696,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96689,"src":"8483:9:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96698,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"8503:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"8503:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96697,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"8495:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8495:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeOverhead","nodeType":"MemberAccess","referencedDeclaration":97000,"src":"8495:53:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8495:55:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8483:67:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96704,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8482:69:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96705,"name":"l1BaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96583,"src":"8554:9:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":96706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8554:11:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8482:83:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[{"expression":{"id":96709,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114341,"src":"8588:10:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$114341_$","typeString":"type(library Predeploys)"}},"id":96710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L1_BLOCK_ATTRIBUTES","nodeType":"MemberAccess","referencedDeclaration":113898,"src":"8588:30:160","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96708,"name":"L1Block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97187,"src":"8580:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_L1Block_$97187_$","typeString":"type(contract L1Block)"}},"id":96711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8580:39:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_L1Block_$97187","typeString":"contract L1Block"}},"id":96712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l1FeeScalar","nodeType":"MemberAccess","referencedDeclaration":97003,"src":"8580:51:160","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":96713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8580:53:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8482:151:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8468:165:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96716,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96695,"src":"8650:3:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":96717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8657:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":96718,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96370,"src":"8663:8:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8657:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96720,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8656:16:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8650:22:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96687,"id":96722,"nodeType":"Return","src":"8643:29:160"}]},"documentation":{"id":96681,"nodeType":"StructuredDocumentation","src":"8121:202:160","text":"@notice Computation of the L1 portion of the fee for Bedrock.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"implemented":true,"kind":"function","modifiers":[],"name":"_getL1FeeBedrock","nameLocation":"8337:16:160","parameters":{"id":96684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96683,"mutability":"mutable","name":"_data","nameLocation":"8367:5:160","nodeType":"VariableDeclaration","scope":96724,"src":"8354:18:160","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96682,"name":"bytes","nodeType":"ElementaryTypeName","src":"8354:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8353:20:160"},"returnParameters":{"id":96687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96724,"src":"8397:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96685,"name":"uint256","nodeType":"ElementaryTypeName","src":"8397:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8396:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":96775,"nodeType":"FunctionDefinition","src":"8875:393:160","nodes":[],"body":{"id":96774,"nodeType":"Block","src":"8953:315:160","nodes":[],"statements":[{"assignments":[96733],"declarations":[{"constant":false,"id":96733,"mutability":"mutable","name":"l1GasUsed","nameLocation":"8971:9:160","nodeType":"VariableDeclaration","scope":96774,"src":"8963:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96732,"name":"uint256","nodeType":"ElementaryTypeName","src":"8963:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96737,"initialValue":{"arguments":[{"id":96735,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96727,"src":"8999:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96734,"name":"_getCalldataGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96847,"src":"8983:15:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (bytes memory) pure returns (uint256)"}},"id":96736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8983:22:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8963:42:160"},{"assignments":[96739],"declarations":[{"constant":false,"id":96739,"mutability":"mutable","name":"scaledBaseFee","nameLocation":"9023:13:160","nodeType":"VariableDeclaration","scope":96774,"src":"9015:21:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96738,"name":"uint256","nodeType":"ElementaryTypeName","src":"9015:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96747,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":96743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96740,"name":"baseFeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96611,"src":"9039:13:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint32_$","typeString":"function () view returns (uint32)"}},"id":96741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9039:15:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3136","id":96742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9057:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9039:20:160","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96744,"name":"l1BaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96583,"src":"9062:9:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":96745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9062:11:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9039:34:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9015:58:160"},{"assignments":[96749],"declarations":[{"constant":false,"id":96749,"mutability":"mutable","name":"scaledBlobBaseFee","nameLocation":"9091:17:160","nodeType":"VariableDeclaration","scope":96774,"src":"9083:25:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96748,"name":"uint256","nodeType":"ElementaryTypeName","src":"9083:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96755,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96750,"name":"blobBaseFeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96625,"src":"9111:17:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint32_$","typeString":"function () view returns (uint32)"}},"id":96751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9111:19:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96752,"name":"blobBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96597,"src":"9133:11:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":96753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9133:13:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9111:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9083:63:160"},{"assignments":[96757],"declarations":[{"constant":false,"id":96757,"mutability":"mutable","name":"fee","nameLocation":"9164:3:160","nodeType":"VariableDeclaration","scope":96774,"src":"9156:11:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96756,"name":"uint256","nodeType":"ElementaryTypeName","src":"9156:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96764,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96758,"name":"l1GasUsed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96733,"src":"9170:9:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96759,"name":"scaledBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96739,"src":"9183:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":96760,"name":"scaledBlobBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96749,"src":"9199:17:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9183:33:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96762,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9182:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9170:47:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9156:61:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96765,"name":"fee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96757,"src":"9234:3:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3136","id":96766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9241:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":96767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9246:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":96768,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96370,"src":"9252:8:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9246:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9241:19:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96771,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9240:21:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9234:27:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96731,"id":96773,"nodeType":"Return","src":"9227:34:160"}]},"documentation":{"id":96725,"nodeType":"StructuredDocumentation","src":"8685:185:160","text":"@notice L1 portion of the fee after Ecotone.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"implemented":true,"kind":"function","modifiers":[],"name":"_getL1FeeEcotone","nameLocation":"8884:16:160","parameters":{"id":96728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96727,"mutability":"mutable","name":"_data","nameLocation":"8914:5:160","nodeType":"VariableDeclaration","scope":96775,"src":"8901:18:160","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96726,"name":"bytes","nodeType":"ElementaryTypeName","src":"8901:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8900:20:160"},"returnParameters":{"id":96731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96730,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96775,"src":"8944:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96729,"name":"uint256","nodeType":"ElementaryTypeName","src":"8944:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8943:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":96794,"nodeType":"FunctionDefinition","src":"9462:151:160","nodes":[],"body":{"id":96793,"nodeType":"Block","src":"9538:75:160","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":96786,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96778,"src":"9587:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":96784,"name":"LibZip","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64693,"src":"9568:6:160","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibZip_$64693_$","typeString":"type(library LibZip)"}},"id":96785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"flzCompress","nodeType":"MemberAccess","referencedDeclaration":64656,"src":"9568:18:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) pure returns (bytes memory)"}},"id":96787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9568:25:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9568:32:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3638","id":96789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9603:2:160","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"src":"9568:37:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96783,"name":"_fjordL1Cost","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96890,"src":"9555:12:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":96791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9555:51:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96782,"id":96792,"nodeType":"Return","src":"9548:58:160"}]},"documentation":{"id":96776,"nodeType":"StructuredDocumentation","src":"9274:183:160","text":"@notice L1 portion of the fee after Fjord.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 fee for.\n @return L1 fee that should be paid for the tx"},"implemented":true,"kind":"function","modifiers":[],"name":"_getL1FeeFjord","nameLocation":"9471:14:160","parameters":{"id":96779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96778,"mutability":"mutable","name":"_data","nameLocation":"9499:5:160","nodeType":"VariableDeclaration","scope":96794,"src":"9486:18:160","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96777,"name":"bytes","nodeType":"ElementaryTypeName","src":"9486:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9485:20:160"},"returnParameters":{"id":96782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96794,"src":"9529:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96780,"name":"uint256","nodeType":"ElementaryTypeName","src":"9529:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9528:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":96847,"nodeType":"FunctionDefinition","src":"9815:366:160","nodes":[],"body":{"id":96846,"nodeType":"Block","src":"9892:289:160","nodes":[],"statements":[{"assignments":[96803],"declarations":[{"constant":false,"id":96803,"mutability":"mutable","name":"total","nameLocation":"9910:5:160","nodeType":"VariableDeclaration","scope":96846,"src":"9902:13:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96802,"name":"uint256","nodeType":"ElementaryTypeName","src":"9902:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96805,"initialValue":{"hexValue":"30","id":96804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9918:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9902:17:160"},{"assignments":[96807],"declarations":[{"constant":false,"id":96807,"mutability":"mutable","name":"length","nameLocation":"9937:6:160","nodeType":"VariableDeclaration","scope":96846,"src":"9929:14:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96806,"name":"uint256","nodeType":"ElementaryTypeName","src":"9929:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96810,"initialValue":{"expression":{"id":96808,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96797,"src":"9946:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"9946:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9929:29:160"},{"body":{"id":96837,"nodeType":"Block","src":"10005:136:160","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":96825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":96821,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96797,"src":"10023:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96823,"indexExpression":{"id":96822,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96812,"src":"10029:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10023:8:160","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":96824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10035:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10023:13:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":96835,"nodeType":"Block","src":"10087:44:160","statements":[{"expression":{"id":96833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96831,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96803,"src":"10105:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":96832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10114:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10105:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96834,"nodeType":"ExpressionStatement","src":"10105:11:160"}]},"id":96836,"nodeType":"IfStatement","src":"10019:112:160","trueBody":{"id":96830,"nodeType":"Block","src":"10038:43:160","statements":[{"expression":{"id":96828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96826,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96803,"src":"10056:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":96827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10065:1:160","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10056:10:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96829,"nodeType":"ExpressionStatement","src":"10056:10:160"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96815,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96812,"src":"9988:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":96816,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96807,"src":"9992:6:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9988:10:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96838,"initializationExpression":{"assignments":[96812],"declarations":[{"constant":false,"id":96812,"mutability":"mutable","name":"i","nameLocation":"9981:1:160","nodeType":"VariableDeclaration","scope":96838,"src":"9973:9:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96811,"name":"uint256","nodeType":"ElementaryTypeName","src":"9973:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96814,"initialValue":{"hexValue":"30","id":96813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9985:1:160","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9973:13:160"},"loopExpression":{"expression":{"id":96819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10000:3:160","subExpression":{"id":96818,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96812,"src":"10000:1:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96820,"nodeType":"ExpressionStatement","src":"10000:3:160"},"nodeType":"ForStatement","src":"9968:173:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96839,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96803,"src":"10157:5:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_1088_by_1","typeString":"int_const 1088"},"id":96842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3638","id":96840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10166:2:160","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3136","id":96841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10171:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10166:7:160","typeDescriptions":{"typeIdentifier":"t_rational_1088_by_1","typeString":"int_const 1088"}}],"id":96843,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10165:9:160","typeDescriptions":{"typeIdentifier":"t_rational_1088_by_1","typeString":"int_const 1088"}},"src":"10157:17:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96801,"id":96845,"nodeType":"Return","src":"10150:24:160"}]},"documentation":{"id":96795,"nodeType":"StructuredDocumentation","src":"9619:191:160","text":"@notice L1 gas estimation calculation.\n @param _data Unsigned fully RLP-encoded transaction to get the L1 gas for.\n @return Amount of L1 gas used to publish the transaction."},"implemented":true,"kind":"function","modifiers":[],"name":"_getCalldataGas","nameLocation":"9824:15:160","parameters":{"id":96798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96797,"mutability":"mutable","name":"_data","nameLocation":"9853:5:160","nodeType":"VariableDeclaration","scope":96847,"src":"9840:18:160","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96796,"name":"bytes","nodeType":"ElementaryTypeName","src":"9840:5:160","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9839:20:160"},"returnParameters":{"id":96801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96847,"src":"9883:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96799,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9882:9:160"},"scope":96935,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96890,"nodeType":"FunctionDefinition","src":"10380:390:160","nodes":[],"body":{"id":96889,"nodeType":"Block","src":"10455:315:160","nodes":[],"statements":[{"assignments":[96856],"declarations":[{"constant":false,"id":96856,"mutability":"mutable","name":"estimatedSize","nameLocation":"10543:13:160","nodeType":"VariableDeclaration","scope":96889,"src":"10535:21:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96855,"name":"uint256","nodeType":"ElementaryTypeName","src":"10535:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96860,"initialValue":{"arguments":[{"id":96858,"name":"_fastLzSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96850,"src":"10582:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96857,"name":"_fjordLinearRegression","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96934,"src":"10559:22:160","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":96859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10559:35:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10535:59:160"},{"assignments":[96862],"declarations":[{"constant":false,"id":96862,"mutability":"mutable","name":"feeScaled","nameLocation":"10612:9:160","nodeType":"VariableDeclaration","scope":96889,"src":"10604:17:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96861,"name":"uint256","nodeType":"ElementaryTypeName","src":"10604:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96876,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96869,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":96866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96863,"name":"baseFeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96611,"src":"10624:13:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint32_$","typeString":"function () view returns (uint32)"}},"id":96864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10624:15:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"3136","id":96865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10642:2:160","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10624:20:160","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96867,"name":"l1BaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96583,"src":"10647:9:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":96868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10647:11:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10624:34:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96870,"name":"blobBaseFeeScalar","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96625,"src":"10661:17:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint32_$","typeString":"function () view returns (uint32)"}},"id":96871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10661:19:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":96872,"name":"blobBaseFee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96597,"src":"10683:11:160","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":96873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10683:13:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10661:35:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10624:72:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10604:92:160"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96877,"name":"estimatedSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96856,"src":"10713:13:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":96878,"name":"feeScaled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96862,"src":"10729:9:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10713:25:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96885,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":96880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10742:2:160","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":96881,"name":"DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96370,"src":"10749:8:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":96882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10760:1:160","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10749:12:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96884,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10748:14:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10742:20:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96886,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10741:22:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10713:50:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96854,"id":96888,"nodeType":"Return","src":"10706:57:160"}]},"documentation":{"id":96848,"nodeType":"StructuredDocumentation","src":"10187:188:160","text":"@notice Fjord L1 cost based on the compressed and original tx size.\n @param _fastLzSize estimated compressed tx size.\n @return Fjord L1 fee that should be paid for the tx"},"implemented":true,"kind":"function","modifiers":[],"name":"_fjordL1Cost","nameLocation":"10389:12:160","parameters":{"id":96851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96850,"mutability":"mutable","name":"_fastLzSize","nameLocation":"10410:11:160","nodeType":"VariableDeclaration","scope":96890,"src":"10402:19:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96849,"name":"uint256","nodeType":"ElementaryTypeName","src":"10402:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10401:21:160"},"returnParameters":{"id":96854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96890,"src":"10446:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96852,"name":"uint256","nodeType":"ElementaryTypeName","src":"10446:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10445:9:160"},"scope":96935,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":96934,"nodeType":"FunctionDefinition","src":"10975:359:160","nodes":[],"body":{"id":96933,"nodeType":"Block","src":"11060:274:160","nodes":[],"statements":[{"assignments":[96899],"declarations":[{"constant":false,"id":96899,"mutability":"mutable","name":"estimatedSize","nameLocation":"11077:13:160","nodeType":"VariableDeclaration","scope":96933,"src":"11070:20:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":96898,"name":"int256","nodeType":"ElementaryTypeName","src":"11070:6:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":96908,"initialValue":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":96907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96900,"name":"COST_INTERCEPT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96379,"src":"11093:14:160","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96903,"name":"COST_FASTLZ_COEF","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96383,"src":"11117:16:160","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":96904,"name":"_fastLzSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96893,"src":"11136:11:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11117:30:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11110:6:160","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":96901,"name":"int256","nodeType":"ElementaryTypeName","src":"11110:6:160","typeDescriptions":{}}},"id":96906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11110:38:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11093:55:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"11070:78:160"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":96916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96909,"name":"estimatedSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96899,"src":"11162:13:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":96915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"id":96912,"name":"MIN_TRANSACTION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96387,"src":"11185:20:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11178:6:160","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":96910,"name":"int256","nodeType":"ElementaryTypeName","src":"11178:6:160","typeDescriptions":{}}},"id":96913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11178:28:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316536","id":96914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11209:3:160","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"src":"11178:34:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11162:50:160","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96927,"nodeType":"IfStatement","src":"11158:131:160","trueBody":{"id":96926,"nodeType":"Block","src":"11214:75:160","statements":[{"expression":{"id":96924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96917,"name":"estimatedSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96899,"src":"11228:13:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":96923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"arguments":[{"id":96920,"name":"MIN_TRANSACTION_SIZE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96387,"src":"11251:20:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11244:6:160","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":96918,"name":"int256","nodeType":"ElementaryTypeName","src":"11244:6:160","typeDescriptions":{}}},"id":96921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11244:28:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"316536","id":96922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11275:3:160","typeDescriptions":{"typeIdentifier":"t_rational_1000000_by_1","typeString":"int_const 1000000"},"value":"1e6"},"src":"11244:34:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11228:50:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":96925,"nodeType":"ExpressionStatement","src":"11228:50:160"}]}},{"expression":{"arguments":[{"id":96930,"name":"estimatedSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96899,"src":"11313:13:160","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":96929,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11305:7:160","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96928,"name":"uint256","nodeType":"ElementaryTypeName","src":"11305:7:160","typeDescriptions":{}}},"id":96931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11305:22:160","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":96897,"id":96932,"nodeType":"Return","src":"11298:29:160"}]},"documentation":{"id":96891,"nodeType":"StructuredDocumentation","src":"10776:194:160","text":"@notice Takes the fastLz size compression and returns the estimated Brotli\n @param _fastLzSize fastlz compressed tx size.\n @return Number of bytes in the compressed transaction"},"implemented":true,"kind":"function","modifiers":[],"name":"_fjordLinearRegression","nameLocation":"10984:22:160","parameters":{"id":96894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96893,"mutability":"mutable","name":"_fastLzSize","nameLocation":"11015:11:160","nodeType":"VariableDeclaration","scope":96934,"src":"11007:19:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96892,"name":"uint256","nodeType":"ElementaryTypeName","src":"11007:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11006:21:160"},"returnParameters":{"id":96897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96896,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96934,"src":"11051:7:160","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96895,"name":"uint256","nodeType":"ElementaryTypeName","src":"11051:7:160","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11050:9:160"},"scope":96935,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":96365,"name":"ISemver","nodeType":"IdentifierPath","referencedDeclaration":122319,"src":"1288:7:160"},"id":96366,"nodeType":"InheritanceSpecifier","src":"1288:7:160"}],"canonicalName":"GasPriceOracle","contractDependencies":[],"contractKind":"contract","documentation":{"id":96364,"nodeType":"StructuredDocumentation","src":"324:937:160","text":"@custom:proxied\n @custom:predeploy 0x420000000000000000000000000000000000000F\n @title GasPriceOracle\n @notice This contract maintains the variables responsible for computing the L1 portion of the\n         total fee charged on L2. Before Bedrock, this contract held variables in state that were\n         read during the state transition function to compute the L1 portion of the transaction\n         fee. After Bedrock, this contract now simply proxies the L1Block contract, which has\n         the values used to compute the L1 portion of the fee in its state.\n         The contract exposes an API that is useful for knowing how large the L1 portion of the\n         transaction fee will be. The following events were deprecated with Bedrock:\n         - event OverheadUpdated(uint256 overhead);\n         - event ScalarUpdated(uint256 scalar);\n         - event DecimalsUpdated(uint256 decimals);"},"fullyImplemented":true,"linearizedBaseContracts":[96935,122319],"name":"GasPriceOracle","nameLocation":"1270:14:160","scope":96936,"usedErrors":[]}],"license":"MIT"},"id":160}