A Prediction Market on the AT Protocol
at main 27 lines 798 B view raw
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}