@1sat/wallet-node 0.0.38 → 0.0.39
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/dist/createNodeWallet.d.ts +4 -4
- package/dist/createNodeWallet.d.ts.map +1 -1
- package/dist/createNodeWallet.js +5 -10
- package/dist/createNodeWallet.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/storage-pg.d.ts +178 -12
- package/dist/storage-pg.d.ts.map +1 -1
- package/dist/storage-pg.js +2613 -36
- package/dist/storage-pg.js.map +1 -1
- package/package.json +2 -7
|
@@ -5,17 +5,17 @@ export interface BunSqliteStorageConfig {
|
|
|
5
5
|
provider: 'bun-sqlite';
|
|
6
6
|
filename?: string;
|
|
7
7
|
}
|
|
8
|
-
export interface
|
|
9
|
-
provider: '
|
|
8
|
+
export interface PgStorageConfig {
|
|
9
|
+
provider: 'pg';
|
|
10
10
|
/** Postgres connection URL — e.g. `postgres://user:pass@host/db`. */
|
|
11
11
|
dbUrl: string;
|
|
12
|
-
/** Optional
|
|
12
|
+
/** Optional pool size override. */
|
|
13
13
|
pool?: {
|
|
14
14
|
min?: number;
|
|
15
15
|
max?: number;
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
export type NodeWalletStorageConfig = BunSqliteStorageConfig |
|
|
18
|
+
export type NodeWalletStorageConfig = BunSqliteStorageConfig | PgStorageConfig;
|
|
19
19
|
export interface NodeWalletConfig {
|
|
20
20
|
privateKey: PrivateKey | string;
|
|
21
21
|
chain: 'main' | 'test';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNodeWallet.d.ts","sourceRoot":"","sources":["../src/createNodeWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EACN,OAAO,EAEP,aAAa,EAEb,MAAM,EACN,oBAAoB,EACpB,KAAK,GAAG,EACR,MAAM,qBAAqB,CAAA;AAM5B,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"createNodeWallet.d.ts","sourceRoot":"","sources":["../src/createNodeWallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EACN,OAAO,EAEP,aAAa,EAEb,MAAM,EACN,oBAAoB,EACpB,KAAK,GAAG,EACR,MAAM,qBAAqB,CAAA;AAM5B,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,YAAY,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,EAAE,IAAI,CAAA;IACd,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACrC;AAED,MAAM,MAAM,uBAAuB,GAChC,sBAAsB,GACtB,eAAe,CAAA;AAElB,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,EAAE,oBAAoB,CAAA;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,GAAG,CAAC,qBAAqB,CAAA;CACjD;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAsD3B"}
|
package/dist/createNodeWallet.js
CHANGED
|
@@ -59,19 +59,14 @@ async function buildLocalStorage(config, baseOptions) {
|
|
|
59
59
|
filename: config.filename ?? DEFAULT_SQLITE_FILENAME,
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
if (config.provider === '
|
|
63
|
-
// Dynamic import —
|
|
64
|
-
// consumers don't pay for
|
|
65
|
-
const { default: knex } = await import('knex');
|
|
62
|
+
if (config.provider === 'pg') {
|
|
63
|
+
// Dynamic import — pg is an optional peer dep so bun-sqlite-only
|
|
64
|
+
// consumers don't pay for it.
|
|
66
65
|
const { StoragePg } = await import('./storage-pg');
|
|
67
|
-
const k = knex({
|
|
68
|
-
client: 'pg',
|
|
69
|
-
connection: config.dbUrl,
|
|
70
|
-
pool: config.pool,
|
|
71
|
-
});
|
|
72
66
|
return new StoragePg({
|
|
73
67
|
...baseOptions,
|
|
74
|
-
|
|
68
|
+
dbUrl: config.dbUrl,
|
|
69
|
+
poolConfig: config.pool,
|
|
75
70
|
});
|
|
76
71
|
}
|
|
77
72
|
// Exhaustiveness check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNodeWallet.js","sourceRoot":"","sources":["../src/createNodeWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,EACN,oBAAoB,GAEpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,oBAAoB,GAAG,QAAQ,CAAA;AACrC,MAAM,uBAAuB,GAAG,aAAa,CAAA;AA0D7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACrC,MAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,iBAAiB,CAAA;IAErD,MAAM,cAAc,GAAG,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7E,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAElC,MAAM,aAAa,GAA4B,MAAM,CAAC,OAAO,IAAI;QAChE,QAAQ,EAAE,YAAY;KACtB,CAAA;IACD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAE3E,MAAM,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAE3E,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE;QACzD,QAAQ;QACR,aAAa;QACb,eAAe;QACf,MAAM;QACN,oBAAoB;QACpB,OAAO;KACP,CAAC,CAAA;IAEF,uEAAuE;IACvE,wEAAwE;IACxE,qEAAqE;IACrE,sEAAsE;IACtE,mCAAmC;IACnC,IAAI,cAA4C,CAAA;IAChD,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACxD,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YAC9D,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAA;QAChE,CAAC,CAAC,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC;gBACJ,MAAM,cAAc,CAAA;YACrB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACX,CAAC;QACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACrB,CAAC,CAAA;IAED,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;KACvC,CAAA;AACF,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,MAA+B,EAC/B,WAAwE;IAExE,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,IAAI,gBAAgB,CAAC;YAC3B,GAAG,WAAW;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,uBAAuB;SACpD,CAAC,CAAA;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,
|
|
1
|
+
{"version":3,"file":"createNodeWallet.js","sourceRoot":"","sources":["../src/createNodeWallet.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from '@1sat/wallet';
|
|
2
2
|
export { createNodeWallet } from './createNodeWallet';
|
|
3
|
-
export type { BunSqliteStorageConfig,
|
|
3
|
+
export type { BunSqliteStorageConfig, NodeWalletConfig, NodeWalletResult, NodeWalletStorageConfig, PgStorageConfig, } from './createNodeWallet';
|
|
4
4
|
export { StorageBunSqlite } from './storage-bun-sqlite';
|
|
5
5
|
export type { StorageBunSqliteOptions } from './storage-bun-sqlite';
|
|
6
6
|
export { StoragePg } from './storage-pg';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EACX,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EACX,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,GACf,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,eAAe,EACf,MAAM,EACN,wBAAwB,EACxB,oBAAoB,EACpB,KAAK,GAAG,IAAI,SAAS,GACrB,MAAM,qBAAqB,CAAA"}
|
package/dist/storage-pg.d.ts
CHANGED
|
@@ -1,27 +1,193 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* StoragePg —
|
|
2
|
+
* StoragePg — native Postgres backend for `@1sat/wallet-node` wallets.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* via `StorageWithFinders`.
|
|
4
|
+
* Drop-in replacement for StorageKnex that uses `pg` directly, eliminating
|
|
5
|
+
* the knex + wallet-toolbox StorageKnex dependency chain. Extends
|
|
6
|
+
* StorageProvider (same base as StorageBunSqlite) so it can be used anywhere
|
|
7
|
+
* a WalletStorageProvider is expected.
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Structure mirrors StorageBunSqlite method-for-method. Schema is the same
|
|
10
|
+
* wallet-toolbox layout translated to Postgres types. Booleans stay as
|
|
11
|
+
* SMALLINT 0/1 to match the validate-helpers' coercion pattern exactly.
|
|
13
12
|
*/
|
|
14
|
-
import {
|
|
15
|
-
|
|
13
|
+
import type { ListActionsResult, ListOutputsResult, Validation } from '@bsv/sdk';
|
|
14
|
+
import type { AuthId, FindCertificateFieldsArgs, FindCertificatesArgs, FindCommissionsArgs, FindForUserSincePagedArgs, FindMonitorEventsArgs, FindOutputBasketsArgs, FindOutputTagMapsArgs, FindOutputTagsArgs, FindOutputsArgs, FindProvenTxReqsArgs, FindProvenTxsArgs, FindSyncStatesArgs, FindTransactionsArgs, FindTxLabelMapsArgs, FindTxLabelsArgs, FindUsersArgs, ProvenOrRawTx, PurgeParams, PurgeResults, TrxToken } from '@bsv/wallet-toolbox/out/src/sdk/WalletStorage.interfaces.js';
|
|
15
|
+
import type { EntityTimeStamp } from '@bsv/wallet-toolbox/out/src/sdk/types.js';
|
|
16
|
+
import { StorageProvider, type StorageProviderOptions } from '@bsv/wallet-toolbox/out/src/storage/StorageProvider.js';
|
|
17
|
+
import type { AdminStatsResult } from '@bsv/wallet-toolbox/out/src/storage/StorageProvider.js';
|
|
18
|
+
import type { DBType } from '@bsv/wallet-toolbox/out/src/storage/StorageReader.js';
|
|
19
|
+
import type { TableCertificate, TableCertificateField, TableCertificateX, TableCommission, TableMonitorEvent, TableOutput, TableOutputBasket, TableOutputTag, TableOutputTagMap, TableProvenTx, TableProvenTxReq, TableSettings, TableSyncState, TableTransaction, TableTxLabel, TableTxLabelMap, TableUser } from '@bsv/wallet-toolbox/out/src/storage/schema/tables/index.js';
|
|
20
|
+
import type { Pool } from 'pg';
|
|
21
|
+
export interface StoragePgOptions extends StorageProviderOptions {
|
|
22
|
+
/** Postgres connection string, e.g. `postgres://user:pass@host:5432/db`. */
|
|
23
|
+
dbUrl?: string;
|
|
24
|
+
/** Alternatively, an already-constructed `pg.Pool`. */
|
|
25
|
+
pool?: Pool;
|
|
26
|
+
/** Pool size limits. Ignored when `pool` is supplied. */
|
|
27
|
+
poolConfig?: {
|
|
28
|
+
min?: number;
|
|
29
|
+
max?: number;
|
|
30
|
+
};
|
|
16
31
|
}
|
|
17
|
-
export declare class StoragePg extends
|
|
32
|
+
export declare class StoragePg extends StorageProvider {
|
|
33
|
+
private pool;
|
|
34
|
+
private ownsPool;
|
|
35
|
+
private tableColumns;
|
|
36
|
+
private savepointCounter;
|
|
37
|
+
_verifiedReadyForDatabaseAccess: boolean;
|
|
18
38
|
constructor(options: StoragePgOptions);
|
|
39
|
+
readSettings(trx?: TrxToken): Promise<TableSettings>;
|
|
40
|
+
destroy(): Promise<void>;
|
|
41
|
+
migrate(storageName: string, storageIdentityKey: string): Promise<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Introspect the live schema and cache the column set for every user
|
|
44
|
+
* table. Used by `filterToSchema` to drop wire-format fields that don't
|
|
45
|
+
* correspond to real columns before building INSERT/UPDATE SQL.
|
|
46
|
+
*/
|
|
47
|
+
private refreshTableColumns;
|
|
48
|
+
private filterToSchema;
|
|
49
|
+
private getMigrationDefinitions;
|
|
50
|
+
dropAllData(): Promise<void>;
|
|
51
|
+
transaction<T>(scope: (trx: TrxToken) => Promise<T>, trx?: TrxToken): Promise<T>;
|
|
52
|
+
private exec;
|
|
53
|
+
toDb(_trx?: TrxToken): Pool;
|
|
54
|
+
private runSql;
|
|
55
|
+
private allSql;
|
|
56
|
+
private getSql;
|
|
57
|
+
/**
|
|
58
|
+
* Build a WHERE clause from a partial object.
|
|
59
|
+
* Returns { clause: string, params: unknown[] } with `?` placeholders; the
|
|
60
|
+
* caller feeds into runSql/allSql/getSql which convert to `$n` form.
|
|
61
|
+
*/
|
|
62
|
+
private buildWhere;
|
|
63
|
+
private quoteCol;
|
|
64
|
+
private orderByColumn;
|
|
65
|
+
/**
|
|
66
|
+
* Map table name to its primary-key column, used by `insertRow` to
|
|
67
|
+
* emit a `RETURNING` clause.
|
|
68
|
+
*/
|
|
69
|
+
private pkColumn;
|
|
70
|
+
private selectQuery;
|
|
71
|
+
private countQuery;
|
|
72
|
+
/**
|
|
73
|
+
* INSERT a row and return the newly-assigned primary key via RETURNING.
|
|
74
|
+
*/
|
|
75
|
+
private insertRow;
|
|
76
|
+
/**
|
|
77
|
+
* UPDATE rows, returning the number of affected rows.
|
|
78
|
+
*/
|
|
79
|
+
private updateRows;
|
|
80
|
+
verifyReadyForDatabaseAccess(trx?: TrxToken): Promise<DBType>;
|
|
81
|
+
validateDate(date: Date | string | number): Date;
|
|
82
|
+
validateEntityDate(date: Date | string | number): Date | string;
|
|
83
|
+
validateOptionalEntityDate(date: Date | string | number | null | undefined, useNowAsDefault?: boolean): Date | string | undefined;
|
|
84
|
+
validateDateForWhere(date: Date | string | number): Date | string | number;
|
|
85
|
+
validatePartialForUpdate<T extends EntityTimeStamp>(update: Partial<T>, dateFields?: string[], booleanFields?: string[]): Partial<T>;
|
|
86
|
+
validateEntityForInsert<T extends EntityTimeStamp>(entity: T, trx?: TrxToken, dateFields?: string[], booleanFields?: string[]): Promise<Record<string, unknown>>;
|
|
87
|
+
validateEntity<T extends EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T;
|
|
88
|
+
validateEntities<T extends EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[];
|
|
19
89
|
/**
|
|
20
90
|
* Sum of stored bytes attributable to a single wallet-toolbox user.
|
|
21
91
|
* Per-user tables (transactions, outputs) are summed directly. Shared
|
|
22
92
|
* rows (proven_txs, proven_tx_reqs) are attributed to every user that
|
|
23
93
|
* references them via `transactions.provenTxId` or `transactions.txid`.
|
|
94
|
+
* In multi-tenant deployments this over-counts aggregate disk usage
|
|
95
|
+
* but reflects each user's standalone storage cost fairly. Shape matches
|
|
96
|
+
* StorageBunSqlite.measureUsedBytes; OCTET_LENGTH replaces LENGTH.
|
|
24
97
|
*/
|
|
25
98
|
measureUsedBytes(userId: number): Promise<number>;
|
|
99
|
+
getProvenOrRawTx(txid: string, trx?: TrxToken): Promise<ProvenOrRawTx>;
|
|
100
|
+
dbTypeSubstring(source: string, fromOffset: number, forLength?: number): string;
|
|
101
|
+
getRawTxOfKnownValidTransaction(txid?: string, offset?: number, length?: number, trx?: TrxToken): Promise<number[] | undefined>;
|
|
102
|
+
getProvenTxsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTx[]>;
|
|
103
|
+
getProvenTxReqsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>;
|
|
104
|
+
getTxLabelMapsForUser(args: FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>;
|
|
105
|
+
getOutputTagMapsForUser(args: FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>;
|
|
106
|
+
insertProvenTx(tx: TableProvenTx, trx?: TrxToken): Promise<number>;
|
|
107
|
+
insertProvenTxReq(tx: TableProvenTxReq, trx?: TrxToken): Promise<number>;
|
|
108
|
+
insertUser(user: TableUser, trx?: TrxToken): Promise<number>;
|
|
109
|
+
insertCertificateAuth(auth: AuthId, certificate: TableCertificateX): Promise<number>;
|
|
110
|
+
insertCertificate(certificate: TableCertificateX, trx?: TrxToken): Promise<number>;
|
|
111
|
+
insertCertificateField(certificateField: TableCertificateField, trx?: TrxToken): Promise<void>;
|
|
112
|
+
insertOutputBasket(basket: TableOutputBasket, trx?: TrxToken): Promise<number>;
|
|
113
|
+
insertTransaction(tx: TableTransaction, trx?: TrxToken): Promise<number>;
|
|
114
|
+
insertCommission(commission: TableCommission, trx?: TrxToken): Promise<number>;
|
|
115
|
+
insertOutput(output: TableOutput, trx?: TrxToken): Promise<number>;
|
|
116
|
+
insertOutputTag(tag: TableOutputTag, trx?: TrxToken): Promise<number>;
|
|
117
|
+
insertOutputTagMap(tagMap: TableOutputTagMap, trx?: TrxToken): Promise<void>;
|
|
118
|
+
insertTxLabel(label: TableTxLabel, trx?: TrxToken): Promise<number>;
|
|
119
|
+
insertTxLabelMap(labelMap: TableTxLabelMap, trx?: TrxToken): Promise<void>;
|
|
120
|
+
insertMonitorEvent(event: TableMonitorEvent, trx?: TrxToken): Promise<number>;
|
|
121
|
+
insertSyncState(syncState: TableSyncState, trx?: TrxToken): Promise<number>;
|
|
122
|
+
updateCertificateField(certificateId: number, fieldName: string, update: Partial<TableCertificateField>, trx?: TrxToken): Promise<number>;
|
|
123
|
+
updateCertificate(id: number, update: Partial<TableCertificate>, trx?: TrxToken): Promise<number>;
|
|
124
|
+
updateCommission(id: number, update: Partial<TableCommission>, trx?: TrxToken): Promise<number>;
|
|
125
|
+
updateOutputBasket(id: number, update: Partial<TableOutputBasket>, trx?: TrxToken): Promise<number>;
|
|
126
|
+
updateOutput(id: number, update: Partial<TableOutput>, trx?: TrxToken): Promise<number>;
|
|
127
|
+
updateOutputTagMap(outputId: number, tagId: number, update: Partial<TableOutputTagMap>, trx?: TrxToken): Promise<number>;
|
|
128
|
+
updateOutputTag(id: number, update: Partial<TableOutputTag>, trx?: TrxToken): Promise<number>;
|
|
129
|
+
updateProvenTxReq(id: number | number[], update: Partial<TableProvenTxReq>, trx?: TrxToken): Promise<number>;
|
|
130
|
+
updateProvenTx(id: number, update: Partial<TableProvenTx>, trx?: TrxToken): Promise<number>;
|
|
131
|
+
updateSyncState(id: number, update: Partial<TableSyncState>, trx?: TrxToken): Promise<number>;
|
|
132
|
+
updateTransaction(id: number | number[], update: Partial<TableTransaction>, trx?: TrxToken): Promise<number>;
|
|
133
|
+
updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<TableTxLabelMap>, trx?: TrxToken): Promise<number>;
|
|
134
|
+
updateTxLabel(id: number, update: Partial<TableTxLabel>, trx?: TrxToken): Promise<number>;
|
|
135
|
+
updateUser(id: number, update: Partial<TableUser>, trx?: TrxToken): Promise<number>;
|
|
136
|
+
updateMonitorEvent(id: number, update: Partial<TableMonitorEvent>, trx?: TrxToken): Promise<number>;
|
|
137
|
+
findCertificateFields(args: FindCertificateFieldsArgs): Promise<TableCertificateField[]>;
|
|
138
|
+
findCertificates(args: FindCertificatesArgs): Promise<TableCertificateX[]>;
|
|
139
|
+
findCommissions(args: FindCommissionsArgs): Promise<TableCommission[]>;
|
|
140
|
+
findOutputBaskets(args: FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
|
|
141
|
+
findOutputs(args: FindOutputsArgs, tagIds?: number[], isQueryModeAll?: boolean): Promise<TableOutput[]>;
|
|
142
|
+
findOutputTagMaps(args: FindOutputTagMapsArgs): Promise<TableOutputTagMap[]>;
|
|
143
|
+
findOutputTags(args: FindOutputTagsArgs): Promise<TableOutputTag[]>;
|
|
144
|
+
findProvenTxReqs(args: FindProvenTxReqsArgs): Promise<TableProvenTxReq[]>;
|
|
145
|
+
findProvenTxs(args: FindProvenTxsArgs): Promise<TableProvenTx[]>;
|
|
146
|
+
findSyncStates(args: FindSyncStatesArgs): Promise<TableSyncState[]>;
|
|
147
|
+
findTransactions(args: FindTransactionsArgs, labelIds?: number[], isQueryModeAll?: boolean): Promise<TableTransaction[]>;
|
|
148
|
+
findTxLabelMaps(args: FindTxLabelMapsArgs): Promise<TableTxLabelMap[]>;
|
|
149
|
+
findTxLabels(args: FindTxLabelsArgs): Promise<TableTxLabel[]>;
|
|
150
|
+
findUsers(args: FindUsersArgs): Promise<TableUser[]>;
|
|
151
|
+
/**
|
|
152
|
+
* SQL-backed implementation replacing the base-class JS scan. Matches
|
|
153
|
+
* StorageBunSqlite.recentlyActiveUsers and Knex canon at
|
|
154
|
+
* StorageKnex.ts:796.
|
|
155
|
+
*/
|
|
156
|
+
recentlyActiveUsers(limit?: number, trx?: TrxToken): Promise<TableUser[]>;
|
|
157
|
+
findMonitorEvents(args: FindMonitorEventsArgs): Promise<TableMonitorEvent[]>;
|
|
158
|
+
countCertificateFields(args: FindCertificateFieldsArgs): Promise<number>;
|
|
159
|
+
countCertificates(args: FindCertificatesArgs): Promise<number>;
|
|
160
|
+
countCommissions(args: FindCommissionsArgs): Promise<number>;
|
|
161
|
+
countOutputBaskets(args: FindOutputBasketsArgs): Promise<number>;
|
|
162
|
+
countOutputs(args: FindOutputsArgs, tagIds?: number[], isQueryModeAll?: boolean): Promise<number>;
|
|
163
|
+
countOutputTagMaps(args: FindOutputTagMapsArgs): Promise<number>;
|
|
164
|
+
countOutputTags(args: FindOutputTagsArgs): Promise<number>;
|
|
165
|
+
countProvenTxReqs(args: FindProvenTxReqsArgs): Promise<number>;
|
|
166
|
+
countProvenTxs(args: FindProvenTxsArgs): Promise<number>;
|
|
167
|
+
countSyncStates(args: FindSyncStatesArgs): Promise<number>;
|
|
168
|
+
countTransactions(args: FindTransactionsArgs, labelIds?: number[], isQueryModeAll?: boolean): Promise<number>;
|
|
169
|
+
countTxLabelMaps(args: FindTxLabelMapsArgs): Promise<number>;
|
|
170
|
+
countTxLabels(args: FindTxLabelsArgs): Promise<number>;
|
|
171
|
+
countUsers(args: FindUsersArgs): Promise<number>;
|
|
172
|
+
countMonitorEvents(args: FindMonitorEventsArgs): Promise<number>;
|
|
173
|
+
countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
|
|
174
|
+
findCertificatesAuth(auth: AuthId, args: FindCertificatesArgs): Promise<TableCertificateX[]>;
|
|
175
|
+
findOutputBasketsAuth(auth: AuthId, args: FindOutputBasketsArgs): Promise<TableOutputBasket[]>;
|
|
176
|
+
findOutputsAuth(auth: AuthId, args: FindOutputsArgs): Promise<TableOutput[]>;
|
|
177
|
+
getLabelsForTransactionId(transactionId?: number, trx?: TrxToken): Promise<TableTxLabel[]>;
|
|
178
|
+
getTagsForOutputId(outputId: number, trx?: TrxToken): Promise<TableOutputTag[]>;
|
|
179
|
+
allocateChangeInput(userId: number, basketId: number, targetSatoshis: number, exactSatoshis: number | undefined, excludeSending: boolean, transactionId: number): Promise<TableOutput | undefined>;
|
|
180
|
+
validateRawTransaction(t: TableTransaction, trx?: TrxToken): Promise<void>;
|
|
181
|
+
listActions(auth: AuthId, vargs: Validation.ValidListActionsArgs): Promise<ListActionsResult>;
|
|
182
|
+
listOutputs(auth: AuthId, vargs: Validation.ValidListOutputsArgs): Promise<ListOutputsResult>;
|
|
183
|
+
purgeData(params: PurgeParams, _trx?: TrxToken): Promise<PurgeResults>;
|
|
184
|
+
private deleteTransactions;
|
|
185
|
+
reviewStatus(_args: {
|
|
186
|
+
agedLimit: Date;
|
|
187
|
+
trx?: TrxToken;
|
|
188
|
+
}): Promise<{
|
|
189
|
+
log: string;
|
|
190
|
+
}>;
|
|
191
|
+
adminStats(_adminIdentityKey: string): Promise<AdminStatsResult>;
|
|
26
192
|
}
|
|
27
193
|
//# sourceMappingURL=storage-pg.d.ts.map
|
package/dist/storage-pg.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-pg.d.ts","sourceRoot":"","sources":["../src/storage-pg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACN,WAAW,EACX,KAAK,kBAAkB,EACvB,MAAM,oDAAoD,CAAA;AAE3D,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;CAAG;AAE/D,qBAAa,SAAU,SAAQ,WAAW;gBAC7B,OAAO,EAAE,gBAAgB;IAIrC;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA4CvD"}
|
|
1
|
+
{"version":3,"file":"storage-pg.d.ts","sourceRoot":"","sources":["../src/storage-pg.ts"],"names":[],"mappings":"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"}
|