feat: add per-offering jurisdiction allowlist - #857
Open
Aonlike wants to merge 1 commit into
Open
Conversation
Add set_jurisdiction_allowlist/get_jurisdiction_allowlist for per-offering jurisdiction gating. Transfers to holders whose jurisdiction is not in the allowlist are rejected with the new JurisdictionBlocked error (code 90). The allowlist is consulted in the pre-transfer hook via the new require_holder_jurisdiction_allowed_for_transfer helper, distinct from the existing require_holder_jurisdiction_allowed which continues to use JurisdictionDisallowed for non-transfer operations. Changes: - Add JurisdictionBlocked error (code 90) to RevoraError - Add EVENT_JUR_ALLOW_UPDATE (jur_alwup) event symbol - Add set_jurisdiction_allowlist and get_jurisdiction_allowlist functions - Add require_holder_jurisdiction_allowed_for_transfer helper - Update pre-transfer hooks in transfer_with_attestation paths - Add 12 comprehensive tests covering allowlist CRUD, transfer gating, empty-allowlist (gating-disabled), deduplication, and audit events - Update structured_error_tests with new error code - Fix pre-existing storage layout registry drift Closes RevoraOrg#537
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds issuer-controlled, per-offering jurisdiction allowlists for regulated share offerings.
What changed
set_jurisdiction_allowlistandget_jurisdiction_allowlist.JurisdictionBlockedenforcement in transfer pre-transfer hooks.jur_alwupaudit event.Security notes
Verification
The branch is based on
upstream/masterand includes the implementation commit. Local Cargo verification was unavailable because Rust/Cargo is not installed in the execution environment.closes #537