UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 21.3 kB
{"abi":[{"type":"function","name":"bridge","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"_from","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"remoteToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"bridge()":"e78cea92","burn(address,uint256)":"9dc29fac","mint(address,uint256)":"40c10f19","remoteToken()":"d6c0b2c4","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"bridge\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"remoteToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"IOptimismMintableERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This interface is available on the OptimismMintableERC20 contract. We declare it as a separate interface so that it can be used in custom implementations of OptimismMintableERC20.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/universal/IOptimismMintableERC20.sol\":\"IOptimismMintableERC20\"},\"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/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"src/universal/IOptimismMintableERC20.sol\":{\"keccak256\":\"0x6f8133b39efcbcbd5088f195dfacf1bedc3146508429c3865443909af735a04c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adc36971e2e120458769f050428d9d2b0504516660345020c2521ee46e6d8abf\",\"dweb:/ipfs/QmPbFusQkZgGKpU8Fv5JoqL4oVeJtM3yqnhRGLY9eZT5zZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"bridge","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"remoteToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"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/universal/IOptimismMintableERC20.sol":"IOptimismMintableERC20"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"src/universal/IOptimismMintableERC20.sol":{"keccak256":"0x6f8133b39efcbcbd5088f195dfacf1bedc3146508429c3865443909af735a04c","urls":["bzz-raw://adc36971e2e120458769f050428d9d2b0504516660345020c2521ee46e6d8abf","dweb:/ipfs/QmPbFusQkZgGKpU8Fv5JoqL4oVeJtM3yqnhRGLY9eZT5zZ"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","notice":"This interface is available on the OptimismMintableERC20 contract. We declare it as a separate interface so that it can be used in custom implementations of OptimismMintableERC20."},"devdoc":{"version":1,"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"title":"IOptimismMintableERC20"},"ast":{"absolutePath":"src/universal/IOptimismMintableERC20.sol","id":122236,"exportedSymbols":{"IERC165":[55057],"ILegacyMintableERC20":[122235],"IOptimismMintableERC20":[122212]},"nodeType":"SourceUnit","src":"32:1105:270","nodes":[{"id":122182,"nodeType":"PragmaDirective","src":"32:23:270","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":122184,"nodeType":"ImportDirective","src":"57:82:270","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":122236,"sourceUnit":55058,"symbolAliases":[{"foreign":{"id":122183,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55057,"src":"66:7:270","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":122212,"nodeType":"ContractDefinition","src":"391:278:270","nodes":[{"id":122192,"nodeType":"FunctionDefinition","src":"441:55:270","nodes":[],"functionSelector":"d6c0b2c4","implemented":false,"kind":"function","modifiers":[],"name":"remoteToken","nameLocation":"450:11:270","parameters":{"id":122188,"nodeType":"ParameterList","parameters":[],"src":"461:2:270"},"returnParameters":{"id":122191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122190,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":122192,"src":"487:7:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122189,"name":"address","nodeType":"ElementaryTypeName","src":"487:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"486:9:270"},"scope":122212,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":122197,"nodeType":"FunctionDefinition","src":"502:45:270","nodes":[],"functionSelector":"e78cea92","implemented":false,"kind":"function","modifiers":[],"name":"bridge","nameLocation":"511:6:270","parameters":{"id":122193,"nodeType":"ParameterList","parameters":[],"src":"517:2:270"},"returnParameters":{"id":122196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122195,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":122197,"src":"538:7:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122194,"name":"address","nodeType":"ElementaryTypeName","src":"538:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"537:9:270"},"scope":122212,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":122204,"nodeType":"FunctionDefinition","src":"553:53:270","nodes":[],"functionSelector":"40c10f19","implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"562:4:270","parameters":{"id":122202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122199,"mutability":"mutable","name":"_to","nameLocation":"575:3:270","nodeType":"VariableDeclaration","scope":122204,"src":"567:11:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122198,"name":"address","nodeType":"ElementaryTypeName","src":"567:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":122201,"mutability":"mutable","name":"_amount","nameLocation":"588:7:270","nodeType":"VariableDeclaration","scope":122204,"src":"580:15:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":122200,"name":"uint256","nodeType":"ElementaryTypeName","src":"580:7:270","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"566:30:270"},"returnParameters":{"id":122203,"nodeType":"ParameterList","parameters":[],"src":"605:0:270"},"scope":122212,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":122211,"nodeType":"FunctionDefinition","src":"612:55:270","nodes":[],"functionSelector":"9dc29fac","implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"621:4:270","parameters":{"id":122209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122206,"mutability":"mutable","name":"_from","nameLocation":"634:5:270","nodeType":"VariableDeclaration","scope":122211,"src":"626:13:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122205,"name":"address","nodeType":"ElementaryTypeName","src":"626:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":122208,"mutability":"mutable","name":"_amount","nameLocation":"649:7:270","nodeType":"VariableDeclaration","scope":122211,"src":"641:15:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":122207,"name":"uint256","nodeType":"ElementaryTypeName","src":"641:7:270","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"625:32:270"},"returnParameters":{"id":122210,"nodeType":"ParameterList","parameters":[],"src":"666:0:270"},"scope":122212,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":122186,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":55057,"src":"427:7:270"},"id":122187,"nodeType":"InheritanceSpecifier","src":"427:7:270"}],"canonicalName":"IOptimismMintableERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":122185,"nodeType":"StructuredDocumentation","src":"141:250:270","text":"@title IOptimismMintableERC20\n @notice This interface is available on the OptimismMintableERC20 contract.\n We declare it as a separate interface so that it can be used in\n custom implementations of OptimismMintableERC20."},"fullyImplemented":false,"linearizedBaseContracts":[122212,55057],"name":"IOptimismMintableERC20","nameLocation":"401:22:270","scope":122236,"usedErrors":[]},{"id":122235,"nodeType":"ContractDefinition","src":"915:221:270","nodes":[{"id":122220,"nodeType":"FunctionDefinition","src":"963:51:270","nodes":[],"functionSelector":"c01e1bd6","implemented":false,"kind":"function","modifiers":[],"name":"l1Token","nameLocation":"972:7:270","parameters":{"id":122216,"nodeType":"ParameterList","parameters":[],"src":"979:2:270"},"returnParameters":{"id":122219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122218,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":122220,"src":"1005:7:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122217,"name":"address","nodeType":"ElementaryTypeName","src":"1005:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1004:9:270"},"scope":122235,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":122227,"nodeType":"FunctionDefinition","src":"1020:53:270","nodes":[],"functionSelector":"40c10f19","implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"1029:4:270","parameters":{"id":122225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122222,"mutability":"mutable","name":"_to","nameLocation":"1042:3:270","nodeType":"VariableDeclaration","scope":122227,"src":"1034:11:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122221,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":122224,"mutability":"mutable","name":"_amount","nameLocation":"1055:7:270","nodeType":"VariableDeclaration","scope":122227,"src":"1047:15:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":122223,"name":"uint256","nodeType":"ElementaryTypeName","src":"1047:7:270","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1033:30:270"},"returnParameters":{"id":122226,"nodeType":"ParameterList","parameters":[],"src":"1072:0:270"},"scope":122235,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":122234,"nodeType":"FunctionDefinition","src":"1079:55:270","nodes":[],"functionSelector":"9dc29fac","implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"1088:4:270","parameters":{"id":122232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122229,"mutability":"mutable","name":"_from","nameLocation":"1101:5:270","nodeType":"VariableDeclaration","scope":122234,"src":"1093:13:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":122228,"name":"address","nodeType":"ElementaryTypeName","src":"1093:7:270","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":122231,"mutability":"mutable","name":"_amount","nameLocation":"1116:7:270","nodeType":"VariableDeclaration","scope":122234,"src":"1108:15:270","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":122230,"name":"uint256","nodeType":"ElementaryTypeName","src":"1108:7:270","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1092:32:270"},"returnParameters":{"id":122233,"nodeType":"ParameterList","parameters":[],"src":"1133:0:270"},"scope":122235,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":122214,"name":"IERC165","nodeType":"IdentifierPath","referencedDeclaration":55057,"src":"949:7:270"},"id":122215,"nodeType":"InheritanceSpecifier","src":"949:7:270"}],"canonicalName":"ILegacyMintableERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":122213,"nodeType":"StructuredDocumentation","src":"671:244:270","text":"@custom:legacy\n @title ILegacyMintableERC20\n @notice This interface was available on the legacy L2StandardERC20 contract.\n It remains available on the OptimismMintableERC20 contract for\n backwards compatibility."},"fullyImplemented":false,"linearizedBaseContracts":[122235,55057],"name":"ILegacyMintableERC20","nameLocation":"925:20:270","scope":122236,"usedErrors":[]}],"license":"MIT"},"id":270}