OpenZeppelin / OpenZeppelin/compact-contracts
dev: compose NativeShieldedToken in the V3 multisig preset
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 55
- Forks
- 29
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 25
Description
multisig/presets/ShieldedMultiSigV3 predates token/NativeShieldedToken and re-implements what that module now provides: the mint through mintShieldedToken, the burn as a send to the burn address, the _tokenDomain field, and a _coinNonce hash chain that NativeShieldedTokenDerivedNonce replaces. The preset forks the library instead of composing it, so fixes to the token module never reach it.
Compose NativeShieldedToken and NativeShieldedTokenDerivedNonce inside the module, keep only the multisig's own _counter replay nonce, and rename the preset NativeShieldedTokenIssuer after what it composes (no MultiSig suffix, the directory already says it). Signature digests stay unchanged.
Part of #886.
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 with multisig/presets/ShieldedMultiSigV3 and compare its mint, burn, _tokenDomain, and _coinNonce behavior with token/NativeShieldedToken and NativeShieldedTokenDerivedNonce. Done means the preset composes both modules, retains only the multisig _counter, is renamed NativeShieldedTokenIssuer, and preserves signature digests.
Written by the indexing model from the issue text.
Assessment
- Domain
- blockchain
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100