tombstones

This commit is contained in:
Florian Dold 2021-05-12 15:26:15 +02:00
parent 4fdcaab632
commit b1500241f7
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
2 changed files with 22 additions and 7 deletions

View File

@ -155,7 +155,8 @@ export interface WalletBackupContentV1 {
purchases: BackupPurchase[];
/**
* All backup providers.
* All backup providers. Backup providers
* in this list should be considered "active".
*
* Sorted by the provider base URL.
*/
@ -195,16 +196,16 @@ export interface WalletBackupContentV1 {
error_reports: BackupErrorReport[];
/**
* Deletion tombstones. Sorted by (type, id)
* in ascending order.
* Deletion tombstones. Lexically sorted.
*/
tombstones: Tombstone[];
}
export interface Tombstone {
type: string;
id: string;
}
/**
* Tombstone in the format "<type>:<key>"
*/
export type Tombstone = string;
/**
* Detailed error report.

View File

@ -1695,6 +1695,13 @@ export interface GhostDepositGroupRecord {
}[];
}
export interface TombstoneRecord {
/**
* Tombstone ID, with the syntax "<type>:<key>".
*/
id: string;
}
class ExchangesStore extends Store<"exchanges", ExchangeRecord> {
constructor() {
super("exchanges", { keyPath: "baseUrl" });
@ -1877,6 +1884,12 @@ class DepositGroupsStore extends Store<"depositGroups", DepositGroupRecord> {
}
}
class TombstonesStore extends Store<"tombstones", TombstoneRecord> {
constructor() {
super("tombstones", { keyPath: "id" });
}
}
/**
* The stores and indices for the wallet database.
*/
@ -1904,6 +1917,7 @@ export const Stores = {
bankWithdrawUris: new BankWithdrawUrisStore(),
backupProviders: new BackupProvidersStore(),
depositGroups: new DepositGroupsStore(),
tombstones: new TombstonesStore(),
ghostDepositGroups: new Store<"ghostDepositGroups", GhostDepositGroupRecord>(
"ghostDepositGroups",
{