Redemption.sol
Post-resolution token redemption. Users burn winning outcome tokens 1:1 for USDT collateral.
redeem(factoryMarketId, amount)
redeem(factoryMarketId, amount)Verify market is in
ResolvedstateDetermine winning outcome (YES or NO) from MarketFactory
Burn
amountwinning outcome tokens from caller via OutcomeTokenPay out
amount * LOT_SIZEUSDT from market pool viavault.redeemFromPool()
Dependencies
MarketFactory: reads market state and outcome
OutcomeToken: burns winning tokens (requires MINTER_ROLE)
Vault: pays out from market pool (requires PROTOCOL_ROLE)
Notes
Only winning tokens can be redeemed (losing tokens have no value)
Market pool is funded during atomic settlement in
clearBatch()Each outcome token represents 1 lot = LOT_SIZE (1e18 = 1 USDT)
Events
Redeemed(uint256 indexed factoryMarketId, address indexed user, uint256 amount, bool outcomeYes)
Last updated