- Status: Accepted.
- Application Document: Green Lemon Protocol
- Milestone: 2
- Previously successfully merged evaluation: All by keeganquigley
Number | Deliverable | Accepted | Link | Evaluation Notes |
---|---|---|---|---|
0a. | License | Link | ||
0b. | Documentation | Link | Looks good. | |
0c. | Testing Guide | Link | All steps were eventually successful. See notes below. | |
0d. | Article | Article, Video | Looks good. | |
1. | (ink!)Smart contracts: Anonymous NFT | Link | Successfully deployed ERC721 and verifier contracts. See notes below. |
|
2. | (Node.js)Relayer service | Link | Successfully deployed relayer contract. See notes below. |
Docs were somewhat improved upon request. Great job on inline comments.
-
Ran into issue with
substrate-greenlemon-node
where my mac wouldn't recognize the unix executable file.
UPDATE: release was fixed by adding new .zip file. -
Ran into Zokrates compatibility issue:
sh ./circuits/build.sh
Compiling withdraw.zok
Compilation failed:
withdraw.zok:7:35
Visibility modifiers on arguments are only allowed on the entrypoint function
withdraw.zok:7:55
Visibility modifiers on arguments are only allowed on the entrypoint function
withdraw.zok:7:94
Visibility modifiers on arguments are only allowed on the entrypoint function
mv: abi.json: No such file or directory
mv: rename out to ../build/out: No such file or directory
UPDATE: Issue fixed.
- Every time there is a system change (such as a reboot) I have to re-add Zokrates to my path with
export PATH=$PATH:/Users/keeganquigley/.zokrates/bin
; I would suggest adding this to the testing instructions, otherwise the scripts will fail.
UPDATE: Issue fixed.
- Unit tests are successful for all functions, however I noticed that there isn't one for
transfer_from
in theERC721
contract. Consider adding it if it makes sense.
UPDATE: Issue explained/fixed.
- Minor improvement suggestion for Step 2: take out "baseUri" so that it's clear that just the string needs to be entered:
https://raw.githubusercontent.com/GreenLemonProtocol/assets/main/nft
UPDATE: fixed.
All js scripts run successfully. Index service starts successfully.
cargo +nightly clippy
generates quite a few warnings for each of the contracts. Please take a look at these to see which ones make sense to fix. You can also use the command below to attempt to fix them automatically:
cargo doc --open
works to generate all HTML docs.
cargo +nightly clippy –fix
UPDATE: cargo warnings fixed.
Deposit
, RegisterPublicKeys
, Withdrawal
, Execute
functions all work manually and with automated tests.
verify
function works manually and with automated tests.
mint
, burn
, transfer
, approve
functions all work manually and with automated tests.
Please note: No security audits have been conducted as part of this evaluation.