@tokamak-network/thanos-contracts
Version:
1 lines • 31.2 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"implementation","type":"address","internalType":"address"},{"name":"_data","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"fallback","stateMutability":"payable"},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","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":"0x608060405260405161073e38038061073e833981016040819052610022916102a2565b610036828261003d60201b6100201760201c565b505061038c565b610046826100a6565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561009a57610095828261013960201b61008c1760201c565b505050565b6100a26101b0565b5050565b806001600160a01b03163b6000036100e157604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b806101187f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6101d160201b61010f1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b0316846040516101569190610370565b600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b5090925090506101a78583836101d4565b95945050505050565b34156101cf5760405163b398979f60e01b815260040160405180910390fd5b565b90565b6060826101e9576101e482610233565b61022c565b815115801561020057506001600160a01b0384163b155b1561022957604051639996b31560e01b81526001600160a01b03851660048201526024016100d8565b50805b9392505050565b8051156102435780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561028d578181015183820152602001610275565b8381111561029c576000848401525b50505050565b600080604083850312156102b557600080fd5b82516001600160a01b03811681146102cc57600080fd5b60208401519092506001600160401b03808211156102e957600080fd5b818501915085601f8301126102fd57600080fd5b81518181111561030f5761030f61025c565b604051601f8201601f19908116603f011681019083821181831017156103375761033761025c565b8160405282815288602084870101111561035057600080fd5b610361836020830160208801610272565b80955050505050509250929050565b60008251610382818460208701610272565b9190910192915050565b6103a38061039b6000396000f3fe608060405261000c61000e565b005b61001e610019610112565b610157565b565b6100298261017b565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156100805761007b828261008c565b505050565b61008861024f565b5050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516100b6919061035b565b600060405180830381855af49150503d80600081146100f1576040519150601f19603f3d011682016040523d82523d6000602084013e6100f6565b606091505b5091509150610106858383610287565b95945050505050565b90565b60006101527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015610176573d6000f35b3d6000fd5b8073ffffffffffffffffffffffffffffffffffffffff163b6000036101e9576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b341561001e576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261029c5761029782610319565b610312565b81511580156102c0575073ffffffffffffffffffffffffffffffffffffffff84163b155b1561030f576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016101e0565b50805b9392505050565b8051156103295780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825160005b8181101561037c5760208186018101518583015201610362565b8181111561038b576000828501525b50919091019291505056fea164736f6c634300080f000a","sourceMap":"601:1116:254:-:0;;;1082:133;;;;;;;;;;;;;;;;;;:::i;:::-;1156:52;1186:14;1202:5;1156:29;;;;;:52;;:::i;:::-;1082:133;;601:1116;;2756:335:255;2847:37;2866:17;2847:18;:37::i;:::-;2899:27;;-1:-1:-1;;;;;2899:27:255;;;;;;;;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;2163:281::-;2240:17;-1:-1:-1;;;;;2240:29:255;;2273:1;2240:34;2236:119;;2297:47;;-1:-1:-1;;;2297:47:255;;-1:-1:-1;;;;;1628:32:416;;2297:47:255;;;1610:51:416;1583:18;;2297:47:255;;;;;;;;2236:119;2420:17;2364:47;1304:66;2391:19;;2364:26;;;;;:47;;:::i;:::-;:73;;-1:-1:-1;;;;;;2364:73:255;-1:-1:-1;;;;;2364:73:255;;;;;;;;;;-1:-1:-1;2163:281:255:o;4122:253:253:-;4205:12;4230;4244:23;4271:6;-1:-1:-1;;;;;4271:19:253;4291:4;4271:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4229:67:253;;-1:-1:-1;4229:67:253;-1:-1:-1;4313:55:253;4340:6;4229:67;;4313:26;:55::i;:::-;4306:62;4122:253;-1:-1:-1;;;;;4122:253:253:o;6575:122:255:-;6625:9;:13;6621:70;;6661:19;;-1:-1:-1;;;6661:19:255;;;;;;;;;;;6621:70;6575:122::o;1686:190:261:-;1856:4;1686:190::o;4641:610:253:-;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:253;;;:23;5089:49;5085:119;;;5165:24;;-1:-1:-1;;;5165:24:253;;-1:-1:-1;;;;;1628:32:416;;5165:24:253;;;1610:51:416;1583:18;;5165:24:253;1464:203:416;5085:119:253;-1:-1:-1;5224:10:253;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:253;;;;;;;;;;;14:127:416;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:258;218:1;228:113;242:6;239:1;236:13;228:113;;;318:11;;;312:18;299:11;;;292:39;264:2;257:10;228:113;;;359:6;356:1;353:13;350:48;;;394:1;385:6;380:3;376:16;369:27;350:48;;146:258;;;:::o;409:1050::-;497:6;505;558:2;546:9;537:7;533:23;529:32;526:52;;;574:1;571;564:12;526:52;600:16;;-1:-1:-1;;;;;645:31:416;;635:42;;625:70;;691:1;688;681:12;625:70;763:2;748:18;;742:25;714:5;;-1:-1:-1;;;;;;816:14:416;;;813:34;;;843:1;840;833:12;813:34;881:6;870:9;866:22;856:32;;926:7;919:4;915:2;911:13;907:27;897:55;;948:1;945;938:12;897:55;977:2;971:9;999:2;995;992:10;989:36;;;1005:18;;:::i;:::-;1080:2;1074:9;1048:2;1134:13;;-1:-1:-1;;1130:22:416;;;1154:2;1126:31;1122:40;1110:53;;;1178:18;;;1198:22;;;1175:46;1172:72;;;1224:18;;:::i;:::-;1264:10;1260:2;1253:22;1299:2;1291:6;1284:18;1339:7;1334:2;1329;1325;1321:11;1317:20;1314:33;1311:53;;;1360:1;1357;1350:12;1311:53;1373:55;1425:2;1420;1412:6;1408:15;1403:2;1399;1395:11;1373:55;:::i;:::-;1447:6;1437:16;;;;;;;409:1050;;;;;:::o;1672:274::-;1801:3;1839:6;1833:13;1855:53;1901:6;1896:3;1889:4;1881:6;1877:17;1855:53;:::i;:::-;1924:16;;;;;1672:274;-1:-1:-1;;1672:274:416:o;:::-;601:1116:254;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405261000c61000e565b005b61001e610019610112565b610157565b565b6100298261017b565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156100805761007b828261008c565b505050565b61008861024f565b5050565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516100b6919061035b565b600060405180830381855af49150503d80600081146100f1576040519150601f19603f3d011682016040523d82523d6000602084013e6100f6565b606091505b5091509150610106858383610287565b95945050505050565b90565b60006101527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015610176573d6000f35b3d6000fd5b8073ffffffffffffffffffffffffffffffffffffffff163b6000036101e9576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b341561001e576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60608261029c5761029782610319565b610312565b81511580156102c0575073ffffffffffffffffffffffffffffffffffffffff84163b155b1561030f576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016101e0565b50805b9392505050565b8051156103295780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000825160005b8181101561037c5760208186018101518583015201610362565b8181111561038b576000828501525b50919091019291505056fea164736f6c634300080f000a","sourceMap":"601:1116:254:-:0;;;2592:11:259;:9;:11::i;:::-;601:1116:254;2266:83:259;2314:28;2324:17;:15;:17::i;:::-;2314:9;:28::i;:::-;2266:83::o;2756:335:255:-;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;:::-;;2756:335;;:::o;2937:148::-;3056:18;:16;:18::i;:::-;2756:335;;:::o;4122:253:253:-;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:253:o;1686:190:261:-;1856:4;1686:190::o;1583:132:254:-;1650:7;1676:32;1304:66:255;2012:53;;;;1934:138;1676:32:254;1669:39;;1583:132;:::o;948:839:259:-;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;2163:281:255;2240:17;:29;;;2273:1;2240:34;2236:119;;2297:47;;;;;621:42:416;609:55;;2297:47:255;;;591:74:416;564:18;;2297:47:255;;;;;;;;2236:119;1304:66;2364:73;;;;;;;;;;;;;;;2163:281::o;6575:122::-;6625:9;:13;6621:70;;6661:19;;;;;;;;;;;;;;4641:610:253;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:253;;;;:23;5089:49;5085:119;;;5165:24;;;;;621:42:416;609:55;;5165:24:253;;;591:74:416;564:18;;5165:24:253;445:226:416;5085:119:253;-1:-1:-1;5224:10:253;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;;;;;;;;;;;;;;14:426:416;143:3;181:6;175:13;206:1;216:129;230:6;227:1;224:13;216:129;;;328:4;312:14;;;308:25;;302:32;289:11;;;282:53;245:12;216:129;;;363:6;360:1;357:13;354:48;;;398:1;389:6;384:3;380:16;373:27;354:48;-1:-1:-1;418:16:416;;;;;14:426;-1:-1:-1;;14:426:416:o","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedInnerCall\",\"type\":\"error\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"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.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/tokamak-contracts/USDC/L1/libraries/ERC1967Proxy.sol\":\"ERC1967Proxy\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"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\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"implementation","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":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedInnerCall"},{"inputs":[],"stateMutability":"payable","type":"fallback"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero."}},"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/libraries/ERC1967Proxy.sol":"ERC1967Proxy"},"evmVersion":"london","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"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","details":"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.","methods":{"constructor":{"details":"Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero."}},"errors":{"AddressEmptyCode(address)":[{"details":"There's no code at `target` (it is not a contract)."}],"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/libraries/ERC1967Proxy.sol","id":119486,"exportedSymbols":{"ERC1967Proxy":[119485],"ERC1967Utils":[119788],"Proxy":[119948]},"nodeType":"SourceUnit","src":"114:1604:254","nodes":[{"id":119449,"nodeType":"PragmaDirective","src":"114:23:254","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":119451,"nodeType":"ImportDirective","src":"139:36:254","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L1/libraries/Proxy.sol","file":"./Proxy.sol","nameLocation":"-1:-1:-1","scope":119486,"sourceUnit":119949,"symbolAliases":[{"foreign":{"id":119450,"name":"Proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119948,"src":"148:5:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":119453,"nodeType":"ImportDirective","src":"176:50:254","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L1/libraries/ERC1967Utils.sol","file":"./ERC1967Utils.sol","nameLocation":"-1:-1:-1","scope":119486,"sourceUnit":119789,"symbolAliases":[{"foreign":{"id":119452,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119788,"src":"185:12:254","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":119485,"nodeType":"ContractDefinition","src":"601:1116:254","nodes":[{"id":119472,"nodeType":"FunctionDefinition","src":"1082:133:254","nodes":[],"body":{"id":119471,"nodeType":"Block","src":"1146:69:254","nodes":[],"statements":[{"expression":{"arguments":[{"id":119467,"name":"implementation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119459,"src":"1186:14:254","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":119468,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119461,"src":"1202:5:254","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":119464,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119788,"src":"1156:12:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$119788_$","typeString":"type(library ERC1967Utils)"}},"id":119466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"upgradeToAndCall","nodeType":"MemberAccess","referencedDeclaration":119607,"src":"1156:29:254","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":119469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1156:52:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":119470,"nodeType":"ExpressionStatement","src":"1156:52:254"}]},"documentation":{"id":119457,"nodeType":"StructuredDocumentation","src":"638:439:254","text":" @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.\n If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an\n encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\n Requirements:\n - If `data` is empty, `msg.value` must be zero."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":119462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119459,"mutability":"mutable","name":"implementation","nameLocation":"1102:14:254","nodeType":"VariableDeclaration","scope":119472,"src":"1094:22:254","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119458,"name":"address","nodeType":"ElementaryTypeName","src":"1094:7:254","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":119461,"mutability":"mutable","name":"_data","nameLocation":"1131:5:254","nodeType":"VariableDeclaration","scope":119472,"src":"1118:18:254","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":119460,"name":"bytes","nodeType":"ElementaryTypeName","src":"1118:5:254","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1093:44:254"},"returnParameters":{"id":119463,"nodeType":"ParameterList","parameters":[],"src":"1146:0:254"},"scope":119485,"stateMutability":"payable","virtual":false,"visibility":"public"},{"id":119484,"nodeType":"FunctionDefinition","src":"1583:132:254","nodes":[],"body":{"id":119483,"nodeType":"Block","src":"1659:56:254","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":119479,"name":"ERC1967Utils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":119788,"src":"1676:12:254","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC1967Utils_$119788_$","typeString":"type(library ERC1967Utils)"}},"id":119480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getImplementation","nodeType":"MemberAccess","referencedDeclaration":119546,"src":"1676:30:254","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":119481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1676:32:254","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":119478,"id":119482,"nodeType":"Return","src":"1669:39:254"}]},"baseFunctions":[119929],"documentation":{"id":119473,"nodeType":"StructuredDocumentation","src":"1221:357:254","text":" @dev Returns the current implementation address.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`"},"implemented":true,"kind":"function","modifiers":[],"name":"_implementation","nameLocation":"1592:15:254","overrides":{"id":119475,"nodeType":"OverrideSpecifier","overrides":[],"src":"1632:8:254"},"parameters":{"id":119474,"nodeType":"ParameterList","parameters":[],"src":"1607:2:254"},"returnParameters":{"id":119478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":119477,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":119484,"src":"1650:7:254","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119476,"name":"address","nodeType":"ElementaryTypeName","src":"1650:7:254","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1649:9:254"},"scope":119485,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":119455,"name":"Proxy","nodeType":"IdentifierPath","referencedDeclaration":119948,"src":"626:5:254"},"id":119456,"nodeType":"InheritanceSpecifier","src":"626:5:254"}],"canonicalName":"ERC1967Proxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":119454,"nodeType":"StructuredDocumentation","src":"228:372:254","text":" @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n implementation address that can be changed. This address is stored in storage in the location specified by\n https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the\n implementation behind the proxy."},"fullyImplemented":true,"linearizedBaseContracts":[119485,119948],"name":"ERC1967Proxy","nameLocation":"610:12:254","scope":119486,"usedErrors":[119207,119210,119520,119533]}],"license":"MIT"},"id":254}