Predictify-org / Predictify-org/predictify-contracts

[GrantFox][Medium] Validate metadata size and encoding limits

Open
#1,382 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

GrantFox OSS Maybe Rewarded priority:medium Third Campaign
Dominant language
Rust
Stars
10
Forks
312
Avg merge
12h 1m
Merged PRs (30d)
19

Description

Summary

Validate metadata size and encoding limits

Why this matters

Oversized or malformed market metadata can cause failed writes and unpredictable client behavior.

Scope

Define byte limits, UTF-8 validation, normalization, and deterministic rejection.

Acceptance criteria

  • Limits are measured in bytes and documented.
  • Malformed encoding is rejected before mutation.
  • Metadata updates preserve authorization and versioning.
  • Boundary and fuzz tests pass.

Validation

Add regression coverage for existing behavior, failure modes, authorization boundaries, and compatibility. The implementation must pass the repository CI checks.

Non-goals

  • Typo-only, formatting-only, or documentation-only changes.
  • Unrelated refactors or dependency upgrades.
  • Weakening existing security, authorization, CI, or production safeguards.

Contributor application

Before implementation, comment with relevant experience, a 1–4 bullet approach, and an estimate for opening the first draft PR. Wait for maintainer assignment before coding.

PR requirements

Use a feature branch, include Closes #<issue-number>, check every acceptance criterion, link criteria to code/tests, explain security and failure-mode considerations, and pass CI.

Reward-readiness

This is a substantive GrantFox campaign issue. Merge and CI success do not by themselves guarantee reward eligibility; final reward-readiness is determined by campaign review.

Contributor guide

No contributing guide indexed for this repository

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

No files or tests are named. After maintainer assignment, locate the metadata update entry point and existing authorization and versioning coverage, then review how input encoding is handled before mutation. Define the byte and UTF-8 behavior with maintainers, add boundary and fuzz regression tests, and run the repository CI checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.