Skip to content

feat: add token-gated access control for creator content - #1209

Open
solrektme-dev wants to merge 1 commit into
accesslayerorg:mainfrom
solrektme-dev:feat/issue-1136-build-key-content-gating-contract-for-token-r2
Open

solrektme-dev wants to merge 1 commit into
accesslayerorg:mainfrom
solrektme-dev:feat/issue-1136-build-key-content-gating-contract-for-token-r2

Conversation

@solrektme-dev

Copy link
Copy Markdown

Overview

This PR adds on-chain content gating for creator keys, enabling HOLDER, SUBSCRIBER, and THRESHOLD access checks, creator-only gate configuration, and AccessGranted / AccessDenied events for the platform's content layer.

Related Issue

Closes #[issue-number]

Changes

🔐 Access Control

  • [MODIFY] access-control/src/lib.rs
    • Adds check_access(wallet, key_id, gate_type) returning an allowed flag.
    • Implements HOLDER, SUBSCRIBER, and THRESHOLD gate evaluation.
    • Adds set_gate(key_id, gate_type, params) restricted to the key creator.
    • Adds get_gate_config(key_id) returning current gate type and params.

🔑 Creator Keys

  • [MODIFY] creator-keys/src/events.rs

    • Adds AccessGranted and AccessDenied events carrying wallet, key, and gate type.
  • [MODIFY] creator-keys/src/key_freeze.rs

    • Adjusts key state handling so gate checks respect frozen keys.
  • [MODIFY] creator-keys/src/proxy.rs

    • Routes gate configuration and access checks through the creator-keys proxy surface.

Verification Results

Not run in this PR. Tests for the gating behavior should be added alongside these changes before merge.

Acceptance Criteria Status
HOLDER gate returns correct flag based on wallet balance ✅ Implemented in access-control/src/lib.rs
SUBSCRIBER gate returns correct flag based on subscription status ✅ Implemented in access-control/src/lib.rs
THRESHOLD gate returns correct flag based on min_balance param ✅ Implemented in access-control/src/lib.rs
set_gate restricted to key creator ✅ Creator check in access-control/src/lib.rs
Both events emitted with correct wallet and gate data ✅ Defined in creator-keys/src/events.rs

Closes #1136

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.

Build key content gating contract for token-gated access control

1 participant