UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 43.7 kB
{"abi":[{"type":"constructor","inputs":[{"name":"_addressManager","type":"address","internalType":"contract AddressManager"},{"name":"_implementationName","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516105f03803806105f083398101604081905261002f91610088565b30600090815260016020908152604080832080546001600160a01b0319166001600160a01b03871617905590829052902061006a8282610203565b5050506102c2565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561009b57600080fd5b82516001600160a01b03811681146100b257600080fd5b602084810151919350906001600160401b03808211156100d157600080fd5b818601915086601f8301126100e557600080fd5b8151818111156100f7576100f7610072565b604051601f8201601f19908116603f0116810190838211818310171561011f5761011f610072565b81604052828152898684870101111561013757600080fd5b600093505b82841015610159578484018601518185018701529285019261013c565b8284111561016a5760008684830101525b8096505050505050509250929050565b600181811c9082168061018e57607f821691505b6020821081036101ae57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156101fe57600081815260208120601f850160051c810160208610156101db5750805b601f850160051c820191505b818110156101fa578281556001016101e7565b5050505b505050565b81516001600160401b0381111561021c5761021c610072565b6102308161022a845461017a565b846101b4565b602080601f831160018114610265576000841561024d5750858301515b600019600386901b1c1916600185901b1785556101fa565b600085815260208120601f198616915b8281101561029457888601518255948401946001909101908401610275565b50858210156102b25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61031f806102d16000396000f3fe608060408181523060009081526001602090815282822054908290529181207fbf40fac1000000000000000000000000000000000000000000000000000000009093529173ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac19061006d9060846101e2565b602060405180830381865afa15801561008a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ae91906102c5565b905073ffffffffffffffffffffffffffffffffffffffff8116610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f5265736f6c76656444656c656761746550726f78793a2074617267657420616460448201527f6472657373206d75737420626520696e697469616c697a656400000000000000606482015260840160405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff16600036604051610182929190610302565b600060405180830381855af49150503d80600081146101bd576040519150601f19603f3d011682016040523d82523d6000602084013e6101c2565b606091505b5090925090508115156001036101da57805160208201f35b805160208201fd5b600060208083526000845481600182811c91508083168061020457607f831692505b858310810361023a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b878601838152602001818015610257576001811461028b576102b6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506102b6565b60008b81526020902060005b868110156102b057815484820152908501908901610297565b83019750505b50949998505050505050505050565b6000602082840312156102d757600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102fb57600080fd5b9392505050565b818382376000910190815291905056fea164736f6c634300080f000a","sourceMap":"448:2077:211:-:0;;;1573:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1685:4;1662:29;;;;:14;:29;;;;;;;;:47;;-1:-1:-1;;;;;;1662:47:211;-1:-1:-1;;;;;1662:47:211;;;;;1719:33;;;;;;:55;1755:19;1719:33;:55;:::i;:::-;;1573:208;;448:2077;;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:1279;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;363:16;;-1:-1:-1;;;;;408:31:416;;398:42;;388:70;;454:1;451;444:12;388:70;501:2;532:18;;;526:25;477:5;;-1:-1:-1;501:2:416;-1:-1:-1;;;;;600:14:416;;;597:34;;;627:1;624;617:12;597:34;665:6;654:9;650:22;640:32;;710:7;703:4;699:2;695:13;691:27;681:55;;732:1;729;722:12;681:55;761:2;755:9;783:2;779;776:10;773:36;;;789:18;;:::i;:::-;864:2;858:9;832:2;918:13;;-1:-1:-1;;914:22:416;;;938:2;910:31;906:40;894:53;;;962:18;;;982:22;;;959:46;956:72;;;1008:18;;:::i;:::-;1048:10;1044:2;1037:22;1083:2;1075:6;1068:18;1123:7;1118:2;1113;1109;1105:11;1101:20;1098:33;1095:53;;;1144:1;1141;1134:12;1095:53;1166:1;1157:10;;1176:129;1190:2;1187:1;1184:9;1176:129;;;1278:10;;;1274:19;;1268:26;1247:14;;;1243:23;;1236:59;1201:10;;;;1176:129;;;1323:2;1320:1;1317:9;1314:80;;;1382:1;1377:2;1372;1364:6;1360:15;1356:24;1349:35;1314:80;1413:6;1403:16;;;;;;;;146:1279;;;;;:::o;1430:380::-;1509:1;1505:12;;;;1552;;;1573:61;;1627:4;1619:6;1615:17;1605:27;;1573:61;1680:2;1672:6;1669:14;1649:18;1646:38;1643:161;;1726:10;1721:3;1717:20;1714:1;1707:31;1761:4;1758:1;1751:15;1789:4;1786:1;1779:15;1643:161;;1430:380;;;:::o;1941:545::-;2043:2;2038:3;2035:11;2032:448;;;2079:1;2104:5;2100:2;2093:17;2149:4;2145:2;2135:19;2219:2;2207:10;2203:19;2200:1;2196:27;2190:4;2186:38;2255:4;2243:10;2240:20;2237:47;;;-1:-1:-1;2278:4:416;2237:47;2333:2;2328:3;2324:12;2321:1;2317:20;2311:4;2307:31;2297:41;;2388:82;2406:2;2399:5;2396:13;2388:82;;;2451:17;;;2432:1;2421:13;2388:82;;;2392:3;;;2032:448;1941:545;;;:::o;2662:1352::-;2782:10;;-1:-1:-1;;;;;2804:30:416;;2801:56;;;2837:18;;:::i;:::-;2866:97;2956:6;2916:38;2948:4;2942:11;2916:38;:::i;:::-;2910:4;2866:97;:::i;:::-;3018:4;;3082:2;3071:14;;3099:1;3094:663;;;;3801:1;3818:6;3815:89;;;-1:-1:-1;3870:19:416;;;3864:26;3815:89;-1:-1:-1;;2619:1:416;2615:11;;;2611:24;2607:29;2597:40;2643:1;2639:11;;;2594:57;3917:81;;3064:944;;3094:663;1888:1;1881:14;;;1925:4;1912:18;;-1:-1:-1;;3130:20:416;;;3248:236;3262:7;3259:1;3256:14;3248:236;;;3351:19;;;3345:26;3330:42;;3443:27;;;;3411:1;3399:14;;;;3278:19;;3248:236;;;3252:3;3512:6;3503:7;3500:19;3497:201;;;3573:19;;;3567:26;-1:-1:-1;;3656:1:416;3652:14;;;3668:3;3648:24;3644:37;3640:42;3625:58;3610:74;;3497:201;-1:-1:-1;;;;;3744:1:416;3728:14;;;3724:22;3711:36;;-1:-1:-1;2662:1352:416:o;:::-;448:2077:211;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060408181523060009081526001602090815282822054908290529181207fbf40fac1000000000000000000000000000000000000000000000000000000009093529173ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac19061006d9060846101e2565b602060405180830381865afa15801561008a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ae91906102c5565b905073ffffffffffffffffffffffffffffffffffffffff8116610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f5265736f6c76656444656c656761746550726f78793a2074617267657420616460448201527f6472657373206d75737420626520696e697469616c697a656400000000000000606482015260840160405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff16600036604051610182929190610302565b600060405180830381855af49150503d80600081146101bd576040519150601f19603f3d011682016040523d82523d6000602084013e6101c2565b606091505b5090925090508115156001036101da57805160208201f35b805160208201fd5b600060208083526000845481600182811c91508083168061020457607f831692505b858310810361023a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b878601838152602001818015610257576001811461028b576102b6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506102b6565b60008b81526020902060005b868110156102b057815484820152908501908901610297565b83019750505b50949998505050505050505050565b6000602082840312156102d757600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102fb57600080fd5b9392505050565b818382376000910190815291905056fea164736f6c634300080f000a","sourceMap":"448:2077:211:-:0;;;;;1955:4;1915:14;1932:29;;;:14;:29;;;;;;;;1974:33;;;;;;;1932:77;;;;1915:14;1932:29;;;;;:40;;:77;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1915:94;-1:-1:-1;2028:20:211;;;2020:90;;;;;;;2149:2:416;2020:90:211;;;2131:21:416;2188:2;2168:18;;;2161:30;2227:34;2207:18;;;2200:62;2298:27;2278:18;;;2271:55;2343:19;;2020:90:211;;;;;;;;2183:12;2197:23;2224:6;:19;;2244:8;;2224:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2182:71:211;;-1:-1:-1;2182:71:211;-1:-1:-1;2268:15:211;;;2279:4;2268:15;2264:253;;2362:10;2356:17;2349:4;2337:10;2333:21;2326:48;2264:253;2481:10;2475:17;2468:4;2456:10;2452:21;2445:48;295:1329:416;404:4;433:2;462;451:9;444:21;485:1;518:6;512:13;548:3;570:1;598:9;594:2;590:18;580:28;;658:2;647:9;643:18;680;670:61;;724:4;716:6;712:17;702:27;;670:61;777:2;769:6;766:14;746:18;743:38;740:222;;816:77;811:3;804:90;917:4;914:1;907:15;947:4;942:3;935:17;740:222;1018:18;;;101:19;;;153:4;144:14;1061:18;1088:186;;;;1288:1;1283:315;;;;1054:544;;1088:186;1136:66;1125:9;1121:82;1116:3;1109:95;1254:6;1247:14;1240:22;1237:1;1233:30;1228:3;1224:40;1217:47;;1088:186;;1283:315;242:1;235:14;;;279:4;266:18;;1378:1;1392:165;1406:6;1403:1;1400:13;1392:165;;;1484:14;;1471:11;;;1464:35;1527:16;;;;1421:10;;1392:165;;;1577:11;;;-1:-1:-1;;1054:544:416;-1:-1:-1;1615:3:416;;295:1329;-1:-1:-1;;;;;;;;;295:1329:416:o;1629:313::-;1699:6;1752:2;1740:9;1731:7;1727:23;1723:32;1720:52;;;1768:1;1765;1758:12;1720:52;1800:9;1794:16;1850:42;1843:5;1839:54;1832:5;1829:65;1819:93;;1908:1;1905;1898:12;1819:93;1931:5;1629:313;-1:-1:-1;;;1629:313:416:o;2373:271::-;2556:6;2548;2543:3;2530:33;2512:3;2582:16;;2607:13;;;2582:16;2373:271;-1:-1:-1;2373:271:416:o","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract AddressManager\",\"name\":\"_addressManager\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_implementationName\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"custom:legacy\":\"@title ResolvedDelegateProxy\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_addressManager\":\"Address of the AddressManager.\",\"_implementationName\":\"implementationName of the contract to proxy to.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"ResolvedDelegateProxy is a legacy proxy contract that makes use of the AddressManager to resolve the implementation address. We're maintaining this contract for backwards compatibility so we can manage all legacy proxies where necessary.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/legacy/ResolvedDelegateProxy.sol\":\"ResolvedDelegateProxy\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/legacy/AddressManager.sol\":{\"keccak256\":\"0x1fcb990df6473f7fa360d5924d62d39ce2ca97d45668e3901e5405cfbe598b19\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d08358b60dea54dbc32e988a1bb7ea909488063eaae3c5ae28a322f125c9b34\",\"dweb:/ipfs/QmZPQwdjLh9gaamNAoTUmWwwbRKj3yHovBYfnTPnfuKvUt\"]},\"src/legacy/ResolvedDelegateProxy.sol\":{\"keccak256\":\"0xb24f18d87e260cd6a8338c770c8be4f58e55c94ce106457fbffbde4e1e6548d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d74acc206a863a1f593bf65f13e44c919bb8df78a18df31a9ef0b1d210f86c32\",\"dweb:/ipfs/QmXNiAPiX6WRVDZrKu7SPgv4biCPft7ER673Jeyy89YCFQ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract AddressManager","name":"_addressManager","type":"address"},{"internalType":"string","name":"_implementationName","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"payable","type":"fallback"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_addressManager":"Address of the AddressManager.","_implementationName":"implementationName of the contract to proxy to."}}},"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/legacy/ResolvedDelegateProxy.sol":"ResolvedDelegateProxy"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673","urls":["bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2","dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"src/legacy/AddressManager.sol":{"keccak256":"0x1fcb990df6473f7fa360d5924d62d39ce2ca97d45668e3901e5405cfbe598b19","urls":["bzz-raw://9d08358b60dea54dbc32e988a1bb7ea909488063eaae3c5ae28a322f125c9b34","dweb:/ipfs/QmZPQwdjLh9gaamNAoTUmWwwbRKj3yHovBYfnTPnfuKvUt"],"license":"MIT"},"src/legacy/ResolvedDelegateProxy.sol":{"keccak256":"0xb24f18d87e260cd6a8338c770c8be4f58e55c94ce106457fbffbde4e1e6548d9","urls":["bzz-raw://d74acc206a863a1f593bf65f13e44c919bb8df78a18df31a9ef0b1d210f86c32","dweb:/ipfs/QmXNiAPiX6WRVDZrKu7SPgv4biCPft7ER673Jeyy89YCFQ"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":112437,"contract":"src/legacy/ResolvedDelegateProxy.sol:ResolvedDelegateProxy","label":"implementationName","offset":0,"slot":"0","type":"t_mapping(t_address,t_string_storage)"},{"astId":112443,"contract":"src/legacy/ResolvedDelegateProxy.sol:ResolvedDelegateProxy","label":"addressManager","offset":0,"slot":"1","type":"t_mapping(t_address,t_contract(AddressManager)111578)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_contract(AddressManager)111578":{"encoding":"inplace","label":"contract AddressManager","numberOfBytes":"20"},"t_mapping(t_address,t_contract(AddressManager)111578)":{"encoding":"mapping","key":"t_address","label":"mapping(address => contract AddressManager)","numberOfBytes":"32","value":"t_contract(AddressManager)111578"},"t_mapping(t_address,t_string_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => string)","numberOfBytes":"32","value":"t_string_storage"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user","notice":"ResolvedDelegateProxy is a legacy proxy contract that makes use of the AddressManager to resolve the implementation address. We're maintaining this contract for backwards compatibility so we can manage all legacy proxies where necessary."},"devdoc":{"version":1,"kind":"dev","methods":{"constructor":{"params":{"_addressManager":"Address of the AddressManager.","_implementationName":"implementationName of the contract to proxy to."}}}},"ast":{"absolutePath":"src/legacy/ResolvedDelegateProxy.sol","id":112524,"exportedSymbols":{"AddressManager":[111578],"ResolvedDelegateProxy":[112523]},"nodeType":"SourceUnit","src":"32:2494:211","nodes":[{"id":112429,"nodeType":"PragmaDirective","src":"32:23:211","nodes":[],"literals":["solidity","0.8",".15"]},{"id":112431,"nodeType":"ImportDirective","src":"57:63:211","nodes":[],"absolutePath":"src/legacy/AddressManager.sol","file":"src/legacy/AddressManager.sol","nameLocation":"-1:-1:-1","scope":112524,"sourceUnit":111579,"symbolAliases":[{"foreign":{"id":112430,"name":"AddressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":111578,"src":"66:14:211","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":112523,"nodeType":"ContractDefinition","src":"448:2077:211","nodes":[{"id":112437,"nodeType":"VariableDeclaration","src":"969:53:211","nodes":[],"constant":false,"documentation":{"id":112433,"nodeType":"StructuredDocumentation","src":"485:479:211","text":"@notice Mapping used to store the implementation name that corresponds to this contract. A\n mapping was originally used as a way to bypass the same issue normally solved by\n storing the implementation address in a specific storage slot that does not conflict\n with any other storage slot. Generally NOT a safe solution but works as long as the\n implementation does not also keep a mapping in the first storage slot."},"mutability":"mutable","name":"implementationName","nameLocation":"1004:18:211","scope":112523,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_string_storage_$","typeString":"mapping(address => string)"},"typeName":{"id":112436,"keyType":{"id":112434,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:211","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"969:26:211","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_string_storage_$","typeString":"mapping(address => string)"},"valueType":{"id":112435,"name":"string","nodeType":"ElementaryTypeName","src":"988:6:211","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"visibility":"private"},{"id":112443,"nodeType":"VariableDeclaration","src":"1363:57:211","nodes":[],"constant":false,"documentation":{"id":112438,"nodeType":"StructuredDocumentation","src":"1029:329:211","text":"@notice Mapping used to store the address of the AddressManager contract where the\n implementation address will be resolved from. Same concept here as with the above\n mapping. Also generally unsafe but fine if the implementation doesn't keep a mapping\n in the second storage slot."},"mutability":"mutable","name":"addressManager","nameLocation":"1406:14:211","scope":112523,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_AddressManager_$111578_$","typeString":"mapping(address => contract AddressManager)"},"typeName":{"id":112442,"keyType":{"id":112439,"name":"address","nodeType":"ElementaryTypeName","src":"1371:7:211","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1363:34:211","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_AddressManager_$111578_$","typeString":"mapping(address => contract AddressManager)"},"valueType":{"id":112441,"nodeType":"UserDefinedTypeName","pathNode":{"id":112440,"name":"AddressManager","nodeType":"IdentifierPath","referencedDeclaration":111578,"src":"1382:14:211"},"referencedDeclaration":111578,"src":"1382:14:211","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"}}},"visibility":"private"},{"id":112471,"nodeType":"FunctionDefinition","src":"1573:208:211","nodes":[],"body":{"id":112470,"nodeType":"Block","src":"1652:129:211","nodes":[],"statements":[{"expression":{"id":112459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":112452,"name":"addressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112443,"src":"1662:14:211","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_AddressManager_$111578_$","typeString":"mapping(address => contract AddressManager)"}},"id":112457,"indexExpression":{"arguments":[{"id":112455,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1685:4:211","typeDescriptions":{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}],"id":112454,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1677:7:211","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":112453,"name":"address","nodeType":"ElementaryTypeName","src":"1677:7:211","typeDescriptions":{}}},"id":112456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1677:13:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1662:29:211","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":112458,"name":"_addressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112447,"src":"1694:15:211","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"}},"src":"1662:47:211","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"}},"id":112460,"nodeType":"ExpressionStatement","src":"1662:47:211"},{"expression":{"id":112468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":112461,"name":"implementationName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112437,"src":"1719:18:211","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_string_storage_$","typeString":"mapping(address => string storage ref)"}},"id":112466,"indexExpression":{"arguments":[{"id":112464,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1746:4:211","typeDescriptions":{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}],"id":112463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1738:7:211","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":112462,"name":"address","nodeType":"ElementaryTypeName","src":"1738:7:211","typeDescriptions":{}}},"id":112465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1738:13:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1719:33:211","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":112467,"name":"_implementationName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112449,"src":"1755:19:211","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1719:55:211","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":112469,"nodeType":"ExpressionStatement","src":"1719:55:211"}]},"documentation":{"id":112444,"nodeType":"StructuredDocumentation","src":"1427:141:211","text":"@param _addressManager Address of the AddressManager.\n @param _implementationName implementationName of the contract to proxy to."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":112450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":112447,"mutability":"mutable","name":"_addressManager","nameLocation":"1600:15:211","nodeType":"VariableDeclaration","scope":112471,"src":"1585:30:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"},"typeName":{"id":112446,"nodeType":"UserDefinedTypeName","pathNode":{"id":112445,"name":"AddressManager","nodeType":"IdentifierPath","referencedDeclaration":111578,"src":"1585:14:211"},"referencedDeclaration":111578,"src":"1585:14:211","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"}},"visibility":"internal"},{"constant":false,"id":112449,"mutability":"mutable","name":"_implementationName","nameLocation":"1631:19:211","nodeType":"VariableDeclaration","scope":112471,"src":"1617:33:211","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":112448,"name":"string","nodeType":"ElementaryTypeName","src":"1617:6:211","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1584:67:211"},"returnParameters":{"id":112451,"nodeType":"ParameterList","parameters":[],"src":"1652:0:211"},"scope":112523,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":112522,"nodeType":"FunctionDefinition","src":"1877:646:211","nodes":[],"body":{"id":112521,"nodeType":"Block","src":"1905:618:211","nodes":[],"statements":[{"assignments":[112476],"declarations":[{"constant":false,"id":112476,"mutability":"mutable","name":"target","nameLocation":"1923:6:211","nodeType":"VariableDeclaration","scope":112521,"src":"1915:14:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":112475,"name":"address","nodeType":"ElementaryTypeName","src":"1915:7:211","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":112492,"initialValue":{"arguments":[{"components":[{"baseExpression":{"id":112484,"name":"implementationName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112437,"src":"1974:18:211","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_string_storage_$","typeString":"mapping(address => string storage ref)"}},"id":112489,"indexExpression":{"arguments":[{"id":112487,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2001:4:211","typeDescriptions":{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}],"id":112486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1993:7:211","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":112485,"name":"address","nodeType":"ElementaryTypeName","src":"1993:7:211","typeDescriptions":{}}},"id":112488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1993:13:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1974:33:211","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"id":112490,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1973:35:211","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}],"expression":{"baseExpression":{"id":112477,"name":"addressManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112443,"src":"1932:14:211","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_AddressManager_$111578_$","typeString":"mapping(address => contract AddressManager)"}},"id":112482,"indexExpression":{"arguments":[{"id":112480,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1955:4:211","typeDescriptions":{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ResolvedDelegateProxy_$112523","typeString":"contract ResolvedDelegateProxy"}],"id":112479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1947:7:211","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":112478,"name":"address","nodeType":"ElementaryTypeName","src":"1947:7:211","typeDescriptions":{}}},"id":112481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1947:13:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1932:29:211","typeDescriptions":{"typeIdentifier":"t_contract$_AddressManager_$111578","typeString":"contract AddressManager"}},"id":112483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getAddress","nodeType":"MemberAccess","referencedDeclaration":111561,"src":"1932:40:211","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory) view external returns (address)"}},"id":112491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1932:77:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1915:94:211"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":112499,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":112494,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112476,"src":"2028:6:211","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":112497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2046:1:211","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":112496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2038:7:211","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":112495,"name":"address","nodeType":"ElementaryTypeName","src":"2038:7:211","typeDescriptions":{}}},"id":112498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2038:10:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2028:20:211","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265736f6c76656444656c656761746550726f78793a207461726765742061646472657373206d75737420626520696e697469616c697a6564","id":112500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2050:59:211","typeDescriptions":{"typeIdentifier":"t_stringliteral_4d854a8e116e0f3da73003360f03ac382ae8205c4798da9ecd48d43a1cc0a5e7","typeString":"literal_string \"ResolvedDelegateProxy: target address must be initialized\""},"value":"ResolvedDelegateProxy: target address must be initialized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4d854a8e116e0f3da73003360f03ac382ae8205c4798da9ecd48d43a1cc0a5e7","typeString":"literal_string \"ResolvedDelegateProxy: target address must be initialized\""}],"id":112493,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2020:7:211","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":112501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2020:90:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":112502,"nodeType":"ExpressionStatement","src":"2020:90:211"},{"assignments":[112504,112506],"declarations":[{"constant":false,"id":112504,"mutability":"mutable","name":"success","nameLocation":"2188:7:211","nodeType":"VariableDeclaration","scope":112521,"src":"2183:12:211","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":112503,"name":"bool","nodeType":"ElementaryTypeName","src":"2183:4:211","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":112506,"mutability":"mutable","name":"returndata","nameLocation":"2210:10:211","nodeType":"VariableDeclaration","scope":112521,"src":"2197:23:211","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":112505,"name":"bytes","nodeType":"ElementaryTypeName","src":"2197:5:211","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":112512,"initialValue":{"arguments":[{"expression":{"id":112509,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2244:3:211","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":112510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"data","nodeType":"MemberAccess","src":"2244:8:211","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":112507,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112476,"src":"2224:6:211","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":112508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"delegatecall","nodeType":"MemberAccess","src":"2224:19:211","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":112511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2224:29:211","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2182:71:211"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":112515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":112513,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112504,"src":"2268:7:211","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"74727565","id":112514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2279:4:211","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2268:15:211","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":112519,"nodeType":"Block","src":"2404:113:211","statements":[{"AST":{"nodeType":"YulBlock","src":"2427:80:211","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"2456:10:211"},{"kind":"number","nodeType":"YulLiteral","src":"2468:4:211","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2452:3:211"},"nodeType":"YulFunctionCall","src":"2452:21:211"},{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"2481:10:211"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2475:5:211"},"nodeType":"YulFunctionCall","src":"2475:17:211"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2445:6:211"},"nodeType":"YulFunctionCall","src":"2445:48:211"},"nodeType":"YulExpressionStatement","src":"2445:48:211"}]},"evmVersion":"london","externalReferences":[{"declaration":112506,"isOffset":false,"isSlot":false,"src":"2456:10:211","valueSize":1},{"declaration":112506,"isOffset":false,"isSlot":false,"src":"2481:10:211","valueSize":1}],"id":112518,"nodeType":"InlineAssembly","src":"2418:89:211"}]},"id":112520,"nodeType":"IfStatement","src":"2264:253:211","trueBody":{"id":112517,"nodeType":"Block","src":"2285:113:211","statements":[{"AST":{"nodeType":"YulBlock","src":"2308:80:211","statements":[{"expression":{"arguments":[{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"2337:10:211"},{"kind":"number","nodeType":"YulLiteral","src":"2349:4:211","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2333:3:211"},"nodeType":"YulFunctionCall","src":"2333:21:211"},{"arguments":[{"name":"returndata","nodeType":"YulIdentifier","src":"2362:10:211"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2356:5:211"},"nodeType":"YulFunctionCall","src":"2356:17:211"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"2326:6:211"},"nodeType":"YulFunctionCall","src":"2326:48:211"},"nodeType":"YulExpressionStatement","src":"2326:48:211"}]},"evmVersion":"london","externalReferences":[{"declaration":112506,"isOffset":false,"isSlot":false,"src":"2337:10:211","valueSize":1},{"declaration":112506,"isOffset":false,"isSlot":false,"src":"2362:10:211","valueSize":1}],"id":112516,"nodeType":"InlineAssembly","src":"2299:89:211"}]}}]},"documentation":{"id":112472,"nodeType":"StructuredDocumentation","src":"1787:85:211","text":"@notice Fallback, performs a delegatecall to the resolved implementation address."},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":112473,"nodeType":"ParameterList","parameters":[],"src":"1885:2:211"},"returnParameters":{"id":112474,"nodeType":"ParameterList","parameters":[],"src":"1905:0:211"},"scope":112523,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ResolvedDelegateProxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":112432,"nodeType":"StructuredDocumentation","src":"122:326:211","text":"@custom:legacy\n @title ResolvedDelegateProxy\n @notice ResolvedDelegateProxy is a legacy proxy contract that makes use of the AddressManager to\n resolve the implementation address. We're maintaining this contract for backwards\n compatibility so we can manage all legacy proxies where necessary."},"fullyImplemented":true,"linearizedBaseContracts":[112523],"name":"ResolvedDelegateProxy","nameLocation":"457:21:211","scope":112524,"usedErrors":[]}],"license":"MIT"},"id":211}