@tokamak-network/thanos-contracts
Version:
1 lines • 19.6 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"fiatTokenProxy","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proxy","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tearDown","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":false,"internalType":"address"},{"name":"newOwner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b","proxy()":"ec556889","tearDown()":"ec1e6a4f","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"fiatTokenProxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tearDown\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An abstract contract to encapsulate any common logic for any V2+ Upgrader Helper contracts. The helper enables the upgrader to read some contract state before it renounces the proxy admin role (Proxy admins cannot call delegated methods).\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"fiatTokenProxy\":\"Address of the FiatTokenProxy contract\"}},\"owner()\":{\"details\":\"Tells the address of the owner\",\"returns\":{\"_0\":\"the address of the owner\"}},\"proxy()\":{\"returns\":{\"_0\":\"Contract address\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":\"Constructor\",\"proxy()\":{\"notice\":\"The address of the FiatTokenProxy contract\"},\"tearDown()\":{\"notice\":\"Tear down the contract (self-destruct)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol\":\"AbstractUpgraderHelper\"},\"evmVersion\":\"istanbul\",\"libraries\":{\"SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Ownable.sol\":{\"keccak256\":\"0x3185c30c5c78bfab0e88f219e3ad48c30aaeca8ebd4d888e6efda41021a5a759\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03e00b50b100a50ef4dc0e07663291ddda6ba6023befc7b47c899bb700ad1549\",\"dweb:/ipfs/QmcHhU6ppJDQnY8UWpzSMy1XSLUJ4ZXqhuwnShxP4sQ2gB\"]},\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol\":{\"keccak256\":\"0x81855f549929ae5f1509e046f1dddc85289701b9f1422b32e1e14c3618e7e1b3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ed92d175e56356c6c146f7fb9d72b688423433c88f67b3c4bcf91f3bc29a6566\",\"dweb:/ipfs/QmcbHdcuVCpQyXMpuwoxrPC6zCw313Y7s3nDwS7q4wxCJP\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"fiatTokenProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":false},{"internalType":"address","name":"newOwner","type":"address","indexed":false}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxy","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"tearDown"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"fiatTokenProxy":"Address of the FiatTokenProxy contract"}},"owner()":{"details":"Tells the address of the owner","returns":{"_0":"the address of the owner"}},"proxy()":{"returns":{"_0":"Contract address"}},"transferOwnership(address)":{"details":"Allows the current owner to transfer control of the contract to a newOwner.","params":{"newOwner":"The address to transfer ownership to."}}},"version":1},"userdoc":{"kind":"user","methods":{"constructor":"Constructor","proxy()":{"notice":"The address of the FiatTokenProxy contract"},"tearDown()":{"notice":"Tear down the contract (self-destruct)"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol":"AbstractUpgraderHelper"},"evmVersion":"istanbul","libraries":{"SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Ownable.sol":{"keccak256":"0x3185c30c5c78bfab0e88f219e3ad48c30aaeca8ebd4d888e6efda41021a5a759","urls":["bzz-raw://03e00b50b100a50ef4dc0e07663291ddda6ba6023befc7b47c899bb700ad1549","dweb:/ipfs/QmcHhU6ppJDQnY8UWpzSMy1XSLUJ4ZXqhuwnShxP4sQ2gB"],"license":"MIT"},"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol":{"keccak256":"0x81855f549929ae5f1509e046f1dddc85289701b9f1422b32e1e14c3618e7e1b3","urls":["bzz-raw://ed92d175e56356c6c146f7fb9d72b688423433c88f67b3c4bcf91f3bc29a6566","dweb:/ipfs/QmcbHdcuVCpQyXMpuwoxrPC6zCw313Y7s3nDwS7q4wxCJP"],"license":"Apache-2.0"}},"version":1},"storageLayout":{"storage":[{"astId":3029,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol:AbstractUpgraderHelper","label":"_owner","offset":0,"slot":"0","type":"t_address"},{"astId":6378,"contract":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol:AbstractUpgraderHelper","label":"_proxy","offset":0,"slot":"1","type":"t_address"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"}}},"userdoc":{"version":1,"kind":"user","methods":{"constructor":"Constructor","proxy()":{"notice":"The address of the FiatTokenProxy contract"},"tearDown()":{"notice":"Tear down the contract (self-destruct)"}}},"devdoc":{"version":1,"kind":"dev","details":"An abstract contract to encapsulate any common logic for any V2+ Upgrader Helper contracts. The helper enables the upgrader to read some contract state before it renounces the proxy admin role (Proxy admins cannot call delegated methods).","methods":{"constructor":{"params":{"fiatTokenProxy":"Address of the FiatTokenProxy contract"}},"owner()":{"details":"Tells the address of the owner","returns":{"_0":"the address of the owner"}},"proxy()":{"returns":{"_0":"Contract address"}},"transferOwnership(address)":{"details":"Allows the current owner to transfer control of the contract to a newOwner.","params":{"newOwner":"The address to transfer ownership to."}}}},"ast":{"absolutePath":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/upgrader/helpers/AbstractUpgraderHelper.sol","id":6414,"exportedSymbols":{"AbstractUpgraderHelper":[6413]},"nodeType":"SourceUnit","src":"659:983:37","nodes":[{"id":6371,"nodeType":"PragmaDirective","src":"659:23:37","nodes":[],"literals":["solidity","0.6",".12"]},{"id":6373,"nodeType":"ImportDirective","src":"684:50:37","nodes":[],"absolutePath":"src/tokamak-contracts/USDC/L2/tokamak-USDC/v1/Ownable.sol","file":"../../../v1/Ownable.sol","scope":6414,"sourceUnit":3109,"symbolAliases":[{"foreign":{"argumentTypes":null,"id":6372,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":null,"src":"693:7:37","typeDescriptions":{"typeIdentifier":null,"typeString":null}},"local":null}],"unitAlias":""},{"id":6413,"nodeType":"ContractDefinition","src":"997:644:37","nodes":[{"id":6378,"nodeType":"VariableDeclaration","src":"1055:23:37","nodes":[],"constant":false,"mutability":"mutable","name":"_proxy","overrides":null,"scope":6413,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6377,"name":"address","nodeType":"ElementaryTypeName","src":"1055:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"id":6391,"nodeType":"FunctionDefinition","src":"1199:93:37","nodes":[],"body":{"id":6390,"nodeType":"Block","src":"1252:40:37","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":6388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":6386,"name":"_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6378,"src":"1262:6:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":6387,"name":"fiatTokenProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6381,"src":"1271:14:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1262:23:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6389,"nodeType":"ExpressionStatement","src":"1262:23:37"}]},"documentation":{"id":6379,"nodeType":"StructuredDocumentation","src":"1085:109:37","text":" @notice Constructor\n @param fiatTokenProxy Address of the FiatTokenProxy contract"},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[],"id":6384,"modifierName":{"argumentTypes":null,"id":6383,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3108,"src":"1242:7:37","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Ownable_$3108_$","typeString":"type(contract Ownable)"}},"nodeType":"ModifierInvocation","src":"1242:9:37"}],"name":"","overrides":null,"parameters":{"id":6382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6381,"mutability":"mutable","name":"fiatTokenProxy","nodeType":"VariableDeclaration","overrides":null,"scope":6391,"src":"1211:22:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6380,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"1210:24:37"},"returnParameters":{"id":6385,"nodeType":"ParameterList","parameters":[],"src":"1252:0:37"},"scope":6413,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":6400,"nodeType":"FunctionDefinition","src":"1404:79:37","nodes":[],"body":{"id":6399,"nodeType":"Block","src":"1453:30:37","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":6397,"name":"_proxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6378,"src":"1470:6:37","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":6396,"id":6398,"nodeType":"Return","src":"1463:13:37"}]},"documentation":{"id":6392,"nodeType":"StructuredDocumentation","src":"1298:101:37","text":" @notice The address of the FiatTokenProxy contract\n @return Contract address"},"functionSelector":"ec556889","implemented":true,"kind":"function","modifiers":[],"name":"proxy","overrides":null,"parameters":{"id":6393,"nodeType":"ParameterList","parameters":[],"src":"1418:2:37"},"returnParameters":{"id":6396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6395,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":6400,"src":"1444:7:37","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6394,"name":"address","nodeType":"ElementaryTypeName","src":"1444:7:37","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"1443:9:37"},"scope":6413,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":6412,"nodeType":"FunctionDefinition","src":"1559:80:37","nodes":[],"body":{"id":6411,"nodeType":"Block","src":"1598:41:37","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":6407,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1621:3:37","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1621:10:37","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":6406,"name":"selfdestruct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-21,"src":"1608:12:37","typeDescriptions":{"typeIdentifier":"t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$","typeString":"function (address payable)"}},"id":6409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1608:24:37","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6410,"nodeType":"ExpressionStatement","src":"1608:24:37"}]},"documentation":{"id":6401,"nodeType":"StructuredDocumentation","src":"1489:65:37","text":" @notice Tear down the contract (self-destruct)"},"functionSelector":"ec1e6a4f","implemented":true,"kind":"function","modifiers":[{"arguments":null,"id":6404,"modifierName":{"argumentTypes":null,"id":6403,"name":"onlyOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"1588:9:37","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"1588:9:37"}],"name":"tearDown","overrides":null,"parameters":{"id":6402,"nodeType":"ParameterList","parameters":[],"src":"1576:2:37"},"returnParameters":{"id":6405,"nodeType":"ParameterList","parameters":[],"src":"1598:0:37"},"scope":6413,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":true,"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":6375,"name":"Ownable","nodeType":"UserDefinedTypeName","referencedDeclaration":3108,"src":"1041:7:37","typeDescriptions":{"typeIdentifier":"t_contract$_Ownable_$3108","typeString":"contract Ownable"}},"id":6376,"nodeType":"InheritanceSpecifier","src":"1041:7:37"}],"contractDependencies":[3108],"contractKind":"contract","documentation":{"id":6374,"nodeType":"StructuredDocumentation","src":"736:260:37","text":" @dev An abstract contract to encapsulate any common logic for any V2+ Upgrader Helper contracts.\n The helper enables the upgrader to read some contract state before it renounces the\n proxy admin role (Proxy admins cannot call delegated methods)."},"fullyImplemented":true,"linearizedBaseContracts":[6413,3108],"name":"AbstractUpgraderHelper","scope":6414}],"license":"Apache-2.0"},"id":37}