Skip to content

feat(ip-registry): resolve issues #815 #816 #817 #818 - #937

Open
lordstephen9 wants to merge 1 commit into
AtomicIP:mainfrom
lordstephen9:feature/815-816-817-818-ip-registry-enhancements
Open

feat(ip-registry): resolve issues #815 #816 #817 #818#937
lordstephen9 wants to merge 1 commit into
AtomicIP:mainfrom
lordstephen9:feature/815-816-817-818-ip-registry-enhancements

Conversation

@lordstephen9

Copy link
Copy Markdown

#815: Prune CommitmentHashes on IP revocation

  • Add prune_commitment_hash() private helper to remove revoked IP hash from DataKey::CommitmentHashes vector and recompute IpCommitmentChecksum
  • CommitmentOwner(hash) guard is preserved to maintain collision detection
  • Add tests: prune on revoke, active IPs unaffected, double-revoke panics

#816: Add move_ip_category and merge_categories for CategoryIps

  • move_ip_category(ip_id, old_hash, new_hash): owner-only, removes IP from old category and adds to new with duplicate guard
  • merge_categories(owners, from_hash, into_hash): admin-only, moves all IPs from source category into target for each supplied owner
  • Add tests: basic move, double-move idempotency, merge basic, merge dedup

#817: Add ZK commitment proof verification benchmarks

  • Fix pre-existing bench_verify_commitment compile error (missing &0u32 arg)
  • Add bench_zk_verify_single_proof: typical cost for one Schnorr proof
  • Add bench_zk_verify_batch_10_proofs: worst-case cost for 10 proofs
  • Enable benchmarks module in lib.rs (was commented out)
  • Document instruction count limits in docs/commitment-scheme.md

#818: Add differential tests between ZK and full-reveal verification paths

  • Add 6 new differential tests confirming ZK path and full-reveal path agree: valid proofs accepted, wrong secret/blinding rejected, cross-path non-accept
  • Add random-input sweep over 8 pseudo-random (secret, blinding) pairs
  • Document invariant in docs/commitment-scheme.md

chore: update .gitignore

  • Add test snapshots (snapshots/, *.snap), node_modules, dist/build/out, wasm artifacts, stellar/.soroban dirs, coverage reports, profiling files

closes
closes #815
closes #816
closes #817
closes #818

 AtomicIP#818

AtomicIP#815: Prune CommitmentHashes on IP revocation
- Add prune_commitment_hash() private helper to remove revoked IP hash
  from DataKey::CommitmentHashes vector and recompute IpCommitmentChecksum
- CommitmentOwner(hash) guard is preserved to maintain collision detection
- Add tests: prune on revoke, active IPs unaffected, double-revoke panics

AtomicIP#816: Add move_ip_category and merge_categories for CategoryIps
- move_ip_category(ip_id, old_hash, new_hash): owner-only, removes IP from
  old category and adds to new with duplicate guard
- merge_categories(owners, from_hash, into_hash): admin-only, moves all IPs
  from source category into target for each supplied owner
- Add tests: basic move, double-move idempotency, merge basic, merge dedup

AtomicIP#817: Add ZK commitment proof verification benchmarks
- Fix pre-existing bench_verify_commitment compile error (missing &0u32 arg)
- Add bench_zk_verify_single_proof: typical cost for one Schnorr proof
- Add bench_zk_verify_batch_10_proofs: worst-case cost for 10 proofs
- Enable benchmarks module in lib.rs (was commented out)
- Document instruction count limits in docs/commitment-scheme.md

AtomicIP#818: Add differential tests between ZK and full-reveal verification paths
- Add 6 new differential tests confirming ZK path and full-reveal path agree:
  valid proofs accepted, wrong secret/blinding rejected, cross-path non-accept
- Add random-input sweep over 8 pseudo-random (secret, blinding) pairs
- Document invariant in docs/commitment-scheme.md

chore: update .gitignore
- Add test snapshots (__snapshots__/, *.snap), node_modules, dist/build/out,
  wasm artifacts, stellar/.soroban dirs, coverage reports, profiling files
@drips-wave

drips-wave Bot commented Aug 27, 2026

Copy link
Copy Markdown

@lordstephen9 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant