WorldIDAddressBook

World Chain

0x57b930d551e677cc36e2fa036ae2fe8fdae0330d

Solidity v0.8.23+commit.f704f362

🤖
Query this contract from your AI
Reference: 0x57b930d551e677cc36e2fa036ae2fe8fdae0330d
Sample prompt: "Tell me the current state of world/0x57b930d551e677cc36e2fa036ae2fe8fdae0330d"
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
9
Write Functions
7
Events
8

Read Functions

addressVerifiedUntil(address) view

Returns a timestamp representing when the address' verification will expire

Parameters

Name Type Description
address

Returns

Name Type Description
uint256 timestamp The timestamp when the address' verification will expire
groupId() view

Returns the World ID group identifier used by this contract.✨ AI

Returns

Name Type Description
uint256 The numeric group identifier (uint256) associated with the World ID this contract uses.✨ AI
maxProofTime() view

Return the maximum allowed time window for proofs, expressed in seconds.✨ AI

Returns

Name Type Description
uint256 Maximum allowed proof time in seconds; proofs older than this duration are considered expired.✨ AI
nullifierHashes(uint256) view

Return the address stored for a given nullifier index.✨ AI

Parameters

Name Type Description
uint256

Returns

Name Type Description
address Address associated with the provided nullifier index.✨ AI
owner() view

Returns the contract owner's address.✨ AI

dev: Returns the address of the current owner.

Returns

Name Type Description
address The owner address with administrative privileges for the contract.✨ AI
pendingOwner() view

Returns the address that is set to become the new owner but has not accepted ownership yet.✨ AI

dev: Returns the address of the pending owner.

Returns

Name Type Description
address The pending owner address, or the zero address if no ownership transfer is pending.✨ AI
renounceOwnership() view

Indicates that ownership has been renounced.✨ AI

dev: Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.
verificationLength() view

Read the number of verification entries stored in the contract.✨ AI

Returns

Name Type Description
uint256 The current count of verification records as a uint256.✨ AI
worldIdRouter() view

Returns the address of the World ID router contract.✨ AI

Returns

Name Type Description
address The World ID router contract address used to route and validate World ID interactions.✨ AI

Write Functions

acceptOwnership() nonpayable

Allow the pending owner to finalize and assume ownership of the contract.✨ AI

dev: The new owner accepts the ownership transfer.
setGroupId(_groupId: uint256) nonpayable

Update the groupId

dev: Can only be called by the owner

Parameters

Name Type Description
_groupId uint256 The new groupId
setMaxProofTime(_maxProofTime: uint256) nonpayable

Update the amount of time that a verification request can be pending for, in seconds

dev: Can only be called by the owner

Parameters

Name Type Description
_maxProofTime uint256 The new maxProofTime
setVerificationLength(_verificationLength: uint256) nonpayable

Update the amount of time that a verification is valid for, in seconds

dev: Can only be called by the owner.

Parameters

Name Type Description
_verificationLength uint256 The new verificationLength
setWorldIdRouter(_worldIdRouter: address) nonpayable

Update the World ID router address used by the contract.✨ AI

dev: Can only be called by the owner

Parameters

Name Type Description
_worldIdRouter address The new worldIdRouter
transferOwnership(newOwner: address) nonpayable

Transfers contract ownership to the newOwner address.✨ AI

dev: Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.

Parameters

Name Type Description
newOwner address Address to which ownership will be transferred.✨ AI
verify(account: address, root: uint256, nullifierHash: uint256, proof: uint256[8], proofTime: uint256) payable

Registers a wallet to receive grants

Parameters

Name Type Description
account address The address that will be registered
root uint256 The root of the Merkle tree (signup-sequencer or world-id-contracts provides this)
nullifierHash uint256 The nullifier for this proof, preventing double signaling
proof uint256[8] The zero knowledge proof that demonstrates the claimer has a verified World ID
proofTime uint256 A timestamp representing when the proof was created

Events

AccountVerified(account: address, verifiedUntil: uint256)

Emitted when an account is verified

Name Type Indexed Description
account address
verifiedUntil uint256
GroupIdUpdated(groupId: uint256)

Emitted when the `groupId` is changed

Name Type Indexed Description
groupId uint256 The new `groupId`
MaxProofTimeUpdated(maxProofTime: uint256)

Emitted when the amount of time that a verification request can be pending for is changed

Name Type Indexed Description
maxProofTime uint256 The new `maxProofTime`
OwnershipTransferStarted(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
OwnershipTransferred(previousOwner: address, newOwner: address)
Name Type Indexed Description
previousOwner address
newOwner address
VerificationLengthUpdated(verificationLength: uint256)

Emitted when the amout of time that a verification is valid for is changed

Name Type Indexed Description
verificationLength uint256 The new `verificationLength`
WorldIDAddressBookInitialized(worldIdRouter: address, groupId: uint256, externalNullifierHash: uint256, verificationLength: uint256, maxProofTime: uint256)

Emitted when the contract is initialized

Name Type Indexed Description
worldIdRouter address The WorldID router that will manage groups and verify proofs
groupId uint256 The group ID of the World ID
externalNullifierHash uint256 The nullifier hash that will be used to verify proofs
verificationLength uint256 The amount of seconds that a verification is valid for
maxProofTime uint256 The maximum amount of time that a verification request can be pending for
WorldIdRouterUpdated(worldIdRouter: address)

Emitted when the `worldIdRouter` is changed

Name Type Indexed Description
worldIdRouter address The new `worldIdRouter` instance