Skip to content

Commit

Permalink
formating
Browse files Browse the repository at this point in the history
  • Loading branch information
scvija authored Oct 4, 2022
1 parent 288d23f commit 0f858f8
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions TIPs/TIP-93.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ Update the Rundown consumer contract and adding a new verified contract
## Motivation

During the almost 3 months that Overtime markets have been operational, we concluded that we need a circular breaker if some of the normalized odds have changed more or less than xx %, so we can review them and see why this change occurred.
A circular breaker is a mechanism that pauses a market automatically, in case the normalized odds for a game change more than a certain threshold. After checking the paused market, we can unpause it manually.
A **circular breaker** is a mechanism that **pauses** a market **automatically**, in case the normalized odds for a game change more than a certain threshold. After checking the paused market, we can unpause it manually.


## Specification

For the implementation of this solution, we would need to create a new contract called "TherundownConsumerVerifier", which will check the data which comes from "TherundownConsumer" contract. Some of the methods were moved from the Consumer to the Verifier contract because they actually have been verifying the data all along. By doing this, we will simultaneously decrease the size of the Consumer contract, freeing up more size for potential future implementations.
For the implementation of this solution, we would need to create a new contract called "**TherundownConsumerVerifier**", which will check the data which comes from "**TherundownConsumer**" contract. Some of the methods were moved from the Consumer to the Verifier contract because they actually have been verifying the data all along. By doing this, we will simultaneously decrease the size of the Consumer contract, freeing up more size for potential future implementations.

The specification of the verified contract has the following important properties:

- `defaultOddsThreshold` - the property which will hold the value for the default circular breaker threshold, initially set to 20%.
- `defaultOddsThreshold` - the property which will hold the value for the default circular breaker threshold, initially set to **20%.**
- `oddsThresholdForSport`- the property which will hold the value for a custom circular breaker threshold for a specific sport. If the `oddsThresholdForSport` is set, the default value is overwritten.

Checks moved from the Consumer to the Verifier:
Expand All @@ -35,23 +35,24 @@ Checks moved from the Consumer to the Verifier:

An example of a circular breaker that is checked using `areOddsInThreshold`:

Case 1:
When normalized odds are inside the threshold (-10%):
Case 1 - When normalized odds are inside the threshold (-10%):

Current normalized odds: 0.50
New normalized odds: 0.45
Current normalized odds: 0.50
New normalized odds: 0.45
Result - Market **not paused**

Case 2:
When normalized odds are above the threshold (+22%):
Case 2 - When normalized odds are above the threshold (+22%):

Current normalized odds: 0.50
New normalized odds: 0.61
Current normalized odds: 0.50
New normalized odds: 0.61
Result - Market **paused**

Case 3:
When normalized odds are above the threshold (-22%):
Case 3 - When normalized odds are above the threshold (-22%):

Current normalized odds: 0.50
New normalized odds: 0.39
Result - Market **paused**

Current normalized odds: 0.50
New normalized odds: 0.39

## Copyright

Expand Down

0 comments on commit 0f858f8

Please sign in to comment.