@tokamak-network/thanos-contracts
Version:
1 lines • 22.3 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"_singleton","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5060405161016738038061016783398101604081905261002e916100b7565b6001600160a01b0381166100935760405162461bcd60e51b815260206004820152602260248201527f496e76616c69642073696e676c65746f6e20616464726573732070726f766964604482015261195960f21b606482015260840160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100e4565b5f602082840312156100c7575f80fd5b81516001600160a01b03811681146100dd575f80fd5b9392505050565b6077806100f05f395ff3fe60806040525f73ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604c57808252602082f35b3682833781823684845af490503d82833e806065573d82fd5b503d81f3fea164736f6c6343000814000a","sourceMap":"512:1497:61:-:0;;;946:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;996:24:61;;988:71;;;;-1:-1:-1;;;988:71:61;;511:2:96;988:71:61;;;493:21:96;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:96;;;633:32;682:19;;988:71:61;;;;;;;;1069:9;:22;;-1:-1:-1;;;;;;1069:22:61;-1:-1:-1;;;;;1069:22:61;;;;;;;;;;512:1497;;14:290:96;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:96;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:96:o;309:398::-;512:1497:61;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f73ffffffffffffffffffffffffffffffffffffffff8154167fa619486e00000000000000000000000000000000000000000000000000000000823503604c57808252602082f35b3682833781823684845af490503d82833e806065573d82fd5b503d81f3fea164736f6c6343000814000a","sourceMap":"512:1497:61:-:0;;;1344:1;1348:42;1344:1;1338:8;1334:57;1526:66;1344:1;1509:15;1506:87;1503:176;;1622:10;1344:1;1612:21;1660:4;1344:1;1650:15;1503:176;1711:14;1344:1;;1692:34;1344:1;;1711:14;1344:1;1774:10;1767:5;1754:56;1739:71;;1844:16;1344:1;;1823:38;1880:7;1874:77;;1920:16;1344:1;1910:27;1874:77;;1974:16;1344:1;1964:27","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Stefan George - <stefan@gnosis.io>Richard Meissner - <richard@gnosis.io>\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Constructor function sets address of singleton contract.\",\"params\":{\"_singleton\":\"Singleton address.\"}}},\"title\":\"GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol\":\"GnosisSafeProxy\"},\"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/proxies/GnosisSafeProxy.sol\":{\"keccak256\":\"0x3bfdd453d9f896f7029d15bcafd11886957b320ad1764309d9f74fa059715249\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://5b5b7d0c8a900ba758e012236bf1c55e885fe5716aa79f6f693d22c31c85f7d5\",\"dweb:/ipfs/QmUq5oNsZY1b5pcYAzrY1i9oqyPUaiFhLaEWgB9ML6LrBj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"payable","type":"fallback"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Constructor function sets address of singleton contract.","params":{"_singleton":"Singleton address."}}},"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/proxies/GnosisSafeProxy.sol":"GnosisSafeProxy"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol":{"keccak256":"0x3bfdd453d9f896f7029d15bcafd11886957b320ad1764309d9f74fa059715249","urls":["bzz-raw://5b5b7d0c8a900ba758e012236bf1c55e885fe5716aa79f6f693d22c31c85f7d5","dweb:/ipfs/QmUq5oNsZY1b5pcYAzrY1i9oqyPUaiFhLaEWgB9ML6LrBj"],"license":"LGPL-3.0-only"}},"version":1},"storageLayout":{"storage":[{"astId":51297,"contract":"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol:GnosisSafeProxy","label":"singleton","offset":0,"slot":"0","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"version":1,"kind":"user"},"devdoc":{"version":1,"kind":"dev","author":"Stefan George - <stefan@gnosis.io>Richard Meissner - <richard@gnosis.io>","methods":{"constructor":{"details":"Constructor function sets address of singleton contract.","params":{"_singleton":"Singleton address."}}},"title":"GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract."},"ast":{"absolutePath":"lib/safe-contracts/contracts/proxies/GnosisSafeProxy.sol","id":51326,"exportedSymbols":{"GnosisSafeProxy":[51325],"IProxy":[51294]},"nodeType":"SourceUnit","src":"42:1968:61","nodes":[{"id":51287,"nodeType":"PragmaDirective","src":"42:31:61","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":51294,"nodeType":"ContractDefinition","src":"206:79:61","nodes":[{"id":51293,"nodeType":"FunctionDefinition","src":"229:54:61","nodes":[],"functionSelector":"a619486e","implemented":false,"kind":"function","modifiers":[],"name":"masterCopy","nameLocation":"238:10:61","parameters":{"id":51289,"nodeType":"ParameterList","parameters":[],"src":"248:2:61"},"returnParameters":{"id":51292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51291,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51293,"src":"274:7:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51290,"name":"address","nodeType":"ElementaryTypeName","src":"274:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"273:9:61"},"scope":51294,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IProxy","contractDependencies":[],"contractKind":"interface","documentation":{"id":51288,"nodeType":"StructuredDocumentation","src":"75:131:61","text":"@title IProxy - Helper interface to access masterCopy of the Proxy on-chain\n @author Richard Meissner - <richard@gnosis.io>"},"fullyImplemented":false,"linearizedBaseContracts":[51294],"name":"IProxy","nameLocation":"216:6:61","scope":51326,"usedErrors":[],"usedEvents":[]},{"id":51325,"nodeType":"ContractDefinition","src":"512:1497:61","nodes":[{"id":51297,"nodeType":"VariableDeclaration","src":"798:26:61","nodes":[],"constant":false,"mutability":"mutable","name":"singleton","nameLocation":"815:9:61","scope":51325,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51296,"name":"address","nodeType":"ElementaryTypeName","src":"798:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":51318,"nodeType":"FunctionDefinition","src":"946:152:61","nodes":[],"body":{"id":51317,"nodeType":"Block","src":"978:120:61","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":51309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":51304,"name":"_singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51300,"src":"996:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":51307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1018:1:61","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":51306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1010:7:61","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51305,"name":"address","nodeType":"ElementaryTypeName","src":"1010:7:61","typeDescriptions":{}}},"id":51308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1010:10:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"996:24:61","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564","id":51310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1022:36:61","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4a46125d24bcf992f3a005546c0f3eafebe1847b2ccd7a103878ded65e88250","typeString":"literal_string \"Invalid singleton address provided\""},"value":"Invalid singleton address provided"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f4a46125d24bcf992f3a005546c0f3eafebe1847b2ccd7a103878ded65e88250","typeString":"literal_string \"Invalid singleton address provided\""}],"id":51303,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"988:7:61","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":51311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"988:71:61","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51312,"nodeType":"ExpressionStatement","src":"988:71:61"},{"expression":{"id":51315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":51313,"name":"singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51297,"src":"1069:9:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":51314,"name":"_singleton","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51300,"src":"1081:10:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1069:22:61","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":51316,"nodeType":"ExpressionStatement","src":"1069:22:61"}]},"documentation":{"id":51298,"nodeType":"StructuredDocumentation","src":"831:110:61","text":"@dev Constructor function sets address of singleton contract.\n @param _singleton Singleton address."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":51301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51300,"mutability":"mutable","name":"_singleton","nameLocation":"966:10:61","nodeType":"VariableDeclaration","scope":51318,"src":"958:18:61","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51299,"name":"address","nodeType":"ElementaryTypeName","src":"958:7:61","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"957:20:61"},"returnParameters":{"id":51302,"nodeType":"ParameterList","parameters":[],"src":"978:0:61"},"scope":51325,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":51324,"nodeType":"FunctionDefinition","src":"1199:808:61","nodes":[],"body":{"id":51323,"nodeType":"Block","src":"1227:780:61","nodes":[],"statements":[{"AST":{"nodeType":"YulBlock","src":"1302:699:61","statements":[{"nodeType":"YulVariableDeclaration","src":"1316:75:61","value":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1344:1:61","type":"","value":"0"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"1338:5:61"},"nodeType":"YulFunctionCall","src":"1338:8:61"},{"kind":"number","nodeType":"YulLiteral","src":"1348:42:61","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1334:3:61"},"nodeType":"YulFunctionCall","src":"1334:57:61"},"variables":[{"name":"_singleton","nodeType":"YulTypedName","src":"1320:10:61","type":""}]},{"body":{"nodeType":"YulBlock","src":"1594:85:61","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1619:1:61","type":"","value":"0"},{"name":"_singleton","nodeType":"YulIdentifier","src":"1622:10:61"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1612:6:61"},"nodeType":"YulFunctionCall","src":"1612:21:61"},"nodeType":"YulExpressionStatement","src":"1612:21:61"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1657:1:61","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1660:4:61","type":"","value":"0x20"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"1650:6:61"},"nodeType":"YulFunctionCall","src":"1650:15:61"},"nodeType":"YulExpressionStatement","src":"1650:15:61"}]},"condition":{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1522:1:61","type":"","value":"0"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1509:12:61"},"nodeType":"YulFunctionCall","src":"1509:15:61"},{"kind":"number","nodeType":"YulLiteral","src":"1526:66:61","type":"","value":"0xa619486e00000000000000000000000000000000000000000000000000000000"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1506:2:61"},"nodeType":"YulFunctionCall","src":"1506:87:61"},"nodeType":"YulIf","src":"1503:176:61"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1705:1:61","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1708:1:61","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1711:12:61"},"nodeType":"YulFunctionCall","src":"1711:14:61"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"1692:12:61"},"nodeType":"YulFunctionCall","src":"1692:34:61"},"nodeType":"YulExpressionStatement","src":"1692:34:61"},{"nodeType":"YulVariableDeclaration","src":"1739:71:61","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"1767:3:61"},"nodeType":"YulFunctionCall","src":"1767:5:61"},{"name":"_singleton","nodeType":"YulIdentifier","src":"1774:10:61"},{"kind":"number","nodeType":"YulLiteral","src":"1786:1:61","type":"","value":"0"},{"arguments":[],"functionName":{"name":"calldatasize","nodeType":"YulIdentifier","src":"1789:12:61"},"nodeType":"YulFunctionCall","src":"1789:14:61"},{"kind":"number","nodeType":"YulLiteral","src":"1805:1:61","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1808:1:61","type":"","value":"0"}],"functionName":{"name":"delegatecall","nodeType":"YulIdentifier","src":"1754:12:61"},"nodeType":"YulFunctionCall","src":"1754:56:61"},"variables":[{"name":"success","nodeType":"YulTypedName","src":"1743:7:61","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1838:1:61","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1841:1:61","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1844:14:61"},"nodeType":"YulFunctionCall","src":"1844:16:61"}],"functionName":{"name":"returndatacopy","nodeType":"YulIdentifier","src":"1823:14:61"},"nodeType":"YulFunctionCall","src":"1823:38:61"},"nodeType":"YulExpressionStatement","src":"1823:38:61"},{"body":{"nodeType":"YulBlock","src":"1892:59:61","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1917:1:61","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1920:14:61"},"nodeType":"YulFunctionCall","src":"1920:16:61"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1910:6:61"},"nodeType":"YulFunctionCall","src":"1910:27:61"},"nodeType":"YulExpressionStatement","src":"1910:27:61"}]},"condition":{"arguments":[{"name":"success","nodeType":"YulIdentifier","src":"1880:7:61"},{"kind":"number","nodeType":"YulLiteral","src":"1889:1:61","type":"","value":"0"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1877:2:61"},"nodeType":"YulFunctionCall","src":"1877:14:61"},"nodeType":"YulIf","src":"1874:77:61"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1971:1:61","type":"","value":"0"},{"arguments":[],"functionName":{"name":"returndatasize","nodeType":"YulIdentifier","src":"1974:14:61"},"nodeType":"YulFunctionCall","src":"1974:16:61"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"1964:6:61"},"nodeType":"YulFunctionCall","src":"1964:27:61"},"nodeType":"YulExpressionStatement","src":"1964:27:61"}]},"evmVersion":"shanghai","externalReferences":[],"id":51322,"nodeType":"InlineAssembly","src":"1293:708:61"}]},"documentation":{"id":51319,"nodeType":"StructuredDocumentation","src":"1104:90:61","text":"@dev Fallback function forwards all transactions and returns all received return data."},"implemented":true,"kind":"fallback","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":51320,"nodeType":"ParameterList","parameters":[],"src":"1207:2:61"},"returnParameters":{"id":51321,"nodeType":"ParameterList","parameters":[],"src":"1227:0:61"},"scope":51325,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"GnosisSafeProxy","contractDependencies":[],"contractKind":"contract","documentation":{"id":51295,"nodeType":"StructuredDocumentation","src":"287:225:61","text":"@title GnosisSafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract.\n @author Stefan George - <stefan@gnosis.io>\n @author Richard Meissner - <richard@gnosis.io>"},"fullyImplemented":true,"linearizedBaseContracts":[51325],"name":"GnosisSafeProxy","nameLocation":"521:15:61","scope":51326,"usedErrors":[],"usedEvents":[]}],"license":"LGPL-3.0-only"},"id":61}