Skip to content

Stop the association monitor flagging each client's own refund wallet - #1412

Merged
ebma merged 1 commit into
stagingfrom
fix/monerium-association-refund-wallet
Oct 8, 2026
Merged

ebma merged 1 commit into
stagingfrom
fix/monerium-association-refund-wallet

Conversation

@ebma

@ebma ebma commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Why

The association monitor (the S1 detective control) error-alerts on any address linked to a client's Monerium profile other than the forwarder. Since per-client refund wallets landed, onboarding deliberately links each client's derived refund wallet to the same profile, so every active account raises a false ASSOCIATION CHANGE incident alert on every monitoring pass. Seen live in the local sandbox rehearsal: "unexpected address linked to the profile: <the client's refund wallet>".

What changes

  • diffAssociation also accepts the client's derived refund wallet (refundAccountFor(account.profileId), the same derivation onboarding uses) as an expected linked address. Every other extra address still alerts, and the IBAN moving to the refund wallet still reports "moved".
  • Without the refund seed (misconfiguration; boot already requires it whenever the module is enabled) nothing is excused, so the wallet alerts instead of the check going quiet.
  • Security spec, runbook alert table and architecture doc describe the exception.

Not added: an alert when the refund wallet is not linked. Onboarding links it before requesting the IBAN, but nothing enforces it beyond that ordering, and it is not an S1 divergence. Easy to add as a separate message if wanted.

No route, payload or schema change; wire-contract check clean.

Tests

Onboarding links each client's derived refund wallet to the client's
Monerium profile, but the association monitor treated every address
other than the forwarder as unexpected. Every active account therefore
raised an error-level ASSOCIATION CHANGE (the S1 incident alert) on
every monitoring pass.

The monitor now derives the same refund wallet onboarding links
(refundAccountFor(profileId)) and excuses exactly that address. Any
other extra address still alerts, as do the forwarder unlinked and the
IBAN moved or unrecorded checks. If the refund seed is missing nothing
is excused, so the check fails loud instead of going quiet.
@netlify

netlify Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for vortexfi canceled.

Name Link
🔨 Latest commit 6fbf774
🔍 Latest deploy log https://app.netlify.com/projects/vortexfi/deploys/6ac792b38e3ddf00088d161b

@netlify

netlify Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for vrtx-dashboard canceled.

Name Link
🔨 Latest commit 6fbf774
🔍 Latest deploy log https://app.netlify.com/projects/vrtx-dashboard/deploys/6ac792b380f1df00086160e5

@netlify

netlify Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for vortex-sandbox ready!

Name Link
🔨 Latest commit 6fbf774
🔍 Latest deploy log https://app.netlify.com/projects/vortex-sandbox/deploys/6ac792b3142b6900086eb77f
😎 Deploy Preview https://deploy-preview-1412--vortex-sandbox.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@ebma
ebma marked this pull request as draft October 8, 2026 15:27
@ebma
ebma marked this pull request as ready for review October 8, 2026 15:27
@ebma
ebma merged commit 7dbf1b9 into staging Oct 8, 2026
6 checks passed
@ebma
ebma deleted the fix/monerium-association-refund-wallet branch October 8, 2026 15:28
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.

1 participant