Commit Graph

587 Commits

Author SHA1 Message Date
Austin Chen
e4c9508340 Show "Buy" and % directly in FR feed 2022-03-16 21:42:24 -07:00
Austin Chen
94f6f08784 Disable submissions without eating the comment after 1h 2022-03-16 19:55:03 -07:00
Austin Chen
01884bd3df Remove 'pool' from label 2022-03-16 19:42:42 -07:00
Austin Chen
9426cc2b94 Stop showing creator's trades in all cases 2022-03-16 19:37:43 -07:00
Austin Chen
d4af15714c Remove delete button from the UI 2022-03-16 19:25:39 -07:00
James Grugett
727911816c Fix graph bug for sold bets. 6 lines. Clean up. 2022-03-16 18:47:12 -05:00
James Grugett
0390e851fc Show loan summary above bets table. Remove parenthetical loan amount per bet. 2022-03-16 18:08:33 -05:00
James Grugett
4847939e8c Filter out redemption bets from feeds 2022-03-16 17:55:11 -05:00
James Grugett
ecc87c7989 Correctly render resolve prob % 2022-03-15 21:46:14 -05:00
Austin Chen
958dc2b431 Use a stacked line graph for FR answers 2022-03-15 17:26:59 -07:00
mantikoros
c183e00d47
Cfmm (#64)
* 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>
2022-03-15 17:27:51 -05:00
James Grugett
bd62d8fbcd FR graph: Truncate answer labels further 2022-03-15 15:32:39 -05:00
Austin Chen
1444d60e11 Visual touchups on FeedAnswerGroups 2022-03-15 13:11:14 -07:00
James Grugett
1bb5d3b8cd
Answers graph (#65)
* In progress

* Calculate correct graph probabilites
2022-03-15 14:42:04 -05:00
Austin Chen
f17c4ac40f Fix username link 2022-03-15 12:22:21 -07:00
James Grugett
db7eee495c Answer group feed: Always include answer of last bet. 2022-03-14 19:39:40 -05:00
James Grugett
a82b3577d4 Group older bets by 7-days 2022-03-14 17:11:10 -05:00
James Grugett
7ca0b3662f Small avatars for nested feed items 2022-03-14 16:56:53 -05:00
James Grugett
5524889d48 FR answer group: Choose one outcome for having a comment 2022-03-14 16:39:59 -05:00
James Grugett
f2d26b631d Filter out undefined answer 2022-03-14 16:08:08 -05:00
James Grugett
93287f8dc1
Answers in feed (#63)
* Compute answer group feed items

* Refactor feed code into 5 files under feed directory.

* Convert to typed ActivityItems

* Use feed "mode". Clean up cases.

* Implement feed answer groups!

* FR: Use nested comments/bets under answers for contract page. filter more items out of FR feed.

* Linkify answer text on activity feed

* Default feed excluded tags are case insensitive

* Show followed folds first

* Allow filtering your trades

* Store users's last sort in localstorage

* Use avatar of user that submitted answer and name instead of pencil icon. Spacing. Show up to 3 comments in asnwer group.

* Don't reveal market creator's bets

* Fix communites feed to be abbreviated

* Remove complicated answer group logic

Co-authored-by: Austin Chen <akrolsmir@gmail.com>
2022-03-14 15:29:32 -05:00
Austin Chen
d053fb6cb7 Store users's last sort in localstorage 2022-03-13 14:46:09 -07:00
Austin Chen
e5d02dde06 Allow filtering your trades 2022-03-13 13:55:42 -07:00
James Grugett
719ec5cc54 Linkify answer text on activity feed 2022-03-11 11:13:16 -06:00
James Grugett
7bb663891f Put back outcome labels for non-free response. 2022-03-10 12:37:42 -06:00
James Grugett
eaa1a26af4 Show bets where you can add a comment on contract page feed. 2022-03-10 00:29:36 -06:00
James Grugett
404f3a6b0c FR: Show answer in feed for single bets. Show your bets on contract page feed 2022-03-10 00:12:00 -06:00
James Grugett
c24c9404a7 Hide bets on free response feed (except for feedType 'multi') 2022-03-09 21:23:17 -06:00
James Grugett
79bd299b68 Enforce max question length, description length, and tag length. 2022-03-09 11:08:57 -06:00
Austin Chen
da4ce99755
Merge Manifold for Teams infra into main codebase (#61)
* Add dev target for TheoremOne

* Restrict signups to theoremone.co emails

* Add new indices

* Forbid reads from unauthenticated users

* Client-side render pages that need auth

These pages are now client-side rendered:
- /home
- /leaderboards
- /market/...
- /fold/...

* Hide 404 for private Manifolds

* Brand instance for TheoremOne

* Hide "Add Funds" and "Personalize your feed"

* "M$" =>  "T$"

* Hide Discord & About Page too

* Update placeholders for teams

* Update firestore.indexes.json

* Switch /analytics to propz

* Migrate per-env code into common/

* More migrations to PROJECT_ID

* Conditionally use SSG depending on public vs private instance

* Fix props to be empty object

* Move more logic into access

* Spin out config files for each environment

* Generify most of the customizable brand stuff

* Move IS_PRIVATE_MANIFOLD to access.ts

* Rename access.ts to envs/constants.ts

* Add "dev:dev" alias

* Rever firestore rules to existing settings

* Fixes according to James's review
2022-03-08 18:43:30 -08:00
Austin Chen
9fbed63eaf Show the market creator's bets in feed 2022-03-08 16:24:06 -08:00
James Grugett
b0e4f6d27a Add time param to Twitter share url, so that the image preview is re-fetched 2022-03-08 15:36:15 -06:00
James Grugett
a8fd4c8014 Better fix the create market focus issues. Expand to 4 lines when you add many chars to a question. 2022-03-06 00:48:08 -08:00
James Grugett
d8681b043c Only autofocus question input if no question text and not focused. 2022-03-05 23:58:54 -08:00
James Grugett
4ee458d3f5 Align "See more..." right on mobile 2022-03-05 23:48:35 -08:00
James Grugett
d7d8fb94c4
Trim activity feed (#60)
* Trim activity feed: show only items from last 24 hours, remove contract description, shorter width.

* Preserve feed ordering based on initial fetch of bets

* Add see more button, description to explore items
2022-03-04 18:06:11 -06:00
James Grugett
cb9fa0ceb2 Daily active users & comments 2022-03-03 12:59:12 -08:00
mantikoros
ed9b20b5ad fast folds: add russia-ukraine 2022-03-03 13:57:59 -05:00
Austin Chen
b4f8fcf38e Show profit/loss in sale panel 2022-03-03 02:10:20 -08:00
Austin Chen
ef77779cec Format Tailwind classes with Prettier
Not sure why Husky hooks aren't enforcing this 🤷
2022-03-03 01:09:32 -08:00
Austin Chen
c0ace53df2 Improve VisD & copy on landing page 2022-03-03 00:56:03 -08:00
Austin Chen
76c4cd6d68
Render timestamps client-side to fix timezone (#58)
* Render timestamps client-side to fix timezone

* Fix compilation error
2022-03-02 23:51:58 -08:00
James Grugett
c30962bf80 Create bet count and market count charts in our analytics 2022-03-02 17:52:41 -08:00
James Grugett
4d8af33c85 Invested value => Investment value 2022-03-02 15:48:38 -08:00
James Grugett
6285212a1e Update your trades to show total profit, invested value 2022-03-02 15:42:59 -08:00
James Grugett
fa817c34a9 Fix more places where insufficient balance error was not accounting for loans 2022-03-02 14:28:23 -08:00
James Grugett
cd8b336635 Enforce a max comment length 2022-03-02 14:09:53 -08:00
James Grugett
405604adef Fix insufficient balance error to use bet amount net loan 2022-03-02 14:02:44 -08:00
James Grugett
6abf235505 Show correct remaning balance for ante input when creating market 2022-03-02 13:50:19 -08:00
James Grugett
1dd078562a Fix to actually show investment instead of current value. And subtract bet amount from current value. 2022-03-01 21:09:33 -08:00
James Grugett
985cdd2537
🏦 Per-market loans! (#57)
* 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>
2022-03-01 21:31:48 -06:00
Austin Chen
a3973b3481 Comment on cmd+enter too 2022-03-01 18:52:50 -08:00
Austin Chen
6243f132aa Add "closed" sort option 2022-03-01 18:02:07 -08:00
James Grugett
5944cada77 Quick fix: don't show points in graph when > 100 bets 2022-03-01 17:43:06 -08:00
James Grugett
415bd4990a Check each word individually in markets search 2022-02-28 17:52:41 -08:00
James Grugett
71faee584c Add funds menu option, and Add funds page 2022-02-28 17:32:53 -08:00
James Grugett
5a39ca4c5e Don't show payout if chosen column for resolved markets 2022-02-28 16:44:25 -08:00
James Grugett
4bc2833e11 Add column to bets table with payout if chosen. Rearrange columns. Tweak sell dialog wording. 2022-02-28 16:38:09 -08:00
James Grugett
a680d80793 Free response: Show invested and payouts on market page, don't show payout if yes/no 2022-02-28 15:58:13 -08:00
James Grugett
b7f94e65a7 Change Settled to Resolved, Newest to Most recent in trades sort options. 2022-02-27 16:52:58 -08:00
James Grugett
0ccba20d5c Add explore tab on home feed that shows random inactive markets. 2022-02-27 13:37:11 -08:00
James Grugett
77b4ca4f22 FR: Don't show bet panel if resolving, or past close date. 2022-02-26 10:56:49 -06:00
James Grugett
2775bf44a2 Put back answer number on answer item 2022-02-26 10:51:36 -06:00
James Grugett
b1e0f3ee80 Linkify answer text 2022-02-25 22:00:23 -06:00
Austin Chen
0a98ffe05c Remove sold bets from Your Trades 2022-02-25 16:57:28 -08:00
James Grugett
ab5ea0181d Feed: Send only contracts with bets in last 24 hours. Instead of all contracts: 2.2MB => 0.8MB 2022-02-25 02:11:10 -06:00
James Grugett
8305ecd667 Match search query against contract answers 2022-02-24 17:35:30 -06:00
Austin Chen
952b7be94a
Show a mini-feed of comments & bets below each FR answer (#52)
* Take out <ul> from Feed

* Show a mini-feed under each FR answer

* Expand row on click

* Show feed item for FR answer submission

* Fix build
2022-02-24 11:26:01 -08:00
James Grugett
bf2f289e29 Show pool amount in feed for all markets including resolved and without close date 2022-02-23 22:20:42 -06:00
Austin Chen
9b98c6f300 Reorder navbar options 2022-02-23 00:24:39 -08:00
James Grugett
7bc43682b8 Move tweet button into contract details 2022-02-22 21:38:53 -06:00
James Grugett
b7af65eec3 Move Twitter button above graph per Stephen's request 2022-02-22 21:22:24 -06:00
mantikoros
c24007012c bets list: show message if no active bets 2022-02-22 16:55:06 -06:00
James Grugett
85c3a1532a Undo timezone change. Production is different from local. Not sure how to render in local timezone... 2022-02-22 15:14:52 -06:00
James Grugett
72d0797b3f Use local timezone for date time tooltip 2022-02-22 14:54:58 -06:00
James Grugett
8fe9f23d91 Fix hiding answers where all bets sold 2022-02-22 14:12:49 -06:00
James Grugett
858ce10b49 Re-order sell button and sale price to be first in bets table 2022-02-21 14:22:36 -06:00
James Grugett
6d3fb8f4ae Remove balance from your trades page (looks better on mobile, cleaner) 2022-02-21 12:55:26 -06:00
James Grugett
c32442ab41 Fix trades sort by newest 2022-02-21 12:42:51 -06:00
James Grugett
207a12df55 Listen to followed folds. Follow button retreives from local storage. 2022-02-20 23:12:35 -06:00
James Grugett
62b1966b21 Don't flash sign in to trade button until known to be logged out 2022-02-20 22:37:53 -06:00
James Grugett
793742b499 Trades page: Wait for all bets / contract data to load with loading indicator 2022-02-20 22:26:22 -06:00
James Grugett
561a7e2c75 Allow editing the close time 2022-02-20 22:04:00 -06:00
James Grugett
20a3966820 Filter out answers with 0 dollars 2022-02-20 17:19:45 -06:00
James Grugett
f5ab60b2df You can sell your ante on a new answer. Minimum is M$ 1 instead of M$ 10 2022-02-20 17:02:00 -06:00
James Grugett
8580698c15 Split answers panel into 5 files 2022-02-20 16:25:58 -06:00
James Grugett
fd846254a0 Implement resolving to multiple answers, weighted by probability 2022-02-20 01:26:33 -06:00
mantikoros
13727bb19f
Fast fold following (#51)
* fast follow folds

* FastFoldFollowing component on homepage
2022-02-19 17:17:36 -06:00
James Grugett
0641db1f2d Show sign in button instead of submit answer if logged out. 2022-02-19 11:42:27 -06:00
Austin Chen
963c578a73 Link to /home to create new markets 2022-02-17 18:32:15 -08:00
Austin Chen
3dd7b12e71 Iconify contract details; show relative closing time 2022-02-17 18:24:10 -08:00
Austin Chen
675f0a1599 Show BetRow on the bottom of long feeds 2022-02-17 17:56:03 -08:00
Austin Chen
a17342e55c
New, pretty user page (#48)
* Show bio, banner, and social links on user page

* Minor tweaks

* Allow edits to their user page

* Fix build; add a white ring around users

* From userpage, link to /profile (which is always editable now)

* Update userpage SEO

* Clean up Profile menu

* Fixes according to Stephen's code review
2022-02-17 17:16:58 -08:00
James Grugett
0a3b14883c Update SEO for non-binary markets 2022-02-17 18:34:17 -06:00
mantikoros
8e33c2b639 for sales, show change in implied probability 2022-02-17 18:24:10 -06:00
James Grugett
24e646640a Resolution panel spacing 2022-02-17 17:47:23 -06:00
James Grugett
3667e81c6f Only setFocused false when click outside. 2022-02-17 17:30:05 -06:00
James Grugett
b2501d8145
Free response (#47)
* 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>
2022-02-17 17:00:19 -06:00
mantikoros
d3fdd4cd1f bets list: comment out expectation 2022-02-17 16:49:00 -06:00
mantikoros
3609255342 sort trades by value 2022-02-17 16:44:33 -06:00