Skip to content

Add jurisdiction tagging on holder records with compliance-gated transfer guard #451

Description

@thlpkee20-wq

Description

Offerings often have jurisdiction-specific holder eligibility (Reg D, Reg S, etc.). Add a per-holder jurisdiction: Symbol field and a per-offering allowlist that gates share transfers and snapshot inclusion. Pair with structured-error rejection on disallowed jurisdictions.

Requirements and context

  • Must be secure, tested, and documented
  • Should be efficient and easy to review
  • Relevant code: Revora-Contracts/src/lib.rs
  • Jurisdiction set must be mutable only by issuer with audit event

Suggested execution

  • Fork the repo and create a branch
  • git checkout -b feat/jurisdiction-tagging
  • Implement changes
    • Add set_allowed_jurisdictions(offering_id, Vec<Symbol>)
    • Reject set_holder_share for holders whose jurisdiction is not in the set with JurisdictionDisallowed
    • Emit jur_set and jur_reject events
  • Validate security and correctness assumptions

Test and commit

  • Run tests
    • cargo test --all
  • Cover edge cases
    • Removing a jurisdiction must not retroactively reject already-recorded holders
  • Include test output and security notes

Example commit message

feat: add jurisdiction tagging with compliance-gated share transfer

Guidelines

  • Minimum 95 percent test coverage
  • Clear documentation
  • Timeframe: 96 hours

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions