Skip to content

Enforce non-zero context_id in registration writes #116

Description

@starknetdev

Summary

The registration component documents context_id == 0 as the "not registered" sentinel, but internal write paths do not reject context 0.

Affected Code

  • packages/metagame/src/registration/registration_component.cairo:17
  • packages/metagame/src/registration/registration_component.cairo:123
  • packages/metagame/src/registration/registration_store.cairo:49
  • packages/metagame/src/registration/registration_store.cairo:97

Risk

A host that uses context 0 can confuse real registrations with unknown tokens because _get_token_context() returns 0 for both. This may allow registration bypasses in consumers that check reverse lookup state.

Suggested Fix

Reject context_id == 0 in set_entry() and increment_entry_count().

Suggested Tests

Add negative tests proving:

  • set_entry({ context_id: 0, ... }) reverts
  • increment_entry_count(0) reverts

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions