From 4294481b5b93993f6f9c0864095060713a3443b4 Mon Sep 17 00:00:00 2001
From: mantikoros
Date: Thu, 3 Feb 2022 16:59:59 -0600
Subject: [PATCH] change fee structure
---
common/calculate.ts | 6 +++---
common/fees.ts | 4 ++--
common/payouts.ts | 10 +++++-----
common/sell-bet.ts | 4 ++--
web/pages/about.tsx | 7 ++++---
web/pages/create.tsx | 2 +-
6 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/common/calculate.ts b/common/calculate.ts
index 2e69690e..fbbfd66f 100644
--- a/common/calculate.ts
+++ b/common/calculate.ts
@@ -104,7 +104,7 @@ export function calculateShareValue(contract: Contract, bet: Bet) {
}
export function calculateSaleAmount(contract: Contract, bet: Bet) {
- return (1 - 2 * FEES) * calculateShareValue(contract, bet)
+ return (1 - FEES) * calculateShareValue(contract, bet)
}
export function calculatePayout(
@@ -145,7 +145,7 @@ export function calculateStandardPayout(
totalShares[outcome] - phantomShares[outcome] - totalBets[outcome]
const winningsPool = truePool - totalBets[outcome]
- return amount + (1 - 2 * FEES) * ((shares - amount) / total) * winningsPool
+ return amount + (1 - FEES) * ((shares - amount) / total) * winningsPool
}
export function calculatePayoutAfterCorrectBet(contract: Contract, bet: Bet) {
@@ -204,7 +204,7 @@ function calculateMktPayout(contract: Contract, bet: Bet) {
return (
betP * bet.amount +
- (1 - 2 * FEES) *
+ (1 - FEES) *
((betP * (bet.shares - bet.amount)) / weightedShareTotal) *
winningsPool
)
diff --git a/common/fees.ts b/common/fees.ts
index 718cdbcb..767107ed 100644
--- a/common/fees.ts
+++ b/common/fees.ts
@@ -1,4 +1,4 @@
-export const PLATFORM_FEE = 0.01 // == 1%
-export const CREATOR_FEE = 0.01
+export const PLATFORM_FEE = 0.01
+export const CREATOR_FEE = 0.09
export const FEES = PLATFORM_FEE + CREATOR_FEE
diff --git a/common/payouts.ts b/common/payouts.ts
index c4010ba2..77630502 100644
--- a/common/payouts.ts
+++ b/common/payouts.ts
@@ -38,12 +38,12 @@ export const getStandardPayouts = (
userId: bet.userId,
payout:
bet.amount +
- (1 - 2 * FEES) *
+ (1 - FEES) *
((bet.shares - bet.amount) / shareDifferenceSum) *
winningsPool,
}))
- const creatorPayout = 2 * CREATOR_FEE * winningsPool
+ const creatorPayout = CREATOR_FEE * winningsPool
console.log(
'resolved',
@@ -98,7 +98,7 @@ export const getMktPayouts = (
userId: bet.userId,
payout:
p * bet.amount +
- (1 - 2 * FEES) *
+ (1 - FEES) *
((p * (bet.shares - bet.amount)) / weightedShareTotal) *
winningsPool,
}))
@@ -107,12 +107,12 @@ export const getMktPayouts = (
userId: bet.userId,
payout:
(1 - p) * bet.amount +
- (1 - 2 * FEES) *
+ (1 - FEES) *
(((1 - p) * (bet.shares - bet.amount)) / weightedShareTotal) *
winningsPool,
}))
- const creatorPayout = 2 * CREATOR_FEE * winningsPool
+ const creatorPayout = CREATOR_FEE * winningsPool
return [
...yesPayouts,
diff --git a/common/sell-bet.ts b/common/sell-bet.ts
index e3080644..eeeed355 100644
--- a/common/sell-bet.ts
+++ b/common/sell-bet.ts
@@ -36,8 +36,8 @@ export const getSellBetInfo = (
const probBefore = getProbability(contract.totalShares)
const probAfter = getProbability(newTotalShares)
- const creatorFee = 2 * CREATOR_FEE * adjShareValue
- const saleAmount = (1 - 2 * FEES) * adjShareValue
+ const creatorFee = CREATOR_FEE * adjShareValue
+ const saleAmount = (1 - FEES) * adjShareValue
console.log(
'SELL M$',
diff --git a/web/pages/about.tsx b/web/pages/about.tsx
index a0d7659e..47e796a7 100644
--- a/web/pages/about.tsx
+++ b/web/pages/about.tsx
@@ -1,7 +1,7 @@
import { cloneElement } from 'react'
+import { CREATOR_FEE } from '../../common/fees'
import { Page } from '../components/page'
import { SEO } from '../components/SEO'
-import { useContracts } from '../hooks/use-contracts'
import styles from './about.module.css'
export default function About() {
@@ -132,8 +132,9 @@ function Contents() {
How are markets resolved?
- The creator of the prediction market decides the outcome and earns 1% of
- the betting pool for their effort.
+ The creator of the prediction market decides the outcome and earns{' '}
+ {CREATOR_FEE * 100}% of the winnings as a commission for creating and
+ resolving the market.
This simple resolution mechanism has surprising benefits in allowing a
diff --git a/web/pages/create.tsx b/web/pages/create.tsx
index 0dddd6f1..bc747fc7 100644
--- a/web/pages/create.tsx
+++ b/web/pages/create.tsx
@@ -177,7 +177,7 @@ export function NewContract(props: { question: string; tag?: string }) {
Market ante