Skip to content

serviceability: add per-device unicast and multicast user limits#2863

Draft
snormore wants to merge 2 commits intomainfrom
snor/separate-unicast-multicast-limits
Draft

serviceability: add per-device unicast and multicast user limits#2863
snormore wants to merge 2 commits intomainfrom
snor/separate-unicast-multicast-limits

Conversation

@snormore
Copy link
Contributor

@snormore snormore commented Feb 7, 2026

Summary of Changes

  • Add separate limits for unicast and multicast users per device (max_unicast_users, max_multicast_users)
  • Track user counts by type (unicast_users_count, multicast_users_count)
  • Enforce limits onchain in CreateUser and CreateSubscribeUser instructions
  • Add client-side pre-flight capacity check before user creation
  • New error codes: MaxUnicastUsersExceeded (73), MaxMulticastUsersExceeded (74)
  • CLI: display new fields in device get/list, add --max-unicast-users and --max-multicast-users flags to device update
  • Zero = unlimited semantics for backward compatibility
  • RFC-13: Per-Device Unicast and Multicast User Limits

Testing Verification

  • Rust unit tests for limit enforcement, counter updates, and zero=unlimited behavior
  • E2E test (TestE2E_UserLimits) validates unicast and multicast limit enforcement

@snormore snormore force-pushed the snor/separate-unicast-multicast-limits branch 6 times, most recently from 736a083 to ceac051 Compare February 7, 2026 19:23
Add unicast_users_count, multicast_users_count, max_unicast_users, and
max_multicast_users fields to Device type in Go, Python, and TypeScript
SDKs to match the onchain program changes from RFC-13.
@snormore snormore force-pushed the snor/separate-unicast-multicast-limits branch from ceac051 to da3dd1a Compare February 7, 2026 19:32
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