Skip to content

[SC-REG-029] Job Registry and Proposal Scaling Validation - Step 29 #383

Description

@soomtochukwu

Construct Multi-Currency Supported Bidding Matrix in Registry

  • Category: Smart Contract: Job Registry & Bidding
  • Task ID: SC-REG-029

Description

This issue is dedicated to the technical design, implementation, and rigorous auditing of 'Construct Multi-Currency Supported Bidding Matrix in Registry' inside the Lance marketplace ecosystem, specifically focusing on the Smart Contract: Job Registry & Bidding component. As a Soroban smart contract task, the contributor must design robust instance or persistent storage allocations, ensure safe checked math operations, and write high-coverage unit tests within the Rust cargo test harness. The compiled WASM footprint must fit comfortably within standard block boundaries. Ensure that your implementation strictly adheres to the project's architectural guidelines, features self-documenting code with comprehensive inline annotations, and provides solid verification proofs. Any modifications to state variables must undergo strict validation before commits.

Requirements

  • Scaffold and write the contract logic in contracts/job_registry/src/lib.rs for Construct Multi-Currency Supported Bidding Matrix in Registry.
  • Compress heavy text strings into compact IPFS Content Identifiers (CIDs) before storing on-chain.
  • Design clean mappings from Job IDs to dynamic bid structures utilizing map-like storage arrays.
  • Implement strict ownership validation so that only the job creator can accept proposals.

Acceptance Criteria

  • Contract successfully compiles and fits within the standard Soroban WASM size limits.
  • Registry state transitions cleanly to 'Assigned' once a bid is successfully accepted.
  • Out-of-bounds inputs or late bid submissions are gracefully blocked and return specific error codes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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