web3wagmi
← All standards

ERC-7794 Grant Registry

DraftERCcreated 2024-10-22

A cross-network registry contract to manage and track grants, enhancing transparency and interoperability for grant programs.

Author: Guilherme Neves (@0xneves)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IGrantRegistry0xe95024d2

Functions this standard introduces (18)

0x8e983784addDisbursement(bytes32,uint256,address,uint256)
0x9f76246eaddExternalLink(bytes32,string)
0x839dc018addGrantee(bytes32,address)
0x4e3e63eeaddMilestoneDate(bytes32,uint256)
0xdb0cdccagetDisbursement(bytes32,uint256)view
0xf0ea3874getExternalLinks(bytes32)view
0xe483ac04getGrant(bytes32)view
0xeddad155getGrantees(bytes32)view
0xb71edc31getGrantManager(bytes32)view
0xef509b94getMilestonesDates(bytes32)view
0xf2457890registerGrant(uint256,uint256,string,address)
0x8487cc5cremoveDisbursement(bytes32,uint256)
0x76fdff4dremoveExternalLink(bytes32,uint256)
0xc3cc3453removeGrantee(bytes32,address)
0xb327960dremoveMilestoneDate(bytes32,uint256)
0x2294612esetDisbursementStatus(bytes32,uint256,bool)
0xf2f1a9cesetStartDate(bytes32,uint256)
0xef5d6bbbtransferOwnership(bytes32,address)

Events (12)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0x26ec4b40fdaee62354a1f56be696663de513a3c9001b5d80ef415ad79710c455GrantRegistered(bytes32,uint256,uint256,string,address)
0x38e987295c3f08df382dd3a355c603cd120d9a3c709609490247a9a494b60481OwnershipTransferred(bytes32,address)
0x89fd841e3ebfa4b88756e9a75b49bc6e749b863089fa84b4dfad47bf18530603GranteeAdded(bytes32,address)
0xa7759d85590713c2995634734923237d503b598a49f13e1658f83a58414a5791GranteeRemoved(bytes32,address)
0xd6d0e6bdcd1716b54e4903c668d463bba7a7c402b83685ab5807acff3e3b3ac7StartDateSet(bytes32,uint256)
0xbb827c98d4669564f79a233c2a9fa4065dbd441f76030425b937d195133a9ed7MilestoneDateAdded(bytes32,uint256)
0x26f7be8efebbaf37e9c4d52f74520e15010330c02bd13616ee88e05c1f1fbcc9MilestoneDateRemoved(bytes32,uint256)
0xe417804d380ecfec0687f254061a2a52ba3855cd3703278db5c21aa7dc05395dDisbursementAdded(bytes32,uint256,address,uint256)
0x2a05890fcae374ba43539db0fbc32011cd5a5137e394c9185caa54d8498c070bDisbursementRemoved(bytes32,uint256)
0x36ef330aa05b7569674d396bd56ce6aae1ba13a4937e1ed6aaf7ffe881449219DisbursementMade(bytes32,uint256,bool)
0x214b1e80589551294c247e064121757eb2aa5aac8484cb8c0884e6f33cca7810ExternalLinkAdded(bytes32,string)
0xb444759b31eaf7181458c0923b96d123e5673bc86a7d9a7f142759dd1cab389bExternalLinkRemoved(bytes32,string)

Custom errors (10)

0x5c7cfeeeInvalidCommunityNameLength()
0xada79403InvalidGrantManager()
0xa1d52291GrantAlreadyRegistered()
0x1b3ba003GranteeAlreadyAdded()
0x9df69edfGranteeNotFound()
0x743d3f76InvalidExternalLink()
0x63df8171InvalidIndex()
0x0bf784c7InvalidStartDate()
0x728f2423MilestoneDateAlreadyAdded()
0x6bf3bfadMilestoneDateNotFound()

What the specification covers

Compare with

Parsed from the canonical specification · discussion