6cc2d8af58
* Set up Firestore structure for mana bounty links
* Split up manalinks into successes and failures
* Allow clients to create manalinks
* Track txnId and successful users
* Store custom amounts in the link
* List all manalinks you've created
* Support backend for claiming manalinks
* Add some more error handling
* Tweak readme
* Fix typescript breakage
* Revert "Convert common imports in functions to be absolute"
This reverts commit c03518e906
.
* Scaffolding so `claimManalink` works
* Clean up imports
* Barebones endpoint to claim mana
* Fix rules to only allow link creators to query
* Design out claim giftcard
* List all claimed transactions
* Style in a more awesome card
* Fix import
* Padding tweak
* Fix useManalinkTxns hook
* /send -> /link
* Tidy up some details
* Do a bunch of random manalinks work
* Fix up LinksTable to build
* Clean up LinksTable an absurd amount
* Basic details functionality on manalinks table
* Work on manalink claim stuff
* Fix up some merge mess
* Not-signed-in flow implemented
* Better manalinks table
* Only show outstanding links in table
* Use new `ManalinkTxn` type
* /link -> /links
* Change manalinks page UI to use nice looking tabs
* Many fixes to manalinks UI
* Default to 1 use
* Tidying up
* Some copy changes based on feedback
* Add required index
Co-authored-by: Marshall Polaris <marshall@pol.rs>
551 lines
11 KiB
JSON
551 lines
11 KiB
JSON
{
|
|
"indexes": [
|
|
{
|
|
"collectionGroup": "bets",
|
|
"queryScope": "COLLECTION_GROUP",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isAnte",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "isRedemption",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "userId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "bets",
|
|
"queryScope": "COLLECTION_GROUP",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "userId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "comments",
|
|
"queryScope": "COLLECTION_GROUP",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "userId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "creatorId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "creatorId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "autoResolutionTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "closeTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "visibility",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "closeTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "visibility",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume24Hours",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "visibility",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume24Hours",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "closeTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "visibility",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume24Hours",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "visibility",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume7Days",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume24Hours",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume7Days",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume7Days",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "closeTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume7Days",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "ASCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "isResolved",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "volume7Days",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "lowercaseTags",
|
|
"arrayConfig": "CONTAINS"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "contracts",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "slug",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "txns",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "toId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "toType",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "manalinks",
|
|
"queryScope": "COLLECTION",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "fromId",
|
|
"order": "ASCENDING"
|
|
},
|
|
{
|
|
"fieldPath": "createdTime",
|
|
"order": "DESCENDING"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"fieldOverrides": [
|
|
{
|
|
"collectionGroup": "answers",
|
|
"fieldPath": "isAnte",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "answers",
|
|
"fieldPath": "username",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "bets",
|
|
"fieldPath": "createdTime",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "bets",
|
|
"fieldPath": "userId",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "comments",
|
|
"fieldPath": "createdTime",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "comments",
|
|
"fieldPath": "userUsername",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "followers",
|
|
"fieldPath": "userId",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "follows",
|
|
"fieldPath": "userId",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"collectionGroup": "portfolioHistory",
|
|
"fieldPath": "timestamp",
|
|
"indexes": [
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "DESCENDING",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"arrayConfig": "CONTAINS",
|
|
"queryScope": "COLLECTION"
|
|
},
|
|
{
|
|
"order": "ASCENDING",
|
|
"queryScope": "COLLECTION_GROUP"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|