{"abi":[{"type":"constructor","inputs":[{"name":"_logic","type":"address","internalType":"address"},{"name":"initialOwner","type":"address","internalType":"address"},{"name":"_data","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","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":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"l1Usdc","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"l2Usdc","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"messenger","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"otherBridge","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxyChangeOwner","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAddress","inputs":[{"name":"_messenger","type":"address","internalType":"address"},{"name":"_otherBridge","type":"address","internalType":"address"},{"name":"_l1Usdc","type":"address","internalType":"address"},{"name":"_l2Usdc","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidAdmin","inputs":[{"name":"admin","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedInnerCall","inputs":[]}],"bytecode":{"object":"0x608060405260405161129338038061129383398101604081905261002291610313565b828161002e8282610042565b5061003a9050826100a0565b5050506103fa565b61004b8261010d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100945761008f828261018b565b505050565b61009c6101fe565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6100df5f80516020611273833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a161010a8161021f565b50565b806001600160a01b03163b5f0361014757604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b0316846040516101a791906103e4565b5f60405180830381855af49150503d805f81146101df576040519150601f19603f3d011682016040523d82523d5f602084013e6101e4565b606091505b5090925090506101f585838361025c565b95945050505050565b341561021d5760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b03811661024857604051633173bdd160e11b81525f600482015260240161013e565b805f8051602061127383398151915261016a565b6060826102715761026c826102bb565b6102b4565b815115801561028857506001600160a01b0384163b155b156102b157604051639996b31560e01b81526001600160a01b038516600482015260240161013e565b50805b9392505050565b8051156102cb5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80516001600160a01b03811681146102fa575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610325575f80fd5b61032e846102e4565b925061033c602085016102e4565b60408501519092506001600160401b03811115610357575f80fd5b8401601f81018613610367575f80fd5b80516001600160401b03811115610380576103806102ff565b604051601f8201601f19908116603f011681016001600160401b03811182821017156103ae576103ae6102ff565b6040528181528282016020018810156103c5575f80fd5b8160208401602083015e5f602083830101528093505050509250925092565b5f82518060208501845e5f920191825250919050565b610e6c806104075f395ff3fe6080604052600436106100bf575f3560e01c80638da5cb5b11610073578063a1b4bc041161004d578063a1b4bc041461027f578063c89701a2146102ab578063dfd3dcb3146102d75761012b565b80638da5cb5b146102085780638f601f661461021c5780639608088c146102605761012b565b80634f1ef286116100a45780634f1ef286146101a957806356c3b587146101c85780635c60da1b146101f45761012b565b80633659cfe6146101355780633cb747bf146101545761012b565b3661012b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f63616e6e6f74207265636569766520457468657200000000000000000000000060448201526064015b60405180910390fd5b6101336102f6565b005b348015610140575f80fd5b5061013361014f366004610c80565b610308565b34801561015f575f80fd5b505f5461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101b4575f80fd5b506101336101c3366004610cc6565b6103bf565b3480156101d3575f80fd5b5060025461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101ff575f80fd5b5061017f610469565b348015610213575f80fd5b5061017f610477565b348015610227575f80fd5b50610252610236366004610dc7565b600460209081525f928352604080842090915290825290205481565b6040519081526020016101a0565b34801561026b575f80fd5b5061013361027a366004610df8565b610480565b34801561028a575f80fd5b5060035461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102b6575f80fd5b5060015461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102e2575f80fd5b506101336102f1366004610c80565b61078c565b610306610301610831565b61083a565b565b610310610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b6103bc8160405180602001604052805f815250610858565b50565b6103c7610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b6104658282610858565b5050565b5f610472610831565b905090565b5f6104726108bf565b610488610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff811661059a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff8116610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff8116610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff8116610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b50505f805473ffffffffffffffffffffffffffffffffffffffff9788167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054968816968216969096179095555050600280549285169284169290921790915560038054919093169116179055565b610794610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b6103bc816108fe565b5f61047261095f565b365f80375f80365f845af43d5f803e808015610854573d5ff35b3d5ffd5b61086182610986565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156108b7576108b28282610a57565b505050565b610465610ad6565b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6109276108bf565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16103bc81610b0e565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6108e2565b8073ffffffffffffffffffffffffffffffffffffffff163b5f036109ee576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610122565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051610a809190610e49565b5f60405180830381855af49150503d805f8114610ab8576040519150601f19603f3d011682016040523d82523d5f602084013e610abd565b606091505b5091509150610acd858383610b84565b95945050505050565b3415610306576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610b5d576040517f62e77ba20000000000000000000000000000000000000000000000000000000081525f6004820152602401610122565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103610a11565b606082610b9957610b9482610c16565b610c0f565b8151158015610bbd575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610c0c576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610122565b50805b9392505050565b805115610c265780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610c7b575f80fd5b919050565b5f60208284031215610c90575f80fd5b610c0f82610c58565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8060408385031215610cd7575f80fd5b610ce083610c58565b9150602083013567ffffffffffffffff811115610cfb575f80fd5b8301601f81018513610d0b575f80fd5b803567ffffffffffffffff811115610d2557610d25610c99565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610d9157610d91610c99565b604052818152828201602001871015610da8575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f8060408385031215610dd8575f80fd5b610de183610c58565b9150610def60208401610c58565b90509250929050565b5f805f8060808587031215610e0b575f80fd5b610e1485610c58565b9350610e2260208601610c58565b9250610e3060408601610c58565b9150610e3e60608601610c58565b905092959194509250565b5f82518060208501845e5f92019182525091905056fea164736f6c634300081a000ab53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","sourceMap":"247:1633:93:-:0;;;535:161;;;;;;;;;;;;;;;;;;:::i;:::-;626:6;634:5;1156:52:84;626:6:93;634:5;1156:29:84;:52::i;:::-;-1:-1:-1;651:38:93::1;::::0;-1:-1:-1;676:12:93;651:24:::1;:38::i;:::-;535:161:::0;;;247:1633;;2756:335:85;2847:37;2866:17;2847:18;:37::i;:::-;2899:27;;-1:-1:-1;;;;;2899:27:85;;;;;;;;2941:11;;:15;2937:148;;2972:53;3001:17;3020:4;2972:28;:53::i;:::-;;2756:335;;:::o;2937:148::-;3056:18;:16;:18::i;:::-;2756:335;;:::o;4308:133::-;4371:34;4384:10;-1:-1:-1;;;;;;;;;;;3838:44:85;-1:-1:-1;;;;;3838:44:85;;3769:120;4384:10;4371:34;;;-1:-1:-1;;;;;1629:32:100;;;1611:51;;1698:32;;;1693:2;1678:18;;1671:60;1584:18;4371:34:85;;;;;;;4415:19;4425:8;4415:9;:19::i;:::-;4308:133;:::o;2163:281::-;2240:17;-1:-1:-1;;;;;2240:29:85;;2273:1;2240:34;2236:119;;2297:47;;-1:-1:-1;;;2297:47:85;;-1:-1:-1;;;;;1906:32:100;;2297:47:85;;;1888:51:100;1861:18;;2297:47:85;;;;;;;;2236:119;2420:17;1304:66;2364:47;:73;;-1:-1:-1;;;;;;2364:73:85;-1:-1:-1;;;;;2364:73:85;;;;;;;;;;-1:-1:-1;2163:281:85:o;4122:253:83:-;4205:12;4230;4244:23;4271:6;-1:-1:-1;;;;;4271:19:83;4291:4;4271:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4229:67:83;;-1:-1:-1;4229:67:83;-1:-1:-1;4313:55:83;4340:6;4229:67;;4313:26;:55::i;:::-;4306:62;4122:253;-1:-1:-1;;;;;4122:253:83:o;6575:122:85:-;6625:9;:13;6621:70;;6661:19;;-1:-1:-1;;;6661:19:85;;;;;;;;;;;6621:70;6575:122::o;3971:217::-;-1:-1:-1;;;;;4030:22:85;;4026:91;;4075:31;;-1:-1:-1;;;4075:31:85;;4103:1;4075:31;;;1888:51:100;1861:18;;4075:31:85;1742:203:100;4026:91:85;4173:8;-1:-1:-1;;;;;;;;;;;4126:38:85;1686:190:91:o;4641:610:83:-;4809:12;4842:7;4837:408;;4865:19;4873:10;4865:7;:19::i;:::-;4837:408;;;5089:17;;:22;:49;;;;-1:-1:-1;;;;;;5115:18:83;;;:23;5089:49;5085:119;;;5165:24;;-1:-1:-1;;;5165:24:83;;-1:-1:-1;;;;;1906:32:100;;5165:24:83;;;1888:51:100;1861:18;;5165:24:83;1742:203:100;5085:119:83;-1:-1:-1;5224:10:83;4837:408;4641:610;;;;;:::o;5787:516::-;5918:17;;:21;5914:383;;6146:10;6140:17;6202:15;6189:10;6185:2;6181:19;6174:44;5914:383;6269:17;;-1:-1:-1;;;6269:17:83;;;;;;;;;;;14:177:100;93:13;;-1:-1:-1;;;;;135:31:100;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:1104;425:6;433;441;494:2;482:9;473:7;469:23;465:32;462:52;;;510:1;507;500:12;462:52;533:40;563:9;533:40;:::i;:::-;523:50;;592:49;637:2;626:9;622:18;592:49;:::i;:::-;685:2;670:18;;664:25;582:59;;-1:-1:-1;;;;;;701:30:100;;698:50;;;744:1;741;734:12;698:50;767:22;;820:4;812:13;;808:27;-1:-1:-1;798:55:100;;849:1;846;839:12;798:55;876:9;;-1:-1:-1;;;;;897:30:100;;894:56;;;930:18;;:::i;:::-;979:2;973:9;1071:2;1033:17;;-1:-1:-1;;1029:31:100;;;1062:2;1025:40;1021:54;1009:67;;-1:-1:-1;;;;;1091:34:100;;1127:22;;;1088:62;1085:88;;;1153:18;;:::i;:::-;1189:2;1182:22;1213;;;1254:15;;;1271:2;1250:24;1247:37;-1:-1:-1;1244:57:100;;;1297:1;1294;1287:12;1244:57;1346:6;1341:2;1337;1333:11;1328:2;1320:6;1316:15;1310:43;1399:1;1394:2;1385:6;1377;1373:19;1369:28;1362:39;1420:6;1410:16;;;;;328:1104;;;;;:::o;1950:301::-;2079:3;2117:6;2111:13;2163:6;2156:4;2148:6;2144:17;2139:3;2133:37;2225:1;2189:16;;2214:13;;;-1:-1:-1;2189:16:100;1950:301;-1:-1:-1;1950:301:100:o;:::-;247:1633:93;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100bf575f3560e01c80638da5cb5b11610073578063a1b4bc041161004d578063a1b4bc041461027f578063c89701a2146102ab578063dfd3dcb3146102d75761012b565b80638da5cb5b146102085780638f601f661461021c5780639608088c146102605761012b565b80634f1ef286116100a45780634f1ef286146101a957806356c3b587146101c85780635c60da1b146101f45761012b565b80633659cfe6146101355780633cb747bf146101545761012b565b3661012b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f63616e6e6f74207265636569766520457468657200000000000000000000000060448201526064015b60405180910390fd5b6101336102f6565b005b348015610140575f80fd5b5061013361014f366004610c80565b610308565b34801561015f575f80fd5b505f5461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101b4575f80fd5b506101336101c3366004610cc6565b6103bf565b3480156101d3575f80fd5b5060025461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101ff575f80fd5b5061017f610469565b348015610213575f80fd5b5061017f610477565b348015610227575f80fd5b50610252610236366004610dc7565b600460209081525f928352604080842090915290825290205481565b6040519081526020016101a0565b34801561026b575f80fd5b5061013361027a366004610df8565b610480565b34801561028a575f80fd5b5060035461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102b6575f80fd5b5060015461017f9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102e2575f80fd5b506101336102f1366004610c80565b61078c565b610306610301610831565b61083a565b565b610310610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b6103bc8160405180602001604052805f815250610858565b50565b6103c7610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b6104658282610858565b5050565b5f610472610831565b905090565b5f6104726108bf565b610488610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff811661059a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff8116610618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff8116610696576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b8373ffffffffffffffffffffffffffffffffffffffff8116610714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606401610122565b50505f805473ffffffffffffffffffffffffffffffffffffffff9788167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560018054968816968216969096179095555050600280549285169284169290921790915560038054919093169116179055565b610794610477565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152606401610122565b6103bc816108fe565b5f61047261095f565b365f80375f80365f845af43d5f803e808015610854573d5ff35b3d5ffd5b61086182610986565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156108b7576108b28282610a57565b505050565b610465610ad6565b5f7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6109276108bf565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16103bc81610b0e565b5f7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6108e2565b8073ffffffffffffffffffffffffffffffffffffffff163b5f036109ee576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610122565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051610a809190610e49565b5f60405180830381855af49150503d805f8114610ab8576040519150601f19603f3d011682016040523d82523d5f602084013e610abd565b606091505b5091509150610acd858383610b84565b95945050505050565b3415610306576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610b5d576040517f62e77ba20000000000000000000000000000000000000000000000000000000081525f6004820152602401610122565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103610a11565b606082610b9957610b9482610c16565b610c0f565b8151158015610bbd575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610c0c576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610122565b50805b9392505050565b805115610c265780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610c7b575f80fd5b919050565b5f60208284031215610c90575f80fd5b610c0f82610c58565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8060408385031215610cd7575f80fd5b610ce083610c58565b9150602083013567ffffffffffffffff811115610cfb575f80fd5b8301601f81018513610d0b575f80fd5b803567ffffffffffffffff811115610d2557610d25610c99565b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501160116810181811067ffffffffffffffff82111715610d9157610d91610c99565b604052818152828201602001871015610da8575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f8060408385031215610dd8575f80fd5b610de183610c58565b9150610def60208401610c58565b90509250929050565b5f805f8060808587031215610e0b575f80fd5b610e1485610c58565b9350610e2260208601610c58565b9250610e3060408601610c58565b9150610e3e60608601610c58565b905092959194509250565b5f82518060208501845e5f92019182525091905056fea164736f6c634300081a000a","sourceMap":"247:1633:93:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:30;;;;;216:2:100;739:30:93;;;198:21:100;255:2;235:18;;;228:30;294:22;274:18;;;267:50;334:18;;739:30:93;;;;;;;;247:1633;2592:11:89;:9;:11::i;:::-;247:1633:93;1354:146;;;;;;;;;;-1:-1:-1;1354:146:93;;;;;:::i;:::-;;:::i;94:24:96:-;;;;;;;;;;-1:-1:-1;94:24:96;;;;;;;;;;;931:42:100;919:55;;;901:74;;889:2;874:18;94:24:96;;;;;;;;1506:167:93;;;;;;;;;;-1:-1:-1;1506:167:93;;;;;:::i;:::-;;:::i;156:21:96:-;;;;;;;;;;-1:-1:-1;156:21:96;;;;;;;;1779:99:93;;;;;;;;;;;;;:::i;1679:94::-;;;;;;;;;;;;;:::i;201:63:94:-;;;;;;;;;;-1:-1:-1;201:63:94;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;2727:25:100;;;2715:2;2700:18;201:63:94;2581:177:100;907:441:93;;;;;;;;;;-1:-1:-1;907:441:93;;;;;:::i;:::-;;:::i;183:21:96:-;;;;;;;;;;-1:-1:-1;183:21:96;;;;;;;;124:26;;;;;;;;;;-1:-1:-1;124:26:96;;;;;;;;782:119:93;;;;;;;;;;-1:-1:-1;782:119:93;;;;;:::i;:::-;;:::i;2266:83:89:-;2314:28;2324:17;:15;:17::i;:::-;2314:9;:28::i;:::-;2266:83::o;1354:146:93:-;375:7;:5;:7::i;:::-;361:21;;:10;:21;;;353:43;;;;;;;3379:2:100;353:43:93;;;3361:21:100;3418:1;3398:18;;;3391:29;3456:11;3436:18;;;3429:39;3485:18;;353:43:93;3177:332:100;353:43:93;1434:59:::1;1464:17;1483:9;;;;;;;;;;;::::0;1434:29:::1;:59::i;:::-;1354:146:::0;:::o;1506:167::-;375:7;:5;:7::i;:::-;361:21;;:10;:21;;;353:43;;;;;;;3379:2:100;353:43:93;;;3361:21:100;3418:1;3398:18;;;3391:29;3456:11;3436:18;;;3429:39;3485:18;;353:43:93;3177:332:100;353:43:93;1612:54:::1;1642:17;1661:4;1612:29;:54::i;:::-;1506:167:::0;;:::o;1779:99::-;1828:7;1854:17;:15;:17::i;:::-;1847:24;;1779:99;:::o;1679:94::-;1717:7;1743:23;:21;:23::i;907:441::-;375:7;:5;:7::i;:::-;361:21;;:10;:21;;;353:43;;;;;;;3379:2:100;353:43:93;;;3361:21:100;3418:1;3398:18;;;3391:29;3456:11;3436:18;;;3429:39;3485:18;;353:43:93;3177:332:100;353:43:93;1104:10;476:18:::1;::::0;::::1;468:43;;;::::0;::::1;::::0;;3716:2:100;468:43:93::1;::::0;::::1;3698:21:100::0;3755:2;3735:18;;;3728:30;3794:14;3774:18;;;3767:42;3826:18;;468:43:93::1;3514:336:100::0;468:43:93::1;1139:12:::0;476:18:::2;::::0;::::2;468:43;;;::::0;::::2;::::0;;3716:2:100;468:43:93::2;::::0;::::2;3698:21:100::0;3755:2;3735:18;;;3728:30;3794:14;3774:18;;;3767:42;3826:18;;468:43:93::2;3514:336:100::0;468:43:93::2;1176:7:::0;476:18:::3;::::0;::::3;468:43;;;::::0;::::3;::::0;;3716:2:100;468:43:93::3;::::0;::::3;3698:21:100::0;3755:2;3735:18;;;3728:30;3794:14;3774:18;;;3767:42;3826:18;;468:43:93::3;3514:336:100::0;468:43:93::3;1208:7:::0;476:18:::4;::::0;::::4;468:43;;;::::0;::::4;::::0;;3716:2:100;468:43:93::4;::::0;::::4;3698:21:100::0;3755:2;3735:18;;;3728:30;3794:14;3774:18;;;3767:42;3826:18;;468:43:93::4;3514:336:100::0;468:43:93::4;-1:-1:-1::0;;1231:9:93::5;:22:::0;;::::5;::::0;;::::5;::::0;;;::::5;;::::0;;;;1263:26;;;;::::5;::::0;;::::5;::::0;;;::::5;::::0;;;-1:-1:-1;;1299:6:93::5;:16:::0;;;;::::5;::::0;;::::5;::::0;;;::::5;::::0;;;1325:6:::5;:16:::0;;;;;::::5;::::0;::::5;;::::0;;907:441::o;782:119::-;375:7;:5;:7::i;:::-;361:21;;:10;:21;;;353:43;;;;;;;3379:2:100;353:43:93;;;3361:21:100;3418:1;3398:18;;;3391:29;3456:11;3436:18;;;3429:39;3485:18;;353:43:93;3177:332:100;353:43:93;860:34:::1;885:8;860:24;:34::i;1583:132:84:-:0;1650:7;1676:32;:30;:32::i;948:839:89:-;1286:14;1283:1;1280;1267:34;1500:1;1497;1481:14;1478:1;1462:14;1455:5;1442:60;1576:16;1573:1;1570;1555:38;1614:6;1681:38;;;;1752:16;1749:1;1742:27;1681:38;1700:16;1697:1;1690:27;2756:335:85;2847:37;2866:17;2847:18;:37::i;:::-;2899:27;;;;;;;;;;;2941:11;;:15;2937:148;;2972:53;3001:17;3020:4;2972:28;:53::i;:::-;;1506:167:93;;:::o;2937:148:85:-;3056:18;:16;:18::i;3769:120::-;3812:7;3351:66;3838:38;:44;;;;3769:120;-1:-1:-1;3769:120:85:o;4308:133::-;4371:34;4384:10;:8;:10::i;:::-;4371:34;;;4059:42:100;4047:55;;;4029:74;;4139:55;;;4134:2;4119:18;;4112:83;4002:18;4371:34:85;;;;;;;4415:19;4425:8;4415:9;:19::i;1934:138::-;1986:7;1304:66;2012:47;1686:190:91;2163:281:85;2240:17;:29;;;2273:1;2240:34;2236:119;;2297:47;;;;;931:42:100;919:55;;2297:47:85;;;901:74:100;874:18;;2297:47:85;755:226:100;2236:119:85;2420:17;1304:66;2364:47;:73;;;;;;;;;;;;;;;-1:-1:-1;2163:281:85:o;4122:253:83:-;4205:12;4230;4244:23;4271:6;:19;;4291:4;4271:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4229:67;;;;4313:55;4340:6;4348:7;4357:10;4313:26;:55::i;:::-;4306:62;4122:253;-1:-1:-1;;;;;4122:253:83:o;6575:122:85:-;6625:9;:13;6621:70;;6661:19;;;;;;;;;;;;;;3971:217;4030:22;;;4026:91;;4075:31;;;;;4103:1;4075:31;;;901:74:100;874:18;;4075:31:85;755:226:100;4026:91:85;4173:8;3351:66;4126:38;1686:190:91;4641:610:83;4809:12;4842:7;4837:408;;4865:19;4873:10;4865:7;:19::i;:::-;4837:408;;;5089:17;;:22;:49;;;;-1:-1:-1;5115:18:83;;;;:23;5089:49;5085:119;;;5165:24;;;;;931:42:100;919:55;;5165:24:83;;;901:74:100;874:18;;5165:24:83;755:226:100;5085:119:83;-1:-1:-1;5224:10:83;4837:408;4641:610;;;;;:::o;5787:516::-;5918:17;;:21;5914:383;;6146:10;6140:17;6202:15;6189:10;6185:2;6181:19;6174:44;5914:383;6269:17;;;;;;;;;;;;;;363:196:100;431:20;;491:42;480:54;;470:65;;460:93;;549:1;546;539:12;460:93;363:196;;;:::o;564:186::-;623:6;676:2;664:9;655:7;651:23;647:32;644:52;;;692:1;689;682:12;644:52;715:29;734:9;715:29;:::i;986:184::-;1038:77;1035:1;1028:88;1135:4;1132:1;1125:15;1159:4;1156:1;1149:15;1175:1136;1252:6;1260;1313:2;1301:9;1292:7;1288:23;1284:32;1281:52;;;1329:1;1326;1319:12;1281:52;1352:29;1371:9;1352:29;:::i;:::-;1342:39;;1432:2;1421:9;1417:18;1404:32;1459:18;1451:6;1448:30;1445:50;;;1491:1;1488;1481:12;1445:50;1514:22;;1567:4;1559:13;;1555:27;-1:-1:-1;1545:55:100;;1596:1;1593;1586:12;1545:55;1636:2;1623:16;1662:18;1654:6;1651:30;1648:56;;;1684:18;;:::i;:::-;1733:2;1727:9;1880:66;1875:2;1806:66;1799:4;1791:6;1787:17;1783:90;1779:99;1775:172;1767:6;1763:185;2014:6;2002:10;1999:22;1978:18;1966:10;1963:34;1960:62;1957:88;;;2025:18;;:::i;:::-;2061:2;2054:22;2085;;;2126:15;;;2143:2;2122:24;2119:37;-1:-1:-1;2116:57:100;;;2169:1;2166;2159:12;2116:57;2225:6;2220:2;2216;2212:11;2207:2;2199:6;2195:15;2182:50;2278:1;2273:2;2264:6;2256;2252:19;2248:28;2241:39;2299:6;2289:16;;;;;1175:1136;;;;;:::o;2316:260::-;2384:6;2392;2445:2;2433:9;2424:7;2420:23;2416:32;2413:52;;;2461:1;2458;2451:12;2413:52;2484:29;2503:9;2484:29;:::i;:::-;2474:39;;2532:38;2566:2;2555:9;2551:18;2532:38;:::i;:::-;2522:48;;2316:260;;;;;:::o;2763:409::-;2849:6;2857;2865;2873;2926:3;2914:9;2905:7;2901:23;2897:33;2894:53;;;2943:1;2940;2933:12;2894:53;2966:29;2985:9;2966:29;:::i;:::-;2956:39;;3014:38;3048:2;3037:9;3033:18;3014:38;:::i;:::-;3004:48;;3071:38;3105:2;3094:9;3090:18;3071:38;:::i;:::-;3061:48;;3128:38;3162:2;3151:9;3147:18;3128:38;:::i;:::-;3118:48;;2763:409;;;;;;;:::o;4206:301::-;4335:3;4373:6;4367:13;4419:6;4412:4;4404:6;4400:17;4395:3;4389:37;4481:1;4445:16;;4470:13;;;-1:-1:-1;4445:16:100;4206:301;-1:-1:-1;4206:301:100:o","linkReferences":{}},"methodIdentifiers":{"deposits(address,address)":"8f601f66","implementation()":"5c60da1b","l1Usdc()":"56c3b587","l2Usdc()":"a1b4bc04","messenger()":"3cb747bf","otherBridge()":"c89701a2","owner()":"8da5cb5b","proxyChangeOwner(address)":"dfd3dcb3","setAddress(address,address,address,address)":"9608088c","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l1Usdc\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"l2Usdc\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"messenger\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"otherBridge\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"proxyChangeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_messenger\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_otherBridge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_l1Usdc\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_l2Usdc\",\"type\":\"address\"}],\"name\":\"setAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedInnerCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol\":\"L1UsdcBridgeProxy\"},\"evmVersion\":\"cancun\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/tokamak-contracts/USDC/L1/libraries/Address.sol\":{\"keccak256\":\"0x7a2becd0fc138ccd81f63dc85f73aa43ac9e16107b1060dfb9bfcbc46e089060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9cfc1478aba538118b63dca8c71983d8d522b9ac97b96364ae27dc505b675a3\",\"dweb:/ipfs/QmQJnCRPn61XoPbDtykyGGcXS4YYydmMCxcWDymhBTG6JJ\"]},\"src/tokamak-contracts/USDC/L1/libraries/ERC1967Proxy.sol\":{\"keccak256\":\"0xa55c5aec3df1b79882376aa8a6ab8d67f97fae24ee8a26a1114ce1f77535a18b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4093b9a18b985a8306caae2dcec1b8a110d78058c4860f07fbb8d65796730ee4\",\"dweb:/ipfs/QmdirgM5e2g6XJ6XewEhdtCacmg22iSWwjsJkAif4G82jJ\"]},\"src/tokamak-contracts/USDC/L1/libraries/ERC1967Utils.sol\":{\"keccak256\":\"0xa2fa39ddac02eecd313cddb1353698256a9cbeab1fcd2047d92285bf4519a23a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3ac2962400411740195781a6f4df2646b0475fc007ae741b3c5946c1b394bc\",\"dweb:/ipfs/QmWr1if5nFDoUN8xpz5V21Lqcy2hXghbqui1aoZUEgqpY3\"]},\"src/tokamak-contracts/USDC/L1/libraries/IBeacon.sol\":{\"keccak256\":\"0x716e742ed4bfcb97311d7d9d388bdc490cec880d9a4f52665d86ade99fca3b47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24a0fd4d5e3d505f19d8e7023048d7b312eff22d264247c03af42eb15d480656\",\"dweb:/ipfs/QmczJSWDXryDzppqPHZ4mLELen6z3M3vJmN5p3QTB8Y6EM\"]},\"src/tokamak-contracts/USDC/L1/libraries/Proxy.sol\":{\"keccak256\":\"0x8ebb7e89fb0a19c7c980aead431b48b0fc3a42e62807cd33ab45ed4703e5d653\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2cc0a35cb482a3393304835b4346eb8af66a71ce67810659cf06221c647258f\",\"dweb:/ipfs/QmW24rg4bhq9tKysX5MpYTHbcW6CBABsMeA8B3PJjQcG8c\"]},\"src/tokamak-contracts/USDC/L1/libraries/StorageSlot.sol\":{\"keccak256\":\"0x787e1146303d8c96198e87b7af989cbebd915244bee4020d9f159de952e98b4f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49f31c7732b2b886b9b6718745627936007aa23e8d6d309c316f8a60b936131a\",\"dweb:/ipfs/QmXVu5oFjH7eTM4oKrsiHAW5BrEk5d86RvZ2xMWBZvdw4G\"]},\"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol\":{\"keccak256\":\"0x0b0462976894859f171c295e839ac483980ce8fc27413f4124f9a5585e045bf6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://777167db6b51354a4ce3dbe08aaecc5a05dad9e068eb2d9b5691c70a760af08b\",\"dweb:/ipfs/QmPwmhpZdG7un5cAd9FTZshdGJ6Z8HAch1dsFqRHEBUHRJ\"]},\"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeStorage.sol\":{\"keccak256\":\"0xcca6b8186e534ad59a4878f6756334175cd50aca504c4139d21930fce77e5b00\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4a647cb71c35e41a53248db3c03a3d05ae169180465ee6947b48efd05afd4f5\",\"dweb:/ipfs/Qmf26yXFLCm8LmX4CKCoZ6wg6pGrnJmC3VYXhLFNHsA49i\"]},\"src/tokamak-contracts/USDC/universal/StandardBridgeStorage.sol\":{\"keccak256\":\"0xc61c40717e55341880ec5ba5c8f7366c7f7cbe045e55cd5bab643dbb60295bac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://237615182e4d1bb0447434f22e494222f5ff9ca97f2673d55b99918eb84bd723\",\"dweb:/ipfs/Qmd8GxkGfN3uhxLQygkQws1c7d47YA6K5p6PSFYM3m8bpT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"admin","type":"address"}],"type":"error","name":"ERC1967InvalidAdmin"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedInnerCall"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"deposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l1Usdc","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"l2Usdc","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"messenger","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"otherBridge","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"proxyChangeOwner"},{"inputs":[{"internalType":"address","name":"_messenger","type":"address"},{"internalType":"address","name":"_otherBridge","type":"address"},{"internalType":"address","name":"_l1Usdc","type":"address"},{"internalType":"address","name":"_l2Usdc","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAddress"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"upgradeToAndCall"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol":"L1UsdcBridgeProxy"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/tokamak-contracts/USDC/L1/libraries/Address.sol":{"keccak256":"0x7a2becd0fc138ccd81f63dc85f73aa43ac9e16107b1060dfb9bfcbc46e089060","urls":["bzz-raw://a9cfc1478aba538118b63dca8c71983d8d522b9ac97b96364ae27dc505b675a3","dweb:/ipfs/QmQJnCRPn61XoPbDtykyGGcXS4YYydmMCxcWDymhBTG6JJ"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/libraries/ERC1967Proxy.sol":{"keccak256":"0xa55c5aec3df1b79882376aa8a6ab8d67f97fae24ee8a26a1114ce1f77535a18b","urls":["bzz-raw://4093b9a18b985a8306caae2dcec1b8a110d78058c4860f07fbb8d65796730ee4","dweb:/ipfs/QmdirgM5e2g6XJ6XewEhdtCacmg22iSWwjsJkAif4G82jJ"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/libraries/ERC1967Utils.sol":{"keccak256":"0xa2fa39ddac02eecd313cddb1353698256a9cbeab1fcd2047d92285bf4519a23a","urls":["bzz-raw://bb3ac2962400411740195781a6f4df2646b0475fc007ae741b3c5946c1b394bc","dweb:/ipfs/QmWr1if5nFDoUN8xpz5V21Lqcy2hXghbqui1aoZUEgqpY3"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/libraries/IBeacon.sol":{"keccak256":"0x716e742ed4bfcb97311d7d9d388bdc490cec880d9a4f52665d86ade99fca3b47","urls":["bzz-raw://24a0fd4d5e3d505f19d8e7023048d7b312eff22d264247c03af42eb15d480656","dweb:/ipfs/QmczJSWDXryDzppqPHZ4mLELen6z3M3vJmN5p3QTB8Y6EM"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/libraries/Proxy.sol":{"keccak256":"0x8ebb7e89fb0a19c7c980aead431b48b0fc3a42e62807cd33ab45ed4703e5d653","urls":["bzz-raw://d2cc0a35cb482a3393304835b4346eb8af66a71ce67810659cf06221c647258f","dweb:/ipfs/QmW24rg4bhq9tKysX5MpYTHbcW6CBABsMeA8B3PJjQcG8c"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/libraries/StorageSlot.sol":{"keccak256":"0x787e1146303d8c96198e87b7af989cbebd915244bee4020d9f159de952e98b4f","urls":["bzz-raw://49f31c7732b2b886b9b6718745627936007aa23e8d6d309c316f8a60b936131a","dweb:/ipfs/QmXVu5oFjH7eTM4oKrsiHAW5BrEk5d86RvZ2xMWBZvdw4G"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol":{"keccak256":"0x0b0462976894859f171c295e839ac483980ce8fc27413f4124f9a5585e045bf6","urls":["bzz-raw://777167db6b51354a4ce3dbe08aaecc5a05dad9e068eb2d9b5691c70a760af08b","dweb:/ipfs/QmPwmhpZdG7un5cAd9FTZshdGJ6Z8HAch1dsFqRHEBUHRJ"],"license":"MIT"},"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeStorage.sol":{"keccak256":"0xcca6b8186e534ad59a4878f6756334175cd50aca504c4139d21930fce77e5b00","urls":["bzz-raw://c4a647cb71c35e41a53248db3c03a3d05ae169180465ee6947b48efd05afd4f5","dweb:/ipfs/Qmf26yXFLCm8LmX4CKCoZ6wg6pGrnJmC3VYXhLFNHsA49i"],"license":"MIT"},"src/tokamak-contracts/USDC/universal/StandardBridgeStorage.sol":{"keccak256":"0xc61c40717e55341880ec5ba5c8f7366c7f7cbe045e55cd5bab643dbb60295bac","urls":["bzz-raw://237615182e4d1bb0447434f22e494222f5ff9ca97f2673d55b99918eb84bd723","dweb:/ipfs/Qmd8GxkGfN3uhxLQygkQws1c7d47YA6K5p6PSFYM3m8bpT"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":60997,"contract":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol:L1UsdcBridgeProxy","label":"messenger","offset":0,"slot":"0","type":"t_address"},{"astId":60999,"contract":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol:L1UsdcBridgeProxy","label":"otherBridge","offset":0,"slot":"1","type":"t_address"},{"astId":61001,"contract":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol:L1UsdcBridgeProxy","label":"l1Usdc","offset":0,"slot":"2","type":"t_address"},{"astId":61003,"contract":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol:L1UsdcBridgeProxy","label":"l2Usdc","offset":0,"slot":"3","type":"t_address"},{"astId":60697,"contract":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol:L1UsdcBridgeProxy","label":"deposits","offset":0,"slot":"4","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"}],"types":{"t_address":{"encoding":"inplace","label":"address","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"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","events":{"AdminChanged(address,address)":{"details":"Emitted when the admin account has changed."},"Upgraded(address)":{"details":"Emitted when the implementation is upgraded."}},"errors":{"AddressEmptyCode(address)":[{"details":"There's no code at `target` (it is not a contract)."}],"ERC1967InvalidAdmin(address)":[{"details":"The `admin` of the proxy is invalid."}],"ERC1967InvalidImplementation(address)":[{"details":"The `implementation` of the proxy is invalid."}],"ERC1967NonPayable()":[{"details":"An upgrade function sees `msg.value > 0` that may be lost."}],"FailedInnerCall()":[{"details":"A call to an address target failed. The target may have reverted."}]}},"ast":{"absolutePath":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeProxy.sol","id":60686,"exportedSymbols":{"ERC1967Proxy":[59319],"ERC1967Utils":[59622],"L1UsdcBridgeProxy":[60685],"L1UsdcBridgeStorage":[60698]},"nodeType":"SourceUnit","src":"32:1849:93","nodes":[{"id":60507,"nodeType":"PragmaDirective","src":"32:23:93","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":60509,"nodeType":"ImportDirective","src":"57:61:93","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L1/libraries/ERC1967Proxy.sol","file":"../libraries/ERC1967Proxy.sol","nameLocation":"-1:-1:-1","scope":60686,"sourceUnit":59320,"symbolAliases":[{"foreign":{"id":60508,"name":"ERC1967Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59319,"src":"66:12:93","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60511,"nodeType":"ImportDirective","src":"119:61:93","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L1/libraries/ERC1967Utils.sol","file":"../libraries/ERC1967Utils.sol","nameLocation":"-1:-1:-1","scope":60686,"sourceUnit":59623,"symbolAliases":[{"foreign":{"id":60510,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59622,"src":"128:12:93","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60513,"nodeType":"ImportDirective","src":"181:64:93","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L1/tokamak-UsdcBridge/L1UsdcBridgeStorage.sol","file":"./L1UsdcBridgeStorage.sol","nameLocation":"-1:-1:-1","scope":60686,"sourceUnit":60699,"symbolAliases":[{"foreign":{"id":60512,"name":"L1UsdcBridgeStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60698,"src":"190:19:93","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":60685,"nodeType":"ContractDefinition","src":"247:1633:93","nodes":[{"id":60530,"nodeType":"ModifierDefinition","src":"317:97:93","nodes":[],"body":{"id":60529,"nodeType":"Block","src":"343:71:93","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":60524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":60520,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"361:3:93","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":60521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"365:6:93","memberName":"sender","nodeType":"MemberAccess","src":"361:10:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":60522,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60675,"src":"375:5:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"375:7:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"361:21:93","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"6e6f74206f776e6572","id":60525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"384:11:93","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e","typeString":"literal_string \"not owner\""},"value":"not owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f2881edc58d5a08d0243d7f8afdab31d949d85825e628e4b88558657a031f74e","typeString":"literal_string \"not owner\""}],"id":60519,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"353:7:93","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":60526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"353:43:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60527,"nodeType":"ExpressionStatement","src":"353:43:93"},{"id":60528,"nodeType":"PlaceholderStatement","src":"406:1:93"}]},"name":"onlyProxyOwner","nameLocation":"326:14:93","parameters":{"id":60518,"nodeType":"ParameterList","parameters":[],"src":"340:2:93"},"virtual":false,"visibility":"internal"},{"id":60546,"nodeType":"ModifierDefinition","src":"420:109:93","nodes":[],"body":{"id":60545,"nodeType":"Block","src":"458:71:93","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":60540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":60535,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60532,"src":"476:4:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":60538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"492:1:93","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":60537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"484:7:93","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":60536,"name":"address","nodeType":"ElementaryTypeName","src":"484:7:93","typeDescriptions":{}}},"id":60539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"484:10:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"476:18:93","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"7a65726f2061646472657373","id":60541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"496:14:93","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b4461cfc9c1f0249c17896b005545dc5d1690f81d2023afc517b07ed3227a7","typeString":"literal_string \"zero address\""},"value":"zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a4b4461cfc9c1f0249c17896b005545dc5d1690f81d2023afc517b07ed3227a7","typeString":"literal_string \"zero address\""}],"id":60534,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"468:7:93","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":60542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"468:43:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60543,"nodeType":"ExpressionStatement","src":"468:43:93"},{"id":60544,"nodeType":"PlaceholderStatement","src":"521:1:93"}]},"name":"nonZeroAddress","nameLocation":"429:14:93","parameters":{"id":60533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60532,"mutability":"mutable","name":"addr","nameLocation":"452:4:93","nodeType":"VariableDeclaration","scope":60546,"src":"444:12:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60531,"name":"address","nodeType":"ElementaryTypeName","src":"444:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"443:14:93"},"virtual":false,"visibility":"internal"},{"id":60566,"nodeType":"FunctionDefinition","src":"535:161:93","nodes":[],"body":{"id":60565,"nodeType":"Block","src":"641:55:93","nodes":[],"statements":[{"expression":{"arguments":[{"id":60562,"name":"initialOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60550,"src":"676:12:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60559,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59622,"src":"651:12:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$59622_$","typeString":"type(library ERC1967Utils)"}},"id":60561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"664:11:93","memberName":"changeAdmin","nodeType":"MemberAccess","referencedDeclaration":59506,"src":"651:24:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"651:38:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60564,"nodeType":"ExpressionStatement","src":"651:38:93"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":60555,"name":"_logic","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60548,"src":"626:6:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60556,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60552,"src":"634:5:93","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":60557,"kind":"baseConstructorSpecifier","modifierName":{"id":60554,"name":"ERC1967Proxy","nameLocations":["613:12:93"],"nodeType":"IdentifierPath","referencedDeclaration":59319,"src":"613:12:93"},"nodeType":"ModifierInvocation","src":"613:27:93"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":60553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60548,"mutability":"mutable","name":"_logic","nameLocation":"555:6:93","nodeType":"VariableDeclaration","scope":60566,"src":"547:14:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60547,"name":"address","nodeType":"ElementaryTypeName","src":"547:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60550,"mutability":"mutable","name":"initialOwner","nameLocation":"571:12:93","nodeType":"VariableDeclaration","scope":60566,"src":"563:20:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60549,"name":"address","nodeType":"ElementaryTypeName","src":"563:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60552,"mutability":"mutable","name":"_data","nameLocation":"598:5:93","nodeType":"VariableDeclaration","scope":60566,"src":"585:18:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60551,"name":"bytes","nodeType":"ElementaryTypeName","src":"585:5:93","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"546:58:93"},"returnParameters":{"id":60558,"nodeType":"ParameterList","parameters":[],"src":"641:0:93"},"scope":60685,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":60574,"nodeType":"FunctionDefinition","src":"702:74:93","nodes":[],"body":{"id":60573,"nodeType":"Block","src":"729:47:93","nodes":[],"statements":[{"expression":{"arguments":[{"hexValue":"63616e6e6f742072656365697665204574686572","id":60570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"746:22:93","typeDescriptions":{"typeIdentifier":"t_stringliteral_83d7ebe4090e6c32bdfc84baa3699999f992df0ec838d3441142b472f82ef0e7","typeString":"literal_string \"cannot receive Ether\""},"value":"cannot receive Ether"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_83d7ebe4090e6c32bdfc84baa3699999f992df0ec838d3441142b472f82ef0e7","typeString":"literal_string \"cannot receive Ether\""}],"id":60569,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"739:6:93","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":60571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"739:30:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60572,"nodeType":"ExpressionStatement","src":"739:30:93"}]},"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":60567,"nodeType":"ParameterList","parameters":[],"src":"709:2:93"},"returnParameters":{"id":60568,"nodeType":"ParameterList","parameters":[],"src":"729:0:93"},"scope":60685,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":60588,"nodeType":"FunctionDefinition","src":"782:119:93","nodes":[],"body":{"id":60587,"nodeType":"Block","src":"850:51:93","nodes":[],"statements":[{"expression":{"arguments":[{"id":60584,"name":"newAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60576,"src":"885:8:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":60581,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59622,"src":"860:12:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$59622_$","typeString":"type(library ERC1967Utils)"}},"id":60583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"873:11:93","memberName":"changeAdmin","nodeType":"MemberAccess","referencedDeclaration":59506,"src":"860:24:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":60585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"860:34:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60586,"nodeType":"ExpressionStatement","src":"860:34:93"}]},"functionSelector":"dfd3dcb3","implemented":true,"kind":"function","modifiers":[{"id":60579,"kind":"modifierInvocation","modifierName":{"id":60578,"name":"onlyProxyOwner","nameLocations":["835:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60530,"src":"835:14:93"},"nodeType":"ModifierInvocation","src":"835:14:93"}],"name":"proxyChangeOwner","nameLocation":"791:16:93","parameters":{"id":60577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60576,"mutability":"mutable","name":"newAdmin","nameLocation":"816:8:93","nodeType":"VariableDeclaration","scope":60588,"src":"808:16:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60575,"name":"address","nodeType":"ElementaryTypeName","src":"808:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"807:18:93"},"returnParameters":{"id":60580,"nodeType":"ParameterList","parameters":[],"src":"850:0:93"},"scope":60685,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60630,"nodeType":"FunctionDefinition","src":"907:441:93","nodes":[],"body":{"id":60629,"nodeType":"Block","src":"1221:127:93","nodes":[],"statements":[{"expression":{"id":60615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60613,"name":"messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60997,"src":"1231:9:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":60614,"name":"_messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60590,"src":"1243:10:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1231:22:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60616,"nodeType":"ExpressionStatement","src":"1231:22:93"},{"expression":{"id":60619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60617,"name":"otherBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60999,"src":"1263:11:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":60618,"name":"_otherBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60592,"src":"1277:12:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1263:26:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60620,"nodeType":"ExpressionStatement","src":"1263:26:93"},{"expression":{"id":60623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60621,"name":"l1Usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61001,"src":"1299:6:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":60622,"name":"_l1Usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"1308:7:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1299:16:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60624,"nodeType":"ExpressionStatement","src":"1299:16:93"},{"expression":{"id":60627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":60625,"name":"l2Usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61003,"src":"1325:6:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":60626,"name":"_l2Usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60596,"src":"1334:7:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1325:16:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":60628,"nodeType":"ExpressionStatement","src":"1325:16:93"}]},"functionSelector":"9608088c","implemented":true,"kind":"function","modifiers":[{"id":60599,"kind":"modifierInvocation","modifierName":{"id":60598,"name":"onlyProxyOwner","nameLocations":["1066:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60530,"src":"1066:14:93"},"nodeType":"ModifierInvocation","src":"1066:14:93"},{"arguments":[{"id":60601,"name":"_messenger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60590,"src":"1104:10:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":60602,"kind":"modifierInvocation","modifierName":{"id":60600,"name":"nonZeroAddress","nameLocations":["1089:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60546,"src":"1089:14:93"},"nodeType":"ModifierInvocation","src":"1089:26:93"},{"arguments":[{"id":60604,"name":"_otherBridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60592,"src":"1139:12:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":60605,"kind":"modifierInvocation","modifierName":{"id":60603,"name":"nonZeroAddress","nameLocations":["1124:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60546,"src":"1124:14:93"},"nodeType":"ModifierInvocation","src":"1124:28:93"},{"arguments":[{"id":60607,"name":"_l1Usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60594,"src":"1176:7:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":60608,"kind":"modifierInvocation","modifierName":{"id":60606,"name":"nonZeroAddress","nameLocations":["1161:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60546,"src":"1161:14:93"},"nodeType":"ModifierInvocation","src":"1161:23:93"},{"arguments":[{"id":60610,"name":"_l2Usdc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60596,"src":"1208:7:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":60611,"kind":"modifierInvocation","modifierName":{"id":60609,"name":"nonZeroAddress","nameLocations":["1193:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60546,"src":"1193:14:93"},"nodeType":"ModifierInvocation","src":"1193:23:93"}],"name":"setAddress","nameLocation":"916:10:93","parameters":{"id":60597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60590,"mutability":"mutable","name":"_messenger","nameLocation":"944:10:93","nodeType":"VariableDeclaration","scope":60630,"src":"936:18:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60589,"name":"address","nodeType":"ElementaryTypeName","src":"936:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60592,"mutability":"mutable","name":"_otherBridge","nameLocation":"972:12:93","nodeType":"VariableDeclaration","scope":60630,"src":"964:20:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60591,"name":"address","nodeType":"ElementaryTypeName","src":"964:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60594,"mutability":"mutable","name":"_l1Usdc","nameLocation":"1002:7:93","nodeType":"VariableDeclaration","scope":60630,"src":"994:15:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60593,"name":"address","nodeType":"ElementaryTypeName","src":"994:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60596,"mutability":"mutable","name":"_l2Usdc","nameLocation":"1027:7:93","nodeType":"VariableDeclaration","scope":60630,"src":"1019:15:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60595,"name":"address","nodeType":"ElementaryTypeName","src":"1019:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"926:114:93"},"returnParameters":{"id":60612,"nodeType":"ParameterList","parameters":[],"src":"1221:0:93"},"scope":60685,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60648,"nodeType":"FunctionDefinition","src":"1354:146:93","nodes":[],"body":{"id":60647,"nodeType":"Block","src":"1424:76:93","nodes":[],"statements":[{"expression":{"arguments":[{"id":60640,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60632,"src":"1464:17:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"","id":60643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1489:2:93","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":60642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1483:5:93","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":60641,"name":"bytes","nodeType":"ElementaryTypeName","src":"1483:5:93","typeDescriptions":{}}},"id":60644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1483:9:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60637,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59622,"src":"1434:12:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$59622_$","typeString":"type(library ERC1967Utils)"}},"id":60639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1447:16:93","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":59441,"src":"1434:29:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":60645,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1434:59:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60646,"nodeType":"ExpressionStatement","src":"1434:59:93"}]},"functionSelector":"3659cfe6","implemented":true,"kind":"function","modifiers":[{"id":60635,"kind":"modifierInvocation","modifierName":{"id":60634,"name":"onlyProxyOwner","nameLocations":["1409:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60530,"src":"1409:14:93"},"nodeType":"ModifierInvocation","src":"1409:14:93"}],"name":"upgradeTo","nameLocation":"1363:9:93","parameters":{"id":60633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60632,"mutability":"mutable","name":"newImplementation","nameLocation":"1381:17:93","nodeType":"VariableDeclaration","scope":60648,"src":"1373:25:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60631,"name":"address","nodeType":"ElementaryTypeName","src":"1373:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1372:27:93"},"returnParameters":{"id":60636,"nodeType":"ParameterList","parameters":[],"src":"1424:0:93"},"scope":60685,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60665,"nodeType":"FunctionDefinition","src":"1506:167:93","nodes":[],"body":{"id":60664,"nodeType":"Block","src":"1602:71:93","nodes":[],"statements":[{"expression":{"arguments":[{"id":60660,"name":"newImplementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60650,"src":"1642:17:93","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":60661,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60652,"src":"1661:4:93","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":60657,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59622,"src":"1612:12:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$59622_$","typeString":"type(library ERC1967Utils)"}},"id":60659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1625:16:93","memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":59441,"src":"1612:29:93","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":60662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:54:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":60663,"nodeType":"ExpressionStatement","src":"1612:54:93"}]},"functionSelector":"4f1ef286","implemented":true,"kind":"function","modifiers":[{"id":60655,"kind":"modifierInvocation","modifierName":{"id":60654,"name":"onlyProxyOwner","nameLocations":["1587:14:93"],"nodeType":"IdentifierPath","referencedDeclaration":60530,"src":"1587:14:93"},"nodeType":"ModifierInvocation","src":"1587:14:93"}],"name":"upgradeToAndCall","nameLocation":"1515:16:93","parameters":{"id":60653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60650,"mutability":"mutable","name":"newImplementation","nameLocation":"1540:17:93","nodeType":"VariableDeclaration","scope":60665,"src":"1532:25:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60649,"name":"address","nodeType":"ElementaryTypeName","src":"1532:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":60652,"mutability":"mutable","name":"data","nameLocation":"1572:4:93","nodeType":"VariableDeclaration","scope":60665,"src":"1559:17:93","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":60651,"name":"bytes","nodeType":"ElementaryTypeName","src":"1559:5:93","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1531:46:93"},"returnParameters":{"id":60656,"nodeType":"ParameterList","parameters":[],"src":"1602:0:93"},"scope":60685,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":60675,"nodeType":"FunctionDefinition","src":"1679:94:93","nodes":[],"body":{"id":60674,"nodeType":"Block","src":"1726:47:93","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":60670,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59622,"src":"1743:12:93","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$59622_$","typeString":"type(library ERC1967Utils)"}},"id":60671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1756:8:93","memberName":"getAdmin","nodeType":"MemberAccess","referencedDeclaration":59458,"src":"1743:21:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1743:23:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":60669,"id":60673,"nodeType":"Return","src":"1736:30:93"}]},"functionSelector":"8da5cb5b","implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1688:5:93","parameters":{"id":60666,"nodeType":"ParameterList","parameters":[],"src":"1693:2:93"},"returnParameters":{"id":60669,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60668,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60675,"src":"1717:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60667,"name":"address","nodeType":"ElementaryTypeName","src":"1717:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1716:9:93"},"scope":60685,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":60684,"nodeType":"FunctionDefinition","src":"1779:99:93","nodes":[],"body":{"id":60683,"nodeType":"Block","src":"1837:41:93","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":60680,"name":"_implementation","nodeType":"Identifier","overloadedDeclarations":[59318],"referencedDeclaration":59318,"src":"1854:15:93","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":60681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1854:17:93","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":60679,"id":60682,"nodeType":"Return","src":"1847:24:93"}]},"functionSelector":"5c60da1b","implemented":true,"kind":"function","modifiers":[],"name":"implementation","nameLocation":"1788:14:93","parameters":{"id":60676,"nodeType":"ParameterList","parameters":[],"src":"1802:2:93"},"returnParameters":{"id":60679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":60678,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":60684,"src":"1828:7:93","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":60677,"name":"address","nodeType":"ElementaryTypeName","src":"1828:7:93","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1827:9:93"},"scope":60685,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":60514,"name":"L1UsdcBridgeStorage","nameLocations":["277:19:93"],"nodeType":"IdentifierPath","referencedDeclaration":60698,"src":"277:19:93"},"id":60515,"nodeType":"InheritanceSpecifier","src":"277:19:93"},{"baseName":{"id":60516,"name":"ERC1967Proxy","nameLocations":["298:12:93"],"nodeType":"IdentifierPath","referencedDeclaration":59319,"src":"298:12:93"},"id":60517,"nodeType":"InheritanceSpecifier","src":"298:12:93"}],"canonicalName":"L1UsdcBridgeProxy","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[60685,59319,59782,60698,61030],"name":"L1UsdcBridgeProxy","nameLocation":"256:17:93","scope":60686,"usedErrors":[59041,59044,59354,59359,59367],"usedEvents":[59333,59340]}],"license":"MIT"},"id":93}