Skip to content

[Solana] Add RMN Curser role, independent from RMN owner#2092

Closed
toblich wants to merge 12 commits into
solana-contracts/v1.6.3-candidatefrom
solana/rmn-curser
Closed

[Solana] Add RMN Curser role, independent from RMN owner#2092
toblich wants to merge 12 commits into
solana-contracts/v1.6.3-candidatefrom
solana/rmn-curser

Conversation

@toblich
Copy link
Copy Markdown
Contributor

@toblich toblich commented May 22, 2026

No description provided.

@github-actions
Copy link
Copy Markdown

⚠️ IDL Compatibility Check Required ⚠️

Changes detected in IDL files:

  • chains/solana/contracts/target/idl/rmn_remote.json

⚠️ IMPORTANT: Please verify that these changes maintain compatibility with our observability pipeline!

To bypass this check:

  • Add the idl-check-confirmed label to this PR

chris-de-leon-cll and others added 5 commits May 25, 2026 13:17
* feat: token ref resolver

* fix: CI gomod issue

* fix: move test

* docs: re-word artifical address ref label comment

* test: update configure_tokens_for_transfers_test

* fix: gomod CI

* fix: typo in comment

* fix: add nil check for token pool version

* fix: no panic in decodeArtificialPoolAddressRef

* fix: add zero address check for pool PDA

* chore: copilot feedback

* fix: update environment datastore in each loop iteration for manual reg.

* chore: address copilot feedback

* fix: use fully resolved ref in TPRL

* chore: use underscore for unused datastore parameter

* fix: only normalize if there is indeed something to normalize

* chore: update comment in test

* fix: block empty address refs after normalize

* fix: copilot feedback

* fix: add extra nil safety check

* chore: clean up

* fix: grammar in comment

* fix: ensure env datastore is updated on each loop iteration

* refactor: reuse helper function in findRef

* fix: show derive error

* chore: add clarifying note

* chore: fix comment

* fix: make log more informative

* refactor: clean up code

* fix: pass bundle

* chore: fix gomod for CI

* chore: revert noisy datastore formatting

* feat: skip datastore if address is already present in the ref

* fix: best-effort tidy token roles

* test: enable address ref resolvers in v2 tokens_test

* test: fix unpopulated token ref edge case

* fix: token ref should not be overwritten

* fix: bump go mod for CI

* fix: update error message

* fix: GetCurrentInboundRateLimit should fail if fast finality is true for pre-V2 adapters

* fix: error format string

* chore: prefer chain.Selector over input.Selector

* docs: update stale comment

* refactor: standardize DeployTokenPool

* chore: bump gomod for ci

* chore: rename ParseAllowList

* fix: inverted condition

* test: fixes

* fix: ToNonZeroEVMAddress

* refactor: rename TokenInfo to ERC20Decimals

* fix: edge case zero address handling

* fix: typo in comment

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix: remove duplicate import

* fix: use nonzero address for fetchTokenGovernor

* fix: ResolveRouterAddress preserve behavior in comment

* docs: update v2 token pool adapter comment

* fix: add better error message for fetchTokenGovernor

* fix: SetRateLimitAdmin now returns a slice of writes

* fix: allow rate limit admin to be set to zero address (i.e. reset)

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* feat: allow token expansion to configure token transfer fees

* fix: token transfer fee resolution

* fix: remove duplicate import

* fix: remove duplicate import

* fix: remove duplicate import

* fix: compare selectors

* fix: copilot feedback for optional yaml unmarshaling

* fix: revert unnecessary edge case handling

* test: improve testing coverage for optional with config struct
* initial impl of the changeset

* reduce PR verbosity

* further simplifications

* add 2 hasAdminRole token types

* add unit test

* refactor: tests and changeset

* docs: update comment

* feat: add fallback account support

* fix: resolve typo in comment

* fix: use nBytes in helper and fix grammer in comment

* chore: address copilot feedback

* fix: error message

* test: add coverage for mixed timelock and deployer key admin role

* fix: bump gomod so that CI passes

* chore: make warn logs more explicit

---------

Co-authored-by: chris-de-leon-cll <147140544+chris-de-leon-cll@users.noreply.github.com>
pub default_code_version: CodeVersion,

// --- v3 fields below ---
pub curser: Pubkey, // the only account authorized to curse subjects.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't the owner also allowed to curse?

@toblich toblich force-pushed the solana/rmn-curser branch from c0504a6 to a332a53 Compare May 28, 2026 19:45
@github-actions
Copy link
Copy Markdown

⚠️ IDL Compatibility Check Required ⚠️

Changes detected in IDL files:

  • chains/solana/contracts/target/idl/rmn_remote.json

⚠️ IMPORTANT: Please verify that these changes maintain compatibility with our observability pipeline!

To bypass this check:

  • Add the idl-check-confirmed label to this PR

@github-actions
Copy link
Copy Markdown

⚠️ IDL Compatibility Check Required ⚠️

Changes detected in IDL files:

  • chains/solana/contracts/target/idl/rmn_remote.json

⚠️ IMPORTANT: Please verify that these changes maintain compatibility with our observability pipeline!

To bypass this check:

  • Add the idl-check-confirmed label to this PR

@github-actions
Copy link
Copy Markdown

⚠️ IDL Compatibility Check Required ⚠️

Changes detected in IDL files:

  • chains/solana/contracts/target/idl/rmn_remote.json

⚠️ IMPORTANT: Please verify that these changes maintain compatibility with our observability pipeline!

To bypass this check:

  • Add the idl-check-confirmed label to this PR

@github-actions
Copy link
Copy Markdown

Metric solana/rmn-curser solana-contracts/v1.6.3-candidate
Coverage 69.9% 69.6%

@toblich
Copy link
Copy Markdown
Contributor Author

toblich commented May 29, 2026

Closing just because GitHub UI is showing the wrong list of commits compared to the base branch - will open a new PR that hopefully shows the right diff

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.

5 participants