Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 2.54 KB

TIP-109.md

File metadata and controls

47 lines (29 loc) · 2.54 KB
id Title Status Author Description Discussions to Created
TIP-109 Add double chance markets to Overtime Draft Danijel Allow markets on ternary outcomes that let users take a double position composed into a single ERC20 token https://discord.gg/rPpPcMXSeU 2022-11-29

Abstract

This TIP proposes to add markets on ternary outcomes (soccer markets, which have a draw) that let users take a double position composed into a single ERC20 token.

Motivation

This type of sport positioning is common on web2 books. It allows users to take positions commonly known as:

  • 1X - Home team will not lose
  • X2 - Away team will not lose
  • 12 - The game will not end in a draw

While these positions can even now be easily replicated for singles by buying both outcomes, it's not possible to create Parlays with such positions unless we add dedicated markets for double chances which will compose the single positions into ERC20 tokens and allow those to be added on Parlays.

The math here is simple, the price of e.g. 1X position is the sum of the two individual positions.

Per previously established rules, a Parlay can not have a position on a single game more than once on a single ticket.

Specification

  1. In SportPositional market add:
    public bool isDoubleChance;
    public address parentMarket;

  2. A double chance market is created automatically through Manager create method whenever a single match market is created

  3. The method availableToBuyFromAmm should return the minimum of the available to buy of the two underlying positions

  4. Methods buyFromAMM and buyFromAMMQuote in SportsAMM calculate the price of the double chance position by summing up the price for the two individual positions.

  5. BuyPriceImpact is calculated by adding the two individual BuyPriceImpacts and dividing it by 2

  6. On buyFromAMM if someone is buying e.g. 1000 1X position (home team not to lose_, the user gets back 1000 tokens deemed HOME from the isDoubleChance marketa. 1000 1 and 1000 X options are sent to DoubleChance market. SportsAMM keeps 1000 options of position 2 (AWAY).

  7. DoubleChance markets dont need an explicit resolve as they will read the result from the parent market

  8. On Exercise the DoubleChance market will call exercize of underlying individual positions

Selling to the AMM will not be supported for these markets.

Implementation

TBD

Copyright

Copyright and related rights waived via CC0.