The contract will implement IERC721Metadata and will ressemble IERC721 and IERC721Enumerable but instead of and address being the owner, it will be a car NFT. The IERC721 contract can be forked to achieve this.
Functionnalities:
tokenURI() returns the hash of the reports uploaded on IPFS
create(carId: number, hash: string) creates a new NFT and emit a ReportCreated event. It will revert if the caller is not a delegate (see issue #4 )
update(reportId: number, newHash: string) replaces the hash of the report and emit a ReportUpdated event. It will revert if the caller is not a delegate of the same contributor who created the report.
lastUpdate() returns the last block it was updated
creator(reportId: number) return the contributor ID which emitted the report.
The contract will implement IERC721Metadata and will ressemble IERC721 and IERC721Enumerable but instead of and address being the owner, it will be a car NFT. The IERC721 contract can be forked to achieve this.
Functionnalities: