@tokamak-network/thanos-contracts
Version:
1 lines • 26.9 kB
JSON
{"abi":[{"type":"fallback","stateMutability":"nonpayable"},{"type":"function","name":"setFallbackHandler","inputs":[{"name":"handler","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ChangedFallbackHandler","inputs":[{"name":"handler","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506101c38061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f08a03231461007c575b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061005357005b365f80373360601b36525f80601436015f80855af190503d5f803e80610077573d5ffd5b503d5ff35b61008f61008a36600461017c565b610091565b005b61009961010d565b6100c1817f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b09060200160405180910390a150565b33301461017a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b565b5f6020828403121561018c575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101af575f80fd5b939250505056fea164736f6c6343000814000a","sourceMap":"257:1926:42:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f08a03231461007c575b7f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d580548061005357005b365f80373360601b36525f80601436015f80855af190503d5f803e80610077573d5ffd5b503d5ff35b61008f61008a36600461017c565b610091565b005b61009961010d565b6100c1817f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d555565b60405173ffffffffffffffffffffffffffffffffffffffff821681527f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b09060200160405180910390a150565b33301461017a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600560248201527f4753303331000000000000000000000000000000000000000000000000000000604482015260640160405180910390fd5b565b5f6020828403121561018c575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101af575f80fd5b939250505056fea164736f6c6343000814000a","sourceMap":"257:1926:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:66;1467:11;;;1491:63;;1528:12;1491:63;1586:14;1583:1;1580;1567:34;1823:8;1819:2;1815:17;1799:14;1792:41;1981:1;1978;1973:2;1957:14;1953:23;1950:1;1947;1938:7;1931:5;1926:57;1911:72;;2017:16;2014:1;2011;1996:38;2057:7;2047:78;;2094:16;2091:1;2084:27;2047:78;;2148:16;2145:1;2138:27;1052:161;;;;;;:::i;:::-;;:::i;:::-;;;440:17:49;:15;:17::i;:::-;1125:35:42::1;1152:7;469:66:::0;747:21;542:242;1125:35:::1;1175:31;::::0;504:42:96;492:55;;474:74;;1175:31:42::1;::::0;462:2:96;447:18;1175:31:42::1;;;;;;;1052:161:::0;:::o;231:102:49:-;289:10;311:4;289:27;281:45;;;;;;;761:2:96;281:45:49;;;743:21:96;800:1;780:18;;;773:29;838:7;818:18;;;811:35;863:18;;281:45:49;;;;;;;;231:102::o;14:309:96:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;231:42;224:5;220:54;213:5;210:65;200:93;;289:1;286;279:12;200:93;312:5;14:309;-1:-1:-1;;;14:309:96:o","linkReferences":{}},"methodIdentifiers":{"setFallbackHandler(address)":"f08a0323"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"ChangedFallbackHandler\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Richard Meissner - <richard@gnosis.pm>\",\"kind\":\"dev\",\"methods\":{\"setFallbackHandler(address)\":{\"details\":\"Allows to add a contract to handle fallback calls. Only fallback calls without value and with data will be forwarded. This can only be done via a Safe transaction.\",\"params\":{\"handler\":\"contract to handle fallbacks calls.\"}}},\"title\":\"Fallback Manager - A contract that manages fallback calls made to this contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/base/FallbackManager.sol\":\"FallbackManager\"},\"evmVersion\":\"shanghai\",\"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/safe-contracts/contracts/base/FallbackManager.sol\":{\"keccak256\":\"0x1be9f0f3e80a78134c2e3a026c6a14759785bd35d135e87a4a025aeb6742791f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://44130f09921e895c0b9d7797de1d64940a8c43391efcda3a0208cb9ad96475a7\",\"dweb:/ipfs/QmUur4hzvCJ68PnW6zQFpemAMH2DH5mExPqSZdpKeY1ZRN\"]},\"lib/safe-contracts/contracts/common/SelfAuthorized.sol\":{\"keccak256\":\"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29\",\"dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"handler","type":"address","indexed":false}],"type":"event","name":"ChangedFallbackHandler","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"fallback"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFallbackHandler"}],"devdoc":{"kind":"dev","methods":{"setFallbackHandler(address)":{"details":"Allows to add a contract to handle fallback calls. Only fallback calls without value and with data will be forwarded. This can only be done via a Safe transaction.","params":{"handler":"contract to handle fallbacks calls."}}},"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":{"lib/safe-contracts/contracts/base/FallbackManager.sol":"FallbackManager"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/safe-contracts/contracts/base/FallbackManager.sol":{"keccak256":"0x1be9f0f3e80a78134c2e3a026c6a14759785bd35d135e87a4a025aeb6742791f","urls":["bzz-raw://44130f09921e895c0b9d7797de1d64940a8c43391efcda3a0208cb9ad96475a7","dweb:/ipfs/QmUur4hzvCJ68PnW6zQFpemAMH2DH5mExPqSZdpKeY1ZRN"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/SelfAuthorized.sol":{"keccak256":"0x59d36efca578b75541a776f62a0d0ef03712fc27b6647c3915c14b572106d7bc","urls":["bzz-raw://8530c6e0392415d42486847cd4368d30f6cac42051596330692a571fcdbb9e29","dweb:/ipfs/QmWw51Pshw5t2sMKANzxtfNdBSQUyQQpfTr3Mi7oNJGk7U"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","author":"Richard Meissner - <richard@gnosis.pm>","methods":{"setFallbackHandler(address)":{"details":"Allows to add a contract to handle fallback calls. Only fallback calls without value and with data will be forwarded. This can only be done via a Safe transaction.","params":{"handler":"contract to handle fallbacks calls."}}},"title":"Fallback Manager - A contract that manages fallback calls made to this contract"},"ast":{"absolutePath":"lib/safe-contracts/contracts/base/FallbackManager.sol","id":49845,"exportedSymbols":{"FallbackManager":[49844],"SelfAuthorized":[50882]},"nodeType":"SourceUnit","src":"42:2142:42","nodes":[{"id":49795,"nodeType":"PragmaDirective","src":"42:31:42","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":49796,"nodeType":"ImportDirective","src":"75:38:42","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/SelfAuthorized.sol","file":"../common/SelfAuthorized.sol","nameLocation":"-1:-1:-1","scope":49845,"sourceUnit":50883,"symbolAliases":[],"unitAlias":""},{"id":49844,"nodeType":"ContractDefinition","src":"257:1926:42","nodes":[{"id":49803,"nodeType":"EventDefinition","src":"306:46:42","nodes":[],"anonymous":false,"eventSelector":"5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b0","name":"ChangedFallbackHandler","nameLocation":"312:22:42","parameters":{"id":49802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49801,"indexed":false,"mutability":"mutable","name":"handler","nameLocation":"343:7:42","nodeType":"VariableDeclaration","scope":49803,"src":"335:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49800,"name":"address","nodeType":"ElementaryTypeName","src":"335:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"334:17:42"}},{"id":49806,"nodeType":"VariableDeclaration","src":"411:124:42","nodes":[],"constant":true,"mutability":"constant","name":"FALLBACK_HANDLER_STORAGE_SLOT","nameLocation":"437:29:42","scope":49844,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49804,"name":"bytes32","nodeType":"ElementaryTypeName","src":"411:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307836633961366334613339323834653337656431636635336433333735373764313432313261343837306662393736613433363663363933623933393931386435","id":49805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"469:66:42","typeDescriptions":{"typeIdentifier":"t_rational_49122629484629529244014240937346711770925847994644146912111677022347558721749_by_1","typeString":"int_const 4912...(69 digits omitted)...1749"},"value":"0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5"},"visibility":"internal"},{"id":49817,"nodeType":"FunctionDefinition","src":"542:242:42","nodes":[],"body":{"id":49816,"nodeType":"Block","src":"604:180:42","nodes":[],"statements":[{"assignments":[49812],"declarations":[{"constant":false,"id":49812,"mutability":"mutable","name":"slot","nameLocation":"622:4:42","nodeType":"VariableDeclaration","scope":49816,"src":"614:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"614:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49814,"initialValue":{"id":49813,"name":"FALLBACK_HANDLER_STORAGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49806,"src":"629:29:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"614:44:42"},{"AST":{"nodeType":"YulBlock","src":"733:45:42","statements":[{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"754:4:42"},{"name":"handler","nodeType":"YulIdentifier","src":"760:7:42"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"747:6:42"},"nodeType":"YulFunctionCall","src":"747:21:42"},"nodeType":"YulExpressionStatement","src":"747:21:42"}]},"evmVersion":"shanghai","externalReferences":[{"declaration":49808,"isOffset":false,"isSlot":false,"src":"760:7:42","valueSize":1},{"declaration":49812,"isOffset":false,"isSlot":false,"src":"754:4:42","valueSize":1}],"id":49815,"nodeType":"InlineAssembly","src":"724:54:42"}]},"implemented":true,"kind":"function","modifiers":[],"name":"internalSetFallbackHandler","nameLocation":"551:26:42","parameters":{"id":49809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49808,"mutability":"mutable","name":"handler","nameLocation":"586:7:42","nodeType":"VariableDeclaration","scope":49817,"src":"578:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49807,"name":"address","nodeType":"ElementaryTypeName","src":"578:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"577:17:42"},"returnParameters":{"id":49810,"nodeType":"ParameterList","parameters":[],"src":"604:0:42"},"scope":49844,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":49834,"nodeType":"FunctionDefinition","src":"1052:161:42","nodes":[],"body":{"id":49833,"nodeType":"Block","src":"1115:98:42","nodes":[],"statements":[{"expression":{"arguments":[{"id":49826,"name":"handler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49820,"src":"1152:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49825,"name":"internalSetFallbackHandler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49817,"src":"1125:26:42","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":49827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1125:35:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49828,"nodeType":"ExpressionStatement","src":"1125:35:42"},{"eventCall":{"arguments":[{"id":49830,"name":"handler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49820,"src":"1198:7:42","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":49829,"name":"ChangedFallbackHandler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49803,"src":"1175:22:42","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":49831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1175:31:42","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49832,"nodeType":"EmitStatement","src":"1170:36:42"}]},"documentation":{"id":49818,"nodeType":"StructuredDocumentation","src":"790:257:42","text":"@dev Allows to add a contract to handle fallback calls.\n Only fallback calls without value and with data will be forwarded.\n This can only be done via a Safe transaction.\n @param handler contract to handle fallbacks calls."},"functionSelector":"f08a0323","implemented":true,"kind":"function","modifiers":[{"id":49823,"kind":"modifierInvocation","modifierName":{"id":49822,"name":"authorized","nameLocations":["1104:10:42"],"nodeType":"IdentifierPath","referencedDeclaration":50881,"src":"1104:10:42"},"nodeType":"ModifierInvocation","src":"1104:10:42"}],"name":"setFallbackHandler","nameLocation":"1061:18:42","parameters":{"id":49821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49820,"mutability":"mutable","name":"handler","nameLocation":"1088:7:42","nodeType":"VariableDeclaration","scope":49834,"src":"1080:15:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49819,"name":"address","nodeType":"ElementaryTypeName","src":"1080:7:42","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1079:17:42"},"returnParameters":{"id":49824,"nodeType":"ParameterList","parameters":[],"src":"1115:0:42"},"scope":49844,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":49843,"nodeType":"FunctionDefinition","src":"1289:892:42","nodes":[],"body":{"id":49842,"nodeType":"Block","src":"1309:872:42","nodes":[],"statements":[{"assignments":[49838],"declarations":[{"constant":false,"id":49838,"mutability":"mutable","name":"slot","nameLocation":"1327:4:42","nodeType":"VariableDeclaration","scope":49842,"src":"1319:12:42","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":49837,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1319:7:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":49840,"initialValue":{"id":49839,"name":"FALLBACK_HANDLER_STORAGE_SLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49806,"src":"1334:29:42","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"1319:44:42"},{"AST":{"nodeType":"YulBlock","src":"1438:737:42","statements":[{"nodeType":"YulVariableDeclaration","src":"1452:26:42","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"1473:4:42"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1467:5:42"},"nodeType":"YulFunctionCall","src":"1467:11:42"},"variables":[{"name":"handler","nodeType":"YulTypedName","src":"1456:7:42","type":""}]},{"body":{"nodeType":"YulBlock","src":"1510:44:42","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1535:1:42","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1538:1:42","type":"","value":"0"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"1528:6:42"},"nodeType":"YulFunctionCall","src":"1528:12:42"},"nodeType":"YulExpressionStatement","src":"1528:12:42"}]},"condition":{"arguments":[{"name":"handler","nodeType":"YulIdentifier","src":"1501:7:42"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1494:6:42"},"nodeType":"YulFunctionCall","src":"1494:15:42"},"nodeType":"YulIf","src":"1491:63:42"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1580:1:42","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1583:1:42","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1586:12:42"},"nodeType":"YulFunctionCall","src":"1586:14:42"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1567:12:42"},"nodeType":"YulFunctionCall","src":"1567:34:42"},"nodeType":"YulExpressionStatement","src":"1567:34:42"},{"expression":{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1799:12:42"},"nodeType":"YulFunctionCall","src":"1799:14:42"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1819:2:42","type":"","value":"96"},{"arguments":[],"functionName":{"name":"caller","nodeType":"YulIdentifier","src":"1823:6:42"},"nodeType":"YulFunctionCall","src":"1823:8:42"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1815:3:42"},"nodeType":"YulFunctionCall","src":"1815:17:42"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1792:6:42"},"nodeType":"YulFunctionCall","src":"1792:41:42"},"nodeType":"YulExpressionStatement","src":"1792:41:42"},{"nodeType":"YulVariableDeclaration","src":"1911:72:42","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"1931:3:42"},"nodeType":"YulFunctionCall","src":"1931:5:42"},{"name":"handler","nodeType":"YulIdentifier","src":"1938:7:42"},{"kind":"number","nodeType":"YulLiteral","src":"1947:1:42","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1950:1:42","type":"","value":"0"},{"arguments":[{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1957:12:42"},"nodeType":"YulFunctionCall","src":"1957:14:42"},{"kind":"number","nodeType":"YulLiteral","src":"1973:2:42","type":"","value":"20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1953:3:42"},"nodeType":"YulFunctionCall","src":"1953:23:42"},{"kind":"number","nodeType":"YulLiteral","src":"1978:1:42","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1981:1:42","type":"","value":"0"}],"functionName":{"name":"call","nodeType":"YulIdentifier","src":"1926:4:42"},"nodeType":"YulFunctionCall","src":"1926:57:42"},"variables":[{"name":"success","nodeType":"YulTypedName","src":"1915:7:42","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2011:1:42","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2014:1:42","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"2017:14:42"},"nodeType":"YulFunctionCall","src":"2017:16:42"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"1996:14:42"},"nodeType":"YulFunctionCall","src":"1996:38:42"},"nodeType":"YulExpressionStatement","src":"1996:38:42"},{"body":{"nodeType":"YulBlock","src":"2066:59:42","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2091:1:42","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"2094:14:42"},"nodeType":"YulFunctionCall","src":"2094:16:42"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2084:6:42"},"nodeType":"YulFunctionCall","src":"2084:27:42"},"nodeType":"YulExpressionStatement","src":"2084:27:42"}]},"condition":{"arguments":[{"name":"success","nodeType":"YulIdentifier","src":"2057:7:42"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2050:6:42"},"nodeType":"YulFunctionCall","src":"2050:15:42"},"nodeType":"YulIf","src":"2047:78:42"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2145:1:42","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"2148:14:42"},"nodeType":"YulFunctionCall","src":"2148:16:42"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"2138:6:42"},"nodeType":"YulFunctionCall","src":"2138:27:42"},"nodeType":"YulExpressionStatement","src":"2138:27:42"}]},"evmVersion":"shanghai","externalReferences":[{"declaration":49838,"isOffset":false,"isSlot":false,"src":"1473:4:42","valueSize":1}],"id":49841,"nodeType":"InlineAssembly","src":"1429:746:42"}]},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":49835,"nodeType":"ParameterList","parameters":[],"src":"1297:2:42"},"returnParameters":{"id":49836,"nodeType":"ParameterList","parameters":[],"src":"1309:0:42"},"scope":49844,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":49798,"name":"SelfAuthorized","nameLocations":["285:14:42"],"nodeType":"IdentifierPath","referencedDeclaration":50882,"src":"285:14:42"},"id":49799,"nodeType":"InheritanceSpecifier","src":"285:14:42"}],"canonicalName":"FallbackManager","contractDependencies":[],"contractKind":"contract","documentation":{"id":49797,"nodeType":"StructuredDocumentation","src":"115:142:42","text":"@title Fallback Manager - A contract that manages fallback calls made to this contract\n @author Richard Meissner - <richard@gnosis.pm>"},"fullyImplemented":true,"linearizedBaseContracts":[49844,50882],"name":"FallbackManager","nameLocation":"266:15:42","scope":49845,"usedErrors":[],"usedEvents":[49803]}],"license":"LGPL-3.0-only"},"id":42}