contracts

package
v0.0.0-...-ab81a0f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2024 License: BSD-3-Clause Imports: 9 Imported by: 0

README

Autogenerated Go ABI

ABI files generated from https://github.com/ethereum-attestation-service/eas-contracts

Steps:

# prepare the code
git clone https://github.com/ethereum-attestation-service/eas-contracts
cd eas-contracts
git checkout e16a73137a9c8039e97938a9f34c5eb6cbdafb70 # compatible updates on sepolia, mainnet and optimism
npm i

# compile
solcjs --base-path node_modules --include-path 'node_modules/@openzeppelin/contracts/utils' --include-path contracts --abi contracts/SchemaRegistry.sol --bin contracts/SchemaRegistry.sol -o abi --optimize-runs 2 --optimize
solcjs --base-path node_modules --include-path 'node_modules/@openzeppelin/contracts/utils' --include-path contracts --abi contracts/EAS.sol --bin contracts/EAS.sol -o abi --optimize-runs 2 --optimize

# generate go code
abigen --abi=abi/SchemaRegistry_sol_SchemaRegistry.abi --bin=abi/SchemaRegistry_sol_SchemaRegistry.bin --pkg=contracts --type=SchemaRegistry --out=schemaregistry.go
abigen --abi=abi/EAS_sol_EAS.abi --bin=abi/EAS_sol_EAS.bin --pkg=contracts --type=EAS --out=EAS_sol_EAS.go --pkg=contracts --type=EAS --out=eas.go

# copy generated go files
cp schemaregistry.go eas.go $PATH_TO_GO_PROJECTS/resenje.org/eas/internal/contracts/.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EASABI = EASMetaData.ABI

EASABI is the input ABI used to generate the binding from. Deprecated: Use EASMetaData.ABI instead.

View Source
var EASBin = EASMetaData.Bin

EASBin is the compiled bytecode used for deploying new contracts. Deprecated: Use EASMetaData.Bin instead.

View Source
var EASMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"contractISchemaRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyRevoked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyRevokedOffchain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyTimestamped\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAttestation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAttestations\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidExpirationTime\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOffset\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRevocation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRevocations\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSchema\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidVerifier\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Irrevocable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WrongSchema\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"name\":\"Attested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"}],\"name\":\"Revoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"RevokedOffchain\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"Timestamped\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structAttestationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"structAttestationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structAttestationRequestData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"structEIP712Signature\",\"name\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"}],\"internalType\":\"structDelegatedAttestationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"attestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAttestTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getAttestation\",\"outputs\":[{\"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\":\"structAttestation\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRevokeTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSchemaRegistry\",\"outputs\":[{\"internalType\":\"contractISchemaRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"isAttestationValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structAttestationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"structMultiAttestationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structAttestationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"structEIP712Signature[]\",\"name\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"}],\"internalType\":\"structMultiDelegatedAttestationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structRevocationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"structMultiRevocationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structRevocationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"structEIP712Signature[]\",\"name\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"}],\"internalType\":\"structMultiDelegatedRevocationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structRevocationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"structRevocationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"structRevocationRequestData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"structEIP712Signature\",\"name\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"}],\"internalType\":\"structDelegatedRevocationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"revokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"revokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
	Bin: "0x6101e06040523480156200001257600080fd5b5060405162003e0a38038062003e0a83398101604081905262000035916200020d565b604080518082018252600381526245415360e81b602080830191909152825180840190935260058352640312e302e360dc1b908301526001608052600060a081905260c0819052909190829082906200009090839062000188565b61018052620000a181600162000188565b6101a052815160208084019190912061014052815190820120610160524661010052620001326101405161016051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60e0525050306101205260026200014a8382620002e4565b5050506001600160a01b03811662000175576040516311a1e69760e01b815260040160405180910390fd5b6001600160a01b03166101c05262000425565b6000602083511015620001a857620001a083620001c1565b9050620001bb565b81620001b58482620002e4565b5060ff90505b92915050565b600080829050601f81511115620001f8578260405163305a27a960e01b8152600401620001ef9190620003b0565b60405180910390fd5b8051620002058262000400565b179392505050565b6000602082840312156200022057600080fd5b81516001600160a01b03811681146200023857600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200026a57607f821691505b6020821081036200028b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002df57600081815260208120601f850160051c81016020861015620002ba5750805b601f850160051c820191505b81811015620002db57828155600101620002c6565b5050505b505050565b81516001600160401b038111156200030057620003006200023f565b620003188162000311845462000255565b8462000291565b602080601f831160018114620003505760008415620003375750858301515b600019600386901b1c1916600185901b178555620002db565b600085815260208120601f198616915b82811015620003815788860151825594840194600190910190840162000360565b5085821015620003a05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083528351808285015260005b81811015620003df57858101830151858201604001528201620003c1565b506000604082860101526040601f19601f8301168501019250505092915050565b805160208083015191908110156200028b5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c051613950620004ba600039600081816104730152818161110501526116c101526000610ae101526000610ab701526000611f8901526000611f6101526000611ebc01526000611ee601526000611f10015260006108530152600061082a0152600061080101526139506000f3fe60806040526004361061011b5760003560e01c806312b11a171461012057806313893f611461016257806317d7de7c1461019a5780632d0335ab146101bc57806344adc90e146101f257806346926267146102125780634cb7e9e5146102275780634d0030701461023a57806354fd4d501461025a578063831e05a11461026f57806384b0196e14610282578063a3112a64146102aa578063b469318d146102d7578063b83010d314610323578063cf190f3414610356578063d45c443514610376578063e13458fc146103ac578063e30bb563146103bf578063e45d03f9146103fe578063e57a6b1b14610411578063e71ff36514610424578063ed24911d14610444578063f10b5cc814610459578063f17325e71461049d575b600080fd5b34801561012c57600080fd5b507fdbfdf8dc2b135c26253e00d5b6cbe6f20457e003fd526d97cea183883570de615b6040519081526020015b60405180910390f35b34801561016e57600080fd5b5061018261017d366004612b11565b6104b0565b6040516001600160401b039091168152602001610159565b3480156101a657600080fd5b506101af6104f5565b6040516101599190612ba2565b3480156101c857600080fd5b5061014f6101d7366004612be1565b6001600160a01b031660009081526003602052604090205490565b610205610200366004612b11565b610587565b6040516101599190612bfe565b610225610220366004612c42565b61069f565b005b610225610235366004612b11565b610723565b34801561024657600080fd5b50610182610255366004612c5a565b6107ed565b34801561026657600080fd5b506101af6107fa565b61020561027d366004612b11565b61089d565b34801561028e57600080fd5b50610297610aa9565b6040516101599796959493929190612cbb565b3480156102b657600080fd5b506102ca6102c5366004612c5a565b610b31565b6040516101599190612dd7565b3480156102e357600080fd5b506101826102f2366004612dea565b6001600160a01b0391909116600090815260066020908152604080832093835292905220546001600160401b031690565b34801561032f57600080fd5b507fa98d02348410c9c76735e0d0bb1396f4015ac2bb9615f9c2611d19d7a8a9965061014f565b34801561036257600080fd5b50610182610371366004612c5a565b610c77565b34801561038257600080fd5b50610182610391366004612c5a565b6000908152600560205260409020546001600160401b031690565b61014f6103ba366004612e16565b610c85565b3480156103cb57600080fd5b506103ee6103da366004612c5a565b600090815260046020526040902054151590565b6040519015158152602001610159565b61022561040c366004612b11565b610d44565b61022561041f366004612e50565b610e7b565b34801561043057600080fd5b5061018261043f366004612b11565b610f20565b34801561045057600080fd5b5061014f610f58565b34801561046557600080fd5b506040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610159565b61014f6104ab366004612e62565b610f67565b60004282825b818110156104e9576104e1338787848181106104d4576104d4612e9c565b9050602002013585610fe1565b6001016104b6565b50909150505b92915050565b60606002805461050490612eb2565b80601f016020809104026020016040519081016040528092919081815260200182805461053090612eb2565b801561057d5780601f106105525761010080835404028352916020019161057d565b820191906000526020600020905b81548152906001019060200180831161056057829003601f168201915b5050505050905090565b60606000826001600160401b038111156105a3576105a3612ee6565b6040519080825280602002602001820160405280156105d657816020015b60608152602001906001900390816105c15790505b509050600034815b8581101561068a57600019860181143688888481811061060057610600612e9c565b90506020028101906106129190612efc565b9050600061063982356106286020850185612f1c565b61063191613134565b338887611093565b805190915061064890866131a7565b9450806020015187858151811061066157610661612e9c565b6020026020010181905250806020015151860195505050506106838160010190565b90506105de565b5061069583836115d2565b9695505050505050565b604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816106b65790505090506106f136839003830160208401613216565b8160008151811061070457610704612e9c565b602090810291909101015261071e8235823334600161169e565b505050565b3460005b828110156107e757600019830181143685858481811061074957610749612e9c565b905060200281019061075b9190612efc565b90506107c8813561076f6020840184613232565b808060200260200160405190810160405280939291908181526020016000905b828210156107bb576107ac60408302860136819003810190613216565b8152602001906001019061078f565b505050505033878661169e565b6107d290856131a7565b935050506107e08160010190565b9050610727565b50505050565b6000426104ef8382611b1f565b60606108257f0000000000000000000000000000000000000000000000000000000000000000611bae565b61084e7f0000000000000000000000000000000000000000000000000000000000000000611bae565b6108777f0000000000000000000000000000000000000000000000000000000000000000611bae565b6040516020016108899392919061327b565b604051602081830303815290604052905090565b60606000826001600160401b038111156108b9576108b9612ee6565b6040519080825280602002602001820160405280156108ec57816020015b60608152602001906001900390816108d75790505b509050600034815b8581101561068a57600019860181143688888481811061091657610916612e9c565b905060200281019061092891906132d5565b905036600061093a6020840184612f1c565b909250905080158061095a575061095460408401846132eb565b82141590505b156109785760405163251f56a160e21b815260040160405180910390fd5b60005b81811015610a2d57610a256040518060800160405280866000013581526020018585858181106109ad576109ad612e9c565b90506020028101906109bf9190613333565b6109c890613349565b81526020016109da60408801886132eb565b858181106109ea576109ea612e9c565b905060600201803603810190610a0091906133bf565b8152602001610a156080880160608901612be1565b6001600160a01b03169052611c40565b60010161097b565b506000610a568435610a3f8486613134565b610a4f6080880160608901612be1565b8a89611093565b8051909150610a6590886131a7565b96508060200151898781518110610a7e57610a7e612e9c565b6020026020010181905250806020015151880197505050505050610aa28160010190565b90506108f4565b600060608082808083610adc7f000000000000000000000000000000000000000000000000000000000000000083611d82565b610b077f00000000000000000000000000000000000000000000000000000000000000006001611d82565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b610b39612a22565b6000828152600460208181526040928390208351610140810185528154815260018201549281019290925260028101546001600160401b0380821695840195909552600160401b810485166060840152600160801b90049093166080820152600383015460a0820152908201546001600160a01b0390811660c0830152600583015490811660e0830152600160a01b900460ff16151561010082015260068201805491929161012084019190610bee90612eb2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1a90612eb2565b8015610c675780601f10610c3c57610100808354040283529160200191610c67565b820191906000526020600020905b815481529060010190602001808311610c4a57829003601f168201915b5050505050815250509050919050565b6000426104ef338483610fe1565b6000610c98610c93836133db565b611c40565b604080516001808252818301909252600091816020015b610cb7612a78565b815260200190600190039081610caf579050509050610cd96020840184613333565b610ce290613349565b81600081518110610cf557610cf5612e9c565b6020908102919091010152610d1e833582610d1660c0870160a08801612be1565b346001611093565b60200151600081518110610d3457610d34612e9c565b6020026020010151915050919050565b3460005b828110156107e757600019830181146000858584818110610d6b57610d6b612e9c565b9050602002810190610d7d91906132d5565b610d86906134bf565b60208101518051919250901580610da35750816040015151815114155b15610dc15760405163251f56a160e21b815260040160405180910390fd5b60005b8151811015610e4557610e3d604051806080016040528085600001518152602001848481518110610df757610df7612e9c565b6020026020010151815260200185604001518481518110610e1a57610e1a612e9c565b6020026020010151815260200185606001516001600160a01b0316815250611e2d565b600101610dc4565b50610e5b8260000151828460600151888761169e565b610e6590866131a7565b9450505050610e748160010190565b9050610d48565b610e92610e8d3683900383018361359d565b611e2d565b604080516001808252818301909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081610ea9579050509050610ee436839003830160208401613216565b81600081518110610ef757610ef7612e9c565b602090810291909101015261071e823582610f1860e0860160c08701612be1565b34600161169e565b60004282825b818110156104e957610f50868683818110610f4357610f43612e9c565b9050602002013584611b1f565b600101610f26565b6000610f62611eaf565b905090565b604080516001808252818301909252600091829190816020015b610f89612a78565b815260200190600190039081610f81579050509050610fab6020840184613333565b610fb490613349565b81600081518110610fc757610fc7612e9c565b6020908102919091010152610d1e83358233346001611093565b6001600160a01b038316600090815260066020908152604080832085845291829052909120546001600160401b03161561102e5760405163ec9d6eeb60e01b815260040160405180910390fd5b60008381526020829052604080822080546001600160401b0319166001600160401b0386169081179091559051909185916001600160a01b038816917f92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a222991a450505050565b61109b612aac565b84516110a5612aac565b816001600160401b038111156110bd576110bd612ee6565b6040519080825280602002602001820160405280156110e6578160200160208202803683370190505b5060208201526040516351753e3760e11b8152600481018990526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a2ea7c6e90602401600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261117c91908101906135f9565b805190915061119e57604051635f9bd90760e11b815260040160405180910390fd5b6000836001600160401b038111156111b8576111b8612ee6565b6040519080825280602002602001820160405280156111f157816020015b6111de612a22565b8152602001906001900390816111d65790505b5090506000846001600160401b0381111561120e5761120e612ee6565b604051908082528060200260200182016040528015611237578160200160208202803683370190505b50905060005b858110156115b15760008b828151811061125957611259612e9c565b6020026020010151905060006001600160401b031681602001516001600160401b0316141580156112a05750426001600160401b031681602001516001600160401b031611155b156112be576040516308e8b93760e01b815260040160405180910390fd5b84604001511580156112d1575080604001515b156112ef5760405163157bd4c360e01b815260040160405180910390fd5b60006040518061014001604052806000801b81526020018f81526020016113134290565b6001600160401b0316815260200183602001516001600160401b0316815260200160006001600160401b031681526020018360600151815260200183600001516001600160a01b031681526020018d6001600160a01b0316815260200183604001511515815260200183608001518152509050600080600090505b6113988382611fda565b600081815260046020526040902054909250156113b75760010161138e565b8183526000828152600460208181526040928390208651815590860151600182015591850151600283018054606088015160808901516001600160401b03908116600160801b02600160801b600160c01b0319928216600160401b026001600160801b03199094169190951617919091171691909117905560a0850151600383015560c085015190820180546001600160a01b039283166001600160a01b031990911617905560e08501516005830180546101008801511515600160a01b026001600160a81b0319909116929093169190911791909117905561012084015184919060068201906114a8908261371e565b5050506060840151156114e65760608401516000908152600460205260409020546114e65760405163c5723b5160e01b815260040160405180910390fd5b828786815181106114f9576114f9612e9c565b60200260200101819052508360a0015186868151811061151b5761151b612e9c565b602002602001018181525050818960200151868151811061153e5761153e612e9c565b6020026020010181815250508f8e6001600160a01b031685600001516001600160a01b03167f8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b358560405161159491815260200190565b60405180910390a4505050506115aa8160010190565b905061123d565b506115c183838360008c8c612039565b845250919998505050505050505050565b60606000826001600160401b038111156115ee576115ee612ee6565b604051908082528060200260200182016040528015611617578160200160208202803683370190505b5090506000805b85518110156104e957600086828151811061163b5761163b612e9c565b6020026020010151905060005b81518110156116945781818151811061166357611663612e9c565b602002602001015185858151811061167d5761167d612e9c565b602090810291909101015260019384019301611648565b505060010161161e565b6040516351753e3760e11b81526004810186905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a2ea7c6e90602401600060405180830381865afa158015611708573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261173091908101906135f9565b805190915061175257604051635f9bd90760e11b815260040160405180910390fd5b85516000816001600160401b0381111561176e5761176e612ee6565b6040519080825280602002602001820160405280156117a757816020015b611794612a22565b81526020019060019003908161178c5790505b5090506000826001600160401b038111156117c4576117c4612ee6565b6040519080825280602002602001820160405280156117ed578160200160208202803683370190505b50905060005b83811015611b015760008a828151811061180f5761180f612e9c565b602090810291909101810151805160009081526004909252604090912080549192509061184f5760405163c5723b5160e01b815260040160405180910390fd5b8c81600101541461187357604051635f9bd90760e11b815260040160405180910390fd5b60058101546001600160a01b038c81169116146118a357604051634ca8886760e01b815260040160405180910390fd5b6005810154600160a01b900460ff166118cf5760405163157bd4c360e01b815260040160405180910390fd5b6002810154600160801b90046001600160401b0316156119025760405163905e710760e01b815260040160405180910390fd5b42600282018054600160801b600160c01b03198116600160801b6001600160401b03948516810291821793849055604080516101408101825287548152600188015460208201529386169286169290921791830191909152600160401b8304841660608301529091049091166080820152600382015460a082015260048201546001600160a01b0390811660c0830152600583015490811660e0830152600160a01b900460ff16151561010082015260068201805483916101208401916119c890612eb2565b80601f01602080910402602001604051908101604052809291908181526020018280546119f490612eb2565b8015611a415780601f10611a1657610100808354040283529160200191611a41565b820191906000526020600020905b815481529060010190602001808311611a2457829003601f168201915b505050505081525050858481518110611a5c57611a5c612e9c565b60200260200101819052508160200151848481518110611a7e57611a7e612e9c565b60200260200101818152505080600101548b6001600160a01b03168260040160009054906101000a90046001600160a01b03166001600160a01b03167ff930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f6158560000151604051611aef91815260200190565b60405180910390a450506001016117f3565b50611b1184838360018b8b612039565b9a9950505050505050505050565b6000828152600560205260409020546001600160401b031615611b55576040516317133ca360e11b815260040160405180910390fd5b60008281526005602052604080822080546001600160401b0319166001600160401b0385169081179091559051909184917f5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f9190a35050565b60606000611bbb83612330565b60010190506000816001600160401b03811115611bda57611bda612ee6565b6040519080825280601f01601f191660200182016040528015611c04576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611c0e57509392505050565b6020808201516040808401516060808601516001600160a01b03166000908152600386528381208054600181019091558751865187890151878901519589015160808a01518051908c01209851999a979994989597611d2c97611d11977fdbfdf8dc2b135c26253e00d5b6cbe6f20457e003fd526d97cea183883570de619791939290918c910197885260208801969096526001600160a01b039490941660408701526001600160401b039290921660608601521515608085015260a084015260c083015260e08201526101000190565b60405160208183030381529060405280519060200120612406565b905084606001516001600160a01b0316611d5482856000015186602001518760400151612433565b6001600160a01b031614611d7b57604051638baa579f60e01b815260040160405180910390fd5b5050505050565b606060ff8314611d9c57611d958361245b565b90506104ef565b818054611da890612eb2565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd490612eb2565b8015611e215780601f10611df657610100808354040283529160200191611e21565b820191906000526020600020905b815481529060010190602001808311611e0457829003601f168201915b505050505090506104ef565b6020818101516040808401516060808601516001600160a01b03166000908152600386528381208054600181019091558751865186517fa98d02348410c9c76735e0d0bb1396f4015ac2bb9615f9c2611d19d7a8a9965099810199909952958801529186019390935260808501819052929390929190611d2c9060a001611d11565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611f0857507f000000000000000000000000000000000000000000000000000000000000000046145b15611f3257507f000000000000000000000000000000000000000000000000000000000000000090565b610f62604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60208083015160c084015160e0850151604080870151606088015161010089015160a08a01516101208b0151945160009961201b99989796918c91016137dd565b60405160208183030381529060405280519060200120905092915050565b8451600090600181900361209157612089888860008151811061205e5761205e612e9c565b60200260200101518860008151811061207957612079612e9c565b602002602001015188888861249a565b915050610695565b60208801516001600160a01b0381166120fd5760005b828110156120f1578781815181106120c1576120c1612e9c565b60200260200101516000146120e957604051631574f9f360e01b815260040160405180910390fd5b6001016120a7565b50600092505050610695565b6000805b838110156121e857600089828151811061211d5761211d612e9c565b60200260200101519050806000141580156121975750836001600160a01b031663ce46e0466040518163ffffffff1660e01b8152600401602060405180830381865afa158015612171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121959190613871565b155b156121b557604051631574f9f360e01b815260040160405180910390fd5b878111156121d65760405163044044a560e21b815260040160405180910390fd5b96879003969190910190600101612101565b508615612284576040516388e5b2d960e01b81526001600160a01b038316906388e5b2d990839061221f908d908d9060040161388e565b60206040518083038185885af115801561223d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122629190613871565b61227f5760405163bf2f3a8b60e01b815260040160405180910390fd5b612314565b6040516348ed85bf60e11b81526001600160a01b038316906391db0b7e9083906122b4908d908d9060040161388e565b60206040518083038185885af11580156122d2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906122f79190613871565b6123145760405163e8bee83960e01b815260040160405180910390fd5b841561232357612323866126cd565b9998505050505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061236f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310612399576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106123b757662386f26fc10000830492506010015b6305f5e10083106123cf576305f5e100830492506008015b61271083106123e357612710830492506004015b606483106123f5576064830492506002015b600a83106104ef5760010192915050565b60006104ef612413611eaf565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000612444878787876126e0565b915091506124518161279a565b5095945050505050565b60606000612468836128e4565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60208601516000906001600160a01b0381166124d95785156124cf57604051631574f9f360e01b815260040160405180910390fd5b6000915050610695565b85158015906125475750806001600160a01b031663ce46e0466040518163ffffffff1660e01b8152600401602060405180830381865afa158015612521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125459190613871565b155b1561256557604051631574f9f360e01b815260040160405180910390fd5b838611156125865760405163044044a560e21b815260040160405180910390fd5b858403935084156126245760405163e49617e160e01b81526001600160a01b0382169063e49617e19088906125bf908b90600401612dd7565b60206040518083038185885af11580156125dd573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126029190613871565b61261f5760405163ccf3bb2760e01b815260040160405180910390fd5b6126b2565b60405163e60c350560e01b81526001600160a01b0382169063e60c3505908890612652908b90600401612dd7565b60206040518083038185885af1158015612670573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126959190613871565b6126b25760405163bd8ba84d60e01b815260040160405180910390fd5b82156126c1576126c1846126cd565b50939695505050505050565b80156126dd576126dd338261290c565b50565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b0383111561270d5750600090506003612791565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612761573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661278a57600060019250925050612791565b9150600090505b94509492505050565b60008160048111156127ae576127ae613904565b036127b65750565b60018160048111156127ca576127ca613904565b036128175760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b60448201526064015b60405180910390fd5b600281600481111561282b5761282b613904565b036128785760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161280e565b600381600481111561288c5761288c613904565b036126dd5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161280e565b600060ff8216601f8111156104ef57604051632cd44ac360e21b815260040160405180910390fd5b8047101561295c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161280e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146129a9576040519150601f19603f3d011682016040523d82523d6000602084013e6129ae565b606091505b505090508061071e5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b606482015260840161280e565b604080516101408101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820183905261010082019290925261012081019190915290565b6040805160c0810182526000808252602082018190529181018290526060808201839052608082015260a081019190915290565b604051806040016040528060008152602001606081525090565b60008083601f840112612ad857600080fd5b5081356001600160401b03811115612aef57600080fd5b6020830191508360208260051b8501011115612b0a57600080fd5b9250929050565b60008060208385031215612b2457600080fd5b82356001600160401b03811115612b3a57600080fd5b612b4685828601612ac6565b90969095509350505050565b60005b83811015612b6d578181015183820152602001612b55565b50506000910152565b60008151808452612b8e816020860160208601612b52565b601f01601f19169290920160200192915050565b602081526000612bb56020830184612b76565b9392505050565b6001600160a01b03811681146126dd57600080fd5b8035612bdc81612bbc565b919050565b600060208284031215612bf357600080fd5b8135612bb581612bbc565b6020808252825182820181905260009190848201906040850190845b81811015612c3657835183529284019291840191600101612c1a565b50909695505050505050565b600060608284031215612c5457600080fd5b50919050565b600060208284031215612c6c57600080fd5b5035919050565b6001600160a01b03169052565b600081518084526020808501945080840160005b83811015612cb057815187529582019590820190600101612c94565b509495945050505050565b60ff60f81b8816815260e060208201526000612cda60e0830189612b76565b8281036040840152612cec8189612b76565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050611b118185612c80565b600061014082518452602083015160208501526040830151612d4a60408601826001600160401b03169052565b506060830151612d6560608601826001600160401b03169052565b506080830151612d8060808601826001600160401b03169052565b5060a083015160a085015260c0830151612d9d60c0860182612c73565b5060e0830151612db060e0860182612c73565b50610100838101511515908501526101208084015181860183905261069583870182612b76565b602081526000612bb56020830184612d1d565b60008060408385031215612dfd57600080fd5b8235612e0881612bbc565b946020939093013593505050565b600060208284031215612e2857600080fd5b81356001600160401b03811115612e3e57600080fd5b820160c08185031215612bb557600080fd5b600060e08284031215612c5457600080fd5b600060208284031215612e7457600080fd5b81356001600160401b03811115612e8a57600080fd5b820160408185031215612bb557600080fd5b634e487b7160e01b600052603260045260246000fd5b600181811c90821680612ec657607f821691505b602082108103612c5457634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60008235603e19833603018112612f1257600080fd5b9190910192915050565b6000808335601e19843603018112612f3357600080fd5b8301803591506001600160401b03821115612f4d57600080fd5b6020019150600581901b3603821315612b0a57600080fd5b60405160c081016001600160401b0381118282101715612f8757612f87612ee6565b60405290565b604051608081016001600160401b0381118282101715612f8757612f87612ee6565b604051601f8201601f191681016001600160401b0381118282101715612fd757612fd7612ee6565b604052919050565b60006001600160401b03821115612ff857612ff8612ee6565b5060051b60200190565b80151581146126dd57600080fd5b8035612bdc81613002565b60006001600160401b0382111561303457613034612ee6565b50601f01601f191660200190565b600082601f83011261305357600080fd5b81356130666130618261301b565b612faf565b81815284602083860101111561307b57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c082840312156130aa57600080fd5b6130b2612f65565b905081356130bf81612bbc565b815260208201356001600160401b0380821682146130dc57600080fd5b8160208401526130ee60408501613010565b604084015260608401356060840152608084013591508082111561311157600080fd5b5061311e84828501613042565b60808301525060a082013560a082015292915050565b600061314261306184612fdf565b80848252602080830192508560051b85013681111561316057600080fd5b855b8181101561319b5780356001600160401b038111156131815760008081fd5b61318d36828a01613098565b865250938201938201613162565b50919695505050505050565b818103818111156104ef57634e487b7160e01b600052601160045260246000fd5b6000604082840312156131da57600080fd5b604051604081018181106001600160401b03821117156131fc576131fc612ee6565b604052823581526020928301359281019290925250919050565b60006040828403121561322857600080fd5b612bb583836131c8565b6000808335601e1984360301811261324957600080fd5b8301803591506001600160401b0382111561326357600080fd5b6020019150600681901b3603821315612b0a57600080fd5b6000845161328d818460208901612b52565b8083019050601760f91b80825285516132ad816001850160208a01612b52565b600192019182015283516132c8816002840160208801612b52565b0160020195945050505050565b60008235607e19833603018112612f1257600080fd5b6000808335601e1984360301811261330257600080fd5b8301803591506001600160401b0382111561331c57600080fd5b6020019150606081023603821315612b0a57600080fd5b6000823560be19833603018112612f1257600080fd5b60006104ef3683613098565b60006060828403121561336757600080fd5b604051606081018181106001600160401b038211171561338957613389612ee6565b604052905080823560ff811681146133a057600080fd5b8082525060208301356020820152604083013560408201525092915050565b6000606082840312156133d157600080fd5b612bb58383613355565b600060c082360312156133ed57600080fd5b6133f5612f8d565b8235815260208301356001600160401b0381111561341257600080fd5b61341e36828601613098565b6020830152506134313660408501613355565b604082015260a083013561344481612bbc565b606082015292915050565b600082601f83011261346057600080fd5b8135602061347061306183612fdf565b8281526060928302850182019282820191908785111561348f57600080fd5b8387015b858110156134b2576134a58982613355565b8452928401928101613493565b5090979650505050505050565b6000608082360312156134d157600080fd5b6134d9612f8d565b823581526020808401356001600160401b03808211156134f857600080fd5b9085019036601f83011261350b57600080fd5b813561351961306182612fdf565b81815260069190911b8301840190848101903683111561353857600080fd5b938501935b828510156135615761354f36866131c8565b8252858201915060408501945061353d565b8086880152505050604086013592508083111561357d57600080fd5b505061358b3682860161344f565b60408301525061344460608401612bd1565b600060e082840312156135af57600080fd5b6135b7612f8d565b823581526135c884602085016131c8565b60208201526135da8460608501613355565b604082015260c08301356135ed81612bbc565b60608201529392505050565b6000602080838503121561360c57600080fd5b82516001600160401b038082111561362357600080fd5b908401906080828703121561363757600080fd5b61363f612f8d565b825181528383015161365081612bbc565b81850152604083015161366281613002565b604082015260608301518281111561367957600080fd5b80840193505086601f84011261368e57600080fd5b8251915061369e6130618361301b565b82815287858486010111156136b257600080fd5b6136c183868301878701612b52565b60608201529695505050505050565b601f82111561071e57600081815260208120601f850160051c810160208610156136f75750805b601f850160051c820191505b8181101561371657828155600101613703565b505050505050565b81516001600160401b0381111561373757613737612ee6565b61374b816137458454612eb2565b846136d0565b602080601f83116001811461378057600084156137685750858301515b600019600386901b1c1916600185901b178555613716565b600085815260208120601f198616915b828110156137af57888601518255948401946001909101908401613790565b50858210156137cd5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b898152600060018060601b0319808b60601b166020840152808a60601b1660348401525060018060c01b0319808960c01b166048840152808860c01b1660508401525085151560f81b60588301528460598301528351613844816079850160208801612b52565b60e09390931b6001600160e01b03191660799290930191820192909252607d019998505050505050505050565b60006020828403121561388357600080fd5b8151612bb581613002565b6000604082016040835280855180835260608501915060608160051b8601019250602080880160005b838110156138e557605f198887030185526138d3868351612d1d565b955093820193908201906001016138b7565b5050858403818701525050506138fb8185612c80565b95945050505050565b634e487b7160e01b600052602160045260246000fdfea264697066735822122060fa6845234fda4cc18da90714a4e4490ec4ff68fe8c729ba8452abbd667604e64736f6c63430008130033",
}

EASMetaData contains all meta data concerning the EAS contract.

View Source
var SchemaRegistryABI = SchemaRegistryMetaData.ABI

SchemaRegistryABI is the input ABI used to generate the binding from. Deprecated: Use SchemaRegistryMetaData.ABI instead.

View Source
var SchemaRegistryBin = SchemaRegistryMetaData.Bin

SchemaRegistryBin is the compiled bytecode used for deploying new contracts. Deprecated: Use SchemaRegistryMetaData.Bin instead.

View Source
var SchemaRegistryMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AlreadyExists\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"registerer\",\"type\":\"address\"}],\"name\":\"Registered\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getSchema\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"contractISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"}],\"internalType\":\"structSchemaRecord\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"schema\",\"type\":\"string\"},{\"internalType\":\"contractISchemaResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"}],\"name\":\"register\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
	Bin: "0x60e060405234801561001057600080fd5b5060016080819052600060a081905260c0819052806108e56100478239600060fe0152600060d50152600060ac01526108e56000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806354fd4d501461004657806360d7a27814610064578063a2ea7c6e14610085575b600080fd5b61004e6100a5565b60405161005b9190610598565b60405180910390f35b6100776100723660046105b2565b610148565b60405190815260200161005b565b610098610093366004610656565b610295565b60405161005b919061066f565b60606100d07f000000000000000000000000000000000000000000000000000000000000000061039f565b6100f97f000000000000000000000000000000000000000000000000000000000000000061039f565b6101227f000000000000000000000000000000000000000000000000000000000000000061039f565b604051602001610134939291906106ba565b604051602081830303815290604052905090565b60008060405180608001604052806000801b8152602001856001600160a01b03168152602001841515815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525092935091506101bd905082610431565b600081815260208190526040902054909150156101ed5760405163119b4fd360e11b815260040160405180910390fd5b808252600081815260208181526040918290208451815590840151600182018054938601511515600160a01b026001600160a81b03199094166001600160a01b0390921691909117929092179091556060830151839190600282019061025390826107b3565b50506040513381528291507f7d917fcbc9a29a9705ff9936ffa599500e4fd902e4486bae317414fe967b307c9060200160405180910390a29695505050505050565b60408051608081018252600080825260208201819052918101919091526060808201526000828152602081815260409182902082516080810184528154815260018201546001600160a01b03811693820193909352600160a01b90920460ff161515928201929092526002820180549192916060840191906103169061072a565b80601f01602080910402602001604051908101604052809291908181526020018280546103429061072a565b801561038f5780601f106103645761010080835404028352916020019161038f565b820191906000526020600020905b81548152906001019060200180831161037257829003601f168201915b5050505050815250509050919050565b606060006103ac83610471565b60010190506000816001600160401b038111156103cb576103cb610714565b6040519080825280601f01601f1916602001820160405280156103f5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846103ff57509392505050565b600081606001518260200151836040015160405160200161045493929190610872565b604051602081830303815290604052805190602001209050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106104b05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106104da576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106104f857662386f26fc10000830492506010015b6305f5e1008310610510576305f5e100830492506008015b612710831061052457612710830492506004015b60648310610536576064830492506002015b600a8310610542576001015b92915050565b60005b8381101561056357818101518382015260200161054b565b50506000910152565b60008151808452610584816020860160208601610548565b601f01601f19169290920160200192915050565b6020815260006105ab602083018461056c565b9392505050565b600080600080606085870312156105c857600080fd5b84356001600160401b03808211156105df57600080fd5b818701915087601f8301126105f357600080fd5b81358181111561060257600080fd5b88602082850101111561061457600080fd5b602092830196509450508501356001600160a01b038116811461063657600080fd5b91506040850135801515811461064b57600080fd5b939692955090935050565b60006020828403121561066857600080fd5b5035919050565b602081528151602082015260018060a01b036020830151166040820152604082015115156060820152600060608301516080808401526106b260a084018261056c565b949350505050565b600084516106cc818460208901610548565b8083019050601760f91b80825285516106ec816001850160208a01610548565b60019201918201528351610707816002840160208801610548565b0160020195945050505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061073e57607f821691505b60208210810361075e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156107ae57600081815260208120601f850160051c8101602086101561078b5750805b601f850160051c820191505b818110156107aa57828155600101610797565b5050505b505050565b81516001600160401b038111156107cc576107cc610714565b6107e0816107da845461072a565b84610764565b602080601f83116001811461081557600084156107fd5750858301515b600019600386901b1c1916600185901b1785556107aa565b600085815260208120601f198616915b8281101561084457888601518255948401946001909101908401610825565b50858210156108625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008451610884818460208901610548565b60609490941b6001600160601b0319169190930190815290151560f81b60148201526015019291505056fea2646970667358221220ee8383cd197230693296542c3fed7c3e499a9f09b40c2eedf7215d426152c4bd64736f6c63430008130033",
}

SchemaRegistryMetaData contains all meta data concerning the SchemaRegistry contract.

Functions

This section is empty.

Types

type Attestation

type Attestation struct {
	Uid            [32]byte
	Schema         [32]byte
	Time           uint64
	ExpirationTime uint64
	RevocationTime uint64
	RefUID         [32]byte
	Recipient      common.Address
	Attester       common.Address
	Revocable      bool
	Data           []byte
}

Attestation is an auto generated low-level Go binding around an user-defined struct.

type AttestationRequest

type AttestationRequest struct {
	Schema [32]byte
	Data   AttestationRequestData
}

AttestationRequest is an auto generated low-level Go binding around an user-defined struct.

type AttestationRequestData

type AttestationRequestData struct {
	Recipient      common.Address
	ExpirationTime uint64
	Revocable      bool
	RefUID         [32]byte
	Data           []byte
	Value          *big.Int
}

AttestationRequestData is an auto generated low-level Go binding around an user-defined struct.

type DelegatedAttestationRequest

type DelegatedAttestationRequest struct {
	Schema    [32]byte
	Data      AttestationRequestData
	Signature EIP712Signature
	Attester  common.Address
}

DelegatedAttestationRequest is an auto generated low-level Go binding around an user-defined struct.

type DelegatedRevocationRequest

type DelegatedRevocationRequest struct {
	Schema    [32]byte
	Data      RevocationRequestData
	Signature EIP712Signature
	Revoker   common.Address
}

DelegatedRevocationRequest is an auto generated low-level Go binding around an user-defined struct.

type EAS

type EAS struct {
	EASCaller     // Read-only binding to the contract
	EASTransactor // Write-only binding to the contract
	EASFilterer   // Log filterer for contract events
}

EAS is an auto generated Go binding around an Ethereum contract.

func DeployEAS

func DeployEAS(auth *bind.TransactOpts, backend bind.ContractBackend, registry common.Address) (common.Address, *types.Transaction, *EAS, error)

DeployEAS deploys a new Ethereum contract, binding an instance of EAS to it.

func NewEAS

func NewEAS(address common.Address, backend bind.ContractBackend) (*EAS, error)

NewEAS creates a new instance of EAS, bound to a specific deployed contract.

type EASAttested

type EASAttested struct {
	Recipient common.Address
	Attester  common.Address
	Uid       [32]byte
	Schema    [32]byte
	Raw       types.Log // Blockchain specific contextual infos
}

EASAttested represents a Attested event raised by the EAS contract.

type EASAttestedIterator

type EASAttestedIterator struct {
	Event *EASAttested // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

EASAttestedIterator is returned from FilterAttested and is used to iterate over the raw logs and unpacked data for Attested events raised by the EAS contract.

func (*EASAttestedIterator) Close

func (it *EASAttestedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*EASAttestedIterator) Error

func (it *EASAttestedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*EASAttestedIterator) Next

func (it *EASAttestedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type EASCaller

type EASCaller struct {
	// contains filtered or unexported fields
}

EASCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewEASCaller

func NewEASCaller(address common.Address, caller bind.ContractCaller) (*EASCaller, error)

NewEASCaller creates a new read-only instance of EAS, bound to a specific deployed contract.

func (*EASCaller) Eip712Domain

func (_EAS *EASCaller) Eip712Domain(opts *bind.CallOpts) (struct {
	Fields            [1]byte
	Name              string
	Version           string
	ChainId           *big.Int
	VerifyingContract common.Address
	Salt              [32]byte
	Extensions        []*big.Int
}, error)

Eip712Domain is a free data retrieval call binding the contract method 0x84b0196e.

Solidity: function eip712Domain() view returns(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)

func (*EASCaller) GetAttestTypeHash

func (_EAS *EASCaller) GetAttestTypeHash(opts *bind.CallOpts) ([32]byte, error)

GetAttestTypeHash is a free data retrieval call binding the contract method 0x12b11a17.

Solidity: function getAttestTypeHash() pure returns(bytes32)

func (*EASCaller) GetAttestation

func (_EAS *EASCaller) GetAttestation(opts *bind.CallOpts, uid [32]byte) (Attestation, error)

GetAttestation is a free data retrieval call binding the contract method 0xa3112a64.

Solidity: function getAttestation(bytes32 uid) view returns((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))

func (*EASCaller) GetDomainSeparator

func (_EAS *EASCaller) GetDomainSeparator(opts *bind.CallOpts) ([32]byte, error)

GetDomainSeparator is a free data retrieval call binding the contract method 0xed24911d.

Solidity: function getDomainSeparator() view returns(bytes32)

func (*EASCaller) GetName

func (_EAS *EASCaller) GetName(opts *bind.CallOpts) (string, error)

GetName is a free data retrieval call binding the contract method 0x17d7de7c.

Solidity: function getName() view returns(string)

func (*EASCaller) GetNonce

func (_EAS *EASCaller) GetNonce(opts *bind.CallOpts, account common.Address) (*big.Int, error)

GetNonce is a free data retrieval call binding the contract method 0x2d0335ab.

Solidity: function getNonce(address account) view returns(uint256)

func (*EASCaller) GetRevokeOffchain

func (_EAS *EASCaller) GetRevokeOffchain(opts *bind.CallOpts, revoker common.Address, data [32]byte) (uint64, error)

GetRevokeOffchain is a free data retrieval call binding the contract method 0xb469318d.

Solidity: function getRevokeOffchain(address revoker, bytes32 data) view returns(uint64)

func (*EASCaller) GetRevokeTypeHash

func (_EAS *EASCaller) GetRevokeTypeHash(opts *bind.CallOpts) ([32]byte, error)

GetRevokeTypeHash is a free data retrieval call binding the contract method 0xb83010d3.

Solidity: function getRevokeTypeHash() pure returns(bytes32)

func (*EASCaller) GetSchemaRegistry

func (_EAS *EASCaller) GetSchemaRegistry(opts *bind.CallOpts) (common.Address, error)

GetSchemaRegistry is a free data retrieval call binding the contract method 0xf10b5cc8.

Solidity: function getSchemaRegistry() view returns(address)

func (*EASCaller) GetTimestamp

func (_EAS *EASCaller) GetTimestamp(opts *bind.CallOpts, data [32]byte) (uint64, error)

GetTimestamp is a free data retrieval call binding the contract method 0xd45c4435.

Solidity: function getTimestamp(bytes32 data) view returns(uint64)

func (*EASCaller) IsAttestationValid

func (_EAS *EASCaller) IsAttestationValid(opts *bind.CallOpts, uid [32]byte) (bool, error)

IsAttestationValid is a free data retrieval call binding the contract method 0xe30bb563.

Solidity: function isAttestationValid(bytes32 uid) view returns(bool)

func (*EASCaller) Version

func (_EAS *EASCaller) Version(opts *bind.CallOpts) (string, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(string)

type EASCallerRaw

type EASCallerRaw struct {
	Contract *EASCaller // Generic read-only contract binding to access the raw methods on
}

EASCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*EASCallerRaw) Call

func (_EAS *EASCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type EASCallerSession

type EASCallerSession struct {
	Contract *EASCaller    // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

EASCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*EASCallerSession) Eip712Domain

func (_EAS *EASCallerSession) Eip712Domain() (struct {
	Fields            [1]byte
	Name              string
	Version           string
	ChainId           *big.Int
	VerifyingContract common.Address
	Salt              [32]byte
	Extensions        []*big.Int
}, error)

Eip712Domain is a free data retrieval call binding the contract method 0x84b0196e.

Solidity: function eip712Domain() view returns(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)

func (*EASCallerSession) GetAttestTypeHash

func (_EAS *EASCallerSession) GetAttestTypeHash() ([32]byte, error)

GetAttestTypeHash is a free data retrieval call binding the contract method 0x12b11a17.

Solidity: function getAttestTypeHash() pure returns(bytes32)

func (*EASCallerSession) GetAttestation

func (_EAS *EASCallerSession) GetAttestation(uid [32]byte) (Attestation, error)

GetAttestation is a free data retrieval call binding the contract method 0xa3112a64.

Solidity: function getAttestation(bytes32 uid) view returns((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))

func (*EASCallerSession) GetDomainSeparator

func (_EAS *EASCallerSession) GetDomainSeparator() ([32]byte, error)

GetDomainSeparator is a free data retrieval call binding the contract method 0xed24911d.

Solidity: function getDomainSeparator() view returns(bytes32)

func (*EASCallerSession) GetName

func (_EAS *EASCallerSession) GetName() (string, error)

GetName is a free data retrieval call binding the contract method 0x17d7de7c.

Solidity: function getName() view returns(string)

func (*EASCallerSession) GetNonce

func (_EAS *EASCallerSession) GetNonce(account common.Address) (*big.Int, error)

GetNonce is a free data retrieval call binding the contract method 0x2d0335ab.

Solidity: function getNonce(address account) view returns(uint256)

func (*EASCallerSession) GetRevokeOffchain

func (_EAS *EASCallerSession) GetRevokeOffchain(revoker common.Address, data [32]byte) (uint64, error)

GetRevokeOffchain is a free data retrieval call binding the contract method 0xb469318d.

Solidity: function getRevokeOffchain(address revoker, bytes32 data) view returns(uint64)

func (*EASCallerSession) GetRevokeTypeHash

func (_EAS *EASCallerSession) GetRevokeTypeHash() ([32]byte, error)

GetRevokeTypeHash is a free data retrieval call binding the contract method 0xb83010d3.

Solidity: function getRevokeTypeHash() pure returns(bytes32)

func (*EASCallerSession) GetSchemaRegistry

func (_EAS *EASCallerSession) GetSchemaRegistry() (common.Address, error)

GetSchemaRegistry is a free data retrieval call binding the contract method 0xf10b5cc8.

Solidity: function getSchemaRegistry() view returns(address)

func (*EASCallerSession) GetTimestamp

func (_EAS *EASCallerSession) GetTimestamp(data [32]byte) (uint64, error)

GetTimestamp is a free data retrieval call binding the contract method 0xd45c4435.

Solidity: function getTimestamp(bytes32 data) view returns(uint64)

func (*EASCallerSession) IsAttestationValid

func (_EAS *EASCallerSession) IsAttestationValid(uid [32]byte) (bool, error)

IsAttestationValid is a free data retrieval call binding the contract method 0xe30bb563.

Solidity: function isAttestationValid(bytes32 uid) view returns(bool)

func (*EASCallerSession) Version

func (_EAS *EASCallerSession) Version() (string, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(string)

type EASEIP712DomainChanged

type EASEIP712DomainChanged struct {
	Raw types.Log // Blockchain specific contextual infos
}

EASEIP712DomainChanged represents a EIP712DomainChanged event raised by the EAS contract.

type EASEIP712DomainChangedIterator

type EASEIP712DomainChangedIterator struct {
	Event *EASEIP712DomainChanged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

EASEIP712DomainChangedIterator is returned from FilterEIP712DomainChanged and is used to iterate over the raw logs and unpacked data for EIP712DomainChanged events raised by the EAS contract.

func (*EASEIP712DomainChangedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*EASEIP712DomainChangedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*EASEIP712DomainChangedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type EASFilterer

type EASFilterer struct {
	// contains filtered or unexported fields
}

EASFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewEASFilterer

func NewEASFilterer(address common.Address, filterer bind.ContractFilterer) (*EASFilterer, error)

NewEASFilterer creates a new log filterer instance of EAS, bound to a specific deployed contract.

func (*EASFilterer) FilterAttested

func (_EAS *EASFilterer) FilterAttested(opts *bind.FilterOpts, recipient []common.Address, attester []common.Address, schema [][32]byte) (*EASAttestedIterator, error)

FilterAttested is a free log retrieval operation binding the contract event 0x8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35.

Solidity: event Attested(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schema)

func (*EASFilterer) FilterEIP712DomainChanged

func (_EAS *EASFilterer) FilterEIP712DomainChanged(opts *bind.FilterOpts) (*EASEIP712DomainChangedIterator, error)

FilterEIP712DomainChanged is a free log retrieval operation binding the contract event 0x0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31.

Solidity: event EIP712DomainChanged()

func (*EASFilterer) FilterRevoked

func (_EAS *EASFilterer) FilterRevoked(opts *bind.FilterOpts, recipient []common.Address, attester []common.Address, schema [][32]byte) (*EASRevokedIterator, error)

FilterRevoked is a free log retrieval operation binding the contract event 0xf930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615.

Solidity: event Revoked(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schema)

func (*EASFilterer) FilterRevokedOffchain

func (_EAS *EASFilterer) FilterRevokedOffchain(opts *bind.FilterOpts, revoker []common.Address, data [][32]byte, timestamp []uint64) (*EASRevokedOffchainIterator, error)

FilterRevokedOffchain is a free log retrieval operation binding the contract event 0x92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a2229.

Solidity: event RevokedOffchain(address indexed revoker, bytes32 indexed data, uint64 indexed timestamp)

func (*EASFilterer) FilterTimestamped

func (_EAS *EASFilterer) FilterTimestamped(opts *bind.FilterOpts, data [][32]byte, timestamp []uint64) (*EASTimestampedIterator, error)

FilterTimestamped is a free log retrieval operation binding the contract event 0x5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f.

Solidity: event Timestamped(bytes32 indexed data, uint64 indexed timestamp)

func (*EASFilterer) ParseAttested

func (_EAS *EASFilterer) ParseAttested(log types.Log) (*EASAttested, error)

ParseAttested is a log parse operation binding the contract event 0x8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35.

Solidity: event Attested(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schema)

func (*EASFilterer) ParseEIP712DomainChanged

func (_EAS *EASFilterer) ParseEIP712DomainChanged(log types.Log) (*EASEIP712DomainChanged, error)

ParseEIP712DomainChanged is a log parse operation binding the contract event 0x0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31.

Solidity: event EIP712DomainChanged()

func (*EASFilterer) ParseRevoked

func (_EAS *EASFilterer) ParseRevoked(log types.Log) (*EASRevoked, error)

ParseRevoked is a log parse operation binding the contract event 0xf930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615.

Solidity: event Revoked(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schema)

func (*EASFilterer) ParseRevokedOffchain

func (_EAS *EASFilterer) ParseRevokedOffchain(log types.Log) (*EASRevokedOffchain, error)

ParseRevokedOffchain is a log parse operation binding the contract event 0x92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a2229.

Solidity: event RevokedOffchain(address indexed revoker, bytes32 indexed data, uint64 indexed timestamp)

func (*EASFilterer) ParseTimestamped

func (_EAS *EASFilterer) ParseTimestamped(log types.Log) (*EASTimestamped, error)

ParseTimestamped is a log parse operation binding the contract event 0x5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f.

Solidity: event Timestamped(bytes32 indexed data, uint64 indexed timestamp)

func (*EASFilterer) WatchAttested

func (_EAS *EASFilterer) WatchAttested(opts *bind.WatchOpts, sink chan<- *EASAttested, recipient []common.Address, attester []common.Address, schema [][32]byte) (event.Subscription, error)

WatchAttested is a free log subscription operation binding the contract event 0x8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35.

Solidity: event Attested(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schema)

func (*EASFilterer) WatchEIP712DomainChanged

func (_EAS *EASFilterer) WatchEIP712DomainChanged(opts *bind.WatchOpts, sink chan<- *EASEIP712DomainChanged) (event.Subscription, error)

WatchEIP712DomainChanged is a free log subscription operation binding the contract event 0x0a6387c9ea3628b88a633bb4f3b151770f70085117a15f9bf3787cda53f13d31.

Solidity: event EIP712DomainChanged()

func (*EASFilterer) WatchRevoked

func (_EAS *EASFilterer) WatchRevoked(opts *bind.WatchOpts, sink chan<- *EASRevoked, recipient []common.Address, attester []common.Address, schema [][32]byte) (event.Subscription, error)

WatchRevoked is a free log subscription operation binding the contract event 0xf930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615.

Solidity: event Revoked(address indexed recipient, address indexed attester, bytes32 uid, bytes32 indexed schema)

func (*EASFilterer) WatchRevokedOffchain

func (_EAS *EASFilterer) WatchRevokedOffchain(opts *bind.WatchOpts, sink chan<- *EASRevokedOffchain, revoker []common.Address, data [][32]byte, timestamp []uint64) (event.Subscription, error)

WatchRevokedOffchain is a free log subscription operation binding the contract event 0x92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a2229.

Solidity: event RevokedOffchain(address indexed revoker, bytes32 indexed data, uint64 indexed timestamp)

func (*EASFilterer) WatchTimestamped

func (_EAS *EASFilterer) WatchTimestamped(opts *bind.WatchOpts, sink chan<- *EASTimestamped, data [][32]byte, timestamp []uint64) (event.Subscription, error)

WatchTimestamped is a free log subscription operation binding the contract event 0x5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f.

Solidity: event Timestamped(bytes32 indexed data, uint64 indexed timestamp)

type EASRaw

type EASRaw struct {
	Contract *EAS // Generic contract binding to access the raw methods on
}

EASRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*EASRaw) Call

func (_EAS *EASRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*EASRaw) Transact

func (_EAS *EASRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*EASRaw) Transfer

func (_EAS *EASRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type EASRevoked

type EASRevoked struct {
	Recipient common.Address
	Attester  common.Address
	Uid       [32]byte
	Schema    [32]byte
	Raw       types.Log // Blockchain specific contextual infos
}

EASRevoked represents a Revoked event raised by the EAS contract.

type EASRevokedIterator

type EASRevokedIterator struct {
	Event *EASRevoked // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

EASRevokedIterator is returned from FilterRevoked and is used to iterate over the raw logs and unpacked data for Revoked events raised by the EAS contract.

func (*EASRevokedIterator) Close

func (it *EASRevokedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*EASRevokedIterator) Error

func (it *EASRevokedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*EASRevokedIterator) Next

func (it *EASRevokedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type EASRevokedOffchain

type EASRevokedOffchain struct {
	Revoker   common.Address
	Data      [32]byte
	Timestamp uint64
	Raw       types.Log // Blockchain specific contextual infos
}

EASRevokedOffchain represents a RevokedOffchain event raised by the EAS contract.

type EASRevokedOffchainIterator

type EASRevokedOffchainIterator struct {
	Event *EASRevokedOffchain // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

EASRevokedOffchainIterator is returned from FilterRevokedOffchain and is used to iterate over the raw logs and unpacked data for RevokedOffchain events raised by the EAS contract.

func (*EASRevokedOffchainIterator) Close

func (it *EASRevokedOffchainIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*EASRevokedOffchainIterator) Error

func (it *EASRevokedOffchainIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*EASRevokedOffchainIterator) Next

func (it *EASRevokedOffchainIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type EASSession

type EASSession struct {
	Contract     *EAS              // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

EASSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*EASSession) Attest

func (_EAS *EASSession) Attest(request AttestationRequest) (*types.Transaction, error)

Attest is a paid mutator transaction binding the contract method 0xf17325e7.

Solidity: function attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)) request) payable returns(bytes32)

func (*EASSession) AttestByDelegation

func (_EAS *EASSession) AttestByDelegation(delegatedRequest DelegatedAttestationRequest) (*types.Transaction, error)

AttestByDelegation is a paid mutator transaction binding the contract method 0xe13458fc.

Solidity: function attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address) delegatedRequest) payable returns(bytes32)

func (*EASSession) Eip712Domain

func (_EAS *EASSession) Eip712Domain() (struct {
	Fields            [1]byte
	Name              string
	Version           string
	ChainId           *big.Int
	VerifyingContract common.Address
	Salt              [32]byte
	Extensions        []*big.Int
}, error)

Eip712Domain is a free data retrieval call binding the contract method 0x84b0196e.

Solidity: function eip712Domain() view returns(bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)

func (*EASSession) GetAttestTypeHash

func (_EAS *EASSession) GetAttestTypeHash() ([32]byte, error)

GetAttestTypeHash is a free data retrieval call binding the contract method 0x12b11a17.

Solidity: function getAttestTypeHash() pure returns(bytes32)

func (*EASSession) GetAttestation

func (_EAS *EASSession) GetAttestation(uid [32]byte) (Attestation, error)

GetAttestation is a free data retrieval call binding the contract method 0xa3112a64.

Solidity: function getAttestation(bytes32 uid) view returns((bytes32,bytes32,uint64,uint64,uint64,bytes32,address,address,bool,bytes))

func (*EASSession) GetDomainSeparator

func (_EAS *EASSession) GetDomainSeparator() ([32]byte, error)

GetDomainSeparator is a free data retrieval call binding the contract method 0xed24911d.

Solidity: function getDomainSeparator() view returns(bytes32)

func (*EASSession) GetName

func (_EAS *EASSession) GetName() (string, error)

GetName is a free data retrieval call binding the contract method 0x17d7de7c.

Solidity: function getName() view returns(string)

func (*EASSession) GetNonce

func (_EAS *EASSession) GetNonce(account common.Address) (*big.Int, error)

GetNonce is a free data retrieval call binding the contract method 0x2d0335ab.

Solidity: function getNonce(address account) view returns(uint256)

func (*EASSession) GetRevokeOffchain

func (_EAS *EASSession) GetRevokeOffchain(revoker common.Address, data [32]byte) (uint64, error)

GetRevokeOffchain is a free data retrieval call binding the contract method 0xb469318d.

Solidity: function getRevokeOffchain(address revoker, bytes32 data) view returns(uint64)

func (*EASSession) GetRevokeTypeHash

func (_EAS *EASSession) GetRevokeTypeHash() ([32]byte, error)

GetRevokeTypeHash is a free data retrieval call binding the contract method 0xb83010d3.

Solidity: function getRevokeTypeHash() pure returns(bytes32)

func (*EASSession) GetSchemaRegistry

func (_EAS *EASSession) GetSchemaRegistry() (common.Address, error)

GetSchemaRegistry is a free data retrieval call binding the contract method 0xf10b5cc8.

Solidity: function getSchemaRegistry() view returns(address)

func (*EASSession) GetTimestamp

func (_EAS *EASSession) GetTimestamp(data [32]byte) (uint64, error)

GetTimestamp is a free data retrieval call binding the contract method 0xd45c4435.

Solidity: function getTimestamp(bytes32 data) view returns(uint64)

func (*EASSession) IsAttestationValid

func (_EAS *EASSession) IsAttestationValid(uid [32]byte) (bool, error)

IsAttestationValid is a free data retrieval call binding the contract method 0xe30bb563.

Solidity: function isAttestationValid(bytes32 uid) view returns(bool)

func (*EASSession) MultiAttest

func (_EAS *EASSession) MultiAttest(multiRequests []MultiAttestationRequest) (*types.Transaction, error)

MultiAttest is a paid mutator transaction binding the contract method 0x44adc90e.

Solidity: function multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[] multiRequests) payable returns(bytes32[])

func (*EASSession) MultiAttestByDelegation

func (_EAS *EASSession) MultiAttestByDelegation(multiDelegatedRequests []MultiDelegatedAttestationRequest) (*types.Transaction, error)

MultiAttestByDelegation is a paid mutator transaction binding the contract method 0x831e05a1.

Solidity: function multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address)[] multiDelegatedRequests) payable returns(bytes32[])

func (*EASSession) MultiRevoke

func (_EAS *EASSession) MultiRevoke(multiRequests []MultiRevocationRequest) (*types.Transaction, error)

MultiRevoke is a paid mutator transaction binding the contract method 0x4cb7e9e5.

Solidity: function multiRevoke((bytes32,(bytes32,uint256)[])[] multiRequests) payable returns()

func (*EASSession) MultiRevokeByDelegation

func (_EAS *EASSession) MultiRevokeByDelegation(multiDelegatedRequests []MultiDelegatedRevocationRequest) (*types.Transaction, error)

MultiRevokeByDelegation is a paid mutator transaction binding the contract method 0xe45d03f9.

Solidity: function multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address)[] multiDelegatedRequests) payable returns()

func (*EASSession) MultiRevokeOffchain

func (_EAS *EASSession) MultiRevokeOffchain(data [][32]byte) (*types.Transaction, error)

MultiRevokeOffchain is a paid mutator transaction binding the contract method 0x13893f61.

Solidity: function multiRevokeOffchain(bytes32[] data) returns(uint64)

func (*EASSession) MultiTimestamp

func (_EAS *EASSession) MultiTimestamp(data [][32]byte) (*types.Transaction, error)

MultiTimestamp is a paid mutator transaction binding the contract method 0xe71ff365.

Solidity: function multiTimestamp(bytes32[] data) returns(uint64)

func (*EASSession) Revoke

func (_EAS *EASSession) Revoke(request RevocationRequest) (*types.Transaction, error)

Revoke is a paid mutator transaction binding the contract method 0x46926267.

Solidity: function revoke((bytes32,(bytes32,uint256)) request) payable returns()

func (*EASSession) RevokeByDelegation

func (_EAS *EASSession) RevokeByDelegation(delegatedRequest DelegatedRevocationRequest) (*types.Transaction, error)

RevokeByDelegation is a paid mutator transaction binding the contract method 0xe57a6b1b.

Solidity: function revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address) delegatedRequest) payable returns()

func (*EASSession) RevokeOffchain

func (_EAS *EASSession) RevokeOffchain(data [32]byte) (*types.Transaction, error)

RevokeOffchain is a paid mutator transaction binding the contract method 0xcf190f34.

Solidity: function revokeOffchain(bytes32 data) returns(uint64)

func (*EASSession) Timestamp

func (_EAS *EASSession) Timestamp(data [32]byte) (*types.Transaction, error)

Timestamp is a paid mutator transaction binding the contract method 0x4d003070.

Solidity: function timestamp(bytes32 data) returns(uint64)

func (*EASSession) Version

func (_EAS *EASSession) Version() (string, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(string)

type EASTimestamped

type EASTimestamped struct {
	Data      [32]byte
	Timestamp uint64
	Raw       types.Log // Blockchain specific contextual infos
}

EASTimestamped represents a Timestamped event raised by the EAS contract.

type EASTimestampedIterator

type EASTimestampedIterator struct {
	Event *EASTimestamped // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

EASTimestampedIterator is returned from FilterTimestamped and is used to iterate over the raw logs and unpacked data for Timestamped events raised by the EAS contract.

func (*EASTimestampedIterator) Close

func (it *EASTimestampedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*EASTimestampedIterator) Error

func (it *EASTimestampedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*EASTimestampedIterator) Next

func (it *EASTimestampedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type EASTransactor

type EASTransactor struct {
	// contains filtered or unexported fields
}

EASTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewEASTransactor

func NewEASTransactor(address common.Address, transactor bind.ContractTransactor) (*EASTransactor, error)

NewEASTransactor creates a new write-only instance of EAS, bound to a specific deployed contract.

func (*EASTransactor) Attest

func (_EAS *EASTransactor) Attest(opts *bind.TransactOpts, request AttestationRequest) (*types.Transaction, error)

Attest is a paid mutator transaction binding the contract method 0xf17325e7.

Solidity: function attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)) request) payable returns(bytes32)

func (*EASTransactor) AttestByDelegation

func (_EAS *EASTransactor) AttestByDelegation(opts *bind.TransactOpts, delegatedRequest DelegatedAttestationRequest) (*types.Transaction, error)

AttestByDelegation is a paid mutator transaction binding the contract method 0xe13458fc.

Solidity: function attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address) delegatedRequest) payable returns(bytes32)

func (*EASTransactor) MultiAttest

func (_EAS *EASTransactor) MultiAttest(opts *bind.TransactOpts, multiRequests []MultiAttestationRequest) (*types.Transaction, error)

MultiAttest is a paid mutator transaction binding the contract method 0x44adc90e.

Solidity: function multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[] multiRequests) payable returns(bytes32[])

func (*EASTransactor) MultiAttestByDelegation

func (_EAS *EASTransactor) MultiAttestByDelegation(opts *bind.TransactOpts, multiDelegatedRequests []MultiDelegatedAttestationRequest) (*types.Transaction, error)

MultiAttestByDelegation is a paid mutator transaction binding the contract method 0x831e05a1.

Solidity: function multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address)[] multiDelegatedRequests) payable returns(bytes32[])

func (*EASTransactor) MultiRevoke

func (_EAS *EASTransactor) MultiRevoke(opts *bind.TransactOpts, multiRequests []MultiRevocationRequest) (*types.Transaction, error)

MultiRevoke is a paid mutator transaction binding the contract method 0x4cb7e9e5.

Solidity: function multiRevoke((bytes32,(bytes32,uint256)[])[] multiRequests) payable returns()

func (*EASTransactor) MultiRevokeByDelegation

func (_EAS *EASTransactor) MultiRevokeByDelegation(opts *bind.TransactOpts, multiDelegatedRequests []MultiDelegatedRevocationRequest) (*types.Transaction, error)

MultiRevokeByDelegation is a paid mutator transaction binding the contract method 0xe45d03f9.

Solidity: function multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address)[] multiDelegatedRequests) payable returns()

func (*EASTransactor) MultiRevokeOffchain

func (_EAS *EASTransactor) MultiRevokeOffchain(opts *bind.TransactOpts, data [][32]byte) (*types.Transaction, error)

MultiRevokeOffchain is a paid mutator transaction binding the contract method 0x13893f61.

Solidity: function multiRevokeOffchain(bytes32[] data) returns(uint64)

func (*EASTransactor) MultiTimestamp

func (_EAS *EASTransactor) MultiTimestamp(opts *bind.TransactOpts, data [][32]byte) (*types.Transaction, error)

MultiTimestamp is a paid mutator transaction binding the contract method 0xe71ff365.

Solidity: function multiTimestamp(bytes32[] data) returns(uint64)

func (*EASTransactor) Revoke

func (_EAS *EASTransactor) Revoke(opts *bind.TransactOpts, request RevocationRequest) (*types.Transaction, error)

Revoke is a paid mutator transaction binding the contract method 0x46926267.

Solidity: function revoke((bytes32,(bytes32,uint256)) request) payable returns()

func (*EASTransactor) RevokeByDelegation

func (_EAS *EASTransactor) RevokeByDelegation(opts *bind.TransactOpts, delegatedRequest DelegatedRevocationRequest) (*types.Transaction, error)

RevokeByDelegation is a paid mutator transaction binding the contract method 0xe57a6b1b.

Solidity: function revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address) delegatedRequest) payable returns()

func (*EASTransactor) RevokeOffchain

func (_EAS *EASTransactor) RevokeOffchain(opts *bind.TransactOpts, data [32]byte) (*types.Transaction, error)

RevokeOffchain is a paid mutator transaction binding the contract method 0xcf190f34.

Solidity: function revokeOffchain(bytes32 data) returns(uint64)

func (*EASTransactor) Timestamp

func (_EAS *EASTransactor) Timestamp(opts *bind.TransactOpts, data [32]byte) (*types.Transaction, error)

Timestamp is a paid mutator transaction binding the contract method 0x4d003070.

Solidity: function timestamp(bytes32 data) returns(uint64)

type EASTransactorRaw

type EASTransactorRaw struct {
	Contract *EASTransactor // Generic write-only contract binding to access the raw methods on
}

EASTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*EASTransactorRaw) Transact

func (_EAS *EASTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*EASTransactorRaw) Transfer

func (_EAS *EASTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type EASTransactorSession

type EASTransactorSession struct {
	Contract     *EASTransactor    // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

EASTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*EASTransactorSession) Attest

Attest is a paid mutator transaction binding the contract method 0xf17325e7.

Solidity: function attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)) request) payable returns(bytes32)

func (*EASTransactorSession) AttestByDelegation

func (_EAS *EASTransactorSession) AttestByDelegation(delegatedRequest DelegatedAttestationRequest) (*types.Transaction, error)

AttestByDelegation is a paid mutator transaction binding the contract method 0xe13458fc.

Solidity: function attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address) delegatedRequest) payable returns(bytes32)

func (*EASTransactorSession) MultiAttest

func (_EAS *EASTransactorSession) MultiAttest(multiRequests []MultiAttestationRequest) (*types.Transaction, error)

MultiAttest is a paid mutator transaction binding the contract method 0x44adc90e.

Solidity: function multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[] multiRequests) payable returns(bytes32[])

func (*EASTransactorSession) MultiAttestByDelegation

func (_EAS *EASTransactorSession) MultiAttestByDelegation(multiDelegatedRequests []MultiDelegatedAttestationRequest) (*types.Transaction, error)

MultiAttestByDelegation is a paid mutator transaction binding the contract method 0x831e05a1.

Solidity: function multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address)[] multiDelegatedRequests) payable returns(bytes32[])

func (*EASTransactorSession) MultiRevoke

func (_EAS *EASTransactorSession) MultiRevoke(multiRequests []MultiRevocationRequest) (*types.Transaction, error)

MultiRevoke is a paid mutator transaction binding the contract method 0x4cb7e9e5.

Solidity: function multiRevoke((bytes32,(bytes32,uint256)[])[] multiRequests) payable returns()

func (*EASTransactorSession) MultiRevokeByDelegation

func (_EAS *EASTransactorSession) MultiRevokeByDelegation(multiDelegatedRequests []MultiDelegatedRevocationRequest) (*types.Transaction, error)

MultiRevokeByDelegation is a paid mutator transaction binding the contract method 0xe45d03f9.

Solidity: function multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address)[] multiDelegatedRequests) payable returns()

func (*EASTransactorSession) MultiRevokeOffchain

func (_EAS *EASTransactorSession) MultiRevokeOffchain(data [][32]byte) (*types.Transaction, error)

MultiRevokeOffchain is a paid mutator transaction binding the contract method 0x13893f61.

Solidity: function multiRevokeOffchain(bytes32[] data) returns(uint64)

func (*EASTransactorSession) MultiTimestamp

func (_EAS *EASTransactorSession) MultiTimestamp(data [][32]byte) (*types.Transaction, error)

MultiTimestamp is a paid mutator transaction binding the contract method 0xe71ff365.

Solidity: function multiTimestamp(bytes32[] data) returns(uint64)

func (*EASTransactorSession) Revoke

func (_EAS *EASTransactorSession) Revoke(request RevocationRequest) (*types.Transaction, error)

Revoke is a paid mutator transaction binding the contract method 0x46926267.

Solidity: function revoke((bytes32,(bytes32,uint256)) request) payable returns()

func (*EASTransactorSession) RevokeByDelegation

func (_EAS *EASTransactorSession) RevokeByDelegation(delegatedRequest DelegatedRevocationRequest) (*types.Transaction, error)

RevokeByDelegation is a paid mutator transaction binding the contract method 0xe57a6b1b.

Solidity: function revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address) delegatedRequest) payable returns()

func (*EASTransactorSession) RevokeOffchain

func (_EAS *EASTransactorSession) RevokeOffchain(data [32]byte) (*types.Transaction, error)

RevokeOffchain is a paid mutator transaction binding the contract method 0xcf190f34.

Solidity: function revokeOffchain(bytes32 data) returns(uint64)

func (*EASTransactorSession) Timestamp

func (_EAS *EASTransactorSession) Timestamp(data [32]byte) (*types.Transaction, error)

Timestamp is a paid mutator transaction binding the contract method 0x4d003070.

Solidity: function timestamp(bytes32 data) returns(uint64)

type EIP712Signature

type EIP712Signature struct {
	V uint8
	R [32]byte
	S [32]byte
}

EIP712Signature is an auto generated low-level Go binding around an user-defined struct.

type MultiAttestationRequest

type MultiAttestationRequest struct {
	Schema [32]byte
	Data   []AttestationRequestData
}

MultiAttestationRequest is an auto generated low-level Go binding around an user-defined struct.

type MultiDelegatedAttestationRequest

type MultiDelegatedAttestationRequest struct {
	Schema     [32]byte
	Data       []AttestationRequestData
	Signatures []EIP712Signature
	Attester   common.Address
}

MultiDelegatedAttestationRequest is an auto generated low-level Go binding around an user-defined struct.

type MultiDelegatedRevocationRequest

type MultiDelegatedRevocationRequest struct {
	Schema     [32]byte
	Data       []RevocationRequestData
	Signatures []EIP712Signature
	Revoker    common.Address
}

MultiDelegatedRevocationRequest is an auto generated low-level Go binding around an user-defined struct.

type MultiRevocationRequest

type MultiRevocationRequest struct {
	Schema [32]byte
	Data   []RevocationRequestData
}

MultiRevocationRequest is an auto generated low-level Go binding around an user-defined struct.

type RevocationRequest

type RevocationRequest struct {
	Schema [32]byte
	Data   RevocationRequestData
}

RevocationRequest is an auto generated low-level Go binding around an user-defined struct.

type RevocationRequestData

type RevocationRequestData struct {
	Uid   [32]byte
	Value *big.Int
}

RevocationRequestData is an auto generated low-level Go binding around an user-defined struct.

type SchemaRecord

type SchemaRecord struct {
	Uid       [32]byte
	Resolver  common.Address
	Revocable bool
	Schema    string
}

SchemaRecord is an auto generated low-level Go binding around an user-defined struct.

type SchemaRegistry

type SchemaRegistry struct {
	SchemaRegistryCaller     // Read-only binding to the contract
	SchemaRegistryTransactor // Write-only binding to the contract
	SchemaRegistryFilterer   // Log filterer for contract events
}

SchemaRegistry is an auto generated Go binding around an Ethereum contract.

func DeploySchemaRegistry

func DeploySchemaRegistry(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *SchemaRegistry, error)

DeploySchemaRegistry deploys a new Ethereum contract, binding an instance of SchemaRegistry to it.

func NewSchemaRegistry

func NewSchemaRegistry(address common.Address, backend bind.ContractBackend) (*SchemaRegistry, error)

NewSchemaRegistry creates a new instance of SchemaRegistry, bound to a specific deployed contract.

type SchemaRegistryCaller

type SchemaRegistryCaller struct {
	// contains filtered or unexported fields
}

SchemaRegistryCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewSchemaRegistryCaller

func NewSchemaRegistryCaller(address common.Address, caller bind.ContractCaller) (*SchemaRegistryCaller, error)

NewSchemaRegistryCaller creates a new read-only instance of SchemaRegistry, bound to a specific deployed contract.

func (*SchemaRegistryCaller) GetSchema

func (_SchemaRegistry *SchemaRegistryCaller) GetSchema(opts *bind.CallOpts, uid [32]byte) (SchemaRecord, error)

GetSchema is a free data retrieval call binding the contract method 0xa2ea7c6e.

Solidity: function getSchema(bytes32 uid) view returns((bytes32,address,bool,string))

func (*SchemaRegistryCaller) Version

func (_SchemaRegistry *SchemaRegistryCaller) Version(opts *bind.CallOpts) (string, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(string)

type SchemaRegistryCallerRaw

type SchemaRegistryCallerRaw struct {
	Contract *SchemaRegistryCaller // Generic read-only contract binding to access the raw methods on
}

SchemaRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*SchemaRegistryCallerRaw) Call

func (_SchemaRegistry *SchemaRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type SchemaRegistryCallerSession

type SchemaRegistryCallerSession struct {
	Contract *SchemaRegistryCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts         // Call options to use throughout this session
}

SchemaRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*SchemaRegistryCallerSession) GetSchema

func (_SchemaRegistry *SchemaRegistryCallerSession) GetSchema(uid [32]byte) (SchemaRecord, error)

GetSchema is a free data retrieval call binding the contract method 0xa2ea7c6e.

Solidity: function getSchema(bytes32 uid) view returns((bytes32,address,bool,string))

func (*SchemaRegistryCallerSession) Version

func (_SchemaRegistry *SchemaRegistryCallerSession) Version() (string, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(string)

type SchemaRegistryFilterer

type SchemaRegistryFilterer struct {
	// contains filtered or unexported fields
}

SchemaRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewSchemaRegistryFilterer

func NewSchemaRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*SchemaRegistryFilterer, error)

NewSchemaRegistryFilterer creates a new log filterer instance of SchemaRegistry, bound to a specific deployed contract.

func (*SchemaRegistryFilterer) FilterRegistered

func (_SchemaRegistry *SchemaRegistryFilterer) FilterRegistered(opts *bind.FilterOpts, uid [][32]byte) (*SchemaRegistryRegisteredIterator, error)

FilterRegistered is a free log retrieval operation binding the contract event 0x7d917fcbc9a29a9705ff9936ffa599500e4fd902e4486bae317414fe967b307c.

Solidity: event Registered(bytes32 indexed uid, address registerer)

func (*SchemaRegistryFilterer) ParseRegistered

func (_SchemaRegistry *SchemaRegistryFilterer) ParseRegistered(log types.Log) (*SchemaRegistryRegistered, error)

ParseRegistered is a log parse operation binding the contract event 0x7d917fcbc9a29a9705ff9936ffa599500e4fd902e4486bae317414fe967b307c.

Solidity: event Registered(bytes32 indexed uid, address registerer)

func (*SchemaRegistryFilterer) WatchRegistered

func (_SchemaRegistry *SchemaRegistryFilterer) WatchRegistered(opts *bind.WatchOpts, sink chan<- *SchemaRegistryRegistered, uid [][32]byte) (event.Subscription, error)

WatchRegistered is a free log subscription operation binding the contract event 0x7d917fcbc9a29a9705ff9936ffa599500e4fd902e4486bae317414fe967b307c.

Solidity: event Registered(bytes32 indexed uid, address registerer)

type SchemaRegistryRaw

type SchemaRegistryRaw struct {
	Contract *SchemaRegistry // Generic contract binding to access the raw methods on
}

SchemaRegistryRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*SchemaRegistryRaw) Call

func (_SchemaRegistry *SchemaRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*SchemaRegistryRaw) Transact

func (_SchemaRegistry *SchemaRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*SchemaRegistryRaw) Transfer

func (_SchemaRegistry *SchemaRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type SchemaRegistryRegistered

type SchemaRegistryRegistered struct {
	Uid        [32]byte
	Registerer common.Address
	Raw        types.Log // Blockchain specific contextual infos
}

SchemaRegistryRegistered represents a Registered event raised by the SchemaRegistry contract.

type SchemaRegistryRegisteredIterator

type SchemaRegistryRegisteredIterator struct {
	Event *SchemaRegistryRegistered // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

SchemaRegistryRegisteredIterator is returned from FilterRegistered and is used to iterate over the raw logs and unpacked data for Registered events raised by the SchemaRegistry contract.

func (*SchemaRegistryRegisteredIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*SchemaRegistryRegisteredIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*SchemaRegistryRegisteredIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type SchemaRegistrySession

type SchemaRegistrySession struct {
	Contract     *SchemaRegistry   // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

SchemaRegistrySession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*SchemaRegistrySession) GetSchema

func (_SchemaRegistry *SchemaRegistrySession) GetSchema(uid [32]byte) (SchemaRecord, error)

GetSchema is a free data retrieval call binding the contract method 0xa2ea7c6e.

Solidity: function getSchema(bytes32 uid) view returns((bytes32,address,bool,string))

func (*SchemaRegistrySession) Register

func (_SchemaRegistry *SchemaRegistrySession) Register(schema string, resolver common.Address, revocable bool) (*types.Transaction, error)

Register is a paid mutator transaction binding the contract method 0x60d7a278.

Solidity: function register(string schema, address resolver, bool revocable) returns(bytes32)

func (*SchemaRegistrySession) Version

func (_SchemaRegistry *SchemaRegistrySession) Version() (string, error)

Version is a free data retrieval call binding the contract method 0x54fd4d50.

Solidity: function version() view returns(string)

type SchemaRegistryTransactor

type SchemaRegistryTransactor struct {
	// contains filtered or unexported fields
}

SchemaRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewSchemaRegistryTransactor

func NewSchemaRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*SchemaRegistryTransactor, error)

NewSchemaRegistryTransactor creates a new write-only instance of SchemaRegistry, bound to a specific deployed contract.

func (*SchemaRegistryTransactor) Register

func (_SchemaRegistry *SchemaRegistryTransactor) Register(opts *bind.TransactOpts, schema string, resolver common.Address, revocable bool) (*types.Transaction, error)

Register is a paid mutator transaction binding the contract method 0x60d7a278.

Solidity: function register(string schema, address resolver, bool revocable) returns(bytes32)

type SchemaRegistryTransactorRaw

type SchemaRegistryTransactorRaw struct {
	Contract *SchemaRegistryTransactor // Generic write-only contract binding to access the raw methods on
}

SchemaRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*SchemaRegistryTransactorRaw) Transact

func (_SchemaRegistry *SchemaRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*SchemaRegistryTransactorRaw) Transfer

func (_SchemaRegistry *SchemaRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type SchemaRegistryTransactorSession

type SchemaRegistryTransactorSession struct {
	Contract     *SchemaRegistryTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts         // Transaction auth options to use throughout this session
}

SchemaRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*SchemaRegistryTransactorSession) Register

func (_SchemaRegistry *SchemaRegistryTransactorSession) Register(schema string, resolver common.Address, revocable bool) (*types.Transaction, error)

Register is a paid mutator transaction binding the contract method 0x60d7a278.

Solidity: function register(string schema, address resolver, bool revocable) returns(bytes32)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL