UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 35 kB
{"abi":[{"type":"function","name":"attest","inputs":[{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint64","internalType":"uint64"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocationTime","type":"uint64","internalType":"uint64"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"data","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"payable"},{"type":"function","name":"isPayable","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"multiAttest","inputs":[{"name":"attestations","type":"tuple[]","internalType":"struct Attestation[]","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint64","internalType":"uint64"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocationTime","type":"uint64","internalType":"uint64"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"data","type":"bytes","internalType":"bytes"}]},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"payable"},{"type":"function","name":"multiRevoke","inputs":[{"name":"attestations","type":"tuple[]","internalType":"struct Attestation[]","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint64","internalType":"uint64"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocationTime","type":"uint64","internalType":"uint64"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"data","type":"bytes","internalType":"bytes"}]},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"payable"},{"type":"function","name":"revoke","inputs":[{"name":"attestation","type":"tuple","internalType":"struct Attestation","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint64","internalType":"uint64"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocationTime","type":"uint64","internalType":"uint64"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"data","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":"e60c3505","isPayable()":"ce46e046","multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":"91db0b7e","multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":"88e5b2d9","revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":"e49617e1"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPayable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation[]\",\"name\":\"attestations\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"multiRevoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"attestation\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The new attestation.\"},\"returns\":{\"_0\":\"Whether the attestation is valid.\"}},\"isPayable()\":{\"returns\":{\"_0\":\"Whether the resolver supports ETH transfers.\"}},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The new attestations.\",\"values\":\"Explicit ETH amounts which were sent with each attestation.\"},\"returns\":{\"_0\":\"Whether all the attestations are valid.\"}},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"params\":{\"attestations\":\"The existing attestations to be revoked.\",\"values\":\"Explicit ETH amounts which were sent with each revocation.\"},\"returns\":{\"_0\":\"Whether the attestations can be revoked.\"}},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"params\":{\"attestation\":\"The existing attestation to be revoked.\"},\"returns\":{\"_0\":\"Whether the attestation can be revoked.\"}}},\"title\":\"ISchemaResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation and verifies whether it's valid.\"},\"isPayable()\":{\"notice\":\"Checks if the resolver can be sent ETH.\"},\"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes multiple attestations and verifies whether they are valid.\"},\"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])\":{\"notice\":\"Processes revocation of multiple attestation and verifies they can be revoked.\"},\"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))\":{\"notice\":\"Processes an attestation revocation and verifies if it can be revoked.\"}},\"notice\":\"The interface of an optional schema resolver.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/EAS/resolver/ISchemaResolver.sol\":\"ISchemaResolver\"},\"evmVersion\":\"cancun\",\"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/EAS/Common.sol\":{\"keccak256\":\"0xf9ddc182aaf50d620d3cbca8037ee32ae5062bfc495524f91b677668176f9309\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef8a29db6fb14f26b81e3ccc33f96ee25395383da00933af8799342260e76efe\",\"dweb:/ipfs/QmQc3WmVZhpoRcNsFMD5Jcw2vR4HidX4NQhMCtAvmNLMJd\"]},\"src/EAS/resolver/ISchemaResolver.sol\":{\"keccak256\":\"0xf4712a6685599bd284b0c3808e7f6e08ab5e28919647404f26ca372917ddd000\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://17b31b0109cd3c1a1550738b24aa77541cc48b2ade5189bcec7808c9c9ce2c61\",\"dweb:/ipfs/QmeyKMMWsgQBeJkpr1Uugxw9bpg6oCjptyLmbR2TUqRLHB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"uint64","name":"revocationTime","type":"uint64"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"attest","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"isPayable","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct Attestation[]","name":"attestations","type":"tuple[]","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"uint64","name":"revocationTime","type":"uint64"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}]},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"payable","type":"function","name":"multiAttest","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct Attestation[]","name":"attestations","type":"tuple[]","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"uint64","name":"revocationTime","type":"uint64"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}]},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"payable","type":"function","name":"multiRevoke","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct Attestation","name":"attestation","type":"tuple","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"uint64","name":"revocationTime","type":"uint64"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"revoke","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"params":{"attestation":"The new attestation."},"returns":{"_0":"Whether the attestation is valid."}},"isPayable()":{"returns":{"_0":"Whether the resolver supports ETH transfers."}},"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"params":{"attestations":"The new attestations.","values":"Explicit ETH amounts which were sent with each attestation."},"returns":{"_0":"Whether all the attestations are valid."}},"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"params":{"attestations":"The existing attestations to be revoked.","values":"Explicit ETH amounts which were sent with each revocation."},"returns":{"_0":"Whether the attestations can be revoked."}},"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"params":{"attestation":"The existing attestation to be revoked."},"returns":{"_0":"Whether the attestation can be revoked."}}},"version":1},"userdoc":{"kind":"user","methods":{"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"notice":"Processes an attestation and verifies whether it's valid."},"isPayable()":{"notice":"Checks if the resolver can be sent ETH."},"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"notice":"Processes multiple attestations and verifies whether they are valid."},"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"notice":"Processes revocation of multiple attestation and verifies they can be revoked."},"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"notice":"Processes an attestation revocation and verifies if it can be revoked."}},"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/EAS/resolver/ISchemaResolver.sol":"ISchemaResolver"},"evmVersion":"cancun","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"src/EAS/Common.sol":{"keccak256":"0xf9ddc182aaf50d620d3cbca8037ee32ae5062bfc495524f91b677668176f9309","urls":["bzz-raw://ef8a29db6fb14f26b81e3ccc33f96ee25395383da00933af8799342260e76efe","dweb:/ipfs/QmQc3WmVZhpoRcNsFMD5Jcw2vR4HidX4NQhMCtAvmNLMJd"],"license":"MIT"},"src/EAS/resolver/ISchemaResolver.sol":{"keccak256":"0xf4712a6685599bd284b0c3808e7f6e08ab5e28919647404f26ca372917ddd000","urls":["bzz-raw://17b31b0109cd3c1a1550738b24aa77541cc48b2ade5189bcec7808c9c9ce2c61","dweb:/ipfs/QmeyKMMWsgQBeJkpr1Uugxw9bpg6oCjptyLmbR2TUqRLHB"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"notice":"Processes an attestation and verifies whether it's valid."},"isPayable()":{"notice":"Checks if the resolver can be sent ETH."},"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"notice":"Processes multiple attestations and verifies whether they are valid."},"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"notice":"Processes revocation of multiple attestation and verifies they can be revoked."},"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"notice":"Processes an attestation revocation and verifies if it can be revoked."}},"notice":"The interface of an optional schema resolver."},"devdoc":{"version":1,"kind":"dev","methods":{"attest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"params":{"attestation":"The new attestation."},"returns":{"_0":"Whether the attestation is valid."}},"isPayable()":{"returns":{"_0":"Whether the resolver supports ETH transfers."}},"multiAttest((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"params":{"attestations":"The new attestations.","values":"Explicit ETH amounts which were sent with each attestation."},"returns":{"_0":"Whether all the attestations are valid."}},"multiRevoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes)[],uint256[])":{"params":{"attestations":"The existing attestations to be revoked.","values":"Explicit ETH amounts which were sent with each revocation."},"returns":{"_0":"Whether the attestations can be revoked."}},"revoke((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))":{"params":{"attestation":"The existing attestation to be revoked."},"returns":{"_0":"Whether the attestation can be revoked."}}},"title":"ISchemaResolver"},"ast":{"absolutePath":"src/EAS/resolver/ISchemaResolver.sol","id":53373,"exportedSymbols":{"Attestation":[52836],"ISchemaResolver":[53372]},"nodeType":"SourceUnit","src":"32:1829:45","nodes":[{"id":53318,"nodeType":"PragmaDirective","src":"32:23:45","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":53320,"nodeType":"ImportDirective","src":"57:44:45","nodes":[],"absolutePath":"src/EAS/Common.sol","file":"../Common.sol","nameLocation":"-1:-1:-1","scope":53373,"sourceUnit":52965,"symbolAliases":[{"foreign":{"id":53319,"name":"Attestation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52836,"src":"66:11:45","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":53372,"nodeType":"ContractDefinition","src":"188:1672:45","nodes":[{"id":53327,"nodeType":"FunctionDefinition","src":"337:50:45","nodes":[],"documentation":{"id":53322,"nodeType":"StructuredDocumentation","src":"220:112:45","text":"@notice Checks if the resolver can be sent ETH.\n @return Whether the resolver supports ETH transfers."},"functionSelector":"ce46e046","implemented":false,"kind":"function","modifiers":[],"name":"isPayable","nameLocation":"346:9:45","parameters":{"id":53323,"nodeType":"ParameterList","parameters":[],"src":"355:2:45"},"returnParameters":{"id":53326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53325,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53327,"src":"381:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53324,"name":"bool","nodeType":"ElementaryTypeName","src":"381:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"380:6:45"},"scope":53372,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":53336,"nodeType":"FunctionDefinition","src":"565:82:45","nodes":[],"documentation":{"id":53328,"nodeType":"StructuredDocumentation","src":"393:167:45","text":"@notice Processes an attestation and verifies whether it's valid.\n @param attestation The new attestation.\n @return Whether the attestation is valid."},"functionSelector":"e60c3505","implemented":false,"kind":"function","modifiers":[],"name":"attest","nameLocation":"574:6:45","parameters":{"id":53332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53331,"mutability":"mutable","name":"attestation","nameLocation":"602:11:45","nodeType":"VariableDeclaration","scope":53336,"src":"581:32:45","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Attestation_$52836_calldata_ptr","typeString":"struct Attestation"},"typeName":{"id":53330,"nodeType":"UserDefinedTypeName","pathNode":{"id":53329,"name":"Attestation","nameLocations":["581:11:45"],"nodeType":"IdentifierPath","referencedDeclaration":52836,"src":"581:11:45"},"referencedDeclaration":52836,"src":"581:11:45","typeDescriptions":{"typeIdentifier":"t_struct$_Attestation_$52836_storage_ptr","typeString":"struct Attestation"}},"visibility":"internal"}],"src":"580:34:45"},"returnParameters":{"id":53335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53334,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53336,"src":"641:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53333,"name":"bool","nodeType":"ElementaryTypeName","src":"641:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"640:6:45"},"scope":53372,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":53349,"nodeType":"FunctionDefinition","src":"926:163:45","nodes":[],"documentation":{"id":53337,"nodeType":"StructuredDocumentation","src":"653:268:45","text":"@notice Processes multiple attestations and verifies whether they are valid.\n @param attestations The new attestations.\n @param values Explicit ETH amounts which were sent with each attestation.\n @return Whether all the attestations are valid."},"functionSelector":"91db0b7e","implemented":false,"kind":"function","modifiers":[],"name":"multiAttest","nameLocation":"935:11:45","parameters":{"id":53345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53341,"mutability":"mutable","name":"attestations","nameLocation":"979:12:45","nodeType":"VariableDeclaration","scope":53349,"src":"956:35:45","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Attestation_$52836_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Attestation[]"},"typeName":{"baseType":{"id":53339,"nodeType":"UserDefinedTypeName","pathNode":{"id":53338,"name":"Attestation","nameLocations":["956:11:45"],"nodeType":"IdentifierPath","referencedDeclaration":52836,"src":"956:11:45"},"referencedDeclaration":52836,"src":"956:11:45","typeDescriptions":{"typeIdentifier":"t_struct$_Attestation_$52836_storage_ptr","typeString":"struct Attestation"}},"id":53340,"nodeType":"ArrayTypeName","src":"956:13:45","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Attestation_$52836_storage_$dyn_storage_ptr","typeString":"struct Attestation[]"}},"visibility":"internal"},{"constant":false,"id":53344,"mutability":"mutable","name":"values","nameLocation":"1020:6:45","nodeType":"VariableDeclaration","scope":53349,"src":"1001:25:45","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":53342,"name":"uint256","nodeType":"ElementaryTypeName","src":"1001:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":53343,"nodeType":"ArrayTypeName","src":"1001:9:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"946:86:45"},"returnParameters":{"id":53348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53349,"src":"1083:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53346,"name":"bool","nodeType":"ElementaryTypeName","src":"1083:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1082:6:45"},"scope":53372,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":53358,"nodeType":"FunctionDefinition","src":"1305:82:45","nodes":[],"documentation":{"id":53350,"nodeType":"StructuredDocumentation","src":"1095:205:45","text":"@notice Processes an attestation revocation and verifies if it can be revoked.\n @param attestation The existing attestation to be revoked.\n @return Whether the attestation can be revoked."},"functionSelector":"e49617e1","implemented":false,"kind":"function","modifiers":[],"name":"revoke","nameLocation":"1314:6:45","parameters":{"id":53354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53353,"mutability":"mutable","name":"attestation","nameLocation":"1342:11:45","nodeType":"VariableDeclaration","scope":53358,"src":"1321:32:45","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Attestation_$52836_calldata_ptr","typeString":"struct Attestation"},"typeName":{"id":53352,"nodeType":"UserDefinedTypeName","pathNode":{"id":53351,"name":"Attestation","nameLocations":["1321:11:45"],"nodeType":"IdentifierPath","referencedDeclaration":52836,"src":"1321:11:45"},"referencedDeclaration":52836,"src":"1321:11:45","typeDescriptions":{"typeIdentifier":"t_struct$_Attestation_$52836_storage_ptr","typeString":"struct Attestation"}},"visibility":"internal"}],"src":"1320:34:45"},"returnParameters":{"id":53357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53358,"src":"1381:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53355,"name":"bool","nodeType":"ElementaryTypeName","src":"1381:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1380:6:45"},"scope":53372,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":53371,"nodeType":"FunctionDefinition","src":"1695:163:45","nodes":[],"documentation":{"id":53359,"nodeType":"StructuredDocumentation","src":"1393:297:45","text":"@notice Processes revocation of multiple attestation and verifies they can be revoked.\n @param attestations The existing attestations to be revoked.\n @param values Explicit ETH amounts which were sent with each revocation.\n @return Whether the attestations can be revoked."},"functionSelector":"88e5b2d9","implemented":false,"kind":"function","modifiers":[],"name":"multiRevoke","nameLocation":"1704:11:45","parameters":{"id":53367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53363,"mutability":"mutable","name":"attestations","nameLocation":"1748:12:45","nodeType":"VariableDeclaration","scope":53371,"src":"1725:35:45","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Attestation_$52836_calldata_ptr_$dyn_calldata_ptr","typeString":"struct Attestation[]"},"typeName":{"baseType":{"id":53361,"nodeType":"UserDefinedTypeName","pathNode":{"id":53360,"name":"Attestation","nameLocations":["1725:11:45"],"nodeType":"IdentifierPath","referencedDeclaration":52836,"src":"1725:11:45"},"referencedDeclaration":52836,"src":"1725:11:45","typeDescriptions":{"typeIdentifier":"t_struct$_Attestation_$52836_storage_ptr","typeString":"struct Attestation"}},"id":53362,"nodeType":"ArrayTypeName","src":"1725:13:45","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Attestation_$52836_storage_$dyn_storage_ptr","typeString":"struct Attestation[]"}},"visibility":"internal"},{"constant":false,"id":53366,"mutability":"mutable","name":"values","nameLocation":"1789:6:45","nodeType":"VariableDeclaration","scope":53371,"src":"1770:25:45","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":53364,"name":"uint256","nodeType":"ElementaryTypeName","src":"1770:7:45","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":53365,"nodeType":"ArrayTypeName","src":"1770:9:45","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1715:86:45"},"returnParameters":{"id":53370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":53371,"src":"1852:4:45","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53368,"name":"bool","nodeType":"ElementaryTypeName","src":"1852:4:45","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1851:6:45"},"scope":53372,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ISchemaResolver","contractDependencies":[],"contractKind":"interface","documentation":{"id":53321,"nodeType":"StructuredDocumentation","src":"103:85:45","text":"@title ISchemaResolver\n @notice The interface of an optional schema resolver."},"fullyImplemented":false,"linearizedBaseContracts":[53372],"name":"ISchemaResolver","nameLocation":"198:15:45","scope":53373,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":45}