Prices are determined by the amount of shares of each outcome in a pool. The smart contract maintains a constant using the following function:
x*y=k. In this case
x = outcome1,
y = outcome2,
k = liquidity.
During each trade, a certain amount of one token is removed from the pool for an amount of the other token. To maintain
k, the balances held by the smart contract are adjusted during the execution of the trade, therefore changing the price.
An outcome is always guaranteed a price between 0 and 1 in the EVM currency (MOVR).
After the market is resolved, the winning outcome will have a price value of 1 MOVR, while other outcomes will be 0.