proposal-29-update-ipfs/README.md

3.2 KiB

Proposal to update Tornado IPFS hashes in ENS

Changes / effect description

Requirements

Installation

git clone --recurse-submodules https://git.tornado.ws/Theo/proposal-29-update-ipfs.git
cd proposal-29-update-ipfs
npm install
npm run init

Testing

npm run test:windows

or

npm run test:linux

Contracts

Proposal deployed contract: 0xaF0AbcF236D495AEfDA9f9e1DF5bECE0D132da66

Goerli test contract: 0x0b70c06d7a4D52cbE9CC4C9FCb4Df2B024F4fFd8

Verification

Since the proposal code can be confusing because it relies on numerous specifications and EIPs, users can use scripts to verify the correctness of the data, see the output in the corresponding files, and insert the code directly into Solidity, comparing it with the existing code in the proposal (there should be no discrepancies be).

  1. Verification of the transformation of eth domains into ENS nodes:

    Script source: calculateENSNodes.ts

    Command to run: npm run calculateENS

    Result data: ensNodesDeclarations.txt

  2. Verification of the transformation of IPFS CIDs to ENS content hashes

    Script source: calculateIPFSContenthashes.ts

    Command to run: npm run calculateIPFS

    Result data: ensDomainsIPFSContenthashes.txt

  3. Verification of the equality IPFS CIDs v0 with v1 (because ENS on its interface shows v1 CIDs, but Pinata and contenthash library uses v0)

    Script source: calculateIpfsV1Cids.ts

    Command to run: npm run calculateIpfsV1Cids

    Result data: ipfsV1CIDs.txt