A Prediction Market on the AT Protocol
1import type { Did, RecordKey } from "@atcute/lexicons";
2import { formatDistance } from "date-fns";
3import { Lexicon } from "./constants";
4
5export function lmsr(q1: number, q2: number, b: number) {
6 return 1 / (1 + Math.exp((q2 - q1) / b))
7}
8
9export function readableDateDiff(date: string | Date) {
10 return formatDistance(new Date(date), new Date(), { addSuffix: true })
11}
12
13export function createUri(did: Did, lex: string, rkey: RecordKey) {
14 return `at://${did}/${lex}/${rkey}`;
15}
16
17export function isMarketCollection(collection: string) {
18 return collection === Lexicon.MARKET;
19}
20
21export function isBetCollection(collection: string) {
22 return collection === Lexicon.BET;
23}
24
25export function isResolutionCollection(collection: string) {
26 return collection === Lexicon.RESOLUTION;
27}