EAS

World Chain

0x4200000000000000000000000000000000000021

Proxy implementation: 0xc0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d3c0d30021

Solidity v0.8.19+commit.7dd6d404

🤖
Query this contract from your AI
Reference: 0x4200000000000000000000000000000000000021
Sample prompt: "Tell me the current state of world/0x4200000000000000000000000000000000000021"
No AI wired up yet? → mcp.smarts.md
World Chain is a docs-only chain on Smarts: source code and ABI are indexed, but live on-chain data (state, recent events, admin profile) is not currently available. AI agents can still query get_contract_info and get_contract_source via MCP.

Overview

Read Functions
11
Write Functions
13
Events
5

Read Functions

getAttestTypeHash() pure

Returns the EIP712 type hash for the attest function.

Returns

Name Type Description
bytes32 The EIP712 type hash for the attest function.
getAttestation(uid: bytes32) view

Returns an existing attestation by UID.

Parameters

Name Type Description
uid bytes32 The UID of the attestation to retrieve.

Returns

Name Type Description
tuple The attestation data members.
getDomainSeparator() view

Returns the domain separator used in the encoding of the signatures for attest, and revoke.

Returns

Name Type Description
bytes32 The domain separator used in the encoding of the signatures for attest, and revoke.
getName() view

Returns the name of the predeploy at the given address.

Returns

Name Type Description
string
getNonce(account: address) view

Returns the current nonce per-account.

Parameters

Name Type Description
account address The requested account.

Returns

Name Type Description
uint256 The current nonce.
getRevokeOffchain(revoker: address, data: bytes32) view

Returns the timestamp that the specified data was timestamped with.

Parameters

Name Type Description
revoker address
data bytes32 The data to query.

Returns

Name Type Description
uint64 The timestamp the data was timestamped with.
getRevokeTypeHash() pure

Returns the EIP712 type hash for the revoke function.

Returns

Name Type Description
bytes32 The EIP712 type hash for the revoke function.
getSchemaRegistry() pure

Returns the address of the global schema registry.

Returns

Name Type Description
address The address of the global schema registry.
getTimestamp(data: bytes32) view

Returns the timestamp that the specified data was timestamped with.

Parameters

Name Type Description
data bytes32 The data to query.

Returns

Name Type Description
uint64 The timestamp the data was timestamped with.
isAttestationValid(uid: bytes32) view

Checks whether an attestation exists.

Parameters

Name Type Description
uid bytes32 The UID of the attestation to retrieve.

Returns

Name Type Description
bool Whether an attestation exists.
version() view

Getter for the semantic version of the contract. This is not meant to be used onchain but instead meant to be used by offchain tooling.

Returns

Name Type Description
string Semver contract version as a string.

Write Functions

attest(request: tuple) payable

Processes an attestation and verifies whether it's valid.

Parameters

Name Type Description
request tuple

Returns

Name Type Description
bytes32 Whether the attestation is valid.
attestByDelegation(delegatedRequest: tuple) payable

Attests to a specific schema via the provided EIP712 signature. Example: attestByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, signature: { v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e', deadline: 1673891048 })

Parameters

Name Type Description
delegatedRequest tuple The arguments of the delegated attestation request.

Returns

Name Type Description
bytes32 The UID of the new attestation.
increaseNonce(newNonce: uint256) nonpayable

Provides users an option to invalidate nonces by increasing their nonces to (higher) new values.

Parameters

Name Type Description
newNonce uint256 The (higher) new value.
multiAttest(multiRequests: tuple[]) payable

Processes multiple attestations and verifies whether they are valid.

Parameters

Name Type Description
multiRequests tuple[]

Returns

Name Type Description
bytes32[] Whether all the attestations are valid.
multiAttestByDelegation(multiDelegatedRequests: tuple[]) payable

Attests to multiple schemas using via provided EIP712 signatures. Example: multiAttestByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', expirationTime: 1673891048, revocable: true, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x1234', value: 0 }, { recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf', expirationTime: 0, revocable: false, refUID: '0x0000000000000000000000000000000000000000000000000000000000000000', data: '0x00', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4', deadline: 1673891048 }])

Parameters

Name Type Description
multiDelegatedRequests tuple[] The arguments of the delegated multi attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization.

Returns

Name Type Description
bytes32[] The UIDs of the new attestations.
multiRevoke(multiRequests: tuple[]) payable

Processes revocation of multiple attestation and verifies they can be revoked.

Parameters

Name Type Description
multiRequests tuple[]
multiRevokeByDelegation(multiDelegatedRequests: tuple[]) payable

Revokes existing attestations to multiple schemas via provided EIP712 signatures. Example: multiRevokeByDelegation([{ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: [{ uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25', value: 1000 }, { uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade', value: 0 }], signatures: [{ v: 28, r: '0x148c...b25b', s: '0x5a72...be22' }, { v: 28, r: '0x487s...67bb', s: '0x12ad...2366' }], revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 }])

Parameters

Name Type Description
multiDelegatedRequests tuple[] The arguments of the delegated multi revocation attestation requests. The requests should be grouped by distinct schema ids to benefit from the best batching optimization.
multiRevokeOffchain(data: bytes32[]) nonpayable

Revokes the specified multiple bytes32 data.

Parameters

Name Type Description
data bytes32[] The data to timestamp.

Returns

Name Type Description
uint64 The timestamp the data was revoked with.
multiTimestamp(data: bytes32[]) nonpayable

Timestamps the specified multiple bytes32 data.

Parameters

Name Type Description
data bytes32[] The data to timestamp.

Returns

Name Type Description
uint64 The timestamp the data was timestamped with.
revoke(request: tuple) payable

Processes an attestation revocation and verifies if it can be revoked.

Parameters

Name Type Description
request tuple
revokeByDelegation(delegatedRequest: tuple) payable

Revokes an existing attestation to a specific schema via the provided EIP712 signature. Example: revokeByDelegation({ schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc', data: { uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba', value: 0 }, signature: { v: 27, r: '0xb593...7142', s: '0x0f5b...2cce' }, revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992', deadline: 1673891048 })

Parameters

Name Type Description
delegatedRequest tuple The arguments of the delegated revocation request.
revokeOffchain(data: bytes32) nonpayable

Revokes the specified bytes32 data.

Parameters

Name Type Description
data bytes32 The data to timestamp.

Returns

Name Type Description
uint64 The timestamp the data was revoked with.
timestamp(data: bytes32) nonpayable

Timestamps the specified bytes32 data.

Parameters

Name Type Description
data bytes32 The data to timestamp.

Returns

Name Type Description
uint64 The timestamp the data was timestamped with.

Events

Attested(recipient: address, attester: address, uid: bytes32, schemaUID: bytes32)
Name Type Indexed Description
recipient address The recipient of the attestation.
attester address The attesting account.
uid bytes32 The UID the revoked attestation.
schemaUID bytes32 The UID of the schema.
NonceIncreased(oldNonce: uint256, newNonce: uint256)
Name Type Indexed Description
oldNonce uint256 The previous nonce.
newNonce uint256 The new value.
Revoked(recipient: address, attester: address, uid: bytes32, schemaUID: bytes32)
Name Type Indexed Description
recipient address The recipient of the attestation.
attester address The attesting account.
uid bytes32 The UID the revoked attestation.
schemaUID bytes32 The UID of the schema.
RevokedOffchain(revoker: address, data: bytes32, timestamp: uint64)
Name Type Indexed Description
revoker address The address of the revoker.
data bytes32 The data.
timestamp uint64 The timestamp.
Timestamped(data: bytes32, timestamp: uint64)
Name Type Indexed Description
data bytes32 The data.
timestamp uint64 The timestamp.