1- ```
1+ ``` dbml
22Project IntegrityRecord {
33 Note: '''
44 description: Numbers Protocol Integrity Record spec
5- version: 4.0 .0
6- date: 2022-08-25
5+ version: 4.3 .0
6+ date: 2023-05-11
77 colors:
88 - purple: on blockchain (updatable)
99 - blue: files on IPFS (updatable)
10- - yello : json
10+ - yellow : json
1111 - red: signature related
1212 - grey: centralized server or DID
1313 '''
@@ -19,13 +19,13 @@ Table commit [headercolor: #8e44ad] {
1919 assetTreeCid cid [note: 'CID of the asset Tree file']
2020 assetTreeSha256 sha256 [note: 'sha256sum of the asset Tree file']
2121 assetTreeSignature signature [note: 'EIP-191 signature signed by author.']
22- author address [note: 'Who creates the commit.']
23- committer address [note: 'Who registers the commit.']
24- action cid [note: 'CID of the network action performed for the asset file.']
25- actionResultUri str [note: 'Result uri of this action']
22+ committer address [note: 'Who registers the commit']
23+ author address [note: 'Who write the commit']
24+ action cid [note: 'CID of the action profile describing the action details including actionName.']
25+ actionName str [note: 'name of the action, unique string']
26+ actionResult str [note: 'Result uri of this action']
2627 provider cid [note: 'CID of the commit service provider.']
27- abstract str [note: 'Committer can add a short description that summarizes the Integrity Record.']
28- timestampCreated timestamp [note: 'The moment that Integrity Record is created in Unix timestamp']
28+ attachment str [note: 'the Nid of the attachment file.']
2929
3030 Note: '''
3131 1. The goal of Integrity Record is to ensure integrity of the raw asset and its derivatives like metadata and maybe the major asset.
@@ -67,14 +67,22 @@ Table assetTree [headercolor: #3498db] {
6767 _ none [note: 'placeholder for linking tables']
6868 assetCid cid [note: 'CID of the asset file (blob)']
6969 assetSha256 sha256 [note: 'sha256sum of the asset file (blob)']
70- assetCreator address [note: 'Creator\'s wallet address']
71- assetCreatorProfile cid [note: 'Creator of the asset file']
70+ encodingFormat str [note: 'The asset\'s type expressed using a MIME format.']
71+ assetCreator str [note: 'Creator\'s name']
72+ creatorProfile cid [note: 'Creator of the asset file']
73+ creatorWallet address [note: 'Creator\'s wallet address']
7274 assetTimestampCreated timestamp [note: 'Creation time of the asset file']
75+ assetLocationCreated str [note: 'Creation location of the asset file']
76+ parentAssetCid cid [note: 'Cid of the parent asset']
77+ generatedBy str [note: 'AI model used to generate the content']
78+ generatedThrough str [note: 'URL of AI service']
79+ usedBy str [note: 'URL of the website that uses the asset']
7380 license license [note: 'license of the asset file']
74- nftRecord cid
81+ nftRecord "nftRecord[]" [note: 'List of NFT records']
7582 integrityCid cid [note: 'CID of the integrity proof']
7683 abstract str [note: 'description of this asset']
77- encodingFormat str [note: 'The asset\'s type expressed using a MIME format.']
84+ custom json [note: 'custom fields']
85+
7886
7987 Note: '''
8088 EIP-191 Verification
@@ -109,7 +117,6 @@ Table nftRecord [headercolor: #3498db] {
109117 network network [note: 'network of the NFT token']
110118 contractAddress address
111119 tokenId str
112- tokenUri str
113120}
114121
115122Table nft [headercolor: #8e44ad] {
@@ -207,10 +214,9 @@ Enum "proofKey" {
207214}
208215
209216Ref: "nftRecord"."tokenId" - "nft"."tokenId"
210- Ref: "nftRecord"."tokenUri" - "nft".tokenUri
211217Ref: "assetTree"."license" - "license"."_"
212218Ref: "assetTree"."integrityCid" - "proofMetadata"."_"
213- Ref: "assetTree"."assetCreatorProfile " - "identity"."_"
219+ Ref: "assetTree"."creatorProfile " - "identity"."_"
214220Ref: "assetTree".nftRecord < nftRecord."_" // One asset can link to multiple nft_records
215221Ref: "commit"."action" - "action"."_"
216222Ref: "commit"."provider" - "identity"."_"
0 commit comments