OpenZeppelin / OpenZeppelin/compact-contracts
NonFungibleToken: Add Uint<256> Support
Open
Nobody has claimed this yet.
blocked
enhancement
- Dominant language
- TypeScript
- Stars
- 55
- Forks
- 29
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 25
Description
The Midnight ZK backend uses the BLS12-381 curve which has a maximum Field size of 254 bits. This makes it difficult to work with values of size Uint<256>. We will need to create an abstraction using Uint<128> values to create a Uint<256> representation.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the NonFungibleToken implementation and the Midnight ZK backend handling for Uint<128> values. Determine how the BLS12-381 field-size limitation affects the proposed Uint<256> representation. Done means the required abstraction is defined and supports the intended Uint<256> values.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend, cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100