magicblock-labs / magicblock-labs/bolt

Support built-in restrictions for component combination

Open
#56 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority: high
Dominant language
TypeScript
Stars
64
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Summary

It would be helpful to have a system to restrict which components combination can be passed as parameter to a system. This is to avoid cases where a malicious actor could use in the same transactiom a Game's data in combination with another unrelated game's metadata. Making the whole system logic running on bogus assumptions.

Details

An good example of this can be found in the Tic-Tac-Toe blog example:
https://blog.magicblock.gg/bolt-tic-tac-toe/

In this example: If a malicious actor passes a Grid component in combination with an unrelated Players component, a user could effectively play someone else's game.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how component parameters are handled and the Tic-Tac-Toe blog example linked in the issue. Clarify the intended restriction model and identify how unrelated Grid and Players components could be detected. Done means the system prevents invalid component combinations from being accepted in a transaction.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, typescript
Domain
blockchain, game-dev, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.