Skip to content

Commit d6fc8dd

Browse files
author
cf
authored
Update EIP-7015: Eip 7015
Merged by EIP-Bot.
1 parent 7959c82 commit d6fc8dd

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

EIPS/eip-7015.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ Creator attribution is given through a signature verification that MUST be verif
4646
- `structHash`: hashed information for deploying the NFT contract (e.g. name, symbol, admins etc)
4747
- `domainName`: the domain name of the contract verifying the singature (for EIP-712 signature validation)
4848
- `version`: the version of the contract verifying the signature (for EIP-712 signature validation)
49+
- `creator`: the creator's account
4950
- `signature`: the creator’s signature
5051

5152
The event is defined as follows:
@@ -55,13 +56,14 @@ event CreatorAttribution(
5556
bytes32 structHash,
5657
string domainName,
5758
string version,
59+
address creator,
5860
bytes signature
5961
);
6062
```
6163

6264
Note that although the `chainId` parameters is necessary for [EIP-712](./eip-712.md) signatures, we omit the parameter from the event as it can be inferred through the transaction data. Similarly, the `verifyingContract` parameter for signature verification is omitted since it MUST be the same as the `emitter` field in the transaction. `emitter` MUST be the token.
6365

64-
A platform can verify the validity of the creator attribution by reconstructing the signature digest with the parameters emitted and recovering the signer from the `signature` parameter. The recovered signer MUST be the `creator` of the token. If `CreatorAttribution` event is present creator attribution MUST be given to the `creator` instead of the account that submitted the transaction.
66+
A platform can verify the validity of the creator attribution by reconstructing the signature digest with the parameters emitted and recovering the signer from the `signature` parameter. The recovered signer MUST match the `creator` emitted in the event. If `CreatorAttribution` event is present creator and the signature is validated correctly, attribution MUST be given to the `creator` instead of the account that submitted the transaction.
6567

6668
### Reference Implementation
6769

@@ -81,6 +83,7 @@ abstract contract ERC7015 is EIP712 {
8183
bytes32 structHash,
8284
string domainName,
8385
string version,
86+
address creator,
8487
bytes signature
8588
);
8689
@@ -109,6 +112,7 @@ abstract contract ERC7015 is EIP712 {
109112
structHash,
110113
"ERC7015",
111114
"1",
115+
creator,
112116
signature
113117
);
114118
}

0 commit comments

Comments
 (0)