* Update resolve-market to be a v2 function
* Cleanup API error responses
* Update frontend to use v2 version of resolvemarket
* Appease ESLint
* Address review comments
* Appease ESLint
* Remove unnecessary auth check
* Fix logic bug in FR market validation
* Make it so you can specify runtime opts for v2 functions
* Cleanup to resolve market API resolutions input, fixes
* Fix up tiny lint
* Last minute cleanup to resolvemarket FR API input validation
Co-authored-by: Benjamin <ben@congdon.dev>
* Clean the user's display name on update.
The user's display name should always be clean (see for example
functions/src/create-user.ts). However, change-user-info.ts does not
enforce this, thus potentially allowing a malicious user to change their
name to something that doesn't satisfy the rules for clean display
names.
Note: this cannot happen currently because all callers (in profile.tsx)
clean the name. However, doing it here is good defense in depth
(similar to how the userName is cleaned).
* Update display name max length to 30
* Add a script to hunt down too-long display names
* Make util.isProd a function
* Don't access admin.firestore() on top level of utils.ts
Co-authored-by: Jonas Wagner <ltlygwayh@gmail.com>
* Added radio buttons to market creation (non functional)
* Ignoring vs code files
Should this be done in the repo or should everyone using VS Code do that himself globally on his machine(s)?
* Removed 'automatic' resolution
* added union type for resolution
* revert: resolution could be anything here (non binary markets)
* Expanded ChoicesToggleGroup for string choices
* Added combined resolution and required buttons to market creation
* restricted automatic resolution to binary markets
* added automatic resolution to contract
* added automatic resolution to contract overview
* string or number array to mixed array
* created const for resolutions
* Added comments for leading semicolons
* configuration of auto resolution on market creation
* v1.22.19
* v1.0.0
* v0.0.0
* v1.0.0
* v1.22.19
* Mock display automatic resolution
* Revert changes to market creation
* Revert "v1.22.19"
This reverts commit 22f59adc9c.
* Removed resolutiontype from contract creation
* Added auto resolution time to contract
* Auto resolution date editable
* refactoring
* Editable interface for auto resolution
* New edit interface for auto resolution
* Setting of auto resolve date when changing close date
* prohibited changing other peoples markets
* removed unnecessary export
* refactoring
(cherry picked from commit 4de86d5b08)
* Added comments for leading semicolons
(cherry picked from commit 60739c7853)
* Ignoring vs code files
Should this be done in the repo or should everyone using VS Code do that himself globally on his machine(s)?
(cherry picked from commit 944de9398a)
* removed unused imports and variables
* added type for binary resolution
* Prettier
* const for binary resolutions
* using the type "resolution"
* Prettier
* Re-added comment
* Update functions/src/create-contract.ts
* Revert "Ignoring vs code files"
This reverts commit 09aea5c207.
* launch config for debugging with vs code WIP
* "Launch Chrome" does not work since login via google is not possible in debugger-chrome
* Breakpoints are unbound when attached to chrome
* Revert "Added comments for leading semicolons"
* prettier
* linebreak crlf
* vscode settings
* correct linebreaks
* search exclusion
* automatic prettifier
* vscode settings
* correct linebreaks
* search exclusion
* automatic prettifier
* Working debugger config
* fix merge
* Removed comments, default resolution MKT
* removed vscode from gitignore
* refactoring description update
* Added auto resolution to LiteMarket
* fix date, setDate mutates object
* fixed firestore.rules
* script to add auto resolution to all markets
* regularely auto resolve markets
* fix description error
* moved calculate ts for access in firebase
* Revert "moved calculate ts for access in firebase"
This reverts commit 8380bf4f72.
* fix reference to calculate for firebase
* fixed references to time
* renamed function
* added description
* added auto resolution to description
* direct bool check instead of != null
* direct bool check instead of != undefined
* remove explicit type
* Fix free response markets
* removed contract from functionname
* interval set to 1h
* query instead of filter
* folds ~> contracts
* query instead of filter
* promise.all instead of foreach
* removed contractDoc from function header
* removed autoResolution from function header
* batchedWaitAll instead of promise.all
* removed unused parameter
* replaced auto resolution with constant
* suggestions from PR
* fix comment
* removed unused imports
* added scripts to add close dates on prod
* optimization
* removed test script
* security: only auto resolve markets which are closed
* consistency checks
* re-added type check for binary markets
* moved check of probability into switch case block
* removed unused import
* auto resolution every minute
* auto resolution time optional
* pr fixes
* Upgrade firebase-functions 3.16.0 -> 3.21.2
* Use Secret Manager instead of config
* Small refactoring on new stripe/mailgun initialization
* Teach README about new secrets workflow
* refactoring
(cherry picked from commit 4de86d5b08)
* removed unused imports and variables
* added type for binary resolution
* Prettier
* const for binary resolutions
* using the type "resolution"
* Prettier
* Update functions/src/create-contract.ts
* launch config for debugging with vs code
* "Launch Chrome" does not work since login via google is not possible in debugger-chrome
* Breakpoints are unbound when attached to chrome
* Set common package.json sideEffects: false
* Configure SWC to modularize lodash imports
* Import specific lodash functions instead of _
* Add an eslint rule to avoid full lodash import
* Numeric contract type
* Create market numeric type
* Add numeric graph (coded without testing)
* Outline of numeric bet panel
* Update bet panel logic
* create numeric contracts
* remove batching for antes for numeric markets
* Remove focus
* numeric market range [1, 100]
* Zoom graph
* Hide bet panels
* getNumericBets
* Add numeric resolution panel
* Use getNumericBets in bet panel calc
* Switch bucket count to 100
* Parallelize ante creation
* placeBet for numeric markets
* halve std of numeric bets
* Update resolveMarket with numeric type
* Set min and max for contract
* lower std for numeric bets
* calculateNumericDpmShares: use sorted order
* Use min and max to map the input
* Fix probability calc
* normpdf variance mislabeled
* range input
* merge
* change numeric graph color
* fix getNewContract params
* bet panel labels
* validation
* number input
* fix bucketing
* bucket input, numeric resolution panel
* outcome label
* merge
* numeric bet panel on mobile
* Make text underneath filled green answer bar selectable
* Default to 'all' feed category when loading page.
* fix numeric resolution panel
* fix numeric bet panel calculations
* display numeric resolution
* don't render NumericBetPanel for non numeric markets
* numeric bets: store shares, bet amounts across buckets in each bet object
* restore your bets for numeric markets
* numeric pnl calculations
* remove hasUserHitManaLimit
* contrain contract type
* handle undefined allOutcomeShares
* numeric ante bet amount
* use correct amount for numeric dpm payouts
* change numeric graph/outcome color
* numeric constants
* hack to show correct numeric payout in calculateDpmPayoutAfterCorrectBet
* remove comment
* fix ante display in bet list
* halve bucket count
* cast to NumericContract
* fix merge imports
* OUTCOME_TYPES
* typo
* lower bucket count to 200
* store raw numeric value with bet
* store raw numeric resolution value
* number input max length
* create page: min, max to undefined if not numeric market
* numeric resolution formatting
* expected value for numeric markets
* expected value for numeric markets
* rearrange lines for readability
* move normalpdf to util/math
* show bets tab
* check if outcomeMode is undefined
* remove extraneous auto-merge cruft
* hide comment status for numeric markets
* import
Co-authored-by: mantikoros <sgrugett@gmail.com>
* deduct market ante from profits
* display creator fees in stats
* show creator earnings in stats
* separate out creator, liquidity fees in payouts and deduct from profits
* include creator payout in resolution emails
* deduct liquidity from profits
* hide cost tooltip if daily free market
* deduct market ante from profits
* display creator fees in stats
* show creator earnings in stats
* separate out creator, liquidity fees in payouts and deduct from profits
* Configure functions module to allow absolute imports
* Convert common imports in functions to be absolute
* Convert common imports in web to be absolute
* Convert lib imports in web to be absolute
* Convert hooks imports in web to be absolute
* Convert components imports in web to be absolute
* cpmm initial commit: common logic, cloud functions
* remove unnecessary property
* contract type
* rename 'calculate.ts' => 'calculate-dpm.ts'
* rename dpm calculations
* use focus hook
* mechanism-agnostic calculations
* bet panel: use new calculations
* use new calculations
* delete markets cloud function
* use correct contract type in scripts / functions
* calculate fixed payouts; bets list calculations
* new bet: use calculateCpmmPurchase
* getOutcomeProbabilityAfterBet
* use deductFixedFees
* fix auto-refactor
* fix antes
* separate logic to payouts-dpm, payouts-fixed
* liquidity provision tracking
* remove comment
* liquidity label
* create liquidity provision even if no ante bet
* liquidity fee
* use all bets for getFixedCancelPayouts
* updateUserBalance: allow negative balances
* store initialProbability in contracts
* turn on liquidity fee; turn off creator fee
* Include time param in tweet url, so image preview is re-fetched
* share redemption
* cpmm ContractBetsTable display
* formatMoney: handle minus zero
* filter out redemption bets
* track fees on contract and bets; change fee schedule for cpmm markets; only pay out creator fees at resolution
* small fixes
* small fixes
* Redeem shares pays back loans first
* Fix initial point on graph
* calculateCpmmPurchase: deduct creator fee
* Filter out redemption bets from feed
* set env to dev for user-testing purposes
* creator fees messaging
* new cfmm: k = y^(1-p) * n^p
* addCpmmLiquidity
* correct price function
* enable fees
* handle overflow
* liquidity provision tracking
* raise fees
* Fix merge error
* fix dpm free response payout for single outcome
* Fix DPM payout calculation
* Remove hardcoding as dev
Co-authored-by: James Grugett <jahooma@gmail.com>
* Loan backend: Add loanAmount field to Bet, manage loans up to max loan amount per market -- buy, sell, and resolve.
* Loan frontend: show your loan amount in bet panel, answer bet panel
* Resolve emails include full payout not subtracting loan
* Exclude sold bets from current loan amount
* Handle bets table for loans. Sell dialog explains how you will repay your loan.
* Floor remaining balance
* Fix layout of create answer bet info
* Clean up Sell popup UI
* Fix bug where listen query was not updating data.
* Reword loan copy
* Adjust bet panel width
* Fix loan calc on front end
* Add comment for includeMetadataChanges.
Co-authored-by: Austin Chen <akrolsmir@gmail.com>
* Answer datatype and MULTI outcome type for Contract
* Create free answer contract
* Automatically sort Tailwind classes with Prettier (#45)
* Add Prettier Tailwind plugin
* Autoformat Tailwind classes with Prettier
* Allow for non-binary contracts in contract page and related components
* logo with white inside, transparent bg
* Create answer
* Some UI for showing answers
* Answer bet panel
* Convert rest of calcuate file to generic multi contracts
* Working betting with ante'd NONE answer
* Numbered answers. Layout & calculation tweaks
* Can bet. More layout tweaks!
* Resolve answer UI
* Resolve multi market
* Resolved market UI
* Fix feed and cards for multi contracts
* Sell bets. Various fixes
* Tweaks for trades page
* Always dev mode
* Create answer bet has isAnte: true
* Fix card showing 0% for multi contracts
* Fix grouped bets feed for multi outcomes
* None option converted to none of the above label at bottom of list. Button to resolve none.
* Tweaks to no answers yet, resolve button layout
* Show ante bets on new answers in the feed
* Update placeholder text for description
* Consolidate firestore rules for subcollections
* Remove Contract and Bet type params. Use string type for outcomes.
* Increase char limit to 10k for answers. Preserve line breaks.
* Don't show resolve options after answer chosen
* Fix type error in script
* Remove NONE resolution option
* Change outcomeType to include 'MULTI' and 'FREE_RESPONSE'
* Show bet probability change and payout when creating answer
* User info change: also change answers
* Append answers to contract field 'answers'
* sort trades by resolved
* Don't include trailing !:,.; in links
* Stop flooring inputs into formatMoney
* Revert "Stop flooring inputs into formatMoney"
This reverts commit 2f7ab18429.
* Consistently floor user.balance
* Expand create panel on focus
From Richard Hanania's feedback
* welcome email: include link to manifold
* Fix home page in dev on branches that are not free-response
* Close emails (#50)
* script init for stephen dev
* market close emails
* order of operations
* template email
* sendMarketCloseEmail: handle unsubscribe
* remove debugging
* marketCloseEmails: every hour
* sendMarketCloseEmails: check undefined
* marketCloseEmails: "every hour" => "every 1 hours"
* Set up a read API using Vercel serverless functions (#49)
* Set up read API using Vercel serverless functions
Featuring:
/api/v0/markets
/api/v0/market/[contractId]
/api/v0/slug/[contractSlug]
* Include tags in API
* Tweaks. Remove filter for only binary contract
* Fix bet probability change for NO bets
* Put back isProd calculation
Co-authored-by: Austin Chen <akrolsmir@gmail.com>
Co-authored-by: mantikoros <sgrugett@gmail.com>
Co-authored-by: mantikoros <95266179+mantikoros@users.noreply.github.com>
* initial commit
* antes
* rename path, compute to contractPath, contractMetrics
* merge
* Include antes as bets; more calculations
* fees on estimated winnings
* mkt payout calculation
* contract: remove startPool, add phantomShares
* Merge branch 'main' into new-dpm
* dpm migration script
* my service account
* new standard resolution; contract.totalBets; MKT resolution
* recalculate script
* enable resolve MKT
* different approach to resolve MKT
* comment out init
* Count payouts for bets with exluded sales
Co-authored-by: jahooma <jahooma@gmail.com>
* new standard resolution; contract.totalBets; MKT resolution
* recalculate script
* Fix one bug and change script name
Co-authored-by: jahooma <jahooma@gmail.com>
* sell bet
* dev mode
* single-pot no-refund payoff; bet selling
* Increase default fetch size 25 -> 99
* Fix about page numbering
* Don't flash no markets when loading on tag page.
* Change Title to use body font
* Make a bunch of predictions at once (#9)
* Set up a page to make bulk predictions
* Integrate preview into the same card
* List created predictions
* Make changes per James's comments
* Increase the starting balance (#11)
* Remove references to paying for our Mantic Dollars
* Update simulator to use new calculations
* Change simulator random to be evenly random again
* Sell bet UI
* Migrate contracts and bets script
* Add comment to script
* bets => trades; exclude sold bets
* change sale formula
* Change current value to uncapped sell value.
* Disable sell button while selling
* Update some 'bet' to 'trade'
Co-authored-by: Austin Chen <akrolsmir@gmail.com>
Co-authored-by: jahooma <jahooma@gmail.com>