Redemption.sol
Last updated
结算后的代币赎回合约。用户销毁胜出的结果代币,并按 1:1 取回 USDT 抵押资产。
redeem(factoryMarketId, amount)验证市场处于 Resolved 状态。
从 MarketFactory 读取胜出结果(YES 或 NO)。
通过 OutcomeToken 从调用者处销毁 amount 胜出结果代币。
通过 vault.redeemFromPool() 从市场池支付 amount * LOT_SIZE USDT。
MarketFactory: 读取市场状态和结果。
OutcomeToken: 销毁胜出代币(需要 MINTER_ROLE)。
金库: 从市场池支付资金(需要 PROTOCOL_ROLE)。
只有胜出代币可以赎回,失败方代币没有价值。
市场池在 clearBatch() 的原子化结算过程中注资。
每个 position unit 表示 1 lot = LOT_SIZE (1e16 = $0.01)。
对于 useInternalPositions 市场(当前 5 分钟市场),赎回使用 internal position balances,而非 ERC-1155 代币。
Redeemed(uint256 indexed factoryMarketId, address indexed user, uint256 amount, bool outcomeYes)
Last updated

