event OutcomeProposed(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address indexed proposer, uint256[] payouts, uint64 challengeDeadline);
event OutcomeChallenged(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address challenger, uint256 bondAmount);
event OutcomeFinalized(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address finalizer, uint256[] payouts);
event ChallengeConfirmed(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address challenger, uint256[] payouts);
event ChallengeUpheld(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address challenger, uint256[] newPayouts, uint256 reward);
event MarketVoided(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address challenger);
event MarketVoidedWithPayouts(uint64 seq, bytes32 indexed conditionId, bytes32 questionId, address challenger, uint256[] payouts, bytes32 reasonHash);
event VoidedWithoutChallenge(uint64 seq, bytes32 indexed conditionId, bytes32 questionId);
event MarketDelayed(uint64 seq, bytes32 indexed conditionId);
event MarketUndelayed(uint64 seq, bytes32 indexed conditionId);
event ProposalClearInitiated(uint64 seq, bytes32 indexed conditionId, uint256 executableAfter);
event ProposalClearExecuted(uint64 seq, bytes32 indexed conditionId);
event BondPayoutQueued(uint64 seq, address indexed recipient, uint256 amount);
event BondPayoutWithdrawn(uint64 seq, address indexed recipient, address indexed to, uint256 amount);
event BondAmountSet(uint64 seq, uint256 bondAmount);
event ChallengeWindowSet(uint64 seq, uint256 challengeWindow);