cojson-storage-sqlite 0.7.0-alpha.37 → 0.7.0-alpha.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +13 -7
- package/.prettierrc.js +9 -0
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +4 -0
- package/CHANGELOG.md +7 -0
- package/README.md +3 -0
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/package.json +8 -3
- package/src/index.ts +68 -64
package/.eslintrc.cjs
CHANGED
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
module.exports = {
|
|
2
2
|
extends: [
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
"eslint:recommended",
|
|
4
|
+
"plugin:@typescript-eslint/recommended",
|
|
5
|
+
"plugin:require-extensions/recommended",
|
|
6
|
+
"prettier"
|
|
5
7
|
],
|
|
6
|
-
parser:
|
|
7
|
-
plugins: [
|
|
8
|
+
parser: "@typescript-eslint/parser",
|
|
9
|
+
plugins: ["@typescript-eslint", "require-extensions"],
|
|
8
10
|
parserOptions: {
|
|
9
11
|
project: "./tsconfig.json",
|
|
10
12
|
tsconfigRootDir: __dirname,
|
|
11
13
|
},
|
|
14
|
+
ignorePatterns: [".eslint.cjs"],
|
|
12
15
|
root: true,
|
|
13
16
|
rules: {
|
|
14
17
|
"no-unused-vars": "off",
|
|
15
|
-
"@typescript-eslint/no-unused-vars": [
|
|
16
|
-
|
|
18
|
+
"@typescript-eslint/no-unused-vars": [
|
|
19
|
+
"error",
|
|
20
|
+
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
|
|
21
|
+
],
|
|
22
|
+
"@typescript-eslint/no-floating-promises": "error",
|
|
17
23
|
},
|
|
18
|
-
}
|
|
24
|
+
}
|
package/.prettierrc.js
ADDED
package/.turbo/turbo-build.log
CHANGED
package/CHANGELOG.md
CHANGED
package/README.md
ADDED
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { cojsonInternals, MAX_RECOMMENDED_TX_SIZE } from "cojson";
|
|
1
|
+
import { cojsonInternals, MAX_RECOMMENDED_TX_SIZE, } from "cojson";
|
|
2
2
|
import Database from "better-sqlite3";
|
|
3
3
|
export class SQLiteStorage {
|
|
4
4
|
constructor(db, fromLocalNode, toLocalNode) {
|
|
5
5
|
this.db = db;
|
|
6
6
|
this.fromLocalNode = fromLocalNode.getReader();
|
|
7
7
|
this.toLocalNode = toLocalNode.getWriter();
|
|
8
|
-
(async () => {
|
|
8
|
+
void (async () => {
|
|
9
9
|
let done = false;
|
|
10
10
|
while (!done) {
|
|
11
11
|
const result = await this.fromLocalNode.read();
|
|
@@ -217,8 +217,7 @@ export class SQLiteStorage {
|
|
|
217
217
|
parsedHeader?.ruleset.group,
|
|
218
218
|
...new Set(newContentPieces.flatMap((piece) => Object.keys(piece)
|
|
219
219
|
.map((sessionID) => cojsonInternals.accountOrAgentIDfromSessionID(sessionID))
|
|
220
|
-
.filter((accountID) => cojsonInternals.isAccountID(accountID) &&
|
|
221
|
-
accountID !== theirKnown.id))),
|
|
220
|
+
.filter((accountID) => cojsonInternals.isAccountID(accountID) && accountID !== theirKnown.id))),
|
|
222
221
|
]
|
|
223
222
|
: [];
|
|
224
223
|
for (const dependedOnCoValue of dependedOnCoValues) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cojson-storage-sqlite",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.7.0-alpha.
|
|
4
|
+
"version": "0.7.0-alpha.38",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "src/index.ts",
|
|
7
7
|
"license": "MIT",
|
|
@@ -9,15 +9,20 @@
|
|
|
9
9
|
"better-sqlite3": "^8.5.2",
|
|
10
10
|
"typescript": "^5.1.6",
|
|
11
11
|
"isomorphic-streams": "https://github.com/sgwilym/isomorphic-streams.git#aa9394781bfc92f8d7c981be7daf8af4b4cd4fae",
|
|
12
|
-
"cojson": "0.7.0-alpha.
|
|
12
|
+
"cojson": "0.7.0-alpha.38"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@types/better-sqlite3": "^7.6.4"
|
|
16
16
|
},
|
|
17
|
+
"lint-staged": {
|
|
18
|
+
"*.{ts,tsx}": "eslint --fix",
|
|
19
|
+
"*.{js,jsx,mdx,json}": "prettier --write"
|
|
20
|
+
},
|
|
17
21
|
"gitHead": "33c27053293b4801b968c61d5c4c989f93a67d13",
|
|
18
22
|
"scripts": {
|
|
19
23
|
"dev": "tsc --watch --sourceMap --outDir dist",
|
|
20
|
-
"lint": "eslint
|
|
24
|
+
"lint": "eslint . --ext ts,tsx",
|
|
25
|
+
"format": "prettier --write './src/**/*.{ts,tsx}'",
|
|
21
26
|
"build": "npm run lint && rm -rf ./dist && tsc --sourceMap --outDir dist"
|
|
22
27
|
}
|
|
23
28
|
}
|
package/src/index.ts
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
CojsonInternalTypes,
|
|
6
6
|
SessionID,
|
|
7
7
|
MAX_RECOMMENDED_TX_SIZE,
|
|
8
|
-
AccountID
|
|
8
|
+
AccountID,
|
|
9
9
|
} from "cojson";
|
|
10
10
|
import {
|
|
11
11
|
ReadableStream,
|
|
@@ -53,13 +53,13 @@ export class SQLiteStorage {
|
|
|
53
53
|
constructor(
|
|
54
54
|
db: DatabaseT,
|
|
55
55
|
fromLocalNode: ReadableStream<SyncMessage>,
|
|
56
|
-
toLocalNode: WritableStream<SyncMessage
|
|
56
|
+
toLocalNode: WritableStream<SyncMessage>,
|
|
57
57
|
) {
|
|
58
58
|
this.db = db;
|
|
59
59
|
this.fromLocalNode = fromLocalNode.getReader();
|
|
60
60
|
this.toLocalNode = toLocalNode.getWriter();
|
|
61
61
|
|
|
62
|
-
(async () => {
|
|
62
|
+
void (async () => {
|
|
63
63
|
let done = false;
|
|
64
64
|
while (!done) {
|
|
65
65
|
const result = await this.fromLocalNode.read();
|
|
@@ -84,22 +84,22 @@ export class SQLiteStorage {
|
|
|
84
84
|
const [localNodeAsPeer, storageAsPeer] = cojsonInternals.connectedPeers(
|
|
85
85
|
localNodeName,
|
|
86
86
|
"storage",
|
|
87
|
-
{ peer1role: "client", peer2role: "server", trace }
|
|
87
|
+
{ peer1role: "client", peer2role: "server", trace },
|
|
88
88
|
);
|
|
89
89
|
|
|
90
90
|
await SQLiteStorage.open(
|
|
91
91
|
filename,
|
|
92
92
|
localNodeAsPeer.incoming,
|
|
93
|
-
localNodeAsPeer.outgoing
|
|
93
|
+
localNodeAsPeer.outgoing,
|
|
94
94
|
);
|
|
95
95
|
|
|
96
|
-
return {...storageAsPeer, priority: 100};
|
|
96
|
+
return { ...storageAsPeer, priority: 100 };
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
static async open(
|
|
100
100
|
filename: string,
|
|
101
101
|
fromLocalNode: ReadableStream<SyncMessage>,
|
|
102
|
-
toLocalNode: WritableStream<SyncMessage
|
|
102
|
+
toLocalNode: WritableStream<SyncMessage>,
|
|
103
103
|
) {
|
|
104
104
|
const db = Database(filename);
|
|
105
105
|
db.pragma("journal_mode = WAL");
|
|
@@ -118,7 +118,7 @@ export class SQLiteStorage {
|
|
|
118
118
|
idx INTEGER,
|
|
119
119
|
tx TEXT NOT NULL,
|
|
120
120
|
PRIMARY KEY (ses, idx)
|
|
121
|
-
) WITHOUT ROWID
|
|
121
|
+
) WITHOUT ROWID;`,
|
|
122
122
|
).run();
|
|
123
123
|
|
|
124
124
|
db.prepare(
|
|
@@ -129,11 +129,11 @@ export class SQLiteStorage {
|
|
|
129
129
|
lastIdx INTEGER,
|
|
130
130
|
lastSignature TEXT,
|
|
131
131
|
UNIQUE (sessionID, coValue)
|
|
132
|
-
)
|
|
132
|
+
);`,
|
|
133
133
|
).run();
|
|
134
134
|
|
|
135
135
|
db.prepare(
|
|
136
|
-
`CREATE INDEX IF NOT EXISTS sessionsByCoValue ON sessions (coValue)
|
|
136
|
+
`CREATE INDEX IF NOT EXISTS sessionsByCoValue ON sessions (coValue);`,
|
|
137
137
|
).run();
|
|
138
138
|
|
|
139
139
|
db.prepare(
|
|
@@ -141,11 +141,11 @@ export class SQLiteStorage {
|
|
|
141
141
|
rowID INTEGER PRIMARY KEY,
|
|
142
142
|
id TEXT NOT NULL UNIQUE,
|
|
143
143
|
header TEXT NOT NULL UNIQUE
|
|
144
|
-
)
|
|
144
|
+
);`,
|
|
145
145
|
).run();
|
|
146
146
|
|
|
147
147
|
db.prepare(
|
|
148
|
-
`CREATE INDEX IF NOT EXISTS coValuesByID ON coValues (id)
|
|
148
|
+
`CREATE INDEX IF NOT EXISTS coValuesByID ON coValues (id);`,
|
|
149
149
|
).run();
|
|
150
150
|
|
|
151
151
|
db.pragma("user_version = 1");
|
|
@@ -155,7 +155,7 @@ export class SQLiteStorage {
|
|
|
155
155
|
if (oldVersion <= 1) {
|
|
156
156
|
// fix embarrassing off-by-one error for transaction indices
|
|
157
157
|
console.log(
|
|
158
|
-
"Migration 1 -> 2: Fix off-by-one error for transaction indices"
|
|
158
|
+
"Migration 1 -> 2: Fix off-by-one error for transaction indices",
|
|
159
159
|
);
|
|
160
160
|
|
|
161
161
|
const txs = db
|
|
@@ -164,17 +164,17 @@ export class SQLiteStorage {
|
|
|
164
164
|
|
|
165
165
|
for (const tx of txs) {
|
|
166
166
|
db.prepare(
|
|
167
|
-
`DELETE FROM transactions WHERE ses = ? AND idx =
|
|
167
|
+
`DELETE FROM transactions WHERE ses = ? AND idx = ?`,
|
|
168
168
|
).run(tx.ses, tx.idx);
|
|
169
169
|
tx.idx -= 1;
|
|
170
170
|
db.prepare(
|
|
171
|
-
`INSERT INTO transactions (ses, idx, tx) VALUES (?, ?, ?)
|
|
171
|
+
`INSERT INTO transactions (ses, idx, tx) VALUES (?, ?, ?)`,
|
|
172
172
|
).run(tx.ses, tx.idx, tx.tx);
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
db.pragma("user_version = 2");
|
|
176
176
|
console.log(
|
|
177
|
-
"Migration 1 -> 2: Fix off-by-one error for transaction indices - done"
|
|
177
|
+
"Migration 1 -> 2: Fix off-by-one error for transaction indices - done",
|
|
178
178
|
);
|
|
179
179
|
}
|
|
180
180
|
|
|
@@ -187,11 +187,11 @@ export class SQLiteStorage {
|
|
|
187
187
|
idx INTEGER,
|
|
188
188
|
signature TEXT NOT NULL,
|
|
189
189
|
PRIMARY KEY (ses, idx)
|
|
190
|
-
) WITHOUT ROWID
|
|
190
|
+
) WITHOUT ROWID;`,
|
|
191
191
|
).run();
|
|
192
192
|
|
|
193
193
|
db.prepare(
|
|
194
|
-
`ALTER TABLE sessions ADD COLUMN bytesSinceLastSignature INTEGER
|
|
194
|
+
`ALTER TABLE sessions ADD COLUMN bytesSinceLastSignature INTEGER;`,
|
|
195
195
|
).run();
|
|
196
196
|
|
|
197
197
|
db.pragma("user_version = 3");
|
|
@@ -220,7 +220,7 @@ export class SQLiteStorage {
|
|
|
220
220
|
|
|
221
221
|
async sendNewContentAfter(
|
|
222
222
|
theirKnown: CojsonInternalTypes.CoValueKnownState,
|
|
223
|
-
asDependencyOf?: CojsonInternalTypes.RawCoID
|
|
223
|
+
asDependencyOf?: CojsonInternalTypes.RawCoID,
|
|
224
224
|
) {
|
|
225
225
|
const coValueRow = (await this.db
|
|
226
226
|
.prepare(`SELECT * FROM coValues WHERE id = ?`)
|
|
@@ -250,7 +250,7 @@ export class SQLiteStorage {
|
|
|
250
250
|
theirKnown.id,
|
|
251
251
|
"Invalid JSON in header",
|
|
252
252
|
e,
|
|
253
|
-
coValueRow?.header
|
|
253
|
+
coValueRow?.header,
|
|
254
254
|
);
|
|
255
255
|
return;
|
|
256
256
|
}
|
|
@@ -276,11 +276,11 @@ export class SQLiteStorage {
|
|
|
276
276
|
|
|
277
277
|
const signaturesAndIdxs = this.db
|
|
278
278
|
.prepare<[number, number]>(
|
|
279
|
-
`SELECT * FROM signatureAfter WHERE ses = ? AND idx >=
|
|
279
|
+
`SELECT * FROM signatureAfter WHERE ses = ? AND idx >= ?`,
|
|
280
280
|
)
|
|
281
281
|
.all(
|
|
282
282
|
sessionRow.rowID,
|
|
283
|
-
firstNewTxIdx
|
|
283
|
+
firstNewTxIdx,
|
|
284
284
|
) as SignatureAfterRow[];
|
|
285
285
|
|
|
286
286
|
// console.log(
|
|
@@ -291,7 +291,7 @@ export class SQLiteStorage {
|
|
|
291
291
|
|
|
292
292
|
const newTxInSession = this.db
|
|
293
293
|
.prepare<[number, number]>(
|
|
294
|
-
`SELECT * FROM transactions WHERE ses = ? AND idx >=
|
|
294
|
+
`SELECT * FROM transactions WHERE ses = ? AND idx >= ?`,
|
|
295
295
|
)
|
|
296
296
|
.all(sessionRow.rowID, firstNewTxIdx) as TransactionRow[];
|
|
297
297
|
|
|
@@ -329,7 +329,7 @@ export class SQLiteStorage {
|
|
|
329
329
|
theirKnown.id,
|
|
330
330
|
"Invalid JSON in transaction",
|
|
331
331
|
e,
|
|
332
|
-
tx.tx
|
|
332
|
+
tx.tx,
|
|
333
333
|
);
|
|
334
334
|
break;
|
|
335
335
|
}
|
|
@@ -371,14 +371,14 @@ export class SQLiteStorage {
|
|
|
371
371
|
|
|
372
372
|
try {
|
|
373
373
|
parsedChanges = cojsonInternals.parseJSON(
|
|
374
|
-
tx.changes
|
|
374
|
+
tx.changes,
|
|
375
375
|
);
|
|
376
376
|
} catch (e) {
|
|
377
377
|
console.warn(
|
|
378
378
|
theirKnown.id,
|
|
379
379
|
"Invalid JSON in transaction",
|
|
380
380
|
e,
|
|
381
|
-
tx.changes
|
|
381
|
+
tx.changes,
|
|
382
382
|
);
|
|
383
383
|
return [];
|
|
384
384
|
}
|
|
@@ -391,42 +391,43 @@ export class SQLiteStorage {
|
|
|
391
391
|
"op" in change &&
|
|
392
392
|
change.op === "set" &&
|
|
393
393
|
"key" in change &&
|
|
394
|
-
change.key
|
|
394
|
+
change.key,
|
|
395
395
|
)
|
|
396
396
|
.filter(
|
|
397
397
|
(
|
|
398
|
-
key
|
|
398
|
+
key,
|
|
399
399
|
): key is CojsonInternalTypes.RawCoID =>
|
|
400
400
|
typeof key === "string" &&
|
|
401
|
-
key.startsWith("co_")
|
|
401
|
+
key.startsWith("co_"),
|
|
402
402
|
);
|
|
403
|
-
})
|
|
403
|
+
}),
|
|
404
404
|
)
|
|
405
405
|
: parsedHeader?.ruleset.type === "ownedByGroup"
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
406
|
+
? [
|
|
407
|
+
parsedHeader?.ruleset.group,
|
|
408
|
+
...new Set(
|
|
409
|
+
newContentPieces.flatMap((piece) =>
|
|
410
|
+
Object.keys(piece)
|
|
411
|
+
.map((sessionID) =>
|
|
412
|
+
cojsonInternals.accountOrAgentIDfromSessionID(
|
|
413
|
+
sessionID as SessionID,
|
|
414
|
+
),
|
|
415
|
+
)
|
|
416
|
+
.filter(
|
|
417
|
+
(accountID): accountID is AccountID =>
|
|
418
|
+
cojsonInternals.isAccountID(
|
|
419
|
+
accountID,
|
|
420
|
+
) && accountID !== theirKnown.id,
|
|
421
|
+
),
|
|
422
|
+
),
|
|
423
|
+
),
|
|
424
|
+
]
|
|
425
|
+
: [];
|
|
425
426
|
|
|
426
427
|
for (const dependedOnCoValue of dependedOnCoValues) {
|
|
427
428
|
await this.sendNewContentAfter(
|
|
428
429
|
{ id: dependedOnCoValue, header: false, sessions: {} },
|
|
429
|
-
asDependencyOf || theirKnown.id
|
|
430
|
+
asDependencyOf || theirKnown.id,
|
|
430
431
|
);
|
|
431
432
|
}
|
|
432
433
|
|
|
@@ -437,7 +438,7 @@ export class SQLiteStorage {
|
|
|
437
438
|
});
|
|
438
439
|
|
|
439
440
|
const nonEmptyNewContentPieces = newContentPieces.filter(
|
|
440
|
-
(piece) => piece.header || Object.keys(piece.new).length > 0
|
|
441
|
+
(piece) => piece.header || Object.keys(piece.new).length > 0,
|
|
441
442
|
);
|
|
442
443
|
|
|
443
444
|
// console.log(theirKnown.id, nonEmptyNewContentPieces);
|
|
@@ -456,7 +457,7 @@ export class SQLiteStorage {
|
|
|
456
457
|
let storedCoValueRowID = (
|
|
457
458
|
this.db
|
|
458
459
|
.prepare<CojsonInternalTypes.RawCoID>(
|
|
459
|
-
`SELECT rowID FROM coValues WHERE id =
|
|
460
|
+
`SELECT rowID FROM coValues WHERE id = ?`,
|
|
460
461
|
)
|
|
461
462
|
.get(msg.id) as StoredCoValueRow | undefined
|
|
462
463
|
)?.rowID;
|
|
@@ -477,7 +478,7 @@ export class SQLiteStorage {
|
|
|
477
478
|
|
|
478
479
|
storedCoValueRowID = this.db
|
|
479
480
|
.prepare<[CojsonInternalTypes.RawCoID, string]>(
|
|
480
|
-
`INSERT INTO coValues (id, header) VALUES (?, ?)
|
|
481
|
+
`INSERT INTO coValues (id, header) VALUES (?, ?)`,
|
|
481
482
|
)
|
|
482
483
|
.run(msg.id, JSON.stringify(header)).lastInsertRowid as number;
|
|
483
484
|
}
|
|
@@ -494,10 +495,13 @@ export class SQLiteStorage {
|
|
|
494
495
|
this.db
|
|
495
496
|
.prepare<number>(`SELECT * FROM sessions WHERE coValue = ?`)
|
|
496
497
|
.all(storedCoValueRowID!) as StoredSessionRow[]
|
|
497
|
-
).reduce(
|
|
498
|
-
acc
|
|
499
|
-
|
|
500
|
-
|
|
498
|
+
).reduce(
|
|
499
|
+
(acc, row) => {
|
|
500
|
+
acc[row.sessionID] = row;
|
|
501
|
+
return acc;
|
|
502
|
+
},
|
|
503
|
+
{} as { [sessionID: string]: StoredSessionRow },
|
|
504
|
+
);
|
|
501
505
|
|
|
502
506
|
for (const sessionID of Object.keys(msg.new) as SessionID[]) {
|
|
503
507
|
const sessionRow = allOurSessions[sessionID];
|
|
@@ -530,7 +534,7 @@ export class SQLiteStorage {
|
|
|
530
534
|
(tx.privacy === "private"
|
|
531
535
|
? tx.encryptedChanges.length
|
|
532
536
|
: tx.changes.length),
|
|
533
|
-
0
|
|
537
|
+
0,
|
|
534
538
|
);
|
|
535
539
|
|
|
536
540
|
const newLastIdx =
|
|
@@ -558,14 +562,14 @@ export class SQLiteStorage {
|
|
|
558
562
|
.prepare<[number, string, number, string, number]>(
|
|
559
563
|
`INSERT INTO sessions (coValue, sessionID, lastIdx, lastSignature, bytesSinceLastSignature) VALUES (?, ?, ?, ?, ?)
|
|
560
564
|
ON CONFLICT(coValue, sessionID) DO UPDATE SET lastIdx=excluded.lastIdx, lastSignature=excluded.lastSignature, bytesSinceLastSignature=excluded.bytesSinceLastSignature
|
|
561
|
-
RETURNING rowID
|
|
565
|
+
RETURNING rowID`,
|
|
562
566
|
)
|
|
563
567
|
.get(
|
|
564
568
|
sessionUpdate.coValue,
|
|
565
569
|
sessionUpdate.sessionID,
|
|
566
570
|
sessionUpdate.lastIdx,
|
|
567
571
|
sessionUpdate.lastSignature,
|
|
568
|
-
sessionUpdate.bytesSinceLastSignature
|
|
572
|
+
sessionUpdate.bytesSinceLastSignature,
|
|
569
573
|
) as { rowID: number };
|
|
570
574
|
|
|
571
575
|
const sessionRowID = upsertedSession.rowID;
|
|
@@ -573,25 +577,25 @@ export class SQLiteStorage {
|
|
|
573
577
|
if (shouldWriteSignature) {
|
|
574
578
|
this.db
|
|
575
579
|
.prepare<[number, number, string]>(
|
|
576
|
-
`INSERT INTO signatureAfter (ses, idx, signature) VALUES (?, ?, ?)
|
|
580
|
+
`INSERT INTO signatureAfter (ses, idx, signature) VALUES (?, ?, ?)`,
|
|
577
581
|
)
|
|
578
582
|
.run(
|
|
579
583
|
sessionRowID,
|
|
580
584
|
// TODO: newLastIdx is a misnomer, it's actually more like nextIdx or length
|
|
581
585
|
newLastIdx - 1,
|
|
582
|
-
msg.new[sessionID]!.lastSignature
|
|
586
|
+
msg.new[sessionID]!.lastSignature,
|
|
583
587
|
);
|
|
584
588
|
}
|
|
585
589
|
|
|
586
590
|
for (const newTransaction of actuallyNewTransactions) {
|
|
587
591
|
this.db
|
|
588
592
|
.prepare<[number, number, string]>(
|
|
589
|
-
`INSERT INTO transactions (ses, idx, tx) VALUES (?, ?, ?)
|
|
593
|
+
`INSERT INTO transactions (ses, idx, tx) VALUES (?, ?, ?)`,
|
|
590
594
|
)
|
|
591
595
|
.run(
|
|
592
596
|
sessionRowID,
|
|
593
597
|
nextIdx,
|
|
594
|
-
JSON.stringify(newTransaction)
|
|
598
|
+
JSON.stringify(newTransaction),
|
|
595
599
|
);
|
|
596
600
|
nextIdx++;
|
|
597
601
|
}
|