gitextract_0o9h11kw/ ├── .github/ │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .prettierrc ├── .solcover.ts ├── .solhint.json ├── LICENSE ├── README.md ├── components/ │ └── Contracts.ts ├── contracts/ │ ├── Common.sol │ ├── EAS.sol │ ├── IEAS.sol │ ├── ISchemaRegistry.sol │ ├── ISemver.sol │ ├── Indexer.sol │ ├── SchemaRegistry.sol │ ├── Semver.sol │ ├── eip1271/ │ │ └── EIP1271Verifier.sol │ ├── eip712/ │ │ └── proxy/ │ │ ├── EIP712Proxy.sol │ │ └── examples/ │ │ └── PermissionedEIP712Proxy.sol │ ├── resolver/ │ │ ├── ISchemaResolver.sol │ │ ├── SchemaResolver.sol │ │ └── examples/ │ │ ├── AttestationResolver.sol │ │ ├── AttesterResolver.sol │ │ ├── DataResolver.sol │ │ ├── ExpirationTimeResolver.sol │ │ ├── PayingResolver.sol │ │ ├── RecipientResolver.sol │ │ ├── RevocationResolver.sol │ │ ├── TokenResolver.sol │ │ └── ValueResolver.sol │ └── tests/ │ ├── TestEAS.sol │ ├── TestERC20Token.sol │ ├── TestSchemaResolver.sol │ ├── eip1271/ │ │ ├── TestEIP1271Signer.sol │ │ └── TestEIP1271Verifier.sol │ └── eip712/ │ └── proxy/ │ └── TestEIP712Proxy.sol ├── deployments/ │ ├── arbitrum-nova/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── arbitrum-one/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ └── SchemaRegistry.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ └── SchemaRegistry__factory.ts │ ├── arbitrum-sepolia/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── @ethereum-attestation-service/ │ │ └── eas-contracts/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── base/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── Indexer__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── base-goerli/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── base-sepolia/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── celo/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── hardhat/ │ │ └── .chainId │ ├── ink/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── @ethereum-attestation-service/ │ │ └── eas-contracts/ │ │ └── contracts/ │ │ ├── Indexer__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── ink-sepolia/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ ├── solcInputs/ │ │ │ └── ab2e55c92b39ec3be86af0608f634927.json │ │ └── types/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer__factory.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy__factory.ts │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── linea/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── linea-goerli/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── mainnet/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ └── SchemaRegistry.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ └── SchemaRegistry__factory.ts │ ├── optimism/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── Indexer__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── optimism-goerli/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── optimism-sepolia/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── polygon/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── polygon-amoy/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── scroll/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── scroll-sepolia/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── sepolia/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── soneium/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ ├── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer__factory.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy__factory.ts │ │ └── contracts/ │ │ ├── Indexer__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── telos/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── EAS.ts │ │ │ ├── Indexer.ts │ │ │ ├── SchemaRegistry.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ └── factories/ │ │ └── @ethereum-attestation-service/ │ │ └── eas-contracts/ │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ ├── Indexer__factory.ts │ │ ├── SchemaRegistry__factory.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy__factory.ts │ ├── unichain/ │ │ ├── .chainId │ │ ├── .migrations.json │ │ ├── EAS.json │ │ ├── EIP712Proxy.json │ │ ├── Indexer.json │ │ ├── SchemaRegistry.json │ │ └── types/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy.ts │ │ ├── contracts/ │ │ │ ├── EAS.ts │ │ │ └── SchemaRegistry.ts │ │ └── factories/ │ │ ├── @ethereum-attestation-service/ │ │ │ └── eas-contracts/ │ │ │ └── contracts/ │ │ │ ├── Indexer__factory.ts │ │ │ └── eip712/ │ │ │ └── proxy/ │ │ │ └── EIP712Proxy__factory.ts │ │ └── contracts/ │ │ ├── EAS__factory.ts │ │ └── SchemaRegistry__factory.ts │ └── zksync/ │ ├── .chainId │ ├── .migrations.json │ ├── EAS.json │ ├── EIP712Proxy.json │ ├── Indexer.json │ ├── SchemaRegistry.json │ └── types/ │ ├── contracts/ │ │ ├── EAS.ts │ │ ├── Indexer.ts │ │ ├── SchemaRegistry.ts │ │ └── eip712/ │ │ └── proxy/ │ │ └── EIP712Proxy.ts │ └── factories/ │ └── contracts/ │ ├── EAS__factory.ts │ ├── Indexer__factory.ts │ ├── SchemaRegistry__factory.ts │ └── eip712/ │ └── proxy/ │ └── EIP712Proxy__factory.ts ├── eslint.config.mjs ├── foundry.toml ├── funding.json ├── hardhat.config.ts ├── package.json ├── test/ │ ├── EAS.ts │ ├── Indexer.ts │ ├── SchemaRegistry.ts │ ├── eip1271/ │ │ └── EIP1271Verifier.ts │ ├── eip712/ │ │ └── proxy/ │ │ ├── EIP712Proxy.ts │ │ └── PermissionedEIP712Proxy.ts │ ├── helpers/ │ │ ├── Chai.ts │ │ ├── EAS.ts │ │ ├── EIP712ProxyUtils.ts │ │ ├── EIP712Utils.ts │ │ ├── Time.ts │ │ ├── Transaction.ts │ │ └── Wallet.ts │ └── resolver/ │ ├── AttestationResolver.ts │ ├── AttesterResolver.ts │ ├── DataResolver.ts │ ├── ExpirationTimeResolver.ts │ ├── PayingResolver.ts │ ├── RecipientResolver.ts │ ├── RevocationResolver.ts │ ├── SchemaResolver.ts │ ├── TokenResolver.ts │ └── ValueResoler.ts ├── tsconfig.json ├── tsconfig.release.json └── utils/ ├── Constants.ts ├── EAS.ts ├── Logger.ts └── Time.ts