UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 13.5 kB
{"abi":[{"type":"function","name":"verify","inputs":[{"name":"_params","type":"tuple","internalType":"struct Faucet.DripParameters","components":[{"name":"recipient","type":"address","internalType":"address payable"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"gasLimit","type":"uint32","internalType":"uint32"}]},{"name":"_id","type":"bytes32","internalType":"bytes32"},{"name":"_proof","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"verify((address,bytes,bytes32,uint32),bytes32,bytes)":"d855814f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address payable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"gasLimit\",\"type\":\"uint32\"}],\"internalType\":\"struct Faucet.DripParameters\",\"name\":\"_params\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_proof\",\"type\":\"bytes\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"verify((address,bytes,bytes32,uint32),bytes32,bytes)\":{\"params\":{\"_id\":\"Authentication ID to verify.\",\"_params\":\"Drip parameters to verify.\",\"_proof\":\"Authentication proof to verify.\"},\"returns\":{\"_0\":\"valid_ True if the drip parameters are valid.\"}}},\"title\":\"IFaucetAuthModule\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"verify((address,bytes,bytes32,uint32),bytes32,bytes)\":{\"notice\":\"Verifies that the given drip parameters are valid.\"}},\"notice\":\"Interface for faucet authentication modules.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/periphery/faucet/authmodules/IFaucetAuthModule.sol\":\"IFaucetAuthModule\"},\"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\":{\"src/libraries/SafeCall.sol\":{\"keccak256\":\"0x0636a7abb242bb5d6f5606967c8929e6aa7e63468c1e2ce40ad4780d4c4bf94f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4daec2ac8f9907bbf84ef0a1c48f03bae8657619bc6f42b3a672f25c516f17a\",\"dweb:/ipfs/Qmf8gfRxBv8gEmCkP8YMPb2GGfj9QUnoNUyKE7UR2SWGnq\"]},\"src/periphery/faucet/Faucet.sol\":{\"keccak256\":\"0xb5002cc0394afe46a9244b8f65a5b5601ee177be55867c52773a1bf789124cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://673f34da6c815b00c8d9e2fb6c57e4a087d02f9aad453d626515cb21999558d9\",\"dweb:/ipfs/QmQ7hzya1TSV8iMuS64eYukSzNKebeAq7EPpnXMeV4phN9\"]},\"src/periphery/faucet/authmodules/IFaucetAuthModule.sol\":{\"keccak256\":\"0x1ae04232fda8aa0ae4fced4af75032bed7020576126cf04bd53ecb329673276d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a74059bfdfb5d091d7e3966e1e4157c20f97b4dc29b62a4a66e82d433fac850\",\"dweb:/ipfs/QmetdNihkTcus9YupsexJU7U3LSDM1EUAuVoNTH1Bebsjf\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct Faucet.DripParameters","name":"_params","type":"tuple","components":[{"internalType":"address payable","name":"recipient","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint32","name":"gasLimit","type":"uint32"}]},{"internalType":"bytes32","name":"_id","type":"bytes32"},{"internalType":"bytes","name":"_proof","type":"bytes"}],"stateMutability":"view","type":"function","name":"verify","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"verify((address,bytes,bytes32,uint32),bytes32,bytes)":{"params":{"_id":"Authentication ID to verify.","_params":"Drip parameters to verify.","_proof":"Authentication proof to verify."},"returns":{"_0":"valid_ True if the drip parameters are valid."}}},"version":1},"userdoc":{"kind":"user","methods":{"verify((address,bytes,bytes32,uint32),bytes32,bytes)":{"notice":"Verifies that the given drip parameters are valid."}},"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/periphery/faucet/authmodules/IFaucetAuthModule.sol":"IFaucetAuthModule"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/libraries/SafeCall.sol":{"keccak256":"0x0636a7abb242bb5d6f5606967c8929e6aa7e63468c1e2ce40ad4780d4c4bf94f","urls":["bzz-raw://a4daec2ac8f9907bbf84ef0a1c48f03bae8657619bc6f42b3a672f25c516f17a","dweb:/ipfs/Qmf8gfRxBv8gEmCkP8YMPb2GGfj9QUnoNUyKE7UR2SWGnq"],"license":"MIT"},"src/periphery/faucet/Faucet.sol":{"keccak256":"0xb5002cc0394afe46a9244b8f65a5b5601ee177be55867c52773a1bf789124cb3","urls":["bzz-raw://673f34da6c815b00c8d9e2fb6c57e4a087d02f9aad453d626515cb21999558d9","dweb:/ipfs/QmQ7hzya1TSV8iMuS64eYukSzNKebeAq7EPpnXMeV4phN9"],"license":"MIT"},"src/periphery/faucet/authmodules/IFaucetAuthModule.sol":{"keccak256":"0x1ae04232fda8aa0ae4fced4af75032bed7020576126cf04bd53ecb329673276d","urls":["bzz-raw://8a74059bfdfb5d091d7e3966e1e4157c20f97b4dc29b62a4a66e82d433fac850","dweb:/ipfs/QmetdNihkTcus9YupsexJU7U3LSDM1EUAuVoNTH1Bebsjf"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"verify((address,bytes,bytes32,uint32),bytes32,bytes)":{"notice":"Verifies that the given drip parameters are valid."}},"notice":"Interface for faucet authentication modules."},"devdoc":{"version":1,"kind":"dev","methods":{"verify((address,bytes,bytes32,uint32),bytes32,bytes)":{"params":{"_id":"Authentication ID to verify.","_params":"Drip parameters to verify.","_proof":"Authentication proof to verify."},"returns":{"_0":"valid_ True if the drip parameters are valid."}}},"title":"IFaucetAuthModule"},"ast":{"absolutePath":"src/periphery/faucet/authmodules/IFaucetAuthModule.sol","id":118301,"exportedSymbols":{"Faucet":[118195],"IFaucetAuthModule":[118300]},"nodeType":"SourceUnit","src":"32:647:245","nodes":[{"id":118283,"nodeType":"PragmaDirective","src":"32:23:245","nodes":[],"literals":["solidity","0.8",".15"]},{"id":118285,"nodeType":"ImportDirective","src":"57:39:245","nodes":[],"absolutePath":"src/periphery/faucet/Faucet.sol","file":"../Faucet.sol","nameLocation":"-1:-1:-1","scope":118301,"sourceUnit":118196,"symbolAliases":[{"foreign":{"id":118284,"name":"Faucet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118195,"src":"66:6:245","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":118300,"nodeType":"ContractDefinition","src":"185:493:245","nodes":[{"id":118299,"nodeType":"FunctionDefinition","src":"505:171:245","nodes":[],"documentation":{"id":118287,"nodeType":"StructuredDocumentation","src":"219:281:245","text":"@notice Verifies that the given drip parameters are valid.\n @param _params Drip parameters to verify.\n @param _id Authentication ID to verify.\n @param _proof Authentication proof to verify.\n @return valid_ True if the drip parameters are valid."},"functionSelector":"d855814f","implemented":false,"kind":"function","modifiers":[],"name":"verify","nameLocation":"514:6:245","parameters":{"id":118295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118290,"mutability":"mutable","name":"_params","nameLocation":"559:7:245","nodeType":"VariableDeclaration","scope":118299,"src":"530:36:245","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_DripParameters_$117946_memory_ptr","typeString":"struct Faucet.DripParameters"},"typeName":{"id":118289,"nodeType":"UserDefinedTypeName","pathNode":{"id":118288,"name":"Faucet.DripParameters","nodeType":"IdentifierPath","referencedDeclaration":117946,"src":"530:21:245"},"referencedDeclaration":117946,"src":"530:21:245","typeDescriptions":{"typeIdentifier":"t_struct$_DripParameters_$117946_storage_ptr","typeString":"struct Faucet.DripParameters"}},"visibility":"internal"},{"constant":false,"id":118292,"mutability":"mutable","name":"_id","nameLocation":"584:3:245","nodeType":"VariableDeclaration","scope":118299,"src":"576:11:245","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":118291,"name":"bytes32","nodeType":"ElementaryTypeName","src":"576:7:245","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":118294,"mutability":"mutable","name":"_proof","nameLocation":"610:6:245","nodeType":"VariableDeclaration","scope":118299,"src":"597:19:245","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":118293,"name":"bytes","nodeType":"ElementaryTypeName","src":"597:5:245","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"520:102:245"},"returnParameters":{"id":118298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":118297,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":118299,"src":"670:4:245","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":118296,"name":"bool","nodeType":"ElementaryTypeName","src":"670:4:245","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"669:6:245"},"scope":118300,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IFaucetAuthModule","contractDependencies":[],"contractKind":"interface","documentation":{"id":118286,"nodeType":"StructuredDocumentation","src":"98:87:245","text":"@title IFaucetAuthModule\n @notice Interface for faucet authentication modules."},"fullyImplemented":false,"linearizedBaseContracts":[118300],"name":"IFaucetAuthModule","nameLocation":"195:17:245","scope":118301,"usedErrors":[]}],"license":"MIT"},"id":245}