UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 15.7 kB
{"abi":[],"bytecode":{"object":"0x6080604052348015600e575f80fd5b50601580601a5f395ff3fe60806040525f80fdfea164736f6c6343000814000a","sourceMap":"218:665:41:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea164736f6c6343000814000a","sourceMap":"218:665:41:-:0;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Richard Meissner - <richard@gnosis.pm>\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Executor - A contract that can execute transactions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/safe-contracts/contracts/base/Executor.sol\":\"Executor\"},\"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/Executor.sol\":{\"keccak256\":\"0x4d3a900673473466bc27413fdbb11aae60b5580b792c49411f01544e0b24fe08\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://71ada0590998f47d1ee9759aa190c82d4b348d59a2f582747650d9720245a309\",\"dweb:/ipfs/Qmb9UudLoJpPutHVP9pXd1poP5CqFf5sxVFuYw14SYfRFk\"]},\"lib/safe-contracts/contracts/common/Enum.sol\":{\"keccak256\":\"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d\",\"dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/safe-contracts/contracts/base/Executor.sol":"Executor"},"evmVersion":"shanghai","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/safe-contracts/contracts/base/Executor.sol":{"keccak256":"0x4d3a900673473466bc27413fdbb11aae60b5580b792c49411f01544e0b24fe08","urls":["bzz-raw://71ada0590998f47d1ee9759aa190c82d4b348d59a2f582747650d9720245a309","dweb:/ipfs/Qmb9UudLoJpPutHVP9pXd1poP5CqFf5sxVFuYw14SYfRFk"],"license":"LGPL-3.0-only"},"lib/safe-contracts/contracts/common/Enum.sol":{"keccak256":"0x473e45b1a5cc47be494b0e123c9127f0c11c1e0992a321ae5a644c0bfdb2c14f","urls":["bzz-raw://948e6d5a8bd7377f7795b6e28584eab9be5c0a8db240bf5e606744a175238c3d","dweb:/ipfs/QmQQaUmQfpuejV41jbxKSTgEBYYCcVTjCsDMgf2htgz6ej"],"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>","title":"Executor - A contract that can execute transactions"},"ast":{"absolutePath":"lib/safe-contracts/contracts/base/Executor.sol","id":49794,"exportedSymbols":{"Enum":[50807],"Executor":[49793]},"nodeType":"SourceUnit","src":"42:842:41","nodes":[{"id":49763,"nodeType":"PragmaDirective","src":"42:31:41","nodes":[],"literals":["solidity",">=","0.7",".0","<","0.9",".0"]},{"id":49764,"nodeType":"ImportDirective","src":"74:28:41","nodes":[],"absolutePath":"lib/safe-contracts/contracts/common/Enum.sol","file":"../common/Enum.sol","nameLocation":"-1:-1:-1","scope":49794,"sourceUnit":50808,"symbolAliases":[],"unitAlias":""},{"id":49793,"nodeType":"ContractDefinition","src":"218:665:41","nodes":[{"id":49792,"nodeType":"FunctionDefinition","src":"242:639:41","nodes":[],"body":{"id":49791,"nodeType":"Block","src":"424:457:41","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},"id":49785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":49781,"name":"operation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49774,"src":"438:9:41","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":49782,"name":"Enum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50807,"src":"451:4:41","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Enum_$50807_$","typeString":"type(contract Enum)"}},"id":49783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"456:9:41","memberName":"Operation","nodeType":"MemberAccess","referencedDeclaration":50806,"src":"451:14:41","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Operation_$50806_$","typeString":"type(enum Enum.Operation)"}},"id":49784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"466:12:41","memberName":"DelegateCall","nodeType":"MemberAccess","referencedDeclaration":50805,"src":"451:27:41","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"src":"438:40:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":49789,"nodeType":"Block","src":"681:194:41","statements":[{"AST":{"nodeType":"YulBlock","src":"764:101:41","statements":[{"nodeType":"YulAssignment","src":"782:69:41","value":{"arguments":[{"name":"txGas","nodeType":"YulIdentifier","src":"798:5:41"},{"name":"to","nodeType":"YulIdentifier","src":"805:2:41"},{"name":"value","nodeType":"YulIdentifier","src":"809:5:41"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"820:4:41"},{"kind":"number","nodeType":"YulLiteral","src":"826:4:41","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"816:3:41"},"nodeType":"YulFunctionCall","src":"816:15:41"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"839:4:41"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"833:5:41"},"nodeType":"YulFunctionCall","src":"833:11:41"},{"kind":"number","nodeType":"YulLiteral","src":"846:1:41","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"849:1:41","type":"","value":"0"}],"functionName":{"name":"call","nodeType":"YulIdentifier","src":"793:4:41"},"nodeType":"YulFunctionCall","src":"793:58:41"},"variableNames":[{"name":"success","nodeType":"YulIdentifier","src":"782:7:41"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":49771,"isOffset":false,"isSlot":false,"src":"820:4:41","valueSize":1},{"declaration":49771,"isOffset":false,"isSlot":false,"src":"839:4:41","valueSize":1},{"declaration":49779,"isOffset":false,"isSlot":false,"src":"782:7:41","valueSize":1},{"declaration":49767,"isOffset":false,"isSlot":false,"src":"805:2:41","valueSize":1},{"declaration":49776,"isOffset":false,"isSlot":false,"src":"798:5:41","valueSize":1},{"declaration":49769,"isOffset":false,"isSlot":false,"src":"809:5:41","valueSize":1}],"id":49788,"nodeType":"InlineAssembly","src":"755:110:41"}]},"id":49790,"nodeType":"IfStatement","src":"434:441:41","trueBody":{"id":49787,"nodeType":"Block","src":"480:195:41","statements":[{"AST":{"nodeType":"YulBlock","src":"563:102:41","statements":[{"nodeType":"YulAssignment","src":"581:70:41","value":{"arguments":[{"name":"txGas","nodeType":"YulIdentifier","src":"605:5:41"},{"name":"to","nodeType":"YulIdentifier","src":"612:2:41"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"620:4:41"},{"kind":"number","nodeType":"YulLiteral","src":"626:4:41","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"616:3:41"},"nodeType":"YulFunctionCall","src":"616:15:41"},{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"639:4:41"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"633:5:41"},"nodeType":"YulFunctionCall","src":"633:11:41"},{"kind":"number","nodeType":"YulLiteral","src":"646:1:41","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"649:1:41","type":"","value":"0"}],"functionName":{"name":"delegatecall","nodeType":"YulIdentifier","src":"592:12:41"},"nodeType":"YulFunctionCall","src":"592:59:41"},"variableNames":[{"name":"success","nodeType":"YulIdentifier","src":"581:7:41"}]}]},"evmVersion":"shanghai","externalReferences":[{"declaration":49771,"isOffset":false,"isSlot":false,"src":"620:4:41","valueSize":1},{"declaration":49771,"isOffset":false,"isSlot":false,"src":"639:4:41","valueSize":1},{"declaration":49779,"isOffset":false,"isSlot":false,"src":"581:7:41","valueSize":1},{"declaration":49767,"isOffset":false,"isSlot":false,"src":"612:2:41","valueSize":1},{"declaration":49776,"isOffset":false,"isSlot":false,"src":"605:5:41","valueSize":1}],"id":49786,"nodeType":"InlineAssembly","src":"554:111:41"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"execute","nameLocation":"251:7:41","parameters":{"id":49777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49767,"mutability":"mutable","name":"to","nameLocation":"276:2:41","nodeType":"VariableDeclaration","scope":49792,"src":"268:10:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49766,"name":"address","nodeType":"ElementaryTypeName","src":"268:7:41","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49769,"mutability":"mutable","name":"value","nameLocation":"296:5:41","nodeType":"VariableDeclaration","scope":49792,"src":"288:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49768,"name":"uint256","nodeType":"ElementaryTypeName","src":"288:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49771,"mutability":"mutable","name":"data","nameLocation":"324:4:41","nodeType":"VariableDeclaration","scope":49792,"src":"311:17:41","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":49770,"name":"bytes","nodeType":"ElementaryTypeName","src":"311:5:41","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":49774,"mutability":"mutable","name":"operation","nameLocation":"353:9:41","nodeType":"VariableDeclaration","scope":49792,"src":"338:24:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"},"typeName":{"id":49773,"nodeType":"UserDefinedTypeName","pathNode":{"id":49772,"name":"Enum.Operation","nameLocations":["338:4:41","343:9:41"],"nodeType":"IdentifierPath","referencedDeclaration":50806,"src":"338:14:41"},"referencedDeclaration":50806,"src":"338:14:41","typeDescriptions":{"typeIdentifier":"t_enum$_Operation_$50806","typeString":"enum Enum.Operation"}},"visibility":"internal"},{"constant":false,"id":49776,"mutability":"mutable","name":"txGas","nameLocation":"380:5:41","nodeType":"VariableDeclaration","scope":49792,"src":"372:13:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49775,"name":"uint256","nodeType":"ElementaryTypeName","src":"372:7:41","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"258:133:41"},"returnParameters":{"id":49780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49779,"mutability":"mutable","name":"success","nameLocation":"415:7:41","nodeType":"VariableDeclaration","scope":49792,"src":"410:12:41","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49778,"name":"bool","nodeType":"ElementaryTypeName","src":"410:4:41","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"409:14:41"},"scope":49793,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Executor","contractDependencies":[],"contractKind":"contract","documentation":{"id":49765,"nodeType":"StructuredDocumentation","src":"104:114:41","text":"@title Executor - A contract that can execute transactions\n @author Richard Meissner - <richard@gnosis.pm>"},"fullyImplemented":true,"linearizedBaseContracts":[49793],"name":"Executor","nameLocation":"227:8:41","scope":49794,"usedErrors":[],"usedEvents":[]}],"license":"LGPL-3.0-only"},"id":41}