Skip to content

Change receiver affirmations to opt-in#1897

Merged
Neopallium merged 53 commits intodevelopfrom
MESH-2300-receiver-affirmations-opt-in
Mar 17, 2026
Merged

Change receiver affirmations to opt-in#1897
Neopallium merged 53 commits intodevelopfrom
MESH-2300-receiver-affirmations-opt-in

Conversation

@tgntr
Copy link
Contributor

@tgntr tgntr commented Mar 9, 2026

changelog

new features

  • Flipped the default receiver affirmation model from opt-out to opt-in — receivers and portfolios no longer need to affirm by default

new external API

  • Added set_mandatory_receiver_affirmation extrinsic to the settlement pallet — identities can opt-in to require receiver affirmation for incoming transfers
  • Added MandatoryReceiverAffirmation storage map to the settlement pallet
  • Added get_receiver_affirmation_requirement(receiver, asset_id) Runtime API —
    senders can query whether a transfer will auto-execute or enter a pending state awaiting receiver affirmation

new events

  • Added MandatoryReceiverAffirmationSet(IdentityId, AffirmationRequirement) event

other

  • Added AffirmationRequirement enum to polymesh-primitives with Required and Automatic variants
  • Added AffirmationFnTrait to polymesh-primitives — decoupled affirmation query interface used
    by the asset and portfolio pallets to avoid a circular dependency on the settlement pallet
  • Added tests for new set_mandatory_receiver_affirmation extrinsic and adjusted existing tests
  • STO pallet invest now filters out auto-affirmed portfolios

Base automatically changed from new-portfolio to develop March 11, 2026 12:59
@tgntr tgntr requested a review from Neopallium March 12, 2026 13:04
@Neopallium Neopallium requested a review from F-OBrien March 13, 2026 10:38
@tgntr tgntr requested a review from Neopallium March 16, 2026 13:26
@Neopallium Neopallium merged commit f38ad57 into develop Mar 17, 2026
17 of 19 checks passed
@Neopallium Neopallium deleted the MESH-2300-receiver-affirmations-opt-in branch March 17, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants