Skip to content

feat/outcome-token-contract#288

Merged
Mimah97 merged 1 commit into
Vatix-Protocol:devfrom
luhrhenzthedev:feat/outcome-token-contract
Jun 20, 2026
Merged

feat/outcome-token-contract#288
Mimah97 merged 1 commit into
Vatix-Protocol:devfrom
luhrhenzthedev:feat/outcome-token-contract

Conversation

@luhrhenzthedev

Copy link
Copy Markdown
Contributor

Summary

  • Add contracts/outcome-token/ crate to the workspace — mint/burn YES/NO tokens scoped to (market_id, user)
  • Auth-gate: only the registered market_contract can call mint and burn, enforced via require_auth() at the Soroban layer
  • Admin can rotate the market contract address via set_market_contract

Changes

  • contracts/outcome-token/ — new crate with error, types, storage, events, lib, and test modules
  • Cargo.toml — added contracts/outcome-token to workspace default-members
  • README.md — added contract status table and build step for the new crate

Test plan

  • initialize stores config and rejects double-init
  • mint increases per-user balance and total supply; rejects zero amount
  • YES and NO balances are independent; balances are isolated across markets
  • burn decreases balance and supply; rejects insufficient balance and zero amount
  • set_market_contract succeeds for admin, returns Unauthorized for non-admin

closes #265

@Mimah97 Mimah97 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LFG

@Mimah97 Mimah97 merged commit 88d0cb9 into Vatix-Protocol:dev Jun 20, 2026
2 checks passed
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.

Scaffold Outcome Token contract per README architecture

2 participants