Events

On-chain events for tracking activity.


Market Events

MarketCreated

event MarketCreated(
    uint256 indexed marketId,
    string question,
    string category,
    uint256 deadline,
    address creator
);

Emitted when a new market is created.

MarketResolved

event MarketResolved(
    uint256 indexed marketId,
    bool outcome,
    address resolver
);

Emitted when a market outcome is finalized.


Trading Events

SharesPurchased

event SharesPurchased(
    uint256 indexed marketId,
    address indexed buyer,
    bool isYes,
    uint256 amount,
    uint256 shares,
    uint256 price
);

Emitted on every share purchase.

SharesSold

event SharesSold(
    uint256 indexed marketId,
    address indexed seller,
    bool isYes,
    uint256 shares,
    uint256 amount,
    uint256 price
);

Emitted when shares are sold.


Balance Events

Deposited

event Deposited(
    address indexed user,
    uint256 amount
);

Withdrawn

event Withdrawn(
    address indexed user,
    uint256 amount
);

WinningsClaimed

event WinningsClaimed(
    uint256 indexed marketId,
    address indexed user,
    uint256 amount
);

Resolution Events

OutcomeProposed

event OutcomeProposed(
    uint256 indexed marketId,
    bool outcome,
    address proposer,
    uint256 bond
);

OutcomeChallenged

event OutcomeChallenged(
    uint256 indexed marketId,
    bool newOutcome,
    address challenger,
    uint256 bond
);

OutcomeFinalized

event OutcomeFinalized(
    uint256 indexed marketId,
    bool outcome
);

Listening to Events

// Listen for new markets
contract.on("MarketCreated", (marketId, question, category, deadline, creator) => {
    console.log(`New market: ${question}`);
});

// Listen for trades
contract.on("SharesPurchased", (marketId, buyer, isYes, amount, shares, price) => {
    console.log(`${buyer} bought ${shares} ${isYes ? 'YES' : 'NO'} shares`);
});

Last updated