1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[72637],{72324:function(e){e.exports=JSON.parse('{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"MESSENGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CrossDomainMessenger"}],"stateMutability":"view"},{"type":"function","name":"OTHER_BRIDGE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract StandardBridge"}],"stateMutability":"view"},{"type":"function","name":"bridgeERC20","inputs":[{"name":"_localToken","type":"address","internalType":"address"},{"name":"_remoteToken","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bridgeERC20To","inputs":[{"name":"_localToken","type":"address","internalType":"address"},{"name":"_remoteToken","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"bridgeETH","inputs":[{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"bridgeETHTo","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositERC20","inputs":[{"name":"_l1Token","type":"address","internalType":"address"},{"name":"_l2Token","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositERC20To","inputs":[{"name":"_l1Token","type":"address","internalType":"address"},{"name":"_l2Token","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositETH","inputs":[{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositETHTo","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_minGasLimit","type":"uint32","internalType":"uint32"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"deposits","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"finalizeBridgeERC20","inputs":[{"name":"_localToken","type":"address","internalType":"address"},{"name":"_remoteToken","type":"address","internalType":"address"},{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"finalizeBridgeETH","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"finalizeERC20Withdrawal","inputs":[{"name":"_l1Token","type":"address","internalType":"address"},{"name":"_l2Token","type":"address","internalType":"address"},{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"finalizeETHWithdrawal","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"initialize","inputs":[{"name":"_messenger","type":"address","internalType":"contract CrossDomainMessenger"},{"name":"_superchainConfig","type":"address","internalType":"contract SuperchainConfig"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"l2TokenBridge","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"messenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract CrossDomainMessenger"}],"stateMutability":"view"},{"type":"function","name":"otherBridge","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract StandardBridge"}],"stateMutability":"view"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"superchainConfig","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SuperchainConfig"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"ERC20BridgeFinalized","inputs":[{"name":"localToken","type":"address","indexed":true,"internalType":"address"},{"name":"remoteToken","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ERC20BridgeInitiated","inputs":[{"name":"localToken","type":"address","indexed":true,"internalType":"address"},{"name":"remoteToken","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ERC20DepositInitiated","inputs":[{"name":"l1Token","type":"address","indexed":true,"internalType":"address"},{"name":"l2Token","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ERC20WithdrawalFinalized","inputs":[{"name":"l1Token","type":"address","indexed":true,"internalType":"address"},{"name":"l2Token","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ETHBridgeFinalized","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ETHBridgeInitiated","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ETHDepositInitiated","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"ETHWithdrawalFinalized","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"extraData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506200001f60008062000025565b62000234565b600054610100900460ff1615808015620000465750600054600160ff909116105b8062000076575062000063306200018a60201b620005511760201c565b15801562000076575060005460ff166001145b620000df5760405162461bcd60e51b8152
160206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801562000103576000805461ff0019166101001790555b603280546001600160a01b0319166001600160a01b0384161790556200013e8373420000000000000000000000000000000000001062000199565b801562000185576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b03163b151590565b600054610100900460ff16620002065760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401620000d6565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b612c4d80620002446000396000f3fe6080604052600436106101795760003560e01c80637f46ddb2116100cb578063927ede2d1161007f578063b1a1a88211610059578063b1a1a882146104fe578063c89701a214610511578063e11013dd1461053e57600080fd5b8063927ede2d146104a05780639a2ac6d5146104cb578063a9f9e675146104de57600080fd5b806387087623116100b0578063870876231461043a5780638f601f661461045a57806391c49bf8146103ef57600080fd5b80637f46ddb2146103ef578063838b25201461041a57600080fd5b80633cb747bf1161012d57806354fd4d501161010757806354fd4d501461035457806358a997f6146103aa5780635c975abb146103ca57600080fd5b80633cb747bf146102e7578063485cc95514610314578063540abf731461033457600080fd5b80631532ec341161015e5780631532ec341461026a5780631635f5fd1461027d57806335e80ab31461029057600080fd5b80630166a07a1461023757806309fc88431461025757600080fd5b3661023257333b15610212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084015b60405180910390fd5b610230333362030d406040518060200160405280600081525061056d565b005b600080fd5b34801561024357600080fd5b506102306102523660046126b1565b610580565b610230610265366004612762565b61099a565b6102306102783660046127b5565b610a71565b61023061028b3660046127b5565b610a85565b34801561029c57600080fd5b506032546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102f357600080fd5b506003546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032057600080fd5b5061023061032f366004612828565b610f4e565b34801561034057600080fd5b5061023061034f366004612861565b611137565b34801561036057600080fd5b5061039d6040518060400160405280600581526020017f322e312e3000000000000000000000000000000000000000000000000000000081525081565b6040516102de919061294e565b3480156103b657600080fd5b506102306103c5366004612961565b61117c565b3480156103d657600080fd5b506103df611250565b60405190151581526020016102de565b3480156103fb57600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff166102bd565b34801561042657600080fd5b50610230610435366004612861565b6112e9565b34801561044657600080fd5b50610230610455366004612961565b61132e565b34801561046657600080fd5b50610492610475366004612828565b600260209081526000928352604080842090915290825290205481565b6040519081526020016102de565b3480156104ac57600080fd5b5060035473ffffffffffffffffffffffffffffffffffffffff166102bd565b6102306104d93660046129e4565b611402565b3480156104ea57600080fd5b506102306104f93660046126b1565b611444565b61023061050c366004612762565b611453565b34801561051d57600080fd5b506004546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b61023061054c3660046129e4565b611524565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61057a8484348585611567565b50505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633148015610653575060048054600354604080517f6e296e45000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff938416949390921692636e296e459282820192602092908290030181865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190612a47565b73ffffffffffffffffffffffffffffffffffffffff16145b610705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a401610209565b61070d611250565b15610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616e646172644272696467653a20706175736564000000000000000000006044820152606401610209565b61077d87611731565b156108cb5761078c8787611793565b61083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f
163616c20746f6b656e00000000000000000000000000000000000000000000608482015260a401610209565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590528816906340c10f1990604401600060405180830381600087803b1580156108ae57600080fd5b505af11580156108c2573d6000803e3d6000fd5b5050505061094d565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a1683529290522054610909908490612a93565b73ffffffffffffffffffffffffffffffffffffffff8089166000818152600260209081526040808320948c168352939052919091209190915561094d9085856118b3565b610991878787878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198792505050565b50505050505050565b333b15610a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610a6c3333348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792505050565b505050565b610a7e8585858585610a85565b5050505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633148015610b58575060048054600354604080517f6e296e45000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff938416949390921692636e296e459282820192602092908290030181865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b409190612a47565b73ffffffffffffffffffffffffffffffffffffffff16145b610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a401610209565b610c12611250565b15610c79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616e646172644272696467653a20706175736564000000000000000000006044820152606401610209565b823414610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152608401610209565b3073ffffffffffffffffffffffffffffffffffffffff851603610dad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152608401610209565b60035473ffffffffffffffffffffffffffffffffffffffff90811690851603610e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152608401610209565b610e9a85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1592505050565b6000610eb7855a8660405180602001604052806000815250611a88565b905080610f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152608401610209565b505050505050565b600054610100900460ff1615808015610f6e5750600054600160ff909116105b80610f885750303b158015610f88575060005460ff166001145b611014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610209565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561107257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556110d083734200000000000000000000000000000000000010611aa2565b8015610a6c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61099187873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8c92505050565b333b1561120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610f4686863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb792505050565b603254604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190612aaa565b905090565b61099187873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb792505050565b333b156113bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610f4686863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8c92505050565b61057a33858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061056d92505050565b61099187878787878787610580565b333b156114e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610a6c33338585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061056d92505050565b61057a3385348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792505050565b8234146115f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152608401610209565b61160285858584611ec6565b60035460045460405173ffffffffffffffffffffffffffffffffffffffff92831692633dbb202b9287929116907f1635f5fd0000000000000000000000000000000000000000000000000000000090611665908b908b9086908a90602401612acc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e086901b90921682526116f892918890600401612b15565b6000604051808303818588803b15801561171157600080fd5b505af1158015611725573d6000803e3d6000fd5b50505050505050505050565b600061175d827f1d1d8b6300000000000000000000000000000000000000000000000000000000611f3956
15b8061178d575061178d827fec4fc8e300000000000000000000000000000000000000000000000000000000611f39565b92915050565b60006117bf837f1d1d8b6300000000000000000000000000000000000000000000000000000000611f39565b15611868578273ffffffffffffffffffffffffffffffffffffffff1663c01e1bd66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118339190612a47565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614905061178d565b8273ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180f573d6000803e3d6000fd5b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610a6c9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611f5c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b38686866040516119ff93929190612b5a565b60405180910390a4610f46868686868686612068565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e6318484604051611a74929190612b98565b60405180910390a361057a848484846120f0565b600080600080845160208601878a8af19695505050505050565b600054610100900460ff16611b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610209565b6003805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560048054929093169116179055565b611b9587611731565b15611ce357611ba48787611793565b611c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a401610209565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201859052881690639dc29fac90604401600060405180830381600087803b158015611cc657600080fd5b505af1158015611cda573d6000803e3d6000fd5b50505050611d77565b611d0573ffffffffffffffffffffffffffffffffffffffff881686308661215d565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a1683529290522054611d43908490612bb1565b73ffffffffffffffffffffffffffffffffffffffff8089166000908152600260209081526040808320938b16835292905220555b611d858787878787866121bb565b60035460045460405173ffffffffffffffffffffffffffffffffffffffff92831692633dbb202b9216907f0166a07a0000000000000000000000000000000000000000000000000000000090611de9908b908d908c908c908c908b90602401612bc9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252611e7c92918790600401612b15565b600060405180830381600087803b158015611e9657600080fd5b505af1158015611eaa573d6000803e3d6000fd5b5050505050505050505050565b61099187878787878787611b8c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f238484604051611f25929190612b98565b60405180910390a361057a84848484612249565b6000611f44836122a8565b8015611f555750611f55838361230c565b9392505050565b6000611fbe826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123db9092919063ffffffff16565b805190915015610a6c5780806020019051810190611fdc9190612aaa565b610a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610209565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd8686866040516120e093929190612b5a565b60405180910390a4505050505050565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d848460405161214f929190612b98565b60405180910390a350505050565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261057a9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611905565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d039686868660405161223393929190612b5a565b60405180910390a4610f468686868686866123f2565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5848460405161214f929190612b98565b60006122d4827f01ffc9a70000000000000000000000000000000000000000000000000000000061230c565b801561178d5750612305827fffffffff0000000000000000000000000000000000000000000000000000000061230c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156123c4575060208210155b80156123d05750600081115b979650505050505050565b60606123ea848460008561246a565b949350505050565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf8686866040516120e093929190612b5a565b6060824710156124fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610209565b73ffffffffffffffffffffffffffffffffffffffff85163b61257a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610209565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125a39190612c24565b60006040518083038185875af1925050503d80600081146125e0576040519150601f19603f3d011682016040523d82523d6000602084013e6125e5565b606091505b50915091506123d0828286606083156125ff575081611f55565b82511561260f5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610209919061294e56
15b73ffffffffffffffffffffffffffffffffffffffff8116811461266557600080fd5b50565b60008083601f84011261267a57600080fd5b50813567ffffffffffffffff81111561269257600080fd5b6020830191508360208285010111156126aa57600080fd5b9250929050565b600080600080600080600060c0888a0312156126cc57600080fd5b87356126d781612643565b965060208801356126e781612643565b955060408801356126f781612643565b9450606088013561270781612643565b93506080880135925060a088013567ffffffffffffffff81111561272a57600080fd5b6127368a828b01612668565b989b979a50959850939692959293505050565b803563ffffffff8116811461275d57600080fd5b919050565b60008060006040848603121561277757600080fd5b61278084612749565b9250602084013567ffffffffffffffff81111561279c57600080fd5b6127a886828701612668565b9497909650939450505050565b6000806000806000608086880312156127cd57600080fd5b85356127d881612643565b945060208601356127e881612643565b935060408601359250606086013567ffffffffffffffff81111561280b57600080fd5b61281788828901612668565b969995985093965092949392505050565b6000806040838503121561283b57600080fd5b823561284681612643565b9150602083013561285681612643565b809150509250929050565b600080600080600080600060c0888a03121561287c57600080fd5b873561288781612643565b9650602088013561289781612643565b955060408801356128a781612643565b9450606088013593506128bc60808901612749565b925060a088013567ffffffffffffffff81111561272a57600080fd5b60005b838110156128f35781810151838201526020016128db565b8381111561057a5750506000910152565b6000815180845261291c8160208601602086016128d8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f556020830184612904565b60008060008060008060a0878903121561297a57600080fd5b863561298581612643565b9550602087013561299581612643565b9450604087013593506129aa60608801612749565b9250608087013567ffffffffffffffff8111156129c657600080fd5b6129d289828a01612668565b979a9699509497509295939492505050565b600080600080606085870312156129fa57600080fd5b8435612a0581612643565b9350612a1360208601612749565b9250604085013567ffffffffffffffff811115612a2f57600080fd5b612a3b87828801612668565b95989497509550505050565b600060208284031215612a5957600080fd5b8151611f5581612643565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612aa557612aa5612a64565b500390565b600060208284031215612abc57600080fd5b81518015158114611f5557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612b0b6080830184612904565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000612b446060830185612904565b905063ffffffff83166040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000612b8f6060830184612904565b95945050505050565b8281526040602082015260006123ea6040830184612904565b60008219821115612bc457612bc4612a64565b500190565b600073ffffffffffffffffffffffffffffffffffffffff80891683528088166020840152808716604084015280861660608401525083608083015260c060a0830152612c1860c0830184612904565b98975050505050505050565b60008251612c368184602087016128d8565b919091019291505056fea164736f6c634300080f000a","sourceMap":"1209:12690:132:-:0;;;3691:157;;;;;;;;;-1:-1:-1;3732:109:132::1;3786:1;::::0;3732:10:::1;:109::i;:::-;1209:12690:::0;;4055:322;3100:19:43;3123:13;;;;;;3122:14;;3168:34;;;;-1:-1:-1;3186:12:43;;3201:1;3186:12;;;;:16;3168:34;3167:97;;;;3209:33;3236:4;3209:18;;;;;:33;;:::i;:::-;3208:34;:55;;;;-1:-1:-1;3246:12:43;;;;;:17;3208:55;3146:190;;;;-1:-1:-1;;;3146:190:43;;216:2:357;3146:190:43;;;198:21:357;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:357;;;338:44;399:19;;3146:190:43;;;;;;;;;3346:12;:16;;-1:-1:-1;;3346:16:43;3361:1;3346:16;;;3372:65;;;;3406:13;:20;;-1:-1:-1;;3406:20:43;;;;;3372:65;4173:16:132::1;:36:::0;;-1:-1:-1;;;;;;4173:36:132::1;-1:-1:-1::0;;;;;4173:36:132;::::1;;::::0;;4219:151:::1;4267:10:::0;635:42:199::1;4219:21:132;:151::i;:::-;3461:14:43::0;3457:99;;;3507:5;3491:21;;-1:-1:-1;;3491:21:43;;;3531:14;;-1:-1:-1;581:36:357;;3531:14:43;;569:2:357;554:18;3531:14:43;;;;;;;3457:99;3090:472;4055:322:132;;:::o;1175:320:59:-;-1:-1:-1;;;;;1465:19:59;;:23;;;1175:320::o;5373:236:235:-;4888:13:43;;;;;;;4880:69;;;;-1:-1:-1;;;4880:69:43;;830:2:357;4880:69:43;;;812:21:357;869:2;849:18;;;842:30;908:34;888:18;;;881:62;-1:-1:-1;;;959:18:357;;;952:41;1010:19;;4880:69:43;628:407:357;4880:69:43;5544:9:235::1;:22:::0;;-1:-1:-1;;;;;5544:22:235;;::::1;-1:-1:-1::0;;;;;;5544:22:235;;::::1;;::::0;;;5576:11:::1;:26:::0;;;;;::::1;::::0;::::1;;::::0;;5373:236::o;628:407:357:-;1209:12690:132;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101795760003560e01c80637f46ddb2116100cb578063927ede2d1161007f578063b1a1a88211610059578063b1a1a882146104fe578063c89701a214610511578063e11013dd1461053e57600080fd5b8063927ede2d146104a05780639a2ac6d5146104cb578063a9f9e675146104de57600080fd5b806387087623116100b0578063870876231461043a5780638f601f661461045a57806391c49bf8146103ef57600080fd5b80637f46ddb2146103ef578063838b25201461041a57600080fd5b80633cb747bf1161012d57806354fd4d501161010757806354fd4d501461035457806358a997f6146103aa5780635c975abb146103ca57600080fd5b80633cb747bf146102e7578063485cc95514610314578063540abf731461033457600080fd5b80631532ec341161015e5780631532ec341461026a5780631635f5fd1461027d57806335e80ab31461029057600080fd5b80630166a07a1461023757806309fc88431461025757600080fd5b3661023257333b15610212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084015b60405180910390fd5b610230333362030d406040518060200160405280600081525061056d565b005b600080fd5b34801561024357600080fd5b506102306102523660046126b1565b610580565b610230610265366004612762565b61099a565b6102306102783660046127b5565b610a71565b61023061028b3660046127b5565b610a85565b34801561029c57600080fd5b506032546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102f357600080fd5b506003546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032057600080fd5b5061023061032f366004612828565b610f4e565b34801561034057600080fd5b5061023061034f366004612861565b611137565b34801561036057600080fd5b5061039d6040518060400160405280600581526020017f322e312e3000000000000000000000000000000000000000000000000000000081525081565b
16040516102de919061294e565b3480156103b657600080fd5b506102306103c5366004612961565b61117c565b3480156103d657600080fd5b506103df611250565b60405190151581526020016102de565b3480156103fb57600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff166102bd565b34801561042657600080fd5b50610230610435366004612861565b6112e9565b34801561044657600080fd5b50610230610455366004612961565b61132e565b34801561046657600080fd5b50610492610475366004612828565b600260209081526000928352604080842090915290825290205481565b6040519081526020016102de565b3480156104ac57600080fd5b5060035473ffffffffffffffffffffffffffffffffffffffff166102bd565b6102306104d93660046129e4565b611402565b3480156104ea57600080fd5b506102306104f93660046126b1565b611444565b61023061050c366004612762565b611453565b34801561051d57600080fd5b506004546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b61023061054c3660046129e4565b611524565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61057a8484348585611567565b50505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633148015610653575060048054600354604080517f6e296e45000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff938416949390921692636e296e459282820192602092908290030181865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190612a47565b73ffffffffffffffffffffffffffffffffffffffff16145b610705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a401610209565b61070d611250565b15610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616e646172644272696467653a20706175736564000000000000000000006044820152606401610209565b61077d87611731565b156108cb5761078c8787611793565b61083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a401610209565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590528816906340c10f1990604401600060405180830381600087803b1580156108ae57600080fd5b505af11580156108c2573d6000803e3d6000fd5b5050505061094d565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a1683529290522054610909908490612a93565b73ffffffffffffffffffffffffffffffffffffffff8089166000818152600260209081526040808320948c168352939052919091209190915561094d9085856118b3565b610991878787878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198792505050565b50505050505050565b333b15610a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610a6c3333348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792505050565b505050565b610a7e8585858585610a85565b5050505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633148015610b58575060048054600354604080517f6e296e45000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff938416949390921692636e296e459282820192602092908290030181865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b409190612a47565b73ffffffffffffffffffffffffffffffffffffffff16145b610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a401610209565b610c12611250565b15610c79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616e646172644272696467653a20706175736564000000000000000000006044820152606401610209565b823414610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152608401610209565b3073ffffffffffffffffffffffffffffffffffffffff851603610dad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152608401610209565b60035473ffffffffffffffffffffffffffffffffffffffff90811690851603610e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152608401610209565b610e9a85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1592505050565b6000610eb7855a8660405180602001604052806000815250611a88565b905080610f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152608401610209565b505050505050565b600054610100900460ff1615808015610f6e5750600054600160ff909116105b80610f885750303b158015610f88575060005460ff166001145b611014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610209565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561107257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556110d083734200000000000000000000000000000000000010611aa2565b8015610a6c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61099187873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8c92505050565b333b1561120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610f4686863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb792505050565b603254604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190612aaa565b905090565b61099187873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb792505050565b333b156113bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610f4686863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8c92505050565b61057a33858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061056d92505050565b61099187878787878787610580565b333b156114e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610a6c33338585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061056d92505050565b61057a3385348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792505050565b8234146115f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152608401610209565b61160285858584611ec6565b60035460045460405173ffffffffffffffffffffffffffffffffffffffff92831692633dbb202b9287929116907f1635f5fd0000000000000000000000000000000000000000000000000000000090611665908b908b9086908a90602401612acc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e086901b90921682526116f892918890600401612b15565b6000604051808303818588803b15801561171157600080fd5b505af1158015611725573d6000803e3d6000fd5b50505050505050505050565b600061175d827f1d1d8b6300000000000000000000000000000000000000000000000000000000611f3956
15b8061178d575061178d827fec4fc8e300000000000000000000000000000000000000000000000000000000611f39565b92915050565b60006117bf837f1d1d8b6300000000000000000000000000000000000000000000000000000000611f39565b15611868578273ffffffffffffffffffffffffffffffffffffffff1663c01e1bd66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118339190612a47565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614905061178d565b8273ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180f573d6000803e3d6000fd5b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610a6c9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611f5c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b38686866040516119ff93929190612b5a565b60405180910390a4610f46868686868686612068565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e6318484604051611a74929190612b98565b60405180910390a361057a848484846120f0565b600080600080845160208601878a8af19695505050505050565b600054610100900460ff16611b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610209565b6003805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560048054929093169116179055565b611b9587611731565b15611ce357611ba48787611793565b611c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a401610209565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201859052881690639dc29fac90604401600060405180830381600087803b158015611cc657600080fd5b505af1158015611cda573d6000803e3d6000fd5b50505050611d77565b611d0573ffffffffffffffffffffffffffffffffffffffff881686308661215d565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a1683529290522054611d43908490612bb1565b73ffffffffffffffffffffffffffffffffffffffff8089166000908152600260209081526040808320938b16835292905220555b611d858787878787866121bb565b60035460045460405173ffffffffffffffffffffffffffffffffffffffff92831692633dbb202b9216907f0166a07a0000000000000000000000000000000000000000000000000000000090611de9908b908d908c908c908c908b90602401612bc9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252611e7c92918790600401612b15565b600060405180830381600087803b158015611e9657600080fd5b505af1158015611eaa573d6000803e3d6000fd5b5050505050505050505050565b61099187878787878787611b8c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f238484604051611f25929190612b98565b60405180910390a361057a84848484612249565b6000611f44836122a8565b8015611f555750611f55838361230c565b9392505050565b6000611fbe826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123db9092919063ffffffff16565b805190915015610a6c5780806020019051810190611fdc9190612aaa565b610a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610209565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd8686866040516120e093929190612b5a565b60405180910390a4505050505050565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d848460405161214f929190612b98565b60405180910390a350505050565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261057a9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611905565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d039686868660405161223393929190612b5a565b60405180910390a4610f468686868686866123f2565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5848460405161214f929190612b98565b60006122d4827f01ffc9a70000000000000000000000000000000000000000000000000000000061230c565b801561178d5750612305827fffffffff0000000000000000000000000000000000000000000000000000000061230c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156123c4575060208210155b80156123d05750600081115b979650505050505050565b60606123ea848460008561246a565b949350505050565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf8686866040516120e093929190612b5a565b6060824710156124fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610209565b73ffffffffffffffffffffffffffffffffffffffff85163b61257a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610209565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125a39190612c24565b60006040518083038185875af1925050503d80600081146125e0576040519150601f19603f3d011682016040523d82523d6000602084013e6125e5565b606091505b50915091506123d0828286606083156125ff575081611f55565b82511561260f5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610209919061294e56
15b73ffffffffffffffffffffffffffffffffffffffff8116811461266557600080fd5b50565b60008083601f84011261267a57600080fd5b50813567ffffffffffffffff81111561269257600080fd5b6020830191508360208285010111156126aa57600080fd5b9250929050565b600080600080600080600060c0888a0312156126cc57600080fd5b87356126d781612643565b965060208801356126e781612643565b955060408801356126f781612643565b9450606088013561270781612643565b93506080880135925060a088013567ffffffffffffffff81111561272a57600080fd5b6127368a828b01612668565b989b979a50959850939692959293505050565b803563ffffffff8116811461275d57600080fd5b919050565b60008060006040848603121561277757600080fd5b61278084612749565b9250602084013567ffffffffffffffff81111561279c57600080fd5b6127a886828701612668565b9497909650939450505050565b6000806000806000608086880312156127cd57600080fd5b85356127d881612643565b945060208601356127e881612643565b935060408601359250606086013567ffffffffffffffff81111561280b57600080fd5b61281788828901612668565b969995985093965092949392505050565b6000806040838503121561283b57600080fd5b823561284681612643565b9150602083013561285681612643565b809150509250929050565b600080600080600080600060c0888a03121561287c57600080fd5b873561288781612643565b9650602088013561289781612643565b955060408801356128a781612643565b9450606088013593506128bc60808901612749565b925060a088013567ffffffffffffffff81111561272a57600080fd5b60005b838110156128f35781810151838201526020016128db565b8381111561057a5750506000910152565b6000815180845261291c8160208601602086016128d8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f556020830184612904565b60008060008060008060a0878903121561297a57600080fd5b863561298581612643565b9550602087013561299581612643565b9450604087013593506129aa60608801612749565b9250608087013567ffffffffffffffff8111156129c657600080fd5b6129d289828a01612668565b979a9699509497509295939492505050565b600080600080606085870312156129fa57600080fd5b8435612a0581612643565b9350612a1360208601612749565b9250604085013567ffffffffffffffff811115612a2f57600080fd5b612a3b87828801612668565b95989497509550505050565b600060208284031215612a5957600080fd5b8151611f5581612643565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612aa557612aa5612a64565b500390565b600060208284031215612abc57600080fd5b81518015158114611f5557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612b0b6080830184612904565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000612b446060830185612904565b905063ffffffff83166040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000612b8f6060830184612904565b95945050505050565b8281526040602082015260006123ea6040830184612904565b60008219821115612bc457612bc4612a64565b500190565b600073ffffffffffffffffffffffffffffffffffffffff80891683528088166020840152808716604084015280861660608401525083608083015260c060a0830152612c1860c0830184612904565b98975050505050505050565b60008251612c368184602087016128d8565b919091019291505056fea164736f6c634300080f000a","sourceMap":"1209:12690:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4741:10:235;1465:19:59;:23;4713:99:235;;;;;;;216:2:357;4713:99:235;;;198:21:357;255:2;235:18;;;228:30;294:34;274:18;;;267:62;365:25;345:18;;;338:53;408:19;;4713:99:235;;;;;;;;;4658:81:132::1;4678:10;4690;1343:7:235;4729:9:132;;;;;;;;;;;::::0;4658:19:::1;:81::i;:::-;1209:12690:::0;;;;;12867:1084:235;;;;;;;;;;-1:-1:-1;12867:1084:235;;;;;:::i;:::-;;:::i;7253:186::-;;;;;;:::i;:::-;;:::i;8758:245:132:-;;;;;;:::i;:::-;;:::i;11233:902:235:-;;;;;;:::i;:::-;;:::i;3586:40:132:-;;;;;;;;;;-1:-1:-1;3586:40:132;;;;;;;;;;;3607:42:357;3595:55;;;3577:74;;3565:2;3550:18;3586:40:132;;;;;;;;1893:37:235;;;;;;;;;;-1:-1:-1;1893:37:235;;;;;;;;4055:322:132;;;;;;;;;;-1:-1:-1;4055:322:132;;;;;:::i;:::-;;:::i;10320:349:235:-;;;;;;;;;;-1:-1:-1;10320:349:235;;;;;:::i;:::-;;:::i;3481:40:132:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7066:339::-;;;;;;;;;;-1:-1:-1;7066:339:132;;;;;:::i;:::-;;:::i;4418:103::-;;;;;;;;;;;;;:::i;:::-;;;7155:14:357;;7148:22;7130:41;;7118:2;7103:18;4418:103:132;6990:187:357;6369:98:235;;;;;;;;;;-1:-1:-1;6449:11:235;;;;6369:98;;8106:339:132;;;;;;;;;;-1:-1:-1;8106:339:132;;;;;:::i;:::-;;:::i;9277:349:235:-;;;;;;;;;;-1:-1:-1;9277:349:235;;;;;:::i;:::-;;:::i;1739:63::-;;;;;;;;;;-1:-1:-1;1739:63:235;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7985:25:357;;;7973:2;7958:18;1739:63:235;7839:177:357;6024:99:235;;;;;;;;;;-1:-1:-1;6107:9:235;;;;6024:99;;6242:179:132;;;;;;:::i;:::-;;:::i;9453:305::-;;;;;;;;;;-1:-1:-1;9453:305:132;;;;;:::i;:::-;;:::i;5183:179::-;;;;;;:::i;:::-;;:::i;2028:33:235:-;;;;;;;;;;-1:-1:-1;2028:33:235;;;;;;;;8450:186;;;;;;:::i;:::-;;:::i;1175:320:59:-;1465:19;;;:23;;;1175:320::o;10356:196:132:-;10478:67;10497:5;10504:3;10509:9;10520:12;10534:10;10478:18;:67::i;:::-;10356:196;;;;:::o;12867:1084:235:-;5004:9;;;;4982:10;:32;:92;;;;-1:-1:-1;5062:11:235;;;5018:9;;:32;;;;;;;;5062:11;;;;;
15018:9;;;;;:30;;:32;;;;;;;;;;;;:9;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;;4982:92;4961:204;;;;;;;9331:2:357;4961:204:235;;;9313:21:357;9370:2;9350:18;;;9343:30;9409:34;9389:18;;;9382:62;9480:34;9460:18;;;9453:62;9552:3;9531:19;;;9524:32;9573:19;;4961:204:235;9129:469:357;4961:204:235;13126:8:::1;:6;:8::i;:::-;:17;13118:52;;;::::0;::::1;::::0;;9805:2:357;13118:52:235::1;::::0;::::1;9787:21:357::0;9844:2;9824:18;;;9817:30;9883:24;9863:18;;;9856:52;9925:18;;13118:52:235::1;9603:346:357::0;13118:52:235::1;13184:37;13209:11;13184:24;:37::i;:::-;13180:489;;;13262:46;13282:11;13295:12;13262:19;:46::i;:::-;13237:179;;;::::0;::::1;::::0;;10156:2:357;13237:179:235::1;::::0;::::1;10138:21:357::0;10195:2;10175:18;;;10168:30;10234:34;10214:18;;;10207:62;10305:34;10285:18;;;10278:62;10377:12;10356:19;;;10349:41;10407:19;;13237:179:235::1;9954:478:357::0;13237:179:235::1;13431:53;::::0;;;;:39:::1;10629:55:357::0;;;13431:53:235::1;::::0;::::1;10611:74:357::0;10701:18;;;10694:34;;;13431:39:235;::::1;::::0;::::1;::::0;10584:18:357;;13431:53:235::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13180:489;;;13553:21;::::0;;::::1;;::::0;;;:8:::1;:21;::::0;;;;;;;:35;;::::1;::::0;;;;;;;:45:::1;::::0;13591:7;;13553:45:::1;:::i;:::-;13515:21;::::0;;::::1;;::::0;;;:8:::1;:21;::::0;;;;;;;:35;;::::1;::::0;;;;;;;;;:83;;;;13612:46:::1;::::0;13645:3;13650:7;13612:32:::1;:46::i;:::-;13859:85;13885:11;13898:12;13912:5;13919:3;13924:7;13933:10;;13859:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13859:25:235::1;::::0;-1:-1:-1;;;13859:85:235:i:1;:::-;12867:1084:::0;;;;;;;:::o;7253:186::-;4741:10;1465:19:59;:23;4713:99:235;;;;;;;216:2:357;4713:99:235;;;198:21:357;255:2;235:18;;;228:30;294:34;274:18;;;267:62;365:25;345:18;;;338:53;408:19;;4713:99:235;14:419:357;4713:99:235;7353:79:::1;7372:10;7384;7396:9;7407:12;7421:10;;7353:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;7353:18:235::1;::::0;-1:-1:-1;;;7353:79:235:i:1;:::-;7253:186:::0;;;:::o;8758:245:132:-;8946:50;8964:5;8971:3;8976:7;8985:10;;8946:17;:50::i;:::-;8758:245;;;;;:::o;11233:902:235:-;5004:9;;;;4982:10;:32;:92;;;;-1:-1:-1;5062:11:235;;;5018:9;;:32;;;;;;;;5062:11;;;;;5018:9;;;;;:30;;:32;;;;;;;;;;;;:9;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;;4982:92;4961:204;;;;;;;9331:2:357;4961:204:235;;;9313:21:357;9370:2;9350:18;;;9343:30;9409:34;9389:18;;;9382:62;9480:34;9460:18;;;9453:62;9552:3;9531:19;;;9524:32;9573:19;;4961:204:235;9129:469:357;4961:204:235;11447:8:::1;:6;:8::i;:::-;:17;11439:52;;;::::0;::::1;::::0;;9805:2:357;11439:52:235::1;::::0;::::1;9787:21:357::0;9844:2;9824:18;;;9817:30;9883:24;9863:18;;;9856:52;9925:18;;11439:52:235::1;9603:346:357::0;11439:52:235::1;11522:7;11509:9;:20;11501:91;;;::::0;::::1;::::0;;11260:2:357;11501:91:235::1;::::0;::::1;11242:21:357::0;11299:2;11279:18;;;11272:30;11338:34;11318:18;;;11311:62;11409:28;11389:18;;;11382:56;11455:19;;11501:91:235::1;11058:422:357::0;11501:91:235::1;11625:4;11610:20;::::0;::::1;::::0;11602:68:::1;;;::::0;::::1;::::0;;11687:2:357;11602:68:235::1;::::0;::::1;11669:21:357::0;11726:2;11706:18;;;11699:30;11765:34;11745:18;;;11738:62;11836:5;11816:18;;;11809:33;11859:19;;11602:68:235::1;11485:399:357::0;11602:68:235::1;11703:9;::::0;::::1;::::0;;::::1;11688:25:::0;;::::1;::::0;11680:78:::1;;;::::0;::::1;::::0;;12091:2:357;11680:78:235::1;::::0;::::1;12073:21:357::0;12130:2;12110:18;;;12103:30;12169:34;12149:18;;;12142:62;12240:10;12220:18;;;12213:38;12268:19;;11680:78:235::1;11889:404:357::0;11680:78:235::1;11936:56;11960:5;11967:3;11972:7;11981:10;;11936:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11936:23:235::1;::::0;-1:-1:-1;;;11936:56:235:i:1;:::-;12003:12;12018:45;12032:3;12037:9;12048:7;12018:45;;;;;;;;;;;::::0;:13:::1;:45::i;:::-;12003:60;;12081:7;12073:55;;;::::0;::::1;::::0;;12500:2:357;12073:55:235::1;::::0;::::1;12482:21:357::0;12539:2;12519:18;;;12512:30;12578:34;12558:18;;;12551:62;12649:5;12629:18;;;12622:33;12672:19;;12073:55:235::1;12298:399:357::0;12073:55:235::1;11429:706;11233:902:::0;;;;;:::o;4055:322:132:-;3100:19:43;3123:13;;;;;;3122:14;;3168:34;;;;-1:-1:-1;3186:12:43;;3201:1;3186:12;;;;:16;3168:34;3167:97;;;-1:-1:-1;3236:4:43;1465:19:59;:23;;;3208:55:43;;-1:-1:-1;3246:12:43;;;;;:17;3208:55;3146:190;;;;;;;12904:2:357;3146:190:43;;;12886:21:357;12943:2;12923:18;;;12916:30;12982:34;12962:18;;;12955:62;13053:16;13033:18;;;13026:44;13087:19;;3146:190:43;12702:410:357;3146:190:43;3346:12;:16;;;;3361:1;3346:16;;;3372:65;;;;3406:13;:20;;;;;;;;3372:65;4173:16:132::1;:36:::0;;;::::1;;::::0;::::1;;::::0;;4219:151:::1;4267:10:::0;635:42:199::1;4219:21:132;:151::i;:::-;3461:14:43::0;3457:99;;;3507:5;3491:21;;;;;;3531:14;;-1:-1:-1;13269:36:357;;3531:14:43;;13257:2:357;13242:18;3531:14:43;;;;;;;3090:472;4055:322:132;;:::o;10320:349:235:-;10563:99;10584:11;10597:12;10611:10;10623:3;10628:7;10637:12;10651:10;;10563:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10563:20:235;;-1:-1:-1;;;10563:99:235:i;7066:339:132:-;4741:10:235;1465:19:59;:23;4713:99:235;;;;;;;216:2:357;4713:99:235;;;198:21:357;255:2;235:18;;;228:30;294:34;274:18;;;267:62;365:25;345:18;;;338:53;408:19;;4713:99:235;14:419:357;4713:99:235;7298:100:132::1;7320:8;7330;7340:10;7352;7364:7;7373:12;7387:10;;7298:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;7298:21:132::1;::::0;-1:-1:-1;;;7298:100:132:i:1;4418:103::-:0;4489:16;;:25;;;;;;;;4466:4;;4489:16;;;:23;;:25;;;;;;;;;;;;;;:16;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4482:32;;4418:103;:::o;8106:339::-;8345:93;8367:8;8377;8387:10;8399:3;8404:7;8413:12;8427:10;;8345:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8345:21:132;;-1:-1:-1;;;8345:93:132:i;9277:349:235:-;4741:10;1465:19:59;:23;4713:99:235;;;;;;;216:2:357;4713:99:235;;;198:21:357;255:2;235:18;;;228:30;294:34;274:18;;;267:62;365:25;345:18;;;338:53;408:19;;4713:99:235;14:419:357;4713:99:235;9513:106:::1;9534:11;9547:12;9561:10;9573;9585:7;9594:12;9608:10;;9513:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9513:20:235::1;::::0;-1:-1:-1;;;9513:106:235:i:1;6242:179:132:-:0;6352:62;6372:10;6384:3;6389:12;6403:10;;6352:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6352:19:132;;-1:-1:-1;;;6352:62:132:i;9453:305::-;9679:72;9699:8;9709;9719:5;9726:3;9731:7;9740:10;;9679:19;:72::i;5183:179::-;4741:10:235;1465:19:59;:23;4713:99:235;;;;;;;216:2:357;4713:99:235;;;198:21:357;255:2;235:18;;;228:30;294:34;274:18;;;267:62;365:25;345:18;;;338:53;408:19;;4713:99:235;14:419:357;4713:99:235;5286:69:132::1;5306:10;5318;5330:12;5344:10;;5286:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5286:19:132::1;::::0;-1:-1:-1;;;5286:69:132:i:1;8450:186:235:-:0;8557:72;8576:10;8588:3;8593:9;8604:12;8618:10;;8557:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8557:18:235;;-1:-1:-1;;;8557:72:235:i;14539:789::-;14756:7;14743:9;:20;14735:95;;;;;;;13800:2:357;14735:95:235;;;13782:21:357;13839:2;13819:18;;;13812:30;13878:34;13858:18;;;13851:62;13949:32;13929:18;;;
113922:60;13999:19;;14735:95:235;13598:426:357;14735:95:235;15008:56;15032:5;15039:3;15044:7;15053:10;15008:23;:56::i;:::-;15075:9;;15146:11;;15182:88;;15075:9;;;;;:21;;15105:7;;15146:11;;;15205:31;;15182:88;;15238:5;;15245:3;;15105:7;;15259:10;;15182:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;15075:246;;;;;;;;;;;;;15298:12;;15075:246;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14539:789;;;;;:::o;17966:279::-;18039:4;18062:79;18094:6;18102:38;18062:31;:79::i;:::-;:176;;;;18157:81;18189:6;18197:40;18157:31;:81::i;:::-;18055:183;17966:279;-1:-1:-1;;17966:279:235:o;18692:410::-;18789:4;18809:87;18841:14;18857:38;18809:31;:87::i;:::-;18805:291;;;18955:14;18934:44;;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18919:61;;:11;:61;;;18912:68;;;;18805:291;19056:14;19033:50;;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;763:205:52;902:58;;10641:42:357;10629:55;;902:58:52;;;10611:74:357;10701:18;;;10694:34;;;875:86:52;;895:5;;925:23;;10584:18:357;;902:58:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;875:19;:86::i;13450:447:132:-;13757:5;13705:84;;13743:12;13705:84;;13730:11;13705:84;;;13764:3;13769:7;13778:10;13705:84;;;;;;;;:::i;:::-;;;;;;;;13799:91;13831:11;13844:12;13858:5;13865:3;13870:7;13879:10;13799:31;:91::i;12208:328::-;12432:3;12402:55;;12425:5;12402:55;;;12437:7;12446:10;12402:55;;;;;;;:::i;:::-;;;;;;;;12467:62;12497:5;12504:3;12509:7;12518:10;12467:29;:62::i;1202:536:200:-;1305:4;1321:13;1668:1;1635;1594:9;1588:16;1554:2;1543:9;1539:18;1496:6;1454:7;1421:4;1395:302;1367:330;1202:536;-1:-1:-1;;;;;;1202:536:200:o;5373:236:235:-;4888:13:43;;;;;;;4880:69;;;;;;;15885:2:357;4880:69:43;;;15867:21:357;15924:2;15904:18;;;15897:30;15963:34;15943:18;;;15936:62;16034:13;16014:18;;;16007:41;16065:19;;4880:69:43;15683:407:357;4880:69:43;5544:9:235::1;:22:::0;;::::1;::::0;;::::1;::::0;;;::::1;;::::0;;;5576:11:::1;:26:::0;;;;;::::1;::::0;::::1;;::::0;;5373:236::o;16022:1680::-;16283:37;16308:11;16283:24;:37::i;:::-;16279:512;;;16361:46;16381:11;16394:12;16361:19;:46::i;:::-;16336:179;;;;;;;10156:2:357;16336:179:235;;;10138:21:357;10195:2;10175:18;;;10168:30;10234:34;10214:18;;;10207:62;10305:34;10285:18;;;10278:62;10377:12;10356:19;;;10349:41;10407:19;;16336:179:235;9954:478:357;16336:179:235;16530:55;;;;;:39;10629:55:357;;;16530::235;;;10611:74:357;10701:18;;;10694:34;;;16530:39:235;;;;;10584:18:357;;16530:55:235;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16279:512;;;16616:67;:36;;;16653:5;16668:4;16675:7;16616:36;:67::i;:::-;16735:21;;;;;;;;:8;:21;;;;;;;;:35;;;;;;;;;;:45;;16773:7;;16735:45;:::i;:::-;16697:21;;;;;;;;:8;:21;;;;;;;;:35;;;;;;;;;:83;16279:512;16981:85;17007:11;17020:12;17034:5;17041:3;17046:7;17055:10;16981:25;:85::i;:::-;17077:9;;17130:11;;17166:478;;17077:9;;;;;:21;;17130:11;;17206:33;;17166:478;;17492:12;;17522:11;;17551:5;;17574:3;;17595:7;;17620:10;;17166:478;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;17077:618;;;;;;;;;;;;;17672:12;;17077:618;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16022:1680;;;;;;;:::o;11078:345:132:-;11329:87;11350:8;11360;11370:5;11377:3;11382:7;11391:12;11405:10;11329:20;:87::i;11651:325::-;11872:3;11845:52;;11865:5;11845:52;;;11877:7;11886:10;11845:52;;;;;;;:::i;:::-;;;;;;;;11907:62;11937:5;11944:3;11949:7;11958:10;11907:29;:62::i;1333:274:67:-;1420:4;1527:23;1542:7;1527:14;:23::i;:::-;:73;;;;;1554:46;1579:7;1588:11;1554:24;:46::i;:::-;1520:80;1333:274;-1:-1:-1;;;1333:274:67:o;3747:706:52:-;4166:23;4192:69;4220:4;4192:69;;;;;;;;;;;;;;;;;4200:5;4192:27;;;;:69;;;;;:::i;:::-;4275:17;;4166:95;;-1:-1:-1;4275:21:52;4271:176;;4370:10;4359:30;;;;;;;;;;;;:::i;:::-;4351:85;;;;;;;17109:2:357;4351:85:52;;;17091:21:357;17148:2;17128:18;;;17121:30;17187:34;17167:18;;;17160:62;17258:12;17238:18;;;17231:40;17288:19;;4351:85:52;16907:406:357;21757:341:235;22059:5;22011:80;;22045:12;22011:80;;22032:11;22011:80;;;22066:3;22071:7;22080:10;22011:80;;;;;;;;:::i;:::-;;;;;;;;21757:341;;;;;;:::o;20099:251::-;20318:3;20292:51;;20311:5;20292:51;;;20323:7;20332:10;20292:51;;;;;;;:::i;:::-;;;;;;;;20099:251;;;;:::o;974:241:52:-;1139:68;;17530:42:357;17599:15;;;1139:68:52;;;17581:34:357;17651:15;;17631:18;;;17624:43;17683:18;;;17676:34;;;1112:96:52;;1132:5;;1162:27;;17493:18:357;;1139:68:52;17318:398:357;12771:444:132;13075:5;13026:81;;13061:12;13026:81;;13048:11;13026:81;;;13082:3;13087:7;13096:10;13026:81;;;;;;;;:::i;:::-;;;;;;;;13117:91;13149:11;13162:12;13176:5;13183:3;13188:7;13197:10;13117:31;:91::i;19478:251:235:-;19697:3;19671:51;;19690:5;19671:51;;;19702:7;19711:10;19671:51;;;;;;;:::i;704:411:67:-;768:4;975:60;1000:7;1009:25;975:24;:60::i;:::-;:133;;;;-1:-1:-1;1052:56:67;1077:7;1086:21;1052:24;:56::i;:::-;1051:57;956:152;704:411;-1:-1:-1;;704:411:67:o;4223:638::-;4385:71;;;17895:66:357;17883:79;;4385:71:67;;;;17865:98:357;;;;4385:71:67;;;;;;;;;;17838:18:357;;;;4385:71:67;;;;;;;;;;;4408:34;4385:71;;;4664:20;;4316:4;;4385:71;4316:4;;;;;;4385:71;4316:4;;4664:20;4629:7;4622:5;4611:86;4600:97;;4724:16;4710:30;;4774:4;4768:11;4753:26;;4806:7;:29;;;;;4831:4;4817:10;:18;;4806:29;:48;;;;;4853:1;4839:11;:15;4806:48;4799:55;4223:638;-1:-1:-1;;;;;;;4223:638:67:o;3861:223:59:-;3994:12;4025:52;4047:6;4055:4;4061:1;4064:12;4025:21;:52::i;:::-;4018:59;3861:223;-1:-1:-1;;;;3861:223:59:o;20883:341:235:-;21185:5;21137:80;;21171:12;21137:80;;21158:11;21137:80;;;21192:3;21197:7;21206:10;21137:80;;;;;;;;:::i;4948:499:59:-;5113:12;5170:5;5145:21;:30;;5137:81;;;;;;;18176:2:357;5137:81:59;;;18158:21:357;18215:2;18195:18;;;18188:30;18254:34;18234:18;;;18227:62;18325:8;18305:18;;;18298:36;18351:19;;5137:81:59;17974:402:357;5137:81:59;1465:19;;;;5228:60;;;;;;;18583:2:357;5228:60:59;;;18565:21:357;18622:2;18602:18;;;18595:30;18661:31;18641:18;;;18634:59;18710:18;;5228:60:59;18381:353:357;5228:60:59;5300:12;5314:23;5341:6;:11;;5360:5;5367:4;5341:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5299:73;;;;5389:51;5406:7;5415:10;5427:12;7707;7735:7;7731:566;;;-1:-1:-1;7765:10:59;7758:17;;7731:566;7876:17;;:21;7872:415;;8120:10;8114:17;8180:15;8167:10;
18163:2;8159:19;8152:44;7872:415;8259:12;8252:20;;;;;;;;;;;:::i;438:154:357:-;524:42;517:5;513:54;506:5;503:65;493:93;;582:1;579;572:12;493:93;438:154;:::o;597:347::-;648:8;658:6;712:3;705:4;697:6;693:17;689:27;679:55;;730:1;727;720:12;679:55;-1:-1:-1;753:20:357;;796:18;785:30;;782:50;;;828:1;825;818:12;782:50;865:4;857:6;853:17;841:29;;917:3;910:4;901:6;893;889:19;885:30;882:39;879:59;;;934:1;931;924:12;879:59;597:347;;;;;:::o;949:1038::-;1064:6;1072;1080;1088;1096;1104;1112;1165:3;1153:9;1144:7;1140:23;1136:33;1133:53;;;1182:1;1179;1172:12;1133:53;1221:9;1208:23;1240:31;1265:5;1240:31;:::i;:::-;1290:5;-1:-1:-1;1347:2:357;1332:18;;1319:32;1360:33;1319:32;1360:33;:::i;:::-;1412:7;-1:-1:-1;1471:2:357;1456:18;;1443:32;1484:33;1443:32;1484:33;:::i;:::-;1536:7;-1:-1:-1;1595:2:357;1580:18;;1567:32;1608:33;1567:32;1608:33;:::i;:::-;1660:7;-1:-1:-1;1714:3:357;1699:19;;1686:33;;-1:-1:-1;1770:3:357;1755:19;;1742:33;1798:18;1787:30;;1784:50;;;1830:1;1827;1820:12;1784:50;1869:58;1919:7;1910:6;1899:9;1895:22;1869:58;:::i;:::-;949:1038;;;;-1:-1:-1;949:1038:357;;-1:-1:-1;949:1038:357;;;;1843:84;;-1:-1:-1;;;949:1038:357:o;1992:163::-;2059:20;;2119:10;2108:22;;2098:33;;2088:61;;2145:1;2142;2135:12;2088:61;1992:163;;;:::o;2160:481::-;2238:6;2246;2254;2307:2;2295:9;2286:7;2282:23;2278:32;2275:52;;;2323:1;2320;2313:12;2275:52;2346:28;2364:9;2346:28;:::i;:::-;2336:38;;2425:2;2414:9;2410:18;2397:32;2452:18;2444:6;2441:30;2438:50;;;2484:1;2481;2474:12;2438:50;2523:58;2573:7;2564:6;2553:9;2549:22;2523:58;:::i;:::-;2160:481;;2600:8;;-1:-1:-1;2497:84:357;;-1:-1:-1;;;;2160:481:357:o;2646:754::-;2743:6;2751;2759;2767;2775;2828:3;2816:9;2807:7;2803:23;2799:33;2796:53;;;2845:1;2842;2835:12;2796:53;2884:9;2871:23;2903:31;2928:5;2903:31;:::i;:::-;2953:5;-1:-1:-1;3010:2:357;2995:18;;2982:32;3023:33;2982:32;3023:33;:::i;:::-;3075:7;-1:-1:-1;3129:2:357;3114:18;;3101:32;;-1:-1:-1;3184:2:357;3169:18;;3156:32;3211:18;3200:30;;3197:50;;;3243:1;3240;3233:12;3197:50;3282:58;3332:7;3323:6;3312:9;3308:22;3282:58;:::i;:::-;2646:754;;;;-1:-1:-1;2646:754:357;;-1:-1:-1;3359:8:357;;3256:84;2646:754;-1:-1:-1;;;2646:754:357:o;3924:445::-;4049:6;4057;4110:2;4098:9;4089:7;4085:23;4081:32;4078:52;;;4126:1;4123;4116:12;4078:52;4165:9;4152:23;4184:31;4209:5;4184:31;:::i;:::-;4234:5;-1:-1:-1;4291:2:357;4276:18;;4263:32;4304:33;4263:32;4304:33;:::i;:::-;4356:7;4346:17;;;3924:445;;;;;:::o;4374:969::-;4488:6;4496;4504;4512;4520;4528;4536;4589:3;4577:9;4568:7;4564:23;4560:33;4557:53;;;4606:1;4603;4596:12;4557:53;4645:9;4632:23;4664:31;4689:5;4664:31;:::i;:::-;4714:5;-1:-1:-1;4771:2:357;4756:18;;4743:32;4784:33;4743:32;4784:33;:::i;:::-;4836:7;-1:-1:-1;4895:2:357;4880:18;;4867:32;4908:33;4867:32;4908:33;:::i;:::-;4960:7;-1:-1:-1;5014:2:357;4999:18;;4986:32;;-1:-1:-1;5037:38:357;5070:3;5055:19;;5037:38;:::i;:::-;5027:48;;5126:3;5115:9;5111:19;5098:33;5154:18;5146:6;5143:30;5140:50;;;5186:1;5183;5176:12;5348:258;5420:1;5430:113;5444:6;5441:1;5438:13;5430:113;;;5520:11;;;5514:18;5501:11;;;5494:39;5466:2;5459:10;5430:113;;;5561:6;5558:1;5555:13;5552:48;;;-1:-1:-1;;5596:1:357;5578:16;;5571:27;5348:258::o;5611:317::-;5653:3;5691:5;5685:12;5718:6;5713:3;5706:19;5734:63;5790:6;5783:4;5778:3;5774:14;5767:4;5760:5;5756:16;5734:63;:::i;:::-;5842:2;5830:15;5847:66;5826:88;5817:98;;;;5917:4;5813:109;;5611:317;-1:-1:-1;;5611:317:357:o;5933:220::-;6082:2;6071:9;6064:21;6045:4;6102:45;6143:2;6132:9;6128:18;6120:6;6102:45;:::i;6158:827::-;6263:6;6271;6279;6287;6295;6303;6356:3;6344:9;6335:7;6331:23;6327:33;6324:53;;;6373:1;6370;6363:12;6324:53;6412:9;6399:23;6431:31;6456:5;6431:31;:::i;:::-;6481:5;-1:-1:-1;6538:2:357;6523:18;;6510:32;6551:33;6510:32;6551:33;:::i;:::-;6603:7;-1:-1:-1;6657:2:357;6642:18;;6629:32;;-1:-1:-1;6680:37:357;6713:2;6698:18;;6680:37;:::i;:::-;6670:47;;6768:3;6757:9;6753:19;6740:33;6796:18;6788:6;6785:30;6782:50;;;6828:1;6825;6818:12;6782:50;6867:58;6917:7;6908:6;6897:9;6893:22;6867:58;:::i;:::-;6158:827;;;;-1:-1:-1;6158:827:357;;-1:-1:-1;6158:827:357;;6944:8;;6158:827;-1:-1:-1;;;6158:827:357:o;8252:616::-;8339:6;8347;8355;8363;8416:2;8404:9;8395:7;8391:23;8387:32;8384:52;;;8432:1;8429;8422:12;8384:52;8471:9;8458:23;8490:31;8515:5;8490:31;:::i;:::-;8540:5;-1:-1:-1;8564:37:357;8597:2;8582:18;;8564:37;:::i;:::-;8554:47;;8652:2;8641:9;8637:18;8624:32;8679:18;8671:6;8668:30;8665:50;;;8711:1;8708;8701:12;8665:50;8750:58;8800:7;8791:6;8780:9;8776:22;8750:58;:::i;:::-;8252:616;;;;-1:-1:-1;8827:8:357;-1:-1:-1;;;;8252:616:357:o;8873:251::-;8943:6;8996:2;8984:9;8975:7;8971:23;8967:32;8964:52;;;9012:1;9009;9002:12;8964:52;9044:9;9038:16;9063:31;9088:5;9063:31;:::i;10739:184::-;10791:77;10788:1;10781:88;10888:4;10885:1;10878:15;10912:4;10909:1;10902:15;10928:125;10968:4;10996:1;10993;10990:8;10987:34;;;11001:18;;:::i;:::-;-1:-1:-1;11038:9:357;;10928:125::o;13316:277::-;13383:6;13436:2;13424:9;13415:7;13411:23;13407:32;13404:52;;;13452:1;13449;13442:12;13404:52;13484:9;13478:16;13537:5;13530:13;13523:21;13516:5;13513:32;13503:60;;13559:1;13556;13549:12;14029:512;14223:4;14252:42;14333:2;14325:6;14321:15;14310:9;14303:34;14385:2;14377:6;14373:15;14368:2;14357:9;14353:18;14346:43;;14425:6;14420:2;14409:9;14405:18;14398:34;14468:3;14463:2;14452:9;14448:18;14441:31;14489:46;14530:3;14519:9;14515:19;14507:6;14489:46;:::i;:::-;14481:54;14029:512;-1:-1:-1;;;;;;14029:512:357:o;14546:424::-;14759:42;14751:6;14747:55;14736:9;14729:74;14839:2;14834;14823:9;14819:18;14812:30;14710:4;14859:45;14900:2;14889:9;14885:18;14877:6;14859:45;:::i;:::-;14851:53;;14952:10;14944:6;14940:23;14935:2;14924:9;14920:18;14913:51;14546:424;;;;;;:::o;14975:409::-;15190:42;15182:6;15178:55;15167:9;15160:74;15270:6;15265:2;15254:9;15250:18;15243:34;15313:2;15308;15297:9;15293:18;15286:30;15141:4;15333:45;15374:2;15363:9;15359:18;15351:6;15333:45;:::i;:::-;15325:53;14975:409;-1:-1:-1;;;;;14975:409:357:o;15389:289::-;15564:6;15553:9;15546:25;15607:2;15602;15591:9;15587:18;15580:30;15527:4;15627:45;15668:2;15657:9;15653:18;15645:6;15627:45;:::i;16095:128::-;16135:3;16166:1;16162:6;16159:1;16156:13;16153:39;;;16172:18;;:::i;:::-;-1:-1:-1;16208:9:357;;16095:128::o;16228:674::-;16478:4;16507:42;16588:2;16580:6;16576:15;16565:9;16558:34;16640:2;16632:6;16628:15;16623:2;16612:9;16608:18;16601:43;16692:2;16684:6;16680:15;16675:2;16664:9;16660:18;16653:43;16744:2;16736:6;16732:15;16727:2;16716:9;16712:18;16705:43;;16785:6;16779:3;16768:9;16764:19;16757:35;16829:3;16823;16812:9;16808:19;16801:32;16850:46;16891:3;16880:9;16876:19;16868:6;16850:46;:::i;:::-;16842:54;16228:674;-1:-1:-1;;;;;;;;16228:674:357:o;18739:274::-;18868:3;18906:6;18900:13;18922:53;18968:6;18963:3;18956:4;18948:6;18944:17;18922:53;:::i;:::-;18991:16;;;;;18739:274;-1:-1:-1;;18739:274:357:o","linkReferences":{}},"methodIdentifiers":{"MESSENGER()":"927ede2d","OTHER_BRIDGE()":"7f46ddb2","bridgeERC20(address,address,uint256,uint32,bytes)":"87087623","bridgeERC20To(address,address,address,uint256,uint32,bytes)":"540abf73","bridgeETH(uint32,bytes)":"09fc8843","bridgeETHTo(address,uint32,bytes)":"e11013dd","depositERC20(address,address,uint256,uint32,bytes)":"58a997f6","depositERC20To(address,address,address,uint256,uint32,bytes)":"838b2520","depositETH(uint32,bytes)":"b1a1a882","depositETHTo(address,uint32,bytes)":"9a2ac6d5","deposits(address,address)":"8f601f66","finalizeBridgeERC20(address,address,address,address,uint256,bytes)":"0166a07a","finalizeBridgeETH(address,address,uint256,bytes)":"1635f5fd","finalizeERC20Withdrawal(address,address,address,address,uint256,bytes)":"a9f9e675","finalizeETHWithdrawal(address,address,uint256,bytes)":"1532ec34","initialize(address,address)":"485cc955","l2TokenBridge()":"91c49bf8","messenger()":"3cb747bf","otherBridge()":"c89701a2","paused()":"5c975abb","superchainConfig()":"35e80ab3","ver
1sion()":"54fd4d50"},"rawMetadata":"{\\"compiler\\":{\\"version\\":\\"0.8.15+commit.e14f2714\\"},\\"language\\":\\"Solidity\\",\\"output\\":{\\"abi\\":[{\\"inputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"constructor\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"localToken\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"remoteToken\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ERC20BridgeFinalized\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"localToken\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"remoteToken\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ERC20BridgeInitiated\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"l1Token\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"l2Token\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ERC20DepositInitiated\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"l1Token\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"l2Token\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ERC20WithdrawalFinalized\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ETHBridgeFinalized\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ETHBridgeInitiated\\",\\"type\\":\\"event\\"}
1,{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ETHDepositInitiated\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"from\\",\\"type\\":\\"address\\"},{\\"indexed\\":true,\\"internalType\\":\\"address\\",\\"name\\":\\"to\\",\\"type\\":\\"address\\"},{\\"indexed\\":false,\\"internalType\\":\\"uint256\\",\\"name\\":\\"amount\\",\\"type\\":\\"uint256\\"},{\\"indexed\\":false,\\"internalType\\":\\"bytes\\",\\"name\\":\\"extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"ETHWithdrawalFinalized\\",\\"type\\":\\"event\\"},{\\"anonymous\\":false,\\"inputs\\":[{\\"indexed\\":false,\\"internalType\\":\\"uint8\\",\\"name\\":\\"version\\",\\"type\\":\\"uint8\\"}],\\"name\\":\\"Initialized\\",\\"type\\":\\"event\\"},{\\"inputs\\":[],\\"name\\":\\"MESSENGER\\",\\"outputs\\":[{\\"internalType\\":\\"contract CrossDomainMessenger\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"OTHER_BRIDGE\\",\\"outputs\\":[{\\"internalType\\":\\"contract StandardBridge\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_localToken\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_remoteToken\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"bridgeERC20\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_localToken\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_remoteToken\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"bridgeERC20To\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"bridgeETH\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"bridgeETHTo\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_l1Token\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_l2Token\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"depositERC20\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_l1Token\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_l2Token\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}
1],\\"name\\":\\"depositERC20To\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"depositETH\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint32\\",\\"name\\":\\"_minGasLimit\\",\\"type\\":\\"uint32\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"depositETHTo\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"name\\":\\"deposits\\",\\"outputs\\":[{\\"internalType\\":\\"uint256\\",\\"name\\":\\"\\",\\"type\\":\\"uint256\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_localToken\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_remoteToken\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_from\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"finalizeBridgeERC20\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_from\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"finalizeBridgeETH\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_l1Token\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_l2Token\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_from\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"finalizeERC20Withdrawal\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"_from\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"address\\",\\"name\\":\\"_to\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"uint256\\",\\"name\\":\\"_amount\\",\\"type\\":\\"uint256\\"},{\\"internalType\\":\\"bytes\\",\\"name\\":\\"_extraData\\",\\"type\\":\\"bytes\\"}],\\"name\\":\\"finalizeETHWithdrawal\\",\\"outputs\\":[],\\"stateMutability\\":\\"payable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[{\\"internalType\\":\\"contract CrossDomainMessenger\\",\\"name\\":\\"_messenger\\",\\"type\\":\\"address\\"},{\\"internalType\\":\\"contract SuperchainConfig\\",\\"name\\":\\"_superchainConfig\\",\\"type\\":\\"address\\"}],\\"name\\":\\"initialize\\",\\"outputs\\":[],\\"stateMutability\\":\\"nonpayable\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"l2TokenBridge\\",\\"outputs\\":[{\\"internalType\\":\\"address\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"messenger\\",\\"outputs\\":[{\\"internalType\\":\\"contract CrossDomainMessenger\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"}
1,{\\"inputs\\":[],\\"name\\":\\"otherBridge\\",\\"outputs\\":[{\\"internalType\\":\\"contract StandardBridge\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"paused\\",\\"outputs\\":[{\\"internalType\\":\\"bool\\",\\"name\\":\\"\\",\\"type\\":\\"bool\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"superchainConfig\\",\\"outputs\\":[{\\"internalType\\":\\"contract SuperchainConfig\\",\\"name\\":\\"\\",\\"type\\":\\"address\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"inputs\\":[],\\"name\\":\\"version\\",\\"outputs\\":[{\\"internalType\\":\\"string\\",\\"name\\":\\"\\",\\"type\\":\\"string\\"}],\\"stateMutability\\":\\"view\\",\\"type\\":\\"function\\"},{\\"stateMutability\\":\\"payable\\",\\"type\\":\\"receive\\"}],\\"devdoc\\":{\\"custom:proxied\\":\\"@title L1StandardBridge\\",\\"events\\":{\\"ERC20DepositInitiated(address,address,address,address,uint256,bytes)\\":{\\"custom:legacy\\":\\"@notice Emitted whenever an ERC20 deposit is initiated.\\",\\"params\\":{\\"amount\\":\\"Amount of the ERC20 deposited.\\",\\"extraData\\":\\"Extra data attached to the deposit.\\",\\"from\\":\\"Address of the depositor.\\",\\"l1Token\\":\\"Address of the token on L1.\\",\\"l2Token\\":\\"Address of the corresponding token on L2.\\",\\"to\\":\\"Address of the recipient on L2.\\"}},\\"ERC20WithdrawalFinalized(address,address,address,address,uint256,bytes)\\":{\\"custom:legacy\\":\\"@notice Emitted whenever an ERC20 withdrawal is finalized.\\",\\"params\\":{\\"amount\\":\\"Amount of the ERC20 withdrawn.\\",\\"extraData\\":\\"Extra data attached to the withdrawal.\\",\\"from\\":\\"Address of the withdrawer.\\",\\"l1Token\\":\\"Address of the token on L1.\\",\\"l2Token\\":\\"Address of the corresponding token on L2.\\",\\"to\\":\\"Address of the recipient on L1.\\"}},\\"ETHDepositInitiated(address,address,uint256,bytes)\\":{\\"custom:legacy\\":\\"@notice Emitted whenever a deposit of ETH from L1 into L2 is initiated.\\",\\"params\\":{\\"amount\\":\\"Amount of ETH deposited.\\",\\"extraData\\":\\"Extra data attached to the deposit.\\",\\"from\\":\\"Address of the depositor.\\",\\"to\\":\\"Address of the recipient on L2.\\"}},\\"ETHWithdrawalFinalized(address,address,uint256,bytes)\\":{\\"custom:legacy\\":\\"@notice Emitted whenever a withdrawal of ETH from L2 to L1 is finalized.\\",\\"params\\":{\\"amount\\":\\"Amount of ETH withdrawn.\\",\\"extraData\\":\\"Extra data attached to the withdrawal.\\",\\"from\\":\\"Address of the withdrawer.\\",\\"to\\":\\"Address of the recipient on L1.\\"}}},\\"kind\\":\\"dev\\",\\"methods\\":{\\"MESSENGER()\\":{\\"custom:legacy\\":\\"\\",\\"returns\\":{\\"_0\\":\\"Contract of the messenger on this domain.\\"}},\\"OTHER_BRIDGE()\\":{\\"custom:legacy\\":\\"\\",\\"returns\\":{\\"_0\\":\\"Contract of the bridge on the other network.\\"}},\\"bridgeERC20(address,address,uint256,uint32,bytes)\\":{\\"params\\":{\\"_amount\\":\\"Amount of local tokens to deposit.\\",\\"_extraData\\":\\"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.\\",\\"_localToken\\":\\"Address of the ERC20 on this chain.\\",\\"_minGasLimit\\":\\"Minimum amount of gas that the bridge can be relayed with.\\",\\"_remoteToken\\":\\"Address of the corresponding token on the remote chain.\\"}},\\"bridgeERC20To(address,address,address,uint256,uint32,bytes)\\":{\\"params\\":{\\"_amount\\":\\"Amount of local tokens to deposit.\\",\\"_extraData\\":\\"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.\\",\\"_localToken\\":\\"Address of the ERC20 on this chain.\\",\\"_minGasLimit\\":\\"Minimum amount of gas that the bridge can be relayed with.\\",\\"_remoteToken\\":\\"Address of the corresponding token on the remote chain.\\",\\"_to\\":\\"Address of the receiver.\\"}},\\"bridgeETH(uint32,bytes)\\":{\\"params\\":{\\"_extraData\\":\\"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.\\",\\"_minGasLimit\\":\\"Minimum amount of gas that the bridge can be relayed with.\\"}},\\"bridgeETHTo(address,uint32,bytes)\\":{\\"params\\":{\\"_extraData\\":\\"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.\\",\\"_minGasLimit\\":\\"Minimum amount of gas that the bridge can be relayed with.\\",\\"_to\\":\\"Address of the receiver.\\"}},\\"depositERC20(address,address,uint256,uint32,bytes)\\":{\\"custom:legacy\\":\\"@notice Deposits some amount of ERC20 tokens into the sender\'s account on L2.\\",\\"params\\":{\\"_amount\\":\\"Amount of the ERC20 to deposit.\\",\\"_extraData\\":\\"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.\\",\\"_l1Token\\"
1:\\"Address of the L1 token being deposited.\\",\\"_l2Token\\":\\"Address of the corresponding token on L2.\\",\\"_minGasLimit\\":\\"Minimum gas limit for the deposit message on L2.\\"}},\\"depositERC20To(address,address,address,uint256,uint32,bytes)\\":{\\"custom:legacy\\":\\"@notice Deposits some amount of ERC20 tokens into a target account on L2.\\",\\"params\\":{\\"_amount\\":\\"Amount of the ERC20 to deposit.\\",\\"_extraData\\":\\"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.\\",\\"_l1Token\\":\\"Address of the L1 token being deposited.\\",\\"_l2Token\\":\\"Address of the corresponding token on L2.\\",\\"_minGasLimit\\":\\"Minimum gas limit for the deposit message on L2.\\",\\"_to\\":\\"Address of the recipient on L2.\\"}},\\"depositETH(uint32,bytes)\\":{\\"custom:legacy\\":\\"@notice Deposits some amount of ETH into the sender\'s account on L2.\\",\\"params\\":{\\"_extraData\\":\\"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.\\",\\"_minGasLimit\\":\\"Minimum gas limit for the deposit message on L2.\\"}},\\"depositETHTo(address,uint32,bytes)\\":{\\"custom:legacy\\":\\"@notice Deposits some amount of ETH into a target account on L2. Note that if ETH is sent to a contract on L2 and the call fails, then that ETH will be locked in the L2StandardBridge. ETH may be recoverable if the call can be successfully replayed by increasing the amount of gas supplied to the call. If the call will fail for any amount of gas, then the ETH will be locked permanently.\\",\\"params\\":{\\"_extraData\\":\\"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.\\",\\"_minGasLimit\\":\\"Minimum gas limit for the deposit message on L2.\\",\\"_to\\":\\"Address of the recipient on L2.\\"}},\\"finalizeBridgeERC20(address,address,address,address,uint256,bytes)\\":{\\"params\\":{\\"_amount\\":\\"Amount of the ERC20 being bridged.\\",\\"_extraData\\":\\"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.\\",\\"_from\\":\\"Address of the sender.\\",\\"_localToken\\":\\"Address of the ERC20 on this chain.\\",\\"_remoteToken\\":\\"Address of the corresponding token on the remote chain.\\",\\"_to\\":\\"Address of the receiver.\\"}},\\"finalizeBridgeETH(address,address,uint256,bytes)\\":{\\"params\\":{\\"_amount\\":\\"Amount of ETH being bridged.\\",\\"_extraData\\":\\"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.\\",\\"_from\\":\\"Address of the sender.\\",\\"_to\\":\\"Address of the receiver.\\"}},\\"finalizeERC20Withdrawal(address,address,address,address,uint256,bytes)\\":{\\"custom:legacy\\":\\"@notice Finalizes a withdrawal of ERC20 tokens from L2.\\",\\"params\\":{\\"_amount\\":\\"Amount of the ERC20 to withdraw.\\",\\"_extraData\\":\\"Optional data forwarded from L2.\\",\\"_from\\":\\"Address of the withdrawer on L2.\\",\\"_l1Token\\":\\"Address of the token on L1.\\",\\"_l2Token\\":\\"Address of the corresponding token on L2.\\",\\"_to\\":\\"Address of the recipient on L1.\\"}},\\"finalizeETHWithdrawal(address,address,uint256,bytes)\\":{\\"custom:legacy\\":\\"@notice Finalizes a withdrawal of ETH from L2.\\",\\"params\\":{\\"_amount\\":\\"Amount of ETH to withdraw.\\",\\"_extraData\\":\\"Optional data forwarded from L2.\\",\\"_from\\":\\"Address of the withdrawer on L2.\\",\\"_to\\":\\"Address of the recipient on L1.\\"}},\\"initialize(address,address)\\":{\\"params\\":{\\"_messenger\\":\\"Contract for the CrossDomainMessenger on this network.\\",\\"_superchainConfig\\":\\"Contract for the SuperchainConfig on this network.\\"}},\\"l2TokenBridge()\\":{\\"custom:legacy\\":\\"@notice Retrieves the access of the corresponding L2 bridge contract.\\",\\"returns\\":{\\"_0\\":\\"Address of the corresponding L2 bridge contract.\\"}},\\"paused()\\":{\\"returns\\":{\\"_0\\":\\"Whether or not the contract is paused.\\"}}},\\"stateVariables\\":{\\"version\\":{\\"custom:semver\\":\\"2.1.0\\"}},\\"version\\":1},\\"userdoc\\":{\\"events\\":{\\"ERC20BridgeFinalized(address,address,address,address,uint256,bytes)\\":{\\"notice\\":\\"Emitted when an ERC20 bridge is finalized on this chain.\\"}
1,\\"ERC20BridgeInitiated(address,address,address,address,uint256,bytes)\\":{\\"notice\\":\\"Emitted when an ERC20 bridge is initiated to the other chain.\\"},\\"ETHBridgeFinalized(address,address,uint256,bytes)\\":{\\"notice\\":\\"Emitted when an ETH bridge is finalized on this chain.\\"},\\"ETHBridgeInitiated(address,address,uint256,bytes)\\":{\\"notice\\":\\"Emitted when an ETH bridge is initiated to the other chain.\\"}},\\"kind\\":\\"user\\",\\"methods\\":{\\"MESSENGER()\\":{\\"notice\\":\\"Getter for messenger contract. Public getter is legacy and will be removed in the future. Use `messenger` instead.\\"},\\"OTHER_BRIDGE()\\":{\\"notice\\":\\"Getter for the other bridge contract. Public getter is legacy and will be removed in the future. Use `otherBridge` instead.\\"},\\"bridgeERC20(address,address,uint256,uint32,bytes)\\":{\\"notice\\":\\"Sends ERC20 tokens to the sender\'s address on the other chain.\\"},\\"bridgeERC20To(address,address,address,uint256,uint32,bytes)\\":{\\"notice\\":\\"Sends ERC20 tokens to a receiver\'s address on the other chain.\\"},\\"bridgeETH(uint32,bytes)\\":{\\"notice\\":\\"Sends ETH to the sender\'s address on the other chain.\\"},\\"bridgeETHTo(address,uint32,bytes)\\":{\\"notice\\":\\"Sends ETH to a receiver\'s address on the other chain. Note that if ETH is sent to a smart contract and the call fails, the ETH will be temporarily locked in the StandardBridge on the other chain until the call is replayed. If the call cannot be replayed with any amount of gas (call always reverts), then the ETH will be permanently locked in the StandardBridge on the other chain. ETH will also be locked if the receiver is the other bridge, because finalizeBridgeETH will revert in that case.\\"},\\"constructor\\":{\\"notice\\":\\"Constructs the L1StandardBridge contract.\\"},\\"deposits(address,address)\\":{\\"notice\\":\\"Mapping that stores deposits for a given pair of local and remote tokens.\\"},\\"finalizeBridgeERC20(address,address,address,address,uint256,bytes)\\":{\\"notice\\":\\"Finalizes an ERC20 bridge on this chain. Can only be triggered by the other StandardBridge contract on the remote chain.\\"},\\"finalizeBridgeETH(address,address,uint256,bytes)\\":{\\"notice\\":\\"Finalizes an ETH bridge on this chain. Can only be triggered by the other StandardBridge contract on the remote chain.\\"},\\"initialize(address,address)\\":{\\"notice\\":\\"Initializer.\\"},\\"messenger()\\":{\\"notice\\":\\"Messenger contract on this domain.\\"},\\"otherBridge()\\":{\\"notice\\":\\"Corresponding bridge on the other domain.\\"},\\"paused()\\":{\\"notice\\":\\"This function should return true if the contract is paused. On L1 this function will check the SuperchainConfig for its paused status. On L2 this function should be a no-op.\\"},\\"superchainConfig()\\":{\\"notice\\":\\"Address of the SuperchainConfig contract.\\"},\\"version()\\":{\\"notice\\":\\"Semantic version.\\"}},\\"notice\\":\\"The L1StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and L2. In the case that an ERC20 token is native to L1, it will be escrowed within this contract. If the ERC20 token is native to L2, it will be burnt. Before Bedrock, ETH was stored within this contract. After Bedrock, ETH is instead stored inside the OptimismPortal contract. NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples of some token types that may not be properly supported by this contract include, but are not limited to: tokens with transfer fees, rebasing tokens, and tokens with blocklists.\\",\\"version\\":1}},\\"settings\\":{\\"compilationTarget\\":{\\"src/L1/L1StandardBridge.sol\\":\\"L1StandardBridge\\"},\\"evmVersion\\":\\"london\\",\\"libraries\\":{},\\"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/\\",\\":@rari-capital/solmate/=lib/solmate/\\",\\":@solady-test/=lib/lib-keccak/lib/solady/test/\\",\\":@solady/=lib/solady/src/\\",\\":ds-test/=lib/forge-std/lib/ds-test/src/\\",\\":forge-std/=lib/forge-std/src/\\",\\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\\",\\":lib-keccak/=lib/lib-keccak/contracts/\\",\\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\\",\\":openzeppelin-contracts/=lib/openzeppelin-contracts/\\",\\":safe-contracts/=lib/safe-contracts/contracts/\\",\\":solady/=lib/solady/\\",\\":solmate/=lib/solmate/src/\\"]},\\"sources\\":{\\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\\":{\\"keccak256\\":\\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\\",\\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\\"]},\\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\\":{\\"keccak256\\":\\"0x611aa3f23e59cfdd1863c5367764
107b3e33d695152a266fa7cfb34440a29a8a3\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\\",\\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\\"]},\\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\\":{\\"keccak256\\":\\"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f\\",\\"dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV\\"]},\\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\\":{\\"keccak256\\":\\"0x24b04b8aacaaf1a4a0719117b29c9c3647b1f479c5ac2a60f5ff1bb6d839c238\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://43e46da9d9f49741ecd876a269e71bc7494058d7a8e9478429998adb5bc3eaa0\\",\\"dweb:/ipfs/QmUtp4cqzf22C5rJ76AabKADquGWcjsc33yjYXxXC4sDvy\\"]},\\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\\":{\\"keccak256\\":\\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\\",\\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\\"]},\\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\\":{\\"keccak256\\":\\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\\",\\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\\"]},\\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol\\":{\\"keccak256\\":\\"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95\\",\\"dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7\\"]},\\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\\":{\\"keccak256\\":\\"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6\\",\\"dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf\\"]},\\"lib/openzeppelin-contracts/contracts/utils/Address.sol\\":{\\"keccak256\\":\\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\\",\\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\\"]},\\"lib/openzeppelin-contracts/contracts/utils/Context.sol\\":{\\"keccak256\\":\\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\\",\\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\\"]},\\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol\\":{\\"keccak256\\":\\"0xc65c83c1039508fa7a42a09a3c6a32babd1c438ba4dbb23581255e784b5d5eed\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://a1b3b38db0f76429db899909025e534c366415e9ea8b5ddc4c8901e6a7fc1461\\",\\"dweb:/ipfs/QmYv1KxyHjLEky9JWNSsSfpGJbiCxFyzVFgTwQKpiqYGUg\\"]},\\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\\":{\\"keccak256\\":\\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\\",\\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\\"]},\\"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/solmate/src/utils/FixedPointMathLib.sol\\":{\\"keccak256\\":\\"0x622fcd8a49e132df5ec7651cc6ae3aaf0cf59bdcd67a9a804a1b9e2485113b7d\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://af77088eb606427d4c55e578984a615779c86bc30646a20f7bb27299ba390f7c\\",\\"dweb:/ipfs/QmZGQdhdQDtHc7gZXWrKXgA3govc74X8U63BiWhPQK3mK8\\"]},\\"src/L1/L1StandardBridge.sol\\":{\\"keccak256\\":\\"0x2fdc6f6f464a24344847c81d394f502d000cd722f7ff21fa21104b5f7e392633\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://393fd96446ab8fce3bb7d1134e6ff847bf9940e0eaa199accf01118c3917367f\\",\\"dweb:/ipfs/QmX36camDYHu7pVzdjnfprinxPpZnjJehZXUKTyUdezKRK\\"]},\\"src/L1/ResourceMetering.sol\\":{\\"keccak256\\":\\"0xde3ac62c60f27a3f1ba06eec94f4eda45e7ec5544c6a5d6b79543a7184e44408\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://265a2845c4ff0d9076dd0505755cf2bdf799f4fdc09ef016865a26b51f5c3409\\",\\"dweb:/ipfs/QmRzSdBD8jmQf3U9u2ATRAzzuyo6c5ugz8VA5ZM4vzoGiM\\"]},\\"src/L1/SuperchainConfig.sol\\":{\\"keccak256\\":\\"0x5fab874f980fe3e52c3398ddd25b655c56af0c98c15588b2ad9ebf30671d859d\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://4e0aa613d38eceb621f8569fc714f521bc1f2df3d029552186ab3cdf2ee5d53f\\",\\"dweb:/ipfs/QmZDzFxhTXLW79eohQbr1nghNh3oNC4CUfH7uMX8CsjVAB\\"]},\\"src/libraries/Arithmetic.sol\\":{\\"keccak256\\":\\"0x91345e053584f82ad04d682ba821cf3ede808304f5b2a88116a894cf692c21db\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://005e3c42d2edfca0a506cbda94d3b0104eddf20c00bd1bd25272f53f2ef74c72\\",\\"dweb:/ipfs/QmdaW6Nge6NKoGvFqRpQjBpM2fXpc5y8WpZyBnDnKicdJq\\"]},\\"src/libraries/Burn.sol\\":{\\"keccak256\\":\\"0x90a795bcea3ef06d6d5011256c4bd63d1a4271f519246dbf1ee3e8f1c0e21010\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://9f60c3aa77cf0c484ddda4754157cff4dc0e2eace4bea67990daff4c0612ab5f\\",\\"dweb:/ipfs/QmSYGanMFve9uBC17X7hFneSFnwnJxz86Jgh6MX9BRMweb\\"]},\\"src/libraries/Constants.sol\\":{\\"keccak256\\":\\"0xe0aeec7d6e5d1e44a11405d3b5bfc384ea092c39bea0b763ab937a26fd427132\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://11aa3bff9da26ca2545132ec7994866690446a5321023811c254410d9593bd9b\\",\\"dweb:/ipfs/QmVxWqadxvdfkqdrhfWisDqeAthibn4HEE1P6o9aFxXLhp\\"]},\\"src/libraries/Encoding.sol\\":{\\"keccak256\\":\\"0x1dafabcbd4877c7abe9698957b0a44b7e911cb8b11c1437a4ed897135669fa87\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://6addfacefa26fdb44f56d73fa0172b97740de75629a962905ec2a20a28d40fff\\",\\"dweb:/ipfs/QmboHMouqU19Rnbqrfo1gkfnuDBFcPiC9wsKgGtF2W1cNA\\"]},\\"src/libraries/Hashing.sol\\":{\\"keccak256\\":\\"0x89c07a0ca102cbe57b4e082543f2dd6dae0e1fd4a87908a334bd076fc914e7b8\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://69c83489c9544ab442dc244c2feb2c6811b726a5eb5a509b97fc5ccb90b98c12\\",\\"dweb:/ipfs/QmPGGJeLasc1HWHzd6odvWcNvFPQrbYtDubZcv8yp1HLtF\\"]},\\"src/libraries/Predeploys.sol\\":{\\"keccak256\\":\\"0x7b48b32b75e9ba0cd7f83b3304c6c1676dd8de20a5d40e8846bf7018ae9aff02\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://7574fcc79c0d545b90071023aa81ee7880ab50b3057df598fa693bc4cf303663\\",\\"dweb:/ipfs/QmWLxHzgfaTJ7thfb7khXkTY5UtSBZ5VTUB4DaAXVw7DRe\\"]},\\"src/libraries/SafeCall.sol\\":{\\"keccak256\\":\\"0x0636a7abb242bb5d6f5606967c8929e6aa7e63468c1e2ce40ad4780d4c4bf94f\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://a4daec2ac8f9907bbf84ef0a1c48f03bae8657619bc6f42b3a672f25c516f17a\\",\\"dweb:/ipfs/Qmf8gfRxBv8gEmCkP8YMPb2GGfj9QUnoNUyKE7UR2SWGnq\\"]},\\"src/libraries/Storage.sol\\":{\\"keccak256\\":\\"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269\\",\\"dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK\\"]},\\"src/libraries/Types.sol\\":{\\"keccak256\\":\\"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e\\",\\"dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc\\"]},\\"src/libraries/rlp/RLPWriter.sol\\":{\\"keccak256\\":\\"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://0
170f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b\\",\\"dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV\\"]},\\"src/universal/CrossDomainMessenger.sol\\":{\\"keccak256\\":\\"0x330ae1479e88fc8a8b5b27a84df935a092a47ad13e59d9b9ea4982ad31bbe7b0\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://66bf5fb4e78a03dcad4b9a8e2d5ed135f8e989aa02090747386843383fa6b7d1\\",\\"dweb:/ipfs/QmTp66RoF6EaKeBrrZBuYAu3dsMfKo8de2XY9iHHnqfN3n\\"]},\\"src/universal/IOptimismMintableERC20.sol\\":{\\"keccak256\\":\\"0x6f8133b39efcbcbd5088f195dfacf1bedc3146508429c3865443909af735a04c\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://adc36971e2e120458769f050428d9d2b0504516660345020c2521ee46e6d8abf\\",\\"dweb:/ipfs/QmPbFusQkZgGKpU8Fv5JoqL4oVeJtM3yqnhRGLY9eZT5zZ\\"]},\\"src/universal/ISemver.sol\\":{\\"keccak256\\":\\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\\",\\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\\"]},\\"src/universal/OptimismMintableERC20.sol\\":{\\"keccak256\\":\\"0x18721f41a831ec39d47002e73ecc2aa3e6624f8d1ab7b9f25b53348e8b0765df\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://2162fa7529a77b199a07f37fca26c778542f6c8805f0365f
11ceef90c5cd3a3a7\\",\\"dweb:/ipfs/QmaMmHJS52Bp95AGnrjh1zV7fLLqV3uAbFzkVLziMnPJYa\\"]},\\"src/universal/StandardBridge.sol\\":{\\"keccak256\\":\\"0x1a2f6afd7f14430ae2b797e09497c3dc860ed5db752e1847e30649668060c01d\\",\\"license\\":\\"MIT\\",\\"urls\\":[\\"bzz-raw://fefe1356cdeb5b324e4e63e1c723c08f9e244ef2ef133b9f5df0cc0d180eeaa8\\",\\"dweb:/ipfs/QmZzR3zWKodwdwrdWwXUyh7G3qcFn2cjUQLrE45gRyQMn3\\"]}},\\"version\\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"localToken","type":"address","indexed":true},{"internalType":"address","name":"remoteToken","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ERC20BridgeFinalized","anonymous":false},{"inputs":[{"internalType":"address","name":"localToken","type":"address","indexed":true},{"internalType":"address","name":"remoteToken","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ERC20BridgeInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"l1Token","type":"address","indexed":true},{"internalType":"address","name":"l2Token","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ERC20DepositInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"l1Token","type":"address","indexed":true},{"internalType":"address","name":"l2Token","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ERC20WithdrawalFinalized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ETHBridgeFinalized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ETHBridgeInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ETHDepositInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes","name":"extraData","type":"bytes","indexed":false}],"type":"event","name":"ETHWithdrawalFinalized","anonymous":false}
1,{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"MESSENGER","outputs":[{"internalType":"contract CrossDomainMessenger","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OTHER_BRIDGE","outputs":[{"internalType":"contract StandardBridge","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_localToken","type":"address"},{"internalType":"address","name":"_remoteToken","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"bridgeERC20"},{"inputs":[{"internalType":"address","name":"_localToken","type":"address"},{"internalType":"address","name":"_remoteToken","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"bridgeERC20To"},{"inputs":[{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"bridgeETH"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"bridgeETHTo"},{"inputs":[{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"address","name":"_l2Token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"depositERC20"},{"inputs":[{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"address","name":"_l2Token","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"depositERC20To"},{"inputs":[{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"depositETH"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint32","name":"_minGasLimit","type":"uint32"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"depositETHTo"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"deposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_localToken","type":"address"},{"internalType":"address","name":"_remoteToken","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"finalizeBridgeERC20"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"finalizeBridgeETH"}
1,{"inputs":[{"internalType":"address","name":"_l1Token","type":"address"},{"internalType":"address","name":"_l2Token","type":"address"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"finalizeERC20Withdrawal"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"finalizeETHWithdrawal"},{"inputs":[{"internalType":"contract CrossDomainMessenger","name":"_messenger","type":"address"},{"internalType":"contract SuperchainConfig","name":"_superchainConfig","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"l2TokenBridge","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"messenger","outputs":[{"internalType":"contract CrossDomainMessenger","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"otherBridge","outputs":[{"internalType":"contract StandardBridge","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"superchainConfig","outputs":[{"internalType":"contract SuperchainConfig","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"MESSENGER()":{"custom:legacy":"","returns":{"_0":"Contract of the messenger on this domain."}},"OTHER_BRIDGE()":{"custom:legacy":"","returns":{"_0":"Contract of the bridge on the other network."}},"bridgeERC20(address,address,uint256,uint32,bytes)":{"params":{"_amount":"Amount of local tokens to deposit.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_localToken":"Address of the ERC20 on this chain.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with.","_remoteToken":"Address of the corresponding token on the remote chain."}},"bridgeERC20To(address,address,address,uint256,uint32,bytes)":{"params":{"_amount":"Amount of local tokens to deposit.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_localToken":"Address of the ERC20 on this chain.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with.","_remoteToken":"Address of the corresponding token on the remote chain.","_to":"Address of the receiver."}},"bridgeETH(uint32,bytes)":{"params":{"_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with."}},"bridgeETHTo(address,uint32,bytes)":{"params":{"_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with.","_to":"Address of the receiver."}},"depositERC20(address,address,uint256,uint32,bytes)":{"custom:legacy":"@notice Deposits some amount of ERC20 tokens into the sender\'s account on L2.","params":{"_amount":"Amount of the ERC20 to deposit.","_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_l1Token":"Address of the L1 token being deposited.","_l2Token":"Address of the corresponding token on L2.","_minGasLimit":"Minimum gas limit for the deposit message on L2."}},"depositERC20To(address,address,address,uint256,uint32,bytes)":{"custom:legacy":"@notice Deposits some amount of ERC20 tokens into a target account on L2.","params":{"_amount":"Amount of the ERC20 to deposit.","_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_l1Token":"Address of the L1 token being deposited.","_l2Token":"Address of the corresponding token on L2.","_minGasLimit":"Minimum gas limit for the deposit message on L2.","_to":"Address of the recipient on L2."}},"depositETH(uint32,bytes)":{"custom:legacy":"@notice Deposits some amount of ETH into the sender\'s account on L2.","params":{"_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_minGasLimit":"Minimum gas limit for the deposit message on L2."}},"depositETHTo(address,uint32,bytes)":{"custom:legacy":"@notice Deposits some amount of ETH into a target account on L2. Note that if ETH is sent to a contract on L2 and the call fails, then that ETH will be locked in the L2StandardBridge. ETH may be recoverable if the call can be successfully replayed by increasing the amount of gas supplied to the call. If the call will fail for any amount of gas, then the ETH will be locked permanently.","params":{"_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_minGasLimit":"Minimum gas limit for the deposit message on L2.","_to":"Address of the recipient on L2."}},"finalizeBridgeERC20(address,address,address,address,uint256,bytes)":{"params":{"_amount":"Amount of the ERC20 being bridged.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_from":"Address of the sender.","_localToken":"Address of the ERC20 on this chain.","_remoteToken":"Address of the corresponding token on the remote chain.","_to":"Address of the receiver."}},"finalizeBridgeETH(address,address,uint256,bytes)":{"params":{"_amount":"Amount of ETH being bridged.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_from":"Address of the sender.","_to":"Address of the receiver."}},"finalizeERC20Withdrawal(address,address,address,address,uint256,bytes)":{"custom:legacy":"@notice Finalizes a withdrawal of ERC20 tokens from L2.","params":{"_amount":"Amount of the ERC20 to withdraw.","_extraData":"Optional data forwarded from L2.","_from":"Address of the withdrawer on L2.","_l1Token":"Address of the token on L1.","_l2Token":"Address of the corresponding token on L2.","_to":"Address of the recipient on L1."}}
1,"finalizeETHWithdrawal(address,address,uint256,bytes)":{"custom:legacy":"@notice Finalizes a withdrawal of ETH from L2.","params":{"_amount":"Amount of ETH to withdraw.","_extraData":"Optional data forwarded from L2.","_from":"Address of the withdrawer on L2.","_to":"Address of the recipient on L1."}},"initialize(address,address)":{"params":{"_messenger":"Contract for the CrossDomainMessenger on this network.","_superchainConfig":"Contract for the SuperchainConfig on this network."}},"l2TokenBridge()":{"custom:legacy":"@notice Retrieves the access of the corresponding L2 bridge contract.","returns":{"_0":"Address of the corresponding L2 bridge contract."}},"paused()":{"returns":{"_0":"Whether or not the contract is paused."}}},"version":1},"userdoc":{"kind":"user","methods":{"MESSENGER()":{"notice":"Getter for messenger contract. Public getter is legacy and will be removed in the future. Use `messenger` instead."},"OTHER_BRIDGE()":{"notice":"Getter for the other bridge contract. Public getter is legacy and will be removed in the future. Use `otherBridge` instead."},"bridgeERC20(address,address,uint256,uint32,bytes)":{"notice":"Sends ERC20 tokens to the sender\'s address on the other chain."},"bridgeERC20To(address,address,address,uint256,uint32,bytes)":{"notice":"Sends ERC20 tokens to a receiver\'s address on the other chain."},"bridgeETH(uint32,bytes)":{"notice":"Sends ETH to the sender\'s address on the other chain."},"bridgeETHTo(address,uint32,bytes)":{"notice":"Sends ETH to a receiver\'s address on the other chain. Note that if ETH is sent to a smart contract and the call fails, the ETH will be temporarily locked in the StandardBridge on the other chain until the call is replayed. If the call cannot be replayed with any amount of gas (call always reverts), then the ETH will be permanently locked in the StandardBridge on the other chain. ETH will also be locked if the receiver is the other bridge, because finalizeBridgeETH will revert in that case."},"constructor":{"notice":"Constructs the L1StandardBridge contract."},"deposits(address,address)":{"notice":"Mapping that stores deposits for a given pair of local and remote tokens."},"finalizeBridgeERC20(address,address,address,address,uint256,bytes)":{"notice":"Finalizes an ERC20 bridge on this chain. Can only be triggered by the other StandardBridge contract on the remote chain."},"finalizeBridgeETH(address,address,uint256,bytes)":{"notice":"Finalizes an ETH bridge on this chain. Can only be triggered by the other StandardBridge contract on the remote chain."},"initialize(address,address)":{"notice":"Initializer."},"messenger()":{"notice":"Messenger contract on this domain."},"otherBridge()":{"notice":"Corresponding bridge on the other domain."},"paused()":{"notice":"This function should return true if the contract is paused. On L1 this function will check the SuperchainConfig for its paused status. On L2 this function should be a no-op."},"superchainConfig()":{"notice":"Address of the SuperchainConfig contract."},"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/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/L1/L1StandardBridge.sol":"L1StandardBridge"},"evmVersion":"london","libraries":{}},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c5367764
107b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66","urls":["bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f","dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0x24b04b8aacaaf1a4a0719117b29c9c3647b1f479c5ac2a60f5ff1bb6d839c238","urls":["bzz-raw://43e46da9d9f49741ecd876a269e71bc7494058d7a8e9478429998adb5bc3eaa0","dweb:/ipfs/QmUtp4cqzf22C5rJ76AabKADquGWcjsc33yjYXxXC4sDvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol":{"keccak256":"0xf41ca991f30855bf80ffd11e9347856a517b977f0a6c2d52e6421a99b7840329","urls":["bzz-raw://b2717fd2bdac99daa960a6de500754ea1b932093c946388c381da48658234b95","dweb:/ipfs/QmP6QVMn6UeA3ByahyJbYQr5M6coHKBKsf3ySZSfbyA8R7"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x032807210d1d7d218963d7355d62e021a84bf1b3339f4f50be2f63b53cccaf29","urls":["bzz-raw://11756f42121f6541a35a8339ea899ee7514cfaa2e6d740625fcc844419296aa6","dweb:/ipfs/QmekMuk6BY4DAjzeXr4MSbKdgoqqsZnA8JPtuyWc6CwXHf"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10","urls":["bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487","dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0xc65c83c1039508fa7a42a09a3c6a32babd1c438ba4dbb23581255e784b5d5eed","urls":["bzz-raw://a1b3b38db0f76429db899909025e534c366415e9ea8b5ddc4c8901e6a7fc1461","dweb:/ipfs/QmYv1KxyHjLEky9JWNSsSfpGJbiCxFyzVFgTwQKpiqYGUg"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"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/solmate/src/utils/FixedPointMathLib.sol":{"keccak256":"0x622fcd8a49e132df5ec7651cc6ae3aaf0cf59bdcd67a9a804a1b9e2485113b7d","urls":["bzz-raw://af77088eb606427d4c55e578984a615779c86bc30646a20f7bb27299ba390f7c","dweb:/ipfs/QmZGQdhdQDtHc7gZXWrKXgA3govc74X8U63BiWhPQK3mK8"],"license":"MIT"},"src/L1/L1StandardBridge.sol":{"keccak256":"0x2fdc6f6f464a24344847c81d394f502d000cd722f7ff21fa21104b5f7e392633","urls":["bzz-raw://393fd96446ab8fce3bb7d1134e6ff847bf9940e0eaa199accf01118c3917367f","dweb:/ipfs/QmX36camDYHu7pVzdjnfprinxPpZnjJehZXUKTyUdezKRK"],"license":"MIT"},"src/L1/ResourceMetering.sol":{"keccak256":"0xde3ac62c60f27a3f1ba06eec94f4eda45e7ec5544c6a5d6b79543a7184e44408","urls":["bzz-raw://265a2845c4ff0d9076dd0505755cf2bdf799f4fdc09ef016865a26b51f5c3409","dweb:/ipfs/QmRzSdBD8jmQf3U9u2ATRAzzuyo6c5ugz8VA5ZM4vzoGiM"],"license":"MIT"},"src/L1/SuperchainConfig.sol":{"keccak256":"0x5fab874f980fe3e52c3398ddd25b655c56af0c98c15588b2ad9ebf30671d859d","urls":["bzz-raw://4e0aa613d38eceb621f8569fc714f521bc1f2df3d029552186ab3cdf2ee5d53f","dweb:/ipfs/QmZDzFxhTXLW79eohQbr1nghNh3oNC4CUfH7uMX8CsjVAB"],"license":"MIT"},"src/libraries/Arithmetic.sol":{"keccak256":"0x91345e053584f82ad04d682ba821cf3ede808304f5b2a88116a894cf692c21db","urls":["bzz-raw://005e3c42d2edfca0a506cbda94d3b0104eddf20c00bd1bd25272f53f2ef74c72","dweb:/ipfs/QmdaW6Nge6NKoGvFqRpQjBpM2fXpc5y8WpZyBnDnKicdJq"],"license":"MIT"},"src/libraries/Burn.sol":{"keccak256":"0x90a795bcea3ef06d6d5011256c4bd63d1a4271f519246dbf1ee3e8f1c0e21010","urls":["bzz-raw://9f60c3aa77cf0c484ddda4754157cff4dc0e2eace4bea67990daff4c0612ab5f","dweb:/ipfs/QmSYGanMFve9uBC17X7hFneSFnwnJxz86Jgh6MX9BRMweb"],"license":"MIT"},"src/libraries/Constants.sol":{"keccak256":"0xe0aeec7d6e5d1e44a11405d3b5bfc384ea092c39bea0b763ab937a26fd427132","urls":["bzz-raw://11aa3bff9da26ca2545132ec7994866690446a5321023811c254410d9593bd9b","dweb:/ipfs/QmVxWqadxvdfkqdrhfWisDqeAthibn4HEE1P6o9aFxXLhp"],"license":"MIT"},"src/libraries/Encoding.sol":{"keccak256":"0x1dafabcbd4877c7abe9698957b0a44b7e911cb8b11c1437a4ed897135669fa87","urls":["bzz-raw://6addfacefa26fdb44f56d73fa0172b97740de75629a962905ec2a20a28d40fff","dweb:/ipfs/QmboHMouqU19Rnbqrfo1gkfnuDBFcPiC9wsKgGtF2W1cNA"],"license":"MIT"},"src/libraries/Hashing.sol":{"keccak256":"0x89c07a0ca102cbe57b4e082543f2dd6dae0e1fd4a87908a334bd076fc914e7b8","urls":["bzz-raw://69c83489c9544ab442dc244c2feb2c6811b726a5eb5a509b97fc5ccb90b98c12","dweb:/ipfs/QmPGGJeLasc1HWHzd6odvWcNvFPQrbYtDubZcv8yp1HLtF"],"license":"MIT"},"src/libraries/Predeploys.sol":{"keccak256":"0x7b48b32b75e9ba0cd7f83b3304c6c1676dd8de20a5d40e8846bf7018ae9aff02","urls":["bzz-raw://7574fcc79c0d545b90071023aa81ee7880ab50b3057df598fa693bc4cf303663","dweb:/ipfs/QmWLxHzgfaTJ7thfb7khXkTY5UtSBZ5VTUB4DaAXVw7DRe"],"license":"MIT"},"src/libraries/SafeCall.sol":{"keccak256":"0x0636a7abb242bb5d6f5606967c8929e6aa7e63468c1e2ce40ad4780d4c4bf94f","urls":["bzz-raw://a4daec2ac8f9907bbf84ef0a1c48f03bae8657619bc6f42b3a672f25c516f17a","dweb:/ipfs/Qmf8gfRxBv8gEmCkP8YMPb2GGfj9QUnoNUyKE7UR2SWGnq"],"license":"MIT"},"src/libraries/Storage.sol":{"keccak256":"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f","urls":["bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269","dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK"],"license":"MIT"},"src/libraries/Types.sol":{"keccak256":"0x75900d651301940d24c00d14f0b3b6cbd6dcf379173ceaa31d9bf5be934a9aa4","urls":["bzz-raw://99c2632c5bf4fa3982391c32110eec9fa07917b483b2442cbaf18bdde5bdb24e","dweb:/ipfs/QmSUs6Amkeootf5gKGbKi4mJpvhN2U8i1ED6ef2dskV5xc"],"license":"MIT"},"src/libraries/rlp/RLPWriter.sol":{"keccak256":"0x60ac401490f321c9c55e996a2c65151cd5e60de5f8f297e7c94d541c29820bb6","urls":["bzz-raw://0
170f5814db07e4a89173d44a36d90e4261ce530f7336034c01635347f2c2d88b","dweb:/ipfs/QmXqr9yW5Kc8MYgr5wSehU5AiqS9pZ4FKxv7vwiwpZCcyV"],"license":"MIT"},"src/universal/CrossDomainMessenger.sol":{"keccak256":"0x330ae1479e88fc8a8b5b27a84df935a092a47ad13e59d9b9ea4982ad31bbe7b0","urls":["bzz-raw://66bf5fb4e78a03dcad4b9a8e2d5ed135f8e989aa02090747386843383fa6b7d1","dweb:/ipfs/QmTp66RoF6EaKeBrrZBuYAu3dsMfKo8de2XY9iHHnqfN3n"],"license":"MIT"},"src/universal/IOptimismMintableERC20.sol":{"keccak256":"0x6f8133b39efcbcbd5088f195dfacf1bedc3146508429c3865443909af735a04c","urls":["bzz-raw://adc36971e2e120458769f050428d9d2b0504516660345020c2521ee46e6d8abf","dweb:/ipfs/QmPbFusQkZgGKpU8Fv5JoqL4oVeJtM3yqnhRGLY9eZT5zZ"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"},"src/universal/OptimismMintableERC20.sol":{"keccak256":"0x18721f41a831ec39d47002e73ecc2aa3e6624f8d1ab7b9f25b53348e8b0765df","urls":["bzz-raw://2162fa7529a77b199a07f37fca26c778542f6c8805f0365f
11ceef90c5cd3a3a7","dweb:/ipfs/QmaMmHJS52Bp95AGnrjh1zV7fLLqV3uAbFzkVLziMnPJYa"],"license":"MIT"},"src/universal/StandardBridge.sol":{"keccak256":"0x1a2f6afd7f14430ae2b797e09497c3dc860ed5db752e1847e30649668060c01d","urls":["bzz-raw://fefe1356cdeb5b324e4e63e1c723c08f9e244ef2ef133b9f5df0cc0d180eeaa8","dweb:/ipfs/QmZzR3zWKodwdwrdWwXUyh7G3qcFn2cjUQLrE45gRyQMn3"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":49534,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":49537,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":110944,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"spacer_0_2_30","offset":2,"slot":"0","type":"t_bytes30"},{"astId":110947,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"spacer_1_0_20","offset":0,"slot":"1","type":"t_address"},{"astId":110954,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"deposits","offset":0,"slot":"2","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":110958,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"messenger","offset":0,"slot":"3","type":"t_contract(CrossDomainMessenger)108888"},{"astId":110962,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"otherBridge","offset":0,"slot":"4","type":"t_contract(StandardBridge)111675"},{"astId":110967,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"__gap","offset":0,"slot":"5","type":"t_array(t_uint256)45_storage"},{"astId":85497,"contract":"src/L1/L1StandardBridge.sol:L1StandardBridge","label":"superchainConfig","offset":0,"slot":"50","type":"t_contract(SuperchainConfig)88793"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_uint256)45_storage":{"encoding":"inplace","label":"uint256[45]","numberOfBytes":"1440","base":"t_uint256"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_bytes30":{"encoding":"inplace","label":"bytes30","numberOfBytes":"30"},"t_contract(CrossDomainMessenger)108888":{"encoding":"inplace","label":"contract CrossDomainMessenger","numberOfBytes":"20"},"t_contract(StandardBridge)111675":{"encoding":"inplace","label":"contract StandardBridge","numberOfBytes":"20"},"t_contract(SuperchainConfig)88793":{"encoding":"inplace","label":"contract SuperchainConfig","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"}}},"userdoc":{"version":1,"kind":"user","methods":{"MESSENGER()":{"notice":"Getter for messenger contract. Public getter is legacy and will be removed in the future. Use `messenger` instead."},"OTHER_BRIDGE()":{"notice":"Getter for the other bridge contract. Public getter is legacy and will be removed in the future. Use `otherBridge` instead."},"bridgeERC20(address,address,uint256,uint32,bytes)":{"notice":"Sends ERC20 tokens to the sender\'s address on the other chain."},"bridgeERC20To(address,address,address,uint256,uint32,bytes)":{"notice":"Sends ERC20 tokens to a receiver\'s address on the other chain."},"bridgeETH(uint32,bytes)":{"notice":"Sends ETH to the sender\'s address on the other chain."},"bridgeETHTo(address,uint32,bytes)":{"notice":"Sends ETH to a receiver\'s address on the other chain. Note that if ETH is sent to a smart contract and the call fails, the ETH will be temporarily locked in the StandardBridge on the other chain until the call is replayed. If the call cannot be replayed with any amount of gas (call always reverts), then the ETH will be permanently locked in the StandardBridge on the other chain. ETH will also be locked if the receiver is the other bridge, because finalizeBridgeETH will revert in that case."},"constructor":{"notice":"Constructs the L1StandardBridge contract."},"deposits(address,address)":{"notice":"Mapping that stores deposits for a given pair of local and remote tokens."},"finalizeBridgeERC20(address,address,address,address,uint256,bytes)":{"notice":"Finalizes an ERC20 bridge on this chain. Can only be triggered by the other StandardBridge contract on the remote chain."},"finalizeBridgeETH(address,address,uint256,bytes)":{"notice":"Finalizes an ETH bridge on this chain. Can only be triggered by the other StandardBridge contract on the remote chain."},"initialize(address,address)":{"notice":"Initializer."},"messenger()":{"notice":"Messenger contract on this domain."},"otherBridge()":{"notice":"Corresponding bridge on the other domain."},"paused()":{"notice":"This function should return true if the contract is paused. On L1 this function will check the SuperchainConfig for its paused status. On L2 this function should be a no-op."},"superchainConfig()":{"notice":"Address of the SuperchainConfig contract."},"version()":{"notice":"Semantic version."}},"events":{"ERC20BridgeFinalized(address,address,address,address,uint256,bytes)":{"notice":"Emitted when an ERC20 bridge is finalized on this chain."},"ERC20BridgeInitiated(address,address,address,address,uint256,bytes)":{"notice":"Emitted when an ERC20 bridge is initiated to the other chain."},"ETHBridgeFinalized(address,address,uint256,bytes)":{"notice":"Emitted when an ETH bridge is finalized on this chain."},"ETHBridgeInitiated(address,address,uint256,bytes)":{"notice":"Emitted when an ETH bridge is initiated to the other chain."}},"notice":"The L1StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and L2. In the case that an ERC20 token is native to L1, it will be escrowed within this contract. If the ERC20 token is native to L2, it will be burnt. Before Bedrock, ETH was stored within this contract. After Bedrock, ETH is instead stored inside the OptimismPortal contract. NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples of some token types that may not be properly supported by this contract include, but are not limited to: tokens with transfer fees, rebasing tokens, and tokens with blocklists."},"devdoc":{"version":1,"kind":"dev","methods":{"MESSENGER()":{"returns":{"_0":"Contract of the messenger on this domain."}},"OTHER_BRIDGE()":{"returns":{"_0":"Contract of the bridge on the other network."}},"bridgeERC20(address,address,uint256,uint32,bytes)":{"params":{"_amount":"Amount of local tokens to deposit.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_localToken":"Address of the ERC20 on this chain.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with.","_remoteToken":"Address of the corresponding token on the remote chain."}},"bridgeERC20To(address,address,address,uint256,uint32,bytes)":{"params":{"_amount":"Amount of local tokens to deposit.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_localToken":"Address of the ERC20 on this chain.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with.","_remoteToken":"Address of the corresponding token on the remote chain.","_to":"Address of the receiver."}},"bridgeETH(uint32,bytes)":{"params":{"_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with."}},"bridgeETHTo(address,uint32,bytes)":{"params":{"_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_minGasLimit":"Minimum amount of gas that the bridge can be relayed with.","_to":"Address of the receiver."}},"depositERC20(address,address,uint256,uint32,bytes)":{"params":{"_amount":"Amount of the ERC20 to deposit.","_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_l1Token":"Address of the L1 token being deposited.","_l2Token":"Address of the corresponding token on L2.","_minGasLimit":"Minimum gas limit for the deposit message on L2."}},"depositERC20To(address,address,address,uint256,uint32,bytes)":{"params":{"_amount":"Amount of the ERC20 to deposit.","_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_l1Token":"Address of the L1 token being deposited.","_l2Token":"Address of the corresponding token on L2.","_minGasLimit":"Minimum gas limit for the deposit message on L2.","_to":"Address of the recipient on L2."}},"depositETH(uint32,bytes)":{"params":{"_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_minGasLimit":"Minimum gas limit for the deposit message on L2."}},"depositETHTo(address,uint32,bytes)":{"params":{"_extraData":"Optional data to forward to L2. Data supplied here will not be used to execute any code on L2 and is only emitted as extra data for the convenience of off-chain tooling.","_minGasLimit":"Minimum gas limit for the deposit message on L2.","_to":"Address of the recipient on L2."}},"finalizeBridgeERC20(address,address,address,address,uint256,bytes)":{"params":{"_amount":"Amount of the ERC20 being bridged.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_from":"Address of the sender.","_localToken":"Address of the ERC20 on this chain.","_remoteToken":"Address of the corresponding token on the remote chain.","_to":"Address of the receiver."}},"finalizeBridgeETH(address,address,uint256,bytes)":{"params":{"_amount":"Amount of ETH being bridged.","_extraData":"Extra data to be sent with the transaction. Note that the recipient will not be triggered with this data, but it will be emitted and can be used to identify the transaction.","_from":"Address of the sender.","_to":"Address of the receiver."}},"finalizeERC20Withdrawal(address,address,address,address,uint256,bytes)":{"params":{"_amount":"Amount of the ERC20 to withdraw.","_extraData":"Optional data forwarded from L2.","_from":"Address of the withdrawer on L2.","_l1Token":"Address of the token on L1.","_l2Token":"Address of the corresponding token on L2.","_to":"Address of the recipient on L1."}}
1,"finalizeETHWithdrawal(address,address,uint256,bytes)":{"params":{"_amount":"Amount of ETH to withdraw.","_extraData":"Optional data forwarded from L2.","_from":"Address of the withdrawer on L2.","_to":"Address of the recipient on L1."}},"initialize(address,address)":{"params":{"_messenger":"Contract for the CrossDomainMessenger on this network.","_superchainConfig":"Contract for the SuperchainConfig on this network."}},"l2TokenBridge()":{"returns":{"_0":"Address of the corresponding L2 bridge contract."}},"paused()":{"returns":{"_0":"Whether or not the contract is paused."}}},"events":{"ERC20DepositInitiated(address,address,address,address,uint256,bytes)":{"params":{"amount":"Amount of the ERC20 deposited.","extraData":"Extra data attached to the deposit.","from":"Address of the depositor.","l1Token":"Address of the token on L1.","l2Token":"Address of the corresponding token on L2.","to":"Address of the recipient on L2."}},"ERC20WithdrawalFinalized(address,address,address,address,uint256,bytes)":{"params":{"amount":"Amount of the ERC20 withdrawn.","extraData":"Extra data attached to the withdrawal.","from":"Address of the withdrawer.","l1Token":"Address of the token on L1.","l2Token":"Address of the corresponding token on L2.","to":"Address of the recipient on L1."}},"ETHDepositInitiated(address,address,uint256,bytes)":{"params":{"amount":"Amount of ETH deposited.","extraData":"Extra data attached to the deposit.","from":"Address of the depositor.","to":"Address of the recipient on L2."}},"ETHWithdrawalFinalized(address,address,uint256,bytes)":{"params":{"amount":"Amount of ETH withdrawn.","extraData":"Extra data attached to the withdrawal.","from":"Address of the withdrawer.","to":"Address of the recipient on L1."}}}},"ast":{"absolutePath":"src/L1/L1StandardBridge.sol","id":85922,"exportedSymbols":{"Constants":[103096],"CrossDomainMessenger":[108888],"ISemver":[109417],"L1StandardBridge":[85921],"Predeploys":[104124],"StandardBridge":[111675],"SuperchainConfig":[88793]},"nodeType":"SourceUnit","src":"32:13868:132","nodes":[{"id":85420,"nodeType":"PragmaDirective","src":"32:23:132","nodes":[],"literals":["solidity","0.8",".15"]},{"id":85422,"nodeType":"ImportDirective","src":"57:58:132","nodes":[],"absolutePath":"src/libraries/Predeploys.sol","file":"src/libraries/Predeploys.sol","nameLocation":"-1:-1:-1","scope":85922,"sourceUnit":104125,"symbolAliases":[{"foreign":{"id":85421,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"66:10:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85424,"nodeType":"ImportDirective","src":"116:66:132","nodes":[],"absolutePath":"src/universal/StandardBridge.sol","file":"src/universal/StandardBridge.sol","nameLocation":"-1:-1:-1","scope":85922,"sourceUnit":111676,"symbolAliases":[{"foreign":{"id":85423,"name":"StandardBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111675,"src":"125:14:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85426,"nodeType":"ImportDirective","src":"183:52:132","nodes":[],"absolutePath":"src/universal/ISemver.sol","file":"src/universal/ISemver.sol","nameLocation":"-1:-1:-1","scope":85922,"sourceUnit":109418,"symbolAliases":[{"foreign":{"id":85425,"name":"ISemver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109417,"src":"192:7:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85428,"nodeType":"ImportDirective","src":"236:78:132","nodes":[],"absolutePath":"src/universal/CrossDomainMessenger.sol","file":"src/universal/CrossDomainMessenger.sol","nameLocation":"-1:-1:-1","scope":85922,"sourceUnit":108889,"symbolAliases":[{"foreign":{"id":85427,"name":"CrossDomainMessenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108888,"src":"245:20:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85430,"nodeType":"ImportDirective","src":"315:63:132","nodes":[],"absolutePath":"src/L1/SuperchainConfig.sol","file":"src/L1/SuperchainConfig.sol","nameLocation":"-1:-1:-1","scope":85922,"sourceUnit":88794,"symbolAliases":[{"foreign":{"id":85429,"name":"SuperchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88793,"src":"324:16:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85432,"nodeType":"ImportDirective","src":"379:56:132","nodes":[],"absolutePath":"src/libraries/Constants.sol","file":"src/libraries/Constants.sol","nameLocation":"-1:-1:-1","scope":85922,"sourceUnit":103097,"symbolAliases":[{"foreign":{"id":85431,"name":"Constants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103096,"src":"388:9:132","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85921,"nodeType":"ContractDefinition","src":"1209:12690:132","nodes":[{"id":85448,"nodeType":"EventDefinition","src":"1590:101:132","nodes":[],"anonymous":false,"documentation":{"id":85438,"nodeType":"StructuredDocumentation","src":"1268:317:132","text":"@custom:legacy\\n @notice Emitted whenever a deposit of ETH from L1 into L2 is initiated.\\n @param from Address of the depositor.\\n @param to Address of the recipient on L2.\\n @param amount Amou
1nt of ETH deposited.\\n @param extraData Extra data attached to the deposit."},"eventSelector":"35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23","name":"ETHDepositInitiated","nameLocation":"1596:19:132","parameters":{"id":85447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85440,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"1632:4:132","nodeType":"VariableDeclaration","scope":85448,"src":"1616:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85439,"name":"address","nodeType":"ElementaryTypeName","src":"1616:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85442,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"1654:2:132","nodeType":"VariableDeclaration","scope":85448,"src":"1638:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85441,"name":"address","nodeType":"ElementaryTypeName","src":"1638:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85444,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1666:6:132","nodeType":"VariableDeclaration","scope":85448,"src":"1658:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85443,"name":"uint256","nodeType":"ElementaryTypeName","src":"1658:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85446,"indexed":false,"mutability":"mutable","name":"extraData","nameLocation":"1680:9:132","nodeType":"VariableDeclaration","scope":85448,"src":"1674:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85445,"name":"bytes","nodeType":"ElementaryTypeName","src":"1674:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1615:75:132"}},{"id":85459,"nodeType":"EventDefinition","src":"2024:104:132","nodes":[],"anonymous":false,"documentation":{"id":85449,"nodeType":"StructuredDocumentation","src":"1697:322:132","text":"@custom:legacy\\n @notice Emitted whenever a withdrawal of ETH from L2 to L1 is finalized.\\n @param from Address of the withdrawer.\\n @param to Address of the recipient on L1.\\n @param amount Amount of ETH withdrawn.\\n @param extraData Extra data attached to the withdrawal."},"eventSelector":"2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631","name":"ETHWithdrawalFinalized","nameLocation":"2030:22:132","parameters":{"id":85458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85451,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2069:4:132","nodeType":"VariableDeclaration","scope":85459,"src":"2053:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85450,"name":"address","nodeType":"ElementaryTypeName","src":"2053:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85453,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"2091:2:132","nodeType":"VariableDeclaration","scope":85459,"src":"2075:18:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85452,"name":"address","nodeType":"ElementaryTypeName","src":"2075:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85455,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2103:6:132","nodeType":"VariableDeclaration","scope":85459,"src":"2095:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85454,"name":"uint256","nodeType":"ElementaryTypeName","src":"2095:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85457,"indexed":false,"mutability":"mutable","name":"extraData","nameLocation":"2117:9:132","nodeType":"VariableDeclaration","scope":85459,"src":"2111:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85456,"name":"bytes","nodeType":"ElementaryTypeName","src":"2111:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2052:75:132"}},{"id":85474,"nodeType":"EventDefinition","src":"2566:199:132","nodes":[],"anonymous":false,"documentation":{"id":854
160,"nodeType":"StructuredDocumentation","src":"2134:427:132","text":"@custom:legacy\\n @notice Emitted whenever an ERC20 deposit is initiated.\\n @param l1Token Address of the token on L1.\\n @param l2Token Address of the corresponding token on L2.\\n @param from Address of the depositor.\\n @param to Address of the recipient on L2.\\n @param amount Amount of the ERC20 deposited.\\n @param extraData Extra data attached to the deposit."},"eventSelector":"718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396","name":"ERC20DepositInitiated","nameLocation":"2572:21:132","parameters":{"id":85473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85462,"indexed":true,"mutability":"mutable","name":"l1Token","nameLocation":"2619:7:132","nodeType":"VariableDeclaration","scope":85474,"src":"2603:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85461,"name":"address","nodeType":"ElementaryTypeName","src":"2603:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85464,"indexed":true,"mutability":"mutable","name":"l2Token","nameLocation":"2652:7:132","nodeType":"VariableDeclaration","scope":85474,"src":"2636:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85463,"name":"address","nodeType":"ElementaryTypeName","src":"2636:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85466,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"2685:4:132","nodeType":"VariableDeclaration","scope":85474,"src":"2669:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85465,"name":"address","nodeType":"ElementaryTypeName","src":"2669:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85468,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"2707:2:132","nodeType":"VariableDeclaration","scope":85474,"src":"2699:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85467,"name":"address","nodeType":"ElementaryTypeName","src":"2699:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85470,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2727:6:132","nodeType":"VariableDeclaration","scope":85474,"src":"2719:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85469,"name":"uint256","nodeType":"ElementaryTypeName","src":"2719:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85472,"indexed":false,"mutability":"mutable","name":"extraData","nameLocation":"2749:9:132","nodeType":"VariableDeclaration","scope":85474,"src":"2743:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85471,"name":"bytes","nodeType":"ElementaryTypeName","src":"2743:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2593:171:132"}},{"id":85489,"nodeType":"EventDefinition","src":"3210:202:132","nodes":[],"anonymous":false,"documentation":{"id":85475,"nodeType":"StructuredDocumentation","src":"2771:434:132","text":"@custom:legacy\\n @notice Emitted whenever an ERC20 withdrawal is finalized.\\n @param l1Token Address of the token on L1.\\n @param l2Token Address of the corresponding token on L2.\\n @param from Address of the withdrawer.\\n @param to Address of the recipient on L1.\\n @param amount Amou
1nt of the ERC20 withdrawn.\\n @param extraData Extra data attached to the withdrawal."},"eventSelector":"3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3","name":"ERC20WithdrawalFinalized","nameLocation":"3216:24:132","parameters":{"id":85488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85477,"indexed":true,"mutability":"mutable","name":"l1Token","nameLocation":"3266:7:132","nodeType":"VariableDeclaration","scope":85489,"src":"3250:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85476,"name":"address","nodeType":"ElementaryTypeName","src":"3250:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85479,"indexed":true,"mutability":"mutable","name":"l2Token","nameLocation":"3299:7:132","nodeType":"VariableDeclaration","scope":85489,"src":"3283:23:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85478,"name":"address","nodeType":"ElementaryTypeName","src":"3283:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85481,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"3332:4:132","nodeType":"VariableDeclaration","scope":85489,"src":"3316:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85480,"name":"address","nodeType":"ElementaryTypeName","src":"3316:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85483,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"3354:2:132","nodeType":"VariableDeclaration","scope":85489,"src":"3346:10:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85482,"name":"address","nodeType":"ElementaryTypeName","src":"3346:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85485,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"3374:6:132","nodeType":"VariableDeclaration","scope":85489,"src":"3366:14:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85484,"name":"uint256","nodeType":"ElementaryTypeName","src":"3366:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85487,"indexed":false,"mutability":"mutable","name":"extraData","nameLocation":"3396:9:132","nodeType":"VariableDeclaration","scope":85489,"src":"3390:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85486,"name":"bytes","nodeType":"ElementaryTypeName","src":"3390:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3240:171:132"}},{"id":85493,"nodeType":"VariableDeclaration","src":"3481:40:132","nodes":[],"baseFunctions":[109416],"constant":true,"documentation":{"id":85490,"nodeType":"StructuredDocumentation","src":"3418:58:132","text":"@notice Semantic version.\\n @custom:semver 2.1.0"},"functionSelector":"54fd4d50","mutability":"constant","name":"version","nameLocation":"3504:7:132","scope":85921,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":85491,"name":"string","nodeType":"ElementaryTypeName","src":"3481:6:132","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"322e312e30","id":85492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3514:7:132","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bb4aeded157fe72f9bc813a9dc1bd69961c5b5f35dafc6dc601ab742eacac6b","typeString":"literal_string \\"2.1.0\\""},"value":"2.1.0"},"visibility":"public"},{"id":85497,"nodeType":"VariableDeclaration","src":"3586:40:132","nodes":[],"constant":false,"documentation":{"id":85494,"nodeType":"StructuredDocumentation","src":"3528:53:132","text":"@notice Address of the SuperchainConfig contract."},"functionSelector":"35e80ab3","mutability":"mutable","name":"superchainConfig","nameLocation":"3610:16:132","scope":85921,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"},"typeName":{"id":85496,"nodeType":"UserDefinedTypeName","pathNode":{"id":85495,"name":"SuperchainConfig","nodeType":"IdentifierPath","referencedDeclaration":88793,"src":"3586:16:132"},"referencedDeclaration":88793,"src":"3586:16:132","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}},"visibility":"public"},{"id":85519,"nodeType":"FunctionDefinition","src":"3691:157:132","nodes":[],"body":{"id":85518,"nodeType":"Block","src":"3722:126:132","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":85507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3786:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":85506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3778:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85505,"name":"address","nodeType":"ElementaryTypeName","src":"3778:7:132","typeDescriptions":{}}},"id":85508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","l
1ValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3778:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85504,"name":"CrossDomainMessenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108888,"src":"3757:20:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CrossDomainMessenger_$108888_$","typeString":"type(contract CrossDomainMessenger)"}},"id":85509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3757:32:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CrossDomainMessenger_$108888","typeString":"contract CrossDomainMessenger"}},{"arguments":[{"arguments":[{"hexValue":"30","id":85513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3835:1:132","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":85512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3827:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85511,"name":"address","nodeType":"ElementaryTypeName","src":"3827:7:132","typeDescriptions":{}}},"id":85514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3827:10:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85510,"name":"SuperchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88793,"src":"3810:16:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SuperchainConfig_$88793_$","typeString":"type(contract SuperchainConfig)"}},"id":85515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3810:28:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CrossDomainMessenger_$108888","typeString":"contract CrossDomainMessenger"},{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}],"id":85503,"name":"initialize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85547,"src":"3732:10:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_CrossDomainMessenger_$108888_$_t_contract$_SuperchainConfig_$88793_$returns$__$","typeString":"function (contract CrossDomainMessenger,contract SuperchainConfig)"}},"id":85516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_messenger","_superchainConfig"],"nodeType":"FunctionCall","src":"3732:109:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85517,"nodeType":"ExpressionStatement","src":"3732:109:132"}]},"documentation":{"id":85498,"nodeType":"StructuredDocumentation","src":"3633:53:132","text":"@notice Constructs the L1StandardBridge contract."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[],"id":85501,"kind":"baseConstructorSpecifier","modifierName":{"id":85500,"name":"StandardBridge","nodeType":"IdentifierPath","referencedDeclaration":111675,"src":"3705:14:132"},"nodeType":"ModifierInvocation","src":"3705:16:132"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":85499,"nodeType":"ParameterList","parameters":[],"src":"3702:2:132"},"returnParameters":{"id":85502,"nodeType":"ParameterList","parameters":[],"src":"3722:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85547,"nodeType":"FunctionDefinition","src":"4055:322:132","nodes":[],"body":{"id":85546,"nodeType":"Block","src":"4163:214:132","nodes":[],"statements":[{"expression":{"id":85533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":85531,"name":"superchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85497,"src":"4173:16:132","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":85532,"name":"_superchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85526,"src":"4192:17:132","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}},"src":"4173:36:132","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}},"id":85534,"nodeType":"ExpressionStatement","src":"4173:36:132"},{"expression":{"arguments":[{"id":85536,"name":"_messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85523,"src":"4267:10:132","typeDescriptions":{"typeIdentifier":"t_contract$_CrossDomainMessenger_$108888","typeString":"contract CrossDomainMessenger"}},{"arguments":[{"arguments":[{"expression":{"id":85540,"name":"Predeploys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":104124,"src":"4328:10:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Predeploys_$104124_$","typeString":"type(library Predeploys)"}},"id":85541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"L2_STANDARD_BRIDGE","nodeType":"MemberAccess","referencedDeclaration":104008,"src":"4328:29:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":85539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4320:8:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":85538,"name":"address","nodeType":"ElementaryTypeName","src":"4320:8:132","stateMutability":"payable","typeDescriptions":{}}},"id":85542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","l
1ValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4320:38:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":85537,"name":"StandardBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111675,"src":"4305:14:132","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StandardBridge_$111675_$","typeString":"type(contract StandardBridge)"}},"id":85543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4305:54:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_StandardBridge_$111675","typeString":"contract StandardBridge"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_CrossDomainMessenger_$108888","typeString":"contract CrossDomainMessenger"},{"typeIdentifier":"t_contract$_StandardBridge_$111675","typeString":"contract StandardBridge"}],"id":85535,"name":"__StandardBridge_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111080,"src":"4219:21:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_CrossDomainMessenger_$108888_$_t_contract$_StandardBridge_$111675_$returns$__$","typeString":"function (contract CrossDomainMessenger,contract StandardBridge)"}},"id":85544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_messenger","_otherBridge"],"nodeType":"FunctionCall","src":"4219:151:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85545,"nodeType":"ExpressionStatement","src":"4219:151:132"}]},"documentation":{"id":85520,"nodeType":"StructuredDocumentation","src":"3854:196:132","text":"@notice Initializer.\\n @param _messenger Contract for the CrossDomainMessenger on this network.\\n @param _superchainConfig Contract for the SuperchainConfig on this network."},"functionSelector":"485cc955","implemented":true,"kind":"function","modifiers":[{"id":85529,"kind":"modifierInvocation","modifierName":{"id":85528,"name":"initializer","nodeType":"IdentifierPath","referencedDeclaration":49598,"src":"4151:11:132"},"nodeType":"ModifierInvocation","src":"4151:11:132"}],"name":"initialize","nameLocation":"4064:10:132","parameters":{"id":85527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85523,"mutability":"mutable","name":"_messenger","nameLocation":"4096:10:132","nodeType":"VariableDeclaration","scope":85547,"src":"4075:31:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CrossDomainMessenger_$108888","typeString":"contract CrossDomainMessenger"},"typeName":{"id":85522,"nodeType":"UserDefinedTypeName","pathNode":{"id":85521,"name":"CrossDomainMessenger","nodeType":"IdentifierPath","referencedDeclaration":108888,"src":"4075:20:132"},"referencedDeclaration":108888,"src":"4075:20:132","typeDescriptions":{"typeIdentifier":"t_contract$_CrossDomainMessenger_$108888","typeString":"contract CrossDomainMessenger"}},"visibility":"internal"},{"constant":false,"id":85526,"mutability":"mutable","name":"_superchainConfig","nameLocation":"4125:17:132","nodeType":"VariableDeclaration","scope":85547,"src":"4108:34:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"},"typeName":{"id":85525,"nodeType":"UserDefinedTypeName","pathNode":{"id":85524,"name":"SuperchainConfig","nodeType":"IdentifierPath","referencedDeclaration":88793,"src":"4108:16:132"},"referencedDeclaration":88793,"src":"4108:16:132","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}},"visibility":"internal"}],"src":"4074:69:132"},"returnParameters":{"id":85530,"nodeType":"ParameterList","parameters":[],"src":"4163:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":85559,"nodeType":"FunctionDefinition","src":"4418:103:132","nodes":[],"body":{"id":85558,"nodeType":"Block","src":"4472:49:132","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":85554,"name":"superchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85497,"src":"4489:16:132","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$88793","typeString":"contract SuperchainConfig"}},"id":85555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"paused","nodeType":"MemberAccess","referencedDeclaration":88707,"src":"4489:23:132","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_bool_$","typeString":"function () view external returns (bool)"}},"id":85556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4489:25:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":85553,"id":85557,"nodeType":"Return","src":"4482:32:132"}]},"baseFunctions":[111113],"documentation":{"id":85548,"nodeType":"StructuredDocumentation","src":"4383:30:132","text":"@inheritdoc StandardBridge"},"functionSelector":"5c975abb","implemented":true,"kind":"function","modifiers":[],"name":"paused","nameLocation":"4427:6:132","overrides":{"id":85550,"nodeType":"OverrideSpecifier","overrides":[],"src":"4448:8:132"},"parameters":{"id":85549,"nodeType":"ParameterList","parameters":[],"src":"4433:2:132"},"returnParameters":{"id":85553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85559,"src":"4466:4:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85551,"name":"bool","nodeType":"ElementaryTypeName","src":"4466:4:132","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4465:6:132"},"scope":85921,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":85579,"nodeType":"FunctionDefinition","src":"4604:142:132","nodes":[],"body":{"id":85578,"nodeType":"Block","src":"4648:98:132","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":85567,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4678:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4678:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85569,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4690:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4690:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85571,"name":"RECEIVE_DEFAULT_GAS_LIMIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110941,"src":"4702:25:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"hexValue":"","id":85574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4735:2:132","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \\"\\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \\"\\""}],"id":85573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4729:5:132","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":85572,"name":"bytes","nodeType":"ElementaryTypeName","src":"4729:5:132","typeDescriptions":{}}},"id":85575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","l
1ValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4729:9:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85566,"name":"_initiateETHDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85755,"src":"4658:19:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint32,bytes memory)"}},"id":85576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4658:81:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85577,"nodeType":"ExpressionStatement","src":"4658:81:132"}]},"baseFunctions":[111084],"documentation":{"id":85560,"nodeType":"StructuredDocumentation","src":"4527:72:132","text":"@notice Allows EOAs to bridge ETH by sending directly to the bridge."},"implemented":true,"kind":"receive","modifiers":[{"id":85564,"kind":"modifierInvocation","modifierName":{"id":85563,"name":"onlyEOA","nodeType":"IdentifierPath","referencedDeclaration":111034,"src":"4640:7:132"},"nodeType":"ModifierInvocation","src":"4640:7:132"}],"name":"","nameLocation":"-1:-1:-1","overrides":{"id":85562,"nodeType":"OverrideSpecifier","overrides":[],"src":"4631:8:132"},"parameters":{"id":85561,"nodeType":"ParameterList","parameters":[],"src":"4611:2:132"},"returnParameters":{"id":85565,"nodeType":"ParameterList","parameters":[],"src":"4648:0:132"},"scope":85921,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85599,"nodeType":"FunctionDefinition","src":"5183:179:132","nodes":[],"body":{"id":85598,"nodeType":"Block","src":"5276:86:132","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":85590,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5306:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5306:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85592,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5318:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5318:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85594,"name":"_minGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85582,"src":"5330:12:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":85595,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85584,"src":"5344:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":85589,"name":"_initiateETHDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85755,"src":"5286:19:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint32,bytes memory)"}},"id":85596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5286:69:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85597,"nodeType":"ExpressionStatement","src":"5286:69:132"}]},"documentation":{"id":85580,"nodeType":"StructuredDocumentation","src":"4752:426:132","text":"@custom:legacy\\n @notice Deposits some amount of ETH into the sender\'s account on L2.\\n @param _minGasLimit Minimum gas limit for the deposit message on L2.\\n @param _extraData Optional data to forward to L2.\\n Data supplied here will not be used to execute any code on L2 and is\\n only emitted as extra data for the convenience of off-chain tooling."},"functionSelector":"b1a1a882","implemented":true,"kind":"function","modifiers":[{"id":85587,"kind":"modifierInvocation","modifierName":{"id":85586,"name":"onlyEOA","nodeType":"IdentifierPath","referencedDeclaration":111034,"src":"5268:7:132"},"nodeType":"ModifierInvocation","src":"5268:7:132"}],"name":"depositETH","nameLocation":"5192:10:132","parameters":{"id":85585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85582,"mutability":"mutable","name":"_minGasLimit","nameLocation":"5210:12:132","nodeType":"VariableDeclaration","scope":85599,"src":"5203:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":85581,"name":"uint32","nodeType":"ElementaryTypeName","src":"5203:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":85584,"mutability":"mutable","name":"_extraData","nameLocation":"5239:10:132","nodeType":"VariableDeclaration","scope":85599,"src":"5224:25:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85583,"name":"bytes","nodeType":"ElementaryTypeName","src":"5224:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5202:48:132"}
1,"returnParameters":{"id":85588,"nodeType":"ParameterList","parameters":[],"src":"5276:0:132"},"scope":85921,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85618,"nodeType":"FunctionDefinition","src":"6242:179:132","nodes":[],"body":{"id":85617,"nodeType":"Block","src":"6342:79:132","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":85610,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6372:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6372:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85612,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85602,"src":"6384:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85613,"name":"_minGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85604,"src":"6389:12:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":85614,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85606,"src":"6403:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":85609,"name":"_initiateETHDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85755,"src":"6352:19:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint32,bytes memory)"}},"id":85615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6352:62:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85616,"nodeType":"ExpressionStatement","src":"6352:62:132"}]},"documentation":{"id":85600,"nodeType":"StructuredDocumentation","src":"5368:869:132","text":"@custom:legacy\\n @notice Deposits some amount of ETH into a target account on L2.\\n Note that if ETH is sent to a contract on L2 and the call fails, then that ETH will\\n be locked in the L2StandardBridge. ETH may be recoverable if the call can be\\n successfully replayed by increasing the amount of gas supplied to the call. If the\\n call will fail for any amount of gas, then the ETH will be locked permanently.\\n @param _to Address of the recipient on L2.\\n @param _minGasLimit Minimum gas limit for the deposit message on L2.\\n @param _extraData Optional data to forward to L2.\\n Data supplied here will not be used to execute any code on L2 and is\\n only emitted as extra data for the convenience of off-chain tooling."},"functionSelector":"9a2ac6d5","implemented":true,"kind":"function","modifiers":[],"name":"depositETHTo","nameLocation":"6251:12:132","parameters":{"id":85607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85602,"mutability":"mutable","name":"_to","nameLocation":"6272:3:132","nodeType":"VariableDeclaration","scope":85618,"src":"6264:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85601,"name":"address","nodeType":"ElementaryTypeName","src":"6264:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85604,"mutability":"mutable","name":"_minGasLimit","nameLocation":"6284:12:132","nodeType":"VariableDeclaration","scope":85618,"src":"6277:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":85603,"name":"uint32","nodeType":"ElementaryTypeName","src":"6277:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":85606,"mutability":"mutable","name":"_extraData","nameLocation":"6313:10:132","nodeType":"VariableDeclaration","scope":85618,"src":"6298:25:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85605,"name":"bytes","nodeType":"ElementaryTypeName","src":"6298:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6263:61:132"},"returnParameters":{"id":85608,"nodeType":"ParameterList","parameters":[],"src":"6342:0:132"},"scope":85921,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85647,"nodeType":"FunctionDefinition","src":"7066:339:132","nodes":[],"body":{"id":85646,"nodeType":"Block","src":"7288:117:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85635,"name":"_l1Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85621,"src":"7320:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85636,"name":"_l2Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85623,"src":"7330:8
1:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85637,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7340:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7340:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85639,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7352:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7352:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85641,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85625,"src":"7364:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85642,"name":"_minGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85627,"src":"7373:12:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":85643,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85629,"src":"7387:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":85634,"name":"_initiateERC20Deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85784,"src":"7298:21:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,uint32,bytes memory)"}},"id":85644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7298:100:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85645,"nodeType":"ExpressionStatement","src":"7298:100:132"}]},"documentation":{"id":85619,"nodeType":"StructuredDocumentation","src":"6427:634:132","text":"@custom:legacy\\n @notice Deposits some amount of ERC20 tokens into the sender\'s account on L2.\\n @param _l1Token Address of the L1 token being deposited.\\n @param _l2Token Address of the corresponding token on L2.\\n @param _amount Amount of the ERC20 to deposit.\\n @param _minGasLimit Minimum gas limit for the deposit message on L2.\\n @param _extraData Optional data to forward to L2.\\n Data supplied here will not be used to execute any code on L2 and is\\n only emitted as extra data for the convenience of off-chain tooling."},"functionSelector":"58a997f6","implemented":true,"kind":"function","modifiers":[{"id":85632,"kind":"modifierInvocation","modifierName":{"id":85631,"name":"onlyEOA","nodeType":"IdentifierPath","referencedDeclaration":111034,"src":"7276:7:132"},"nodeType":"ModifierInvocation","src":"7276:7:132"}],"name":"depositERC20","nameLocation":"7075:12:132","parameters":{"id":85630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85621,"mutability":"mutable","name":"_l1Token","nameLocation":"7105:8:132","nodeType":"VariableDeclaration","scope":85647,"src":"7097:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85620,"name":"address","nodeType":"ElementaryTypeName","src":"7097:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85623,"mutability":"mutable","name":"_l2Token","nameLocation":"7131:8:132","nodeType":"VariableDeclaration","scope":85647,"src":"7123:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85622,"name":"address","nodeType":"ElementaryTypeName","src":"7123:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85625,"mutability":"mutable","name":"_amount","nameLocation":"7157:7:132","nodeType":"VariableDeclaration","scope":85647,"src":"7149:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85624,"name":"uint256","nodeType":"ElementaryTypeName","src":"7149:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85627,"mutability":"mutable","name":"_minGasLimit","nameLocation":"7181:12:132","nodeType":"VariableDeclaration","scope":85647,"src":"7174:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":85626,"name":"uint32","nodeType":"ElementaryTypeName","src":"7174:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":85629,"mutability":"mutable","name":"_extraData","nameLocation":"7218:10:132","nodeType":"VariableDeclaration","scope":85647,"src":"7203:25:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85628,"name":"bytes","nodeType":"ElementaryTypeName","src":"7203:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7087:147:132"}
1,"returnParameters":{"id":85633,"nodeType":"ParameterList","parameters":[],"src":"7288:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":85675,"nodeType":"FunctionDefinition","src":"8106:339:132","nodes":[],"body":{"id":85674,"nodeType":"Block","src":"8335:110:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85664,"name":"_l1Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85650,"src":"8367:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85665,"name":"_l2Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85652,"src":"8377:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85666,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8387:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"8387:10:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85668,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85654,"src":"8399:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85669,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85656,"src":"8404:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85670,"name":"_minGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85658,"src":"8413:12:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":85671,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85660,"src":"8427:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":85663,"name":"_initiateERC20Deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85784,"src":"8345:21:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,uint32,bytes memory)"}},"id":85672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8345:93:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85673,"nodeType":"ExpressionStatement","src":"8345:93:132"}]},"documentation":{"id":85648,"nodeType":"StructuredDocumentation","src":"7411:690:132","text":"@custom:legacy\\n @notice Deposits some amount of ERC20 tokens into a target account on L2.\\n @param _l1Token Address of the L1 token being deposited.\\n @param _l2Token Address of the corresponding token on L2.\\n @param _to Address of the recipient on L2.\\n @param _amount Amount of the ERC20 to deposit.\\n @param _minGasLimit Minimum gas limit for the deposit message on L2.\\n @param _extraData Optional data to forward to L2.\\n Data supplied here will not be used to execute any code on L2 and is\\n only emitted as extra data for the convenience of off-chain tooling."},"functionSelector":"838b2520","implemented":true,"kind":"function","modifiers":[],"name":"depositERC20To","nameLocation":"8115:14:132","parameters":{"id":85661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85650,"mutability":"mutable","name":"_l1Token","nameLocation":"8147:8:132","nodeType":"VariableDeclaration","scope":85675,"src":"8139:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85649,"name":"address","nodeType":"ElementaryTypeName","src":"8139:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85652,"mutability":"mutable","name":"_l2Token","nameLocation":"8173:8:132","nodeType":"VariableDeclaration","scope":85675,"src":"8165:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85651,"name":"address","nodeType":"ElementaryTypeName","src":"8165:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85654,"mutability":"mutable","name":"_to","nameLocation":"8199:3:132","nodeType":"VariableDeclaration","scope":85675,"src":"8191:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85653,"name":"address","nodeType":"ElementaryTypeName","src":"8191:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85656,"mutability":"mutable","name":"_amount","nameLocation":"8220:7:132","nodeType":"VariableDeclaration","scope":85675,"src":"8212:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85655,"name":"uint256","nodeType":"ElementaryTypeName","src":"8212:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85658,"mutability":"mutable","name":"_minGasLimit","nameLocation":"8244:12:132","nodeType":"VariableDeclaration","scope":85675,"src":"8237:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":85657,"name":"uint32","nodeType":"ElementaryTypeName","src":"8237:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":85660,"mutability":"mutable","name":"_extraData","nameLocation":"8281:10:132","nodeType":"VariableDeclaration","scope":85675,"src":"8266:25:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85659,"name":"bytes","nodeType":"ElementaryTypeName","src":"8266:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8129:168:132"},"returnParameters":{"id":85662,"nodeType":"ParameterList","parameters":[],"src":"8335:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":true,"visibility":"external"},{"id":85695,"nodeType":"FunctionDefinition","src":"8758:245:132","nodes":[],"body":{"id":85694,"nodeType":"Block","src":"8936:67:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85688,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85678,"src":"8964:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85689,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85680,"src":"8971:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85690,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85682,"src":"8976:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85691,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85684,"src":"8985:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}
1],"id":85687,"name":"finalizeBridgeETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111287,"src":"8946:17:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes calldata)"}},"id":85692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8946:50:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85693,"nodeType":"ExpressionStatement","src":"8946:50:132"}]},"documentation":{"id":85676,"nodeType":"StructuredDocumentation","src":"8451:302:132","text":"@custom:legacy\\n @notice Finalizes a withdrawal of ETH from L2.\\n @param _from Address of the withdrawer on L2.\\n @param _to Address of the recipient on L1.\\n @param _amount Amount of ETH to withdraw.\\n @param _extraData Optional data forwarded from L2."},"functionSelector":"1532ec34","implemented":true,"kind":"function","modifiers":[],"name":"finalizeETHWithdrawal","nameLocation":"8767:21:132","parameters":{"id":85685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85678,"mutability":"mutable","name":"_from","nameLocation":"8806:5:132","nodeType":"VariableDeclaration","scope":85695,"src":"8798:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85677,"name":"address","nodeType":"ElementaryTypeName","src":"8798:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85680,"mutability":"mutable","name":"_to","nameLocation":"8829:3:132","nodeType":"VariableDeclaration","scope":85695,"src":"8821:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85679,"name":"address","nodeType":"ElementaryTypeName","src":"8821:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85682,"mutability":"mutable","name":"_amount","nameLocation":"8850:7:132","nodeType":"VariableDeclaration","scope":85695,"src":"8842:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85681,"name":"uint256","nodeType":"ElementaryTypeName","src":"8842:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85684,"mutability":"mutable","name":"_extraData","nameLocation":"8882:10:132","nodeType":"VariableDeclaration","scope":85695,"src":"8867:25:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85683,"name":"bytes","nodeType":"ElementaryTypeName","src":"8867:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8788:110:132"},"returnParameters":{"id":85686,"nodeType":"ParameterList","parameters":[],"src":"8936:0:132"},"scope":85921,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85721,"nodeType":"FunctionDefinition","src":"9453:305:132","nodes":[],"body":{"id":85720,"nodeType":"Block","src":"9669:89:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85712,"name":"_l1Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85698,"src":"9699:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85713,"name":"_l2Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85700,"src":"9709:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85714,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85702,"src":"9719:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85715,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85704,"src":"9726:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85716,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85706,"src":"9731:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85717,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85708,"src":"9740:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}
1],"id":85711,"name":"finalizeBridgeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111367,"src":"9679:19:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,bytes calldata)"}},"id":85718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9679:72:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85719,"nodeType":"ExpressionStatement","src":"9679:72:132"}]},"documentation":{"id":85696,"nodeType":"StructuredDocumentation","src":"9009:439:132","text":"@custom:legacy\\n @notice Finalizes a withdrawal of ERC20 tokens from L2.\\n @param _l1Token Address of the token on L1.\\n @param _l2Token Address of the corresponding token on L2.\\n @param _from Address of the withdrawer on L2.\\n @param _to Address of the recipient on L1.\\n @param _amount Amount of the ERC20 to withdraw.\\n @param _extraData Optional data forwarded from L2."},"functionSelector":"a9f9e675","implemented":true,"kind":"function","modifiers":[],"name":"finalizeERC20Withdrawal","nameLocation":"9462:23:132","parameters":{"id":85709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85698,"mutability":"mutable","name":"_l1Token","nameLocation":"9503:8:132","nodeType":"VariableDeclaration","scope":85721,"src":"9495:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85697,"name":"address","nodeType":"ElementaryTypeName","src":"9495:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85700,"mutability":"mutable","name":"_l2Token","nameLocation":"9529:8:132","nodeType":"VariableDeclaration","scope":85721,"src":"9521:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85699,"name":"address","nodeType":"ElementaryTypeName","src":"9521:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85702,"mutability":"mutable","name":"_from","nameLocation":"9555:5:132","nodeType":"VariableDeclaration","scope":85721,"src":"9547:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85701,"name":"address","nodeType":"ElementaryTypeName","src":"9547:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85704,"mutability":"mutable","name":"_to","nameLocation":"9578:3:132","nodeType":"VariableDeclaration","scope":85721,"src":"9570:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85703,"name":"address","nodeType":"ElementaryTypeName","src":"9570:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85706,"mutability":"mutable","name":"_amount","nameLocation":"9599:7:132","nodeType":"VariableDeclaration","scope":85721,"src":"9591:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85705,"name":"uint256","nodeType":"ElementaryTypeName","src":"9591:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85708,"mutability":"mutable","name":"_extraData","nameLocation":"9631:10:132","nodeType":"VariableDeclaration","scope":85721,"src":"9616:25:132","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85707,"name":"bytes","nodeType":"ElementaryTypeName","src":"9616:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"9485:162:132"},"returnParameters":{"id":85710,"nodeType":"ParameterList","parameters":[],"src":"9669:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":85733,"nodeType":"FunctionDefinition","src":"9930:101:132","nodes":[],"body":{"id":85732,"nodeType":"Block","src":"9987:44:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85729,"name":"otherBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110962,"src":"10012:11:132","typeDescriptions":{"typeIdentifier":"t_contract$_StandardBridge_$111675","typeString":"contract StandardBridge"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_StandardBridge_$111675","typeString":"contract StandardBridge"}],"id":85728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10004:7:132","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":85727,"name":"address","nodeType":"ElementaryTypeName","src":"10004:7:132","typeDescriptions":{}}},"id":85730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","l
1ValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10004:20:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":85726,"id":85731,"nodeType":"Return","src":"9997:27:132"}]},"documentation":{"id":85722,"nodeType":"StructuredDocumentation","src":"9764:161:132","text":"@custom:legacy\\n @notice Retrieves the access of the corresponding L2 bridge contract.\\n @return Address of the corresponding L2 bridge contract."},"functionSelector":"91c49bf8","implemented":true,"kind":"function","modifiers":[],"name":"l2TokenBridge","nameLocation":"9939:13:132","parameters":{"id":85723,"nodeType":"ParameterList","parameters":[],"src":"9952:2:132"},"returnParameters":{"id":85726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85725,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85733,"src":"9978:7:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85724,"name":"address","nodeType":"ElementaryTypeName","src":"9978:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9977:9:132"},"scope":85921,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85755,"nodeType":"FunctionDefinition","src":"10356:196:132","nodes":[],"body":{"id":85754,"nodeType":"Block","src":"10468:84:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85746,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85736,"src":"10497:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85747,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85738,"src":"10504:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":85748,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10509:3:132","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":85749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"10509:9:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85750,"name":"_minGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85740,"src":"10520:12:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":85751,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85742,"src":"10534:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85745,"name":"_initiateBridgeETH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111419,"src":"10478:18:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,uint32,bytes memory)"}},"id":85752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10478:67:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85753,"nodeType":"ExpressionStatement","src":"10478:67:132"}]},"documentation":{"id":85734,"nodeType":"StructuredDocumentation","src":"10037:314:132","text":"@notice Internal function for initiating an ETH deposit.\\n @param _from Address of the sender on L1.\\n @param _to Address of the recipient on L2.\\n @param _minGasLimit Minimum gas limit for the deposit message on L2.\\n @param _extraData Optional data to forward to L2."},"implemented":true,"kind":"function","modifiers":[],"name":"_initiateETHDeposit","nameLocation":"10365:19:132","parameters":{"id":85743,"
1nodeType":"ParameterList","parameters":[{"constant":false,"id":85736,"mutability":"mutable","name":"_from","nameLocation":"10393:5:132","nodeType":"VariableDeclaration","scope":85755,"src":"10385:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85735,"name":"address","nodeType":"ElementaryTypeName","src":"10385:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85738,"mutability":"mutable","name":"_to","nameLocation":"10408:3:132","nodeType":"VariableDeclaration","scope":85755,"src":"10400:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85737,"name":"address","nodeType":"ElementaryTypeName","src":"10400:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85740,"mutability":"mutable","name":"_minGasLimit","nameLocation":"10420:12:132","nodeType":"VariableDeclaration","scope":85755,"src":"10413:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":85739,"name":"uint32","nodeType":"ElementaryTypeName","src":"10413:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":85742,"mutability":"mutable","name":"_extraData","nameLocation":"10447:10:132","nodeType":"VariableDeclaration","scope":85755,"src":"10434:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85741,"name":"bytes","nodeType":"ElementaryTypeName","src":"10434:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10384:74:132"},"returnParameters":{"id":85744,"nodeType":"ParameterList","parameters":[],"src":"10468:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85784,"nodeType":"FunctionDefinition","src":"11078:345:132","nodes":[],"body":{"id":85783,"nodeType":"Block","src":"11319:104:132","nodes":[],"statements":[{"expression":{"arguments":[{"id":85774,"name":"_l1Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85758,"src":"11350:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85775,"name":"_l2Token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85760,"src":"11360:8:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85776,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85762,"src":"11370:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85777,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85764,"src":"11377:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85778,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85766,"src":"11382:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85779,"name":"_minGasLimit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85768,"src":"11391:12:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":85780,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85770,"src":"11405:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}
1],"id":85773,"name":"_initiateBridgeERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111517,"src":"11329:20:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,uint32,bytes memory)"}},"id":85781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11329:87:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85782,"nodeType":"ExpressionStatement","src":"11329:87:132"}]},"documentation":{"id":85756,"nodeType":"StructuredDocumentation","src":"10558:515:132","text":"@notice Internal function for initiating an ERC20 deposit.\\n @param _l1Token Address of the L1 token being deposited.\\n @param _l2Token Address of the corresponding token on L2.\\n @param _from Address of the sender on L1.\\n @param _to Address of the recipient on L2.\\n @param _amount Amount of the ERC20 to deposit.\\n @param _minGasLimit Minimum gas limit for the deposit message on L2.\\n @param _extraData Optional data to forward to L2."},"implemented":true,"kind":"function","modifiers":[],"name":"_initiateERC20Deposit","nameLocation":"11087:21:132","parameters":{"id":85771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85758,"mutability":"mutable","name":"_l1Token","nameLocation":"11126:8:132","nodeType":"VariableDeclaration","scope":85784,"src":"11118:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85757,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85760,"mutability":"mutable","name":"_l2Token","nameLocation":"11152:8:132","nodeType":"VariableDeclaration","scope":85784,"src":"11144:16:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85759,"name":"address","nodeType":"ElementaryTypeName","src":"11144:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85762,"mutability":"mutable","name":"_from","nameLocation":"11178:5:132","nodeType":"VariableDeclaration","scope":85784,"src":"11170:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85761,"name":"address","nodeType":"ElementaryTypeName","src":"11170:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85764,"mutability":"mutable","name":"_to","nameLocation":"11201:3:132","nodeType":"VariableDeclaration","scope":85784,"src":"11193:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85763,"name":"address","nodeType":"ElementaryTypeName","src":"11193:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85766,"mutability":"mutable","name":"_amount","nameLocation":"11222:7:132","nodeType":"VariableDeclaration","scope":85784,"src":"11214:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85765,"name":"uint256","nodeType":"ElementaryTypeName","src":"11214:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85768,"mutability":"mutable","name":"_minGasLimit","nameLocation":"11246:12:132","nodeType":"VariableDeclaration","scope":85784,"src":"11239:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":85767,"name":"uint32","nodeType":"ElementaryTypeName","src":"11239:6:132","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":85770,"mutability":"mutable","name":"_extraData","nameLocation":"11281:10:132","nodeType":"VariableDeclaration","scope":85784,"src":"11268:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85769,"name":"bytes","nodeType":"ElementaryTypeName","src":"11268:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11108:189:132"},"returnParameters":{"id":85772,"nodeType":"ParameterList","parameters":[],"src":"11319:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85814,"nodeType":"FunctionDefinition","src":"11651:325:132","nodes":[],"body":{"id":85813,"nodeType":"Block","src":"11830:146:132","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":85798,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85787,"src":"11865:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85799,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85789,"src":"11872:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85800,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85791,"src":"11877:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85801,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85793,"src":"11886:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85797,"name":"ETHDepositInitiated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85448,"src":"11845:19:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":85802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11845:52:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85803,"nodeType":"EmitStatement","src":"11840:57:132"},{"expression":{"arguments":[{"id":85807,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85787,"src":"11937:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85808,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85789,"src":"11944:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85809,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85791,"src":"11949:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85810,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85793,"src":"11958:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":85804,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"11907:5:132","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_L1StandardBridge_$85921_$","typeString":"type(contract super L1StandardBridge)"}},"id":85806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_emitETHBridgeInitiated","nodeType":"MemberAccess","referencedDeclaration":111602,"src":"11907:29:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":85811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11907:62:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}}
1,"id":85812,"nodeType":"ExpressionStatement","src":"11907:62:132"}]},"baseFunctions":[111602],"documentation":{"id":85785,"nodeType":"StructuredDocumentation","src":"11429:217:132","text":"@inheritdoc StandardBridge\\n @notice Emits the legacy ETHDepositInitiated event followed by the ETHBridgeInitiated event.\\n This is necessary for backwards compatibility with the legacy bridge."},"implemented":true,"kind":"function","modifiers":[],"name":"_emitETHBridgeInitiated","nameLocation":"11660:23:132","overrides":{"id":85795,"nodeType":"OverrideSpecifier","overrides":[],"src":"11817:8:132"},"parameters":{"id":85794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85787,"mutability":"mutable","name":"_from","nameLocation":"11701:5:132","nodeType":"VariableDeclaration","scope":85814,"src":"11693:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85786,"name":"address","nodeType":"ElementaryTypeName","src":"11693:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85789,"mutability":"mutable","name":"_to","nameLocation":"11724:3:132","nodeType":"VariableDeclaration","scope":85814,"src":"11716:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85788,"name":"address","nodeType":"ElementaryTypeName","src":"11716:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85791,"mutability":"mutable","name":"_amount","nameLocation":"11745:7:132","nodeType":"VariableDeclaration","scope":85814,"src":"11737:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85790,"name":"uint256","nodeType":"ElementaryTypeName","src":"11737:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85793,"mutability":"mutable","name":"_extraData","nameLocation":"11775:10:132","nodeType":"VariableDeclaration","scope":85814,"src":"11762:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85792,"name":"bytes","nodeType":"ElementaryTypeName","src":"11762:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11683:108:132"},"returnParameters":{"id":85796,"nodeType":"ParameterList","parameters":[],"src":"11830:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85844,"nodeType":"FunctionDefinition","src":"12208:328:132","nodes":[],"body":{"id":85843,"nodeType":"Block","src":"12387:149:132","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":85828,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85817,"src":"12425:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85829,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85819,"src":"12432:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85830,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85821,"src":"12437:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85831,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85823,"src":"12446:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85827,"name":"ETHWithdrawalFinalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85459,"src":"12402:22:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":85832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12402:55:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85833,"nodeType":"EmitStatement","src":"12397:60:132"},{"expression":{"arguments":[{"id":85837,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85817,"src":"12497:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}
1,{"id":85838,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85819,"src":"12504:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85839,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85821,"src":"12509:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85840,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85823,"src":"12518:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":85834,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"12467:5:132","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_L1StandardBridge_$85921_$","typeString":"type(contract super L1StandardBridge)"}},"id":85836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_emitETHBridgeFinalized","nodeType":"MemberAccess","referencedDeclaration":111622,"src":"12467:29:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":85841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12467:62:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85842,"nodeType":"ExpressionStatement","src":"12467:62:132"}]},"baseFunctions":[111622],"documentation":{"id":85815,"nodeType":"StructuredDocumentation","src":"11982:221:132","text":"@inheritdoc StandardBridge\\n @notice Emits the legacy ERC20DepositInitiated event followed by the ERC20BridgeInitiated\\n event. This is necessary for backwards compatibility with the legacy bridge."},"implemented":true,"kind":"function","modifiers":[],"name":"_emitETHBridgeFinalized","nameLocation":"12217:23:132","overrides":{"id":85825,"nodeType":"OverrideSpecifier","overrides":[],"src":"12374:8:132"},"parameters":{"id":85824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85817,"mutability":"mutable","name":"_from","nameLocation":"12258:5:132","nodeType":"VariableDeclaration","scope":85844,"src":"12250:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85816,"name":"address","nodeType":"ElementaryTypeName","src":"12250:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85819,"mutability":"mutable","name":"_to","nameLocation":"12281:3:132","nodeType":"VariableDeclaration","scope":85844,"src":"12273:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85818,"name":"address","nodeType":"ElementaryTypeName","src":"12273:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85821,"mutability":"mutable","name":"_amount","nameLocation":"12302:7:132","nodeType":"VariableDeclaration","scope":85844,"src":"12294:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85820,"name":"uint256","nodeType":"ElementaryTypeName","src":"12294:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85823,"mutability":"mutable","name":"_extraData","nameLocation":"12332:10:132","nodeType":"VariableDeclaration","scope":85844,"src":"12319:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85822,"name":"bytes","nodeType":"ElementaryTypeName","src":"12319:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12240:108:132"},"returnParameters":{"id":85826,"nodeType":"ParameterList","parameters":[],"src":"12387:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85882,"nodeType":"FunctionDefinition","src":"12771:444:132","nodes":[],"body":{"id":85881,"nodeType":"Block","src":"13011:204:132","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":85862,"name":"_localToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85847,"src":"13048:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85863,"name":"_remoteToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85849,"src":"13061:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85864,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85851,"src":"13075:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85865,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85853,"src":"13082:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85866,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85855,"src":"13087:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85867,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85857,"src":"13096:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85861,"name":"ERC20DepositInitiated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85474,"src":"13026:21:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,bytes memory)"}}
1,"id":85868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13026:81:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85869,"nodeType":"EmitStatement","src":"13021:86:132"},{"expression":{"arguments":[{"id":85873,"name":"_localToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85847,"src":"13149:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85874,"name":"_remoteToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85849,"src":"13162:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85875,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85851,"src":"13176:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85876,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85853,"src":"13183:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85877,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85855,"src":"13188:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85878,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85857,"src":"13197:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":85870,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"13117:5:132","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_L1StandardBridge_$85921_$","typeString":"type(contract super L1StandardBridge)"}},"id":85872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_emitERC20BridgeInitiated","nodeType":"MemberAccess","referencedDeclaration":111648,"src":"13117:31:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,bytes memory)"}},"id":85879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13117:91:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85880,"nodeType":"ExpressionStatement","src":"13117:91:132"}]},"baseFunctions":[111648],"documentation":{"id":85845,"nodeType":"StructuredDocumentation","src":"12542:224:132","text":"@inheritdoc StandardBridge\\n @notice Emits the legacy ERC20WithdrawalFinalized event followed by the ERC20BridgeFinalized\\n event. This is necessary for backwards compatibility with the legacy bridge."},"implemented":true,"kind":"function","modifiers":[],"name":"_emitERC20BridgeInitiated","nameLocation":"12780:25:132","overrides":{"id":85859,"nodeType":"OverrideSpecifier","overrides":[],"src":"12998:8:132"},"parameters":{"id":85858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85847,"mutability":"mutable","name":"_localToken","nameLocation":"12823:11:132","nodeType":"VariableDeclaration","scope":85882,"src":"12815:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85846,"name":"address","nodeType":"ElementaryTypeName","src":"12815:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85849,"mutability":"mutable","name":"_remoteToken","nameLocation":"12852:12:132","nodeType":"VariableDeclaration","scope":85882,"src":"12844:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85848,"name":"address","nodeType":"ElementaryTypeName","src":"12844:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85851,"mutability":"mutable","name":"_from","nameLocation":"12882:5:132","nodeType":"VariableDeclaration","scope":85882,"src":"12874:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85850,"name":"address","nodeType":"ElementaryTypeName","src":"12874:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85853,"mutability":"mutable","name":"_to","nameLocation":"12905:3:132","nodeType":"VariableDeclaration","scope":85882,"src":"12897:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85852,"name":"address","nodeType":"ElementaryTypeName","src":"12897:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85855,"mutability":"mutable","name":"_amount","nameLocation":"12926:7:132","nodeType":"VariableDeclaration","scope":85882,"src":"12918:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85854,"name":"uint256","nodeType":"ElementaryTypeName","src":"12918:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85857,"mutability":"mutable","name":"_extraData","nameLocation":"12956:10:132","nodeType":"VariableDeclaration","scope":85882,"src":"12943:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85856,"name":"bytes","nodeType":"ElementaryTypeName","src":"12943:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12805:167:132"},"returnParameters":{"id":85860,"nodeType":"ParameterList","parameters":[],"src":"13011:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":85920,"nodeType":"FunctionDefinition","src":"13450:447:132","nodes":[],"body":{"id":85919,"nodeType":"Block","src":"13690:207:132","nodes":[],"statements":[{"eventCall":{"arguments":[{"id":85900,"name":"_localToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85885,"src":"13730:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85901,"name":"_remoteToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85887,"src":"13743:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85902,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85889,"src":"13757:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85903,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85891,"src":"13764:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85904,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85893,"src":"13769:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85905,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85895,"src":"13778:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":85899,"name":"ERC20WithdrawalFinalized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85489,"src":"13705:24:132","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,bytes memory)"}},"id":85906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13705:84:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85907,"nodeType":"EmitStatement","src":"13700:89:132"},{"expression":{"arguments":[{"id":85911,"name":"_localToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85885,"src":"13831:11:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85912,"name":"_remoteToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85887,"src":"13844:12:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85913,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85889,"src":"13858:5:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85914,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85891,"src":"13865:3:132","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":85915,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85893,"src":"13870:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":85916,"name":"_extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85895,"src":"13879:10:132","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":85908,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"13799:5:132","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_L1StandardBridge_$85921_$","typeString":"type(contract super L1StandardBridge)"}},"id":85910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"_emitERC20BridgeFinalized","nodeType":"MemberAccess","referencedDeclaration":111674,"src":"13799:31:132","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,address,address,uint256,bytes memory)"}},"id":85917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13799:91:132","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":85918,"nodeType":"ExpressionStatement","src":"13799:91:132"}]},"baseFunctions":[111674],"documentation":{"id":85883,"nodeType":"StructuredDocumentation","src":"13221:224:132","text":"@inheritdoc StandardBridge\\n @notice Emits the legacy ERC20WithdrawalFinalized event followed by the ERC20BridgeFinalized\\n event. This is necessary for backwards compatibility with the legacy bridge."},"implemented":true,"kind":"function","modifiers":[],"name":"_emitERC20BridgeFinalized","nameLocation":"13459:25:132","overrides":{"id":85897,"nodeType":"OverrideSpecifier","overrides":[],"src":"13677:8:132"},"parameters":{"id":85896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85885,"mutability":"mutable","name":"_localToken","nameLocation":"13502:11:132","nodeType":"VariableDeclaration","scope":85920,"src":"13494:19:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85884,"name":"address","nodeType":"ElementaryTypeName","src":"13494:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85887,"mutability":"mutable","name":"_remoteToken","nameLocation":"13531:12:132","nodeType":"VariableDeclaration","scope":85920,"src":"13523:20:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85886,"name":"address","nodeType":"ElementaryTypeName","src":"13523:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85889,"mutability":"mutable","name":"_from","nameLocation":"13561:5:132","nodeType":"VariableDeclaration","scope":85920,"src":"13553:13:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85888,"name":"address","nodeType":"ElementaryTypeName","src":"13553:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85891,"mutability":"mutable","name":"_to","nameLocation":"13584:3:132","nodeType":"VariableDeclaration","scope":85920,"src":"13576:11:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85890,"name":"address","nodeType":"ElementaryTypeName","src":"13576:7:132","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85893,"mutability":"mutable","name":"_amount","nameLocation":"13605:7:132","nodeType":"VariableDeclaration","scope":85920,"src":"13597:15:132","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85892,"name":"uint256","nodeType":"ElementaryTypeName","src":"13597:7:132","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85895,"mutability":"mutable","name":"_extraData","nameLocation":"13635:10:132","nodeType":"VariableDeclaration","scope":85920,"src":"13622:23:132","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":85894,"name":"bytes","nodeType":"ElementaryTypeName","src":"13622:5:132","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13484:167:132"},"returnParameters":{"id":85898,"nodeType":"ParameterList","parameters":[],"src":"13690:0:132"},"scope":85921,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":85434,"name":"StandardBridge","nodeType":"IdentifierPath","referencedDeclaration":111675,"src":"1238:14:132"},"id":85435,"nodeType":"InheritanceSpecifier","src":"1238:14:132"},{"baseName":{"id":85436,"name":"ISemver","nodeType":"IdentifierPath","referencedDeclaration":109417,"src":"1254:7:132"},"id":85437,"nodeType":"InheritanceSpecifier","src":"1254:7:132"}],"canonicalName":"L1StandardBridge","contractDepe
1ndencies":[],"contractKind":"contract","documentation":{"id":85433,"nodeType":"StructuredDocumentation","src":"437:772:132","text":"@custom:proxied\\n @title L1StandardBridge\\n @notice The L1StandardBridge is responsible for transfering ETH and ERC20 tokens between L1 and\\n L2. In the case that an ERC20 token is native to L1, it will be escrowed within this\\n contract. If the ERC20 token is native to L2, it will be burnt. Before Bedrock, ETH was\\n stored within this contract. After Bedrock, ETH is instead stored inside the\\n OptimismPortal contract.\\n NOTE: this contract is not intended to support all variations of ERC20 tokens. Examples\\n of some token types that may not be properly supported by this contract include, but are\\n not limited to: tokens with transfer fees, rebasing tokens, and tokens with blocklists."},"fullyImplemented":true,"linearizedBaseContracts":[85921,109417,111675,49678],"name":"L1StandardBridge","nameLocation":"1218:16:132","scope":85922,"usedErrors":[]}],"license":"MIT"},"id":132}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.