36 lines
829 B
TypeScript
36 lines
829 B
TypeScript
|
export type Manalink = {
|
||
|
// The link to send: https://manifold.markets/send/{slug}
|
||
|
// Also functions as the unique id for the link.
|
||
|
slug: string
|
||
|
|
||
|
// Note: we assume both fromId and toId are of SourceType 'USER'
|
||
|
fromId: string
|
||
|
|
||
|
// Displayed to people claiming the link
|
||
|
message: string
|
||
|
|
||
|
// How much to send with the link
|
||
|
amount: number
|
||
|
token: 'M$' // TODO: could send eg YES shares too??
|
||
|
|
||
|
createdTime: number
|
||
|
// If null, the link is valid forever
|
||
|
expiresTime: number | null
|
||
|
// If null, the link can be used infinitely
|
||
|
maxUses: number | null
|
||
|
|
||
|
// Used for simpler caching
|
||
|
claimedUserIds: string[]
|
||
|
// Successful redemptions of the link
|
||
|
claims: Claim[]
|
||
|
}
|
||
|
|
||
|
export type Claim = {
|
||
|
toId: string
|
||
|
|
||
|
// The ID of the successful txn that tracks the money moved
|
||
|
txnId: string
|
||
|
|
||
|
claimedTime: number
|
||
|
}
|