Skip to content

serviceability: authorize tenant instructions via Permission accounts#3983

Open
juan-malbeclabs wants to merge 2 commits into
mainfrom
perm-tenant
Open

serviceability: authorize tenant instructions via Permission accounts#3983
juan-malbeclabs wants to merge 2 commits into
mainfrom
perm-tenant

Conversation

@juan-malbeclabs

@juan-malbeclabs juan-malbeclabs commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Gate Tenant instructions (create, update, delete, add_administrator, remove_administrator, update_payment_status) on the TENANT_ADMIN flag via authorize(). Behavior is preserved via the legacy foundation-or-sentinel fallback while RequirePermissionAccounts is off; update_payment_status already accepted the sentinel authority, matching TENANT_ADMIN's legacy mapping.

One PR per domain; see smartcontract/programs/doublezero-serviceability/PERMISSION.md.

Testing Verification

  • New TENANT_ADMIN permission-account test plus the existing tenant lifecycle suite.
  • cargo test -p doublezero-serviceability, cargo test -p doublezero_sdk, make rust-lint pass.

Permission migration series

One of 8 per-domain PRs migrating serviceability instructions to the Permission (authorize()) system. The branches partition the change set with no overlap and can be reviewed and merged independently (only the CHANGELOG entry conflicts trivially).

PR Domain Flag(s)
#3977 Governance (globalstate/globalconfig/allowlists) GLOBALSTATE_ADMIN
#3978 Contributor CONTRIBUTOR_ADMIN
#3979 Infra (location/exchange) INFRA_ADMIN
#3980 Devices + interfaces NETWORK_ADMIN, HEALTH_ORACLE
#3981 Links NETWORK_ADMIN, HEALTH_ORACLE
#3982 Multicast MULTICAST_ADMIN, ACCESS_PASS_ADMIN
#3983 Tenant TENANT_ADMIN ← this PR
#3984 User (update / check_access_pass / check_status) USER_ADMIN, ACTIVATOR

Migrate Tenant create/update/delete/add_administrator/remove_administrator/
update_payment_status to authorize() with the TENANT_ADMIN flag. Behavior
preserved via the legacy foundation-or-sentinel fallback (update_payment_status
already accepted sentinel).
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