mainnet-js 2.0.1 → 2.1.0-alpha.5

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.
Files changed (90) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-2.0.1.js → mainnet-2.1.0-alpha.5.js} +18 -58
  3. package/dist/module/db/StorageProvider.d.ts +9 -9
  4. package/dist/module/db/StorageProvider.d.ts.map +1 -1
  5. package/dist/module/db/StorageProvider.js +2 -1
  6. package/dist/module/db/StorageProvider.js.map +1 -1
  7. package/dist/module/db/index.d.ts +1 -2
  8. package/dist/module/db/index.d.ts.map +1 -1
  9. package/dist/module/db/index.js +2 -2
  10. package/dist/module/db/index.js.map +1 -1
  11. package/dist/module/db/interface.d.ts +0 -12
  12. package/dist/module/db/interface.d.ts.map +1 -1
  13. package/dist/module/db/util.d.ts +0 -2
  14. package/dist/module/db/util.d.ts.map +1 -1
  15. package/dist/module/db/util.js +0 -23
  16. package/dist/module/db/util.js.map +1 -1
  17. package/dist/module/index.d.ts +0 -1
  18. package/dist/module/index.d.ts.map +1 -1
  19. package/dist/module/index.js +0 -4
  20. package/dist/module/index.js.map +1 -1
  21. package/dist/module/network/index.d.ts +1 -0
  22. package/dist/module/network/index.d.ts.map +1 -1
  23. package/dist/module/wallet/Base.d.ts +1 -1
  24. package/dist/module/wallet/Base.d.ts.map +1 -1
  25. package/dist/module/wallet/Base.js +6 -1
  26. package/dist/module/wallet/Base.js.map +1 -1
  27. package/dist/module/wallet/Bcmr.d.ts.map +1 -1
  28. package/dist/module/wallet/Bcmr.js +3 -1
  29. package/dist/module/wallet/Bcmr.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +2 -12
  32. package/src/db/StorageProvider.ts +9 -9
  33. package/src/db/index.ts +1 -2
  34. package/src/db/interface.ts +0 -14
  35. package/src/db/util.ts +0 -26
  36. package/src/index.ts +0 -5
  37. package/src/network/index.ts +1 -0
  38. package/src/wallet/Base.ts +9 -2
  39. package/src/wallet/Bcmr.ts +5 -1
  40. package/src/wallet/Wif.test.ts +0 -42
  41. package/dist/module/db/IndexedDBProvider.d.ts +0 -16
  42. package/dist/module/db/IndexedDBProvider.d.ts.map +0 -1
  43. package/dist/module/db/IndexedDBProvider.js +0 -80
  44. package/dist/module/db/IndexedDBProvider.js.map +0 -1
  45. package/dist/module/db/SqlProvider.d.ts +0 -40
  46. package/dist/module/db/SqlProvider.d.ts.map +0 -1
  47. package/dist/module/db/SqlProvider.js +0 -198
  48. package/dist/module/db/SqlProvider.js.map +0 -1
  49. package/dist/module/db/getStorageProvider.d.ts +0 -3
  50. package/dist/module/db/getStorageProvider.d.ts.map +0 -1
  51. package/dist/module/db/getStorageProvider.js +0 -19
  52. package/dist/module/db/getStorageProvider.js.map +0 -1
  53. package/dist/module/webhook/Webhook.d.ts +0 -36
  54. package/dist/module/webhook/Webhook.d.ts.map +0 -1
  55. package/dist/module/webhook/Webhook.js +0 -77
  56. package/dist/module/webhook/Webhook.js.map +0 -1
  57. package/dist/module/webhook/WebhookBch.d.ts +0 -14
  58. package/dist/module/webhook/WebhookBch.d.ts.map +0 -1
  59. package/dist/module/webhook/WebhookBch.js +0 -141
  60. package/dist/module/webhook/WebhookBch.js.map +0 -1
  61. package/dist/module/webhook/WebhookWorker.d.ts +0 -23
  62. package/dist/module/webhook/WebhookWorker.d.ts.map +0 -1
  63. package/dist/module/webhook/WebhookWorker.js +0 -94
  64. package/dist/module/webhook/WebhookWorker.js.map +0 -1
  65. package/dist/module/webhook/index.d.ts +0 -5
  66. package/dist/module/webhook/index.d.ts.map +0 -1
  67. package/dist/module/webhook/index.js +0 -5
  68. package/dist/module/webhook/index.js.map +0 -1
  69. package/dist/module/webhook/interface.d.ts +0 -8
  70. package/dist/module/webhook/interface.d.ts.map +0 -1
  71. package/dist/module/webhook/interface.js +0 -2
  72. package/dist/module/webhook/interface.js.map +0 -1
  73. package/src/Wallet.test.headless.js +0 -369
  74. package/src/Wallet.test.ts +0 -519
  75. package/src/db/IndexedDBProvider.test.ts +0 -69
  76. package/src/db/IndexedDBProvider.ts +0 -93
  77. package/src/db/SqlProvider.test.ts +0 -282
  78. package/src/db/SqlProvider.ts +0 -297
  79. package/src/db/getStorageProvider.ts +0 -20
  80. package/src/db/index.test.headless.js +0 -62
  81. package/src/db/index.test.ts +0 -64
  82. package/src/wallet/createWallet.test.ts +0 -155
  83. package/src/webhook/Webhook.test.ts +0 -9
  84. package/src/webhook/Webhook.ts +0 -99
  85. package/src/webhook/WebhookBch.test.ts +0 -323
  86. package/src/webhook/WebhookBch.ts +0 -198
  87. package/src/webhook/WebhookWorker.test.ts +0 -96
  88. package/src/webhook/WebhookWorker.ts +0 -119
  89. package/src/webhook/index.ts +0 -4
  90. package/src/webhook/interface.ts +0 -7
@@ -1,16 +0,0 @@
1
- import Dexie from "dexie";
2
- import StorageProvider from "./StorageProvider.js";
3
- import { WalletI } from "./interface.js";
4
- export default class IndexedDBProvider extends Dexie implements StorageProvider {
5
- db: Dexie.Table<WalletI, number>;
6
- constructor(dbName: string);
7
- init(): Promise<this>;
8
- close(): Promise<this>;
9
- getInfo(): string;
10
- addWallet(name: string, walletId: string): Promise<boolean>;
11
- getWallet(name: string): Promise<WalletI | undefined>;
12
- getWallets(): Promise<Array<WalletI>>;
13
- updateWallet(name: string, walletId: string): Promise<void>;
14
- walletExists(name: string): Promise<boolean>;
15
- }
16
- //# sourceMappingURL=IndexedDBProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IndexedDBProvider.d.ts","sourceRoot":"","sources":["../../../src/db/IndexedDBProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,iBACnB,SAAQ,KACR,YAAW,eAAe;IAEnB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAErB,MAAM,EAAE,MAAM;IAQpB,IAAI;IAIJ,KAAK;IAIX,OAAO;IAID,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IASrD,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAgBrC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1D"}
@@ -1,80 +0,0 @@
1
- import Dexie from "dexie";
2
- export default class IndexedDBProvider extends Dexie {
3
- constructor(dbName) {
4
- super(dbName);
5
- this.version(3).stores({
6
- wallet: "name",
7
- });
8
- this.db = this.table("wallet");
9
- }
10
- async init() {
11
- return this;
12
- }
13
- async close() {
14
- return this;
15
- }
16
- getInfo() {
17
- return "indexedDB";
18
- }
19
- async addWallet(name, walletId) {
20
- return this.transaction("rw", this.db, async () => {
21
- if ((await this.db.where({ name: name }).count()) === 0) {
22
- await this.db.add({ name: name, wallet: walletId }).catch((e) => {
23
- throw Error(e);
24
- });
25
- return true;
26
- }
27
- else {
28
- return false;
29
- }
30
- }).catch((e) => {
31
- throw e.stack || e;
32
- });
33
- }
34
- async getWallet(name) {
35
- let obj = await this.db.get({ name: name });
36
- if (obj) {
37
- return obj;
38
- }
39
- else {
40
- return;
41
- }
42
- }
43
- async getWallets() {
44
- let walletObjects = await this.transaction("r", this.db, async () => {
45
- return await this.db.where("id").above(0).toArray();
46
- });
47
- if (walletObjects) {
48
- const WalletArray = await Promise.all(walletObjects.map(async (obj) => {
49
- return obj;
50
- }));
51
- return WalletArray;
52
- }
53
- else {
54
- return [];
55
- }
56
- }
57
- async updateWallet(name, walletId) {
58
- this.transaction("rw", this.db, async () => {
59
- const collection = this.db.where({ name: name });
60
- if ((await collection.count()) === 0) {
61
- return false;
62
- }
63
- else {
64
- const wallet = (await collection.first());
65
- await this.db
66
- .put({ id: wallet.id, name: name, wallet: walletId }, wallet.id)
67
- .catch((e) => {
68
- throw Error(e);
69
- });
70
- return true;
71
- }
72
- }).catch((e) => {
73
- throw e.stack || e;
74
- });
75
- }
76
- async walletExists(name) {
77
- return (await this.getWallet(name)) !== undefined;
78
- }
79
- }
80
- //# sourceMappingURL=IndexedDBProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IndexedDBProvider.js","sourceRoot":"","sources":["../../../src/db/IndexedDBProvider.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import StorageProvider from "./StorageProvider.js";
2
- import { WalletI, FaucetQueueItemI } from "./interface.js";
3
- import { TxI } from "../interface.js";
4
- import { Webhook } from "../webhook/Webhook.js";
5
- import { RegisterWebhookParams } from "../webhook/interface.js";
6
- export default class SqlProvider implements StorageProvider {
7
- private db;
8
- private config;
9
- private info;
10
- private formatter;
11
- private walletTable;
12
- private webhookTable;
13
- private faucetQueueTable;
14
- private isInit;
15
- constructor(walletTable?: string);
16
- getConfig(): any;
17
- init(): Promise<StorageProvider>;
18
- close(): Promise<StorageProvider>;
19
- getInfo(): string;
20
- addWallet(name: string, walletId: string): Promise<boolean>;
21
- getWallets(): Promise<Array<WalletI>>;
22
- getWallet(name: string): Promise<WalletI | undefined>;
23
- updateWallet(name: string, walletId: string): Promise<void>;
24
- walletExists(name: string): Promise<boolean>;
25
- webhookFromDb(hook: Webhook): Promise<import("../webhook/WebhookBch.js").WebhookBch>;
26
- addWebhook(params: RegisterWebhookParams): Promise<Webhook>;
27
- getWebhooks(): Promise<Array<Webhook>>;
28
- getWebhook(id: number): Promise<Webhook | undefined>;
29
- setWebhookStatus(id: number, status: string): Promise<void>;
30
- setWebhookSeenTxLastHeight(id: number, tx_seen: Array<TxI>, last_height: number): Promise<void>;
31
- deleteWebhook(id: number): Promise<void>;
32
- clearWebhooks(): Promise<void>;
33
- addFaucetQueueItem(address: string, value: string): Promise<boolean>;
34
- getFaucetQueue(): Promise<Array<FaucetQueueItemI>>;
35
- deleteFaucetQueueItems(items: Array<FaucetQueueItemI>): Promise<boolean>;
36
- beginTransaction(): Promise<boolean>;
37
- commitTransaction(): Promise<boolean>;
38
- rollbackTransaction(): Promise<boolean>;
39
- }
40
- //# sourceMappingURL=SqlProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqlProvider.d.ts","sourceRoot":"","sources":["../../../src/db/SqlProvider.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAc,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAkC,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAMhE,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,eAAe;IACzD,OAAO,CAAC,EAAE,CAAC;IACX,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,IAAI,CAAC;IACb,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,MAAM,CAAS;gBAEJ,WAAW,CAAC,EAAE,MAAM;IAmBhC,SAAS;IAIH,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC;IA6ChC,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IAKvC,OAAO,IAAI,MAAM;IAIX,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3D,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAerC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAUrD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,aAAa,CAAC,IAAI,EAAE,OAAO;IAK3B,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAmC3D,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAiBtC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAcpD,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,0BAA0B,CACrC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAQH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,kBAAkB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IAQN,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAelD,sBAAsB,CACjC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC;IAWN,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIpC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;CAGrD"}
@@ -1,198 +0,0 @@
1
- import { WebhookRecurrence, WebhookType } from "../webhook/Webhook.js";
2
- import { getSslConfig } from "./util.js";
3
- import parseDbUrl from "parse-database-url";
4
- import pg from "pg";
5
- import format from "pg-format";
6
- export default class SqlProvider {
7
- constructor(walletTable) {
8
- this.webhookTable = "webhook";
9
- this.faucetQueueTable = "faucet_queue";
10
- this.isInit = false;
11
- this.walletTable = walletTable ? walletTable : "wallet";
12
- if (!process.env.DATABASE_URL) {
13
- throw new Error("Named wallets and webhooks require a postgres DATABASE_URL environment variable to be set");
14
- }
15
- let dbConfig = parseDbUrl(process.env.DATABASE_URL);
16
- let ssl = getSslConfig();
17
- if (ssl) {
18
- dbConfig.ssl = ssl;
19
- }
20
- this.config = dbConfig;
21
- const Pool = pg.Pool;
22
- this.db = new Pool(dbConfig);
23
- this.formatter = format;
24
- }
25
- getConfig() {
26
- return this.config;
27
- }
28
- async init() {
29
- if (!this.isInit) {
30
- this.isInit = true;
31
- await this.db;
32
- await this.formatter;
33
- let createWalletTable = this.formatter("CREATE TABLE IF NOT EXISTS %I (id SERIAL, name TEXT PRIMARY KEY, wallet TEXT );", this.walletTable);
34
- const resWallet = await this.db.query(createWalletTable);
35
- let createWebhookTable = this.formatter("CREATE TABLE IF NOT EXISTS %I (" +
36
- "id SERIAL PRIMARY KEY," +
37
- "cashaddr TEXT," +
38
- "type TEXT," +
39
- "recurrence TEXT," +
40
- "url TEXT," +
41
- "status TEXT," +
42
- "tx_seen JSON," +
43
- "last_height INTEGER," +
44
- "expires_at TIMESTAMPTZ" +
45
- ");", this.webhookTable);
46
- const resWebhook = await this.db.query(createWebhookTable);
47
- let createFaucetQueueTable = this.formatter("CREATE TABLE IF NOT EXISTS %I (" +
48
- "id SERIAL PRIMARY KEY," +
49
- "address TEXT," +
50
- "value TEXT" +
51
- ");", this.faucetQueueTable);
52
- const resFaucetQueue = await this.db.query(createFaucetQueueTable);
53
- if (!resWallet || !resWebhook || !resFaucetQueue)
54
- throw new Error("Failed to init SqlProvider");
55
- }
56
- return this;
57
- }
58
- async close() {
59
- await this.db.end();
60
- return this;
61
- }
62
- getInfo() {
63
- return this.info;
64
- }
65
- async addWallet(name, walletId) {
66
- let text = this.formatter("INSERT into %I (name,wallet) VALUES ($1, $2);", this.walletTable);
67
- return await this.db.query(text, [name, walletId]);
68
- }
69
- async getWallets() {
70
- let text = this.formatter("SELECT * FROM %I;", this.walletTable);
71
- let result = await this.db.query(text);
72
- if (result) {
73
- const WalletArray = await Promise.all(result.rows.map(async (obj) => {
74
- return obj;
75
- }));
76
- return WalletArray;
77
- }
78
- else {
79
- return [];
80
- }
81
- }
82
- async getWallet(name) {
83
- let text = this.formatter("SELECT * FROM %I WHERE name = $1;", this.walletTable);
84
- let result = await this.db.query(text, [name]);
85
- let w = result.rows[0];
86
- return w;
87
- }
88
- async updateWallet(name, walletId) {
89
- let text = this.formatter("UPDATE %I SET wallet = $1 WHERE name = $2;", this.walletTable);
90
- await this.db.query(text, [walletId, name]);
91
- }
92
- async walletExists(name) {
93
- return (await this.getWallet(name)) !== undefined;
94
- }
95
- async webhookFromDb(hook) {
96
- const { WebhookBch } = await import("../webhook/WebhookBch.js");
97
- return new WebhookBch(hook);
98
- }
99
- async addWebhook(params) {
100
- // init db if it was not, useful for external api calls
101
- await this.init();
102
- params.type = params.type || WebhookType.transactionInOut;
103
- params.recurrence = params.recurrence || WebhookRecurrence.once;
104
- const expireTimeout = Number(process.env.WEBHOOK_EXPIRE_TIMEOUT_SECONDS) || 86400;
105
- params.duration_sec = params.duration_sec || expireTimeout;
106
- params.duration_sec =
107
- params.duration_sec > expireTimeout ? expireTimeout : params.duration_sec;
108
- const expires_at = new Date(new Date().getTime() + params.duration_sec * 1000);
109
- let text = this.formatter("INSERT into %I (cashaddr,type,recurrence,url,status,tx_seen,last_height,expires_at) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING *;", this.webhookTable);
110
- const result = await this.db.query(text, [
111
- params.cashaddr,
112
- params.type,
113
- params.recurrence,
114
- params.url,
115
- "",
116
- "[]",
117
- 0,
118
- expires_at.toISOString(),
119
- ]);
120
- const hook = await this.webhookFromDb(result.rows[0]);
121
- hook.db = this;
122
- return hook;
123
- }
124
- async getWebhooks() {
125
- let text = this.formatter("SELECT * FROM %I;", this.webhookTable);
126
- let result = await this.db.query(text);
127
- if (result) {
128
- const WebhookArray = await Promise.all(result.rows.map(async (obj) => {
129
- obj = await this.webhookFromDb(obj);
130
- obj.db = this;
131
- return obj;
132
- }));
133
- return WebhookArray;
134
- }
135
- else {
136
- return [];
137
- }
138
- }
139
- async getWebhook(id) {
140
- const text = this.formatter("SELECT * FROM %I WHERE id = $1;", this.webhookTable);
141
- const result = await this.db.query(text, [id]);
142
- let hook = result.rows[0];
143
- if (hook) {
144
- hook = this.webhookFromDb(hook);
145
- hook.db = this;
146
- }
147
- return hook;
148
- }
149
- async setWebhookStatus(id, status) {
150
- let text = this.formatter("UPDATE %I SET status = $1 WHERE id = $2;", this.webhookTable);
151
- await this.db.query(text, [status, id]);
152
- }
153
- async setWebhookSeenTxLastHeight(id, tx_seen, last_height) {
154
- let text = this.formatter("UPDATE %I SET tx_seen = $1, last_height = $2 WHERE id = $3;", this.webhookTable);
155
- await this.db.query(text, [JSON.stringify(tx_seen), last_height, id]);
156
- }
157
- async deleteWebhook(id) {
158
- let text = this.formatter("DELETE FROM %I WHERE id = $1;", this.webhookTable);
159
- await this.db.query(text, [id]);
160
- }
161
- async clearWebhooks() {
162
- let text = this.formatter("DELETE FROM %I;", this.webhookTable);
163
- await this.db.query(text);
164
- }
165
- async addFaucetQueueItem(address, value) {
166
- let text = this.formatter("INSERT into %I (address,value) VALUES ($1, $2);", this.faucetQueueTable);
167
- return await this.db.query(text, [address, value]);
168
- }
169
- async getFaucetQueue() {
170
- let text = this.formatter("SELECT * FROM %I;", this.faucetQueueTable);
171
- let result = await this.db.query(text);
172
- if (result) {
173
- const FaucetQueueItemArray = await Promise.all(result.rows.map(async (obj) => {
174
- return obj;
175
- }));
176
- return FaucetQueueItemArray;
177
- }
178
- else {
179
- return [];
180
- }
181
- }
182
- async deleteFaucetQueueItems(items) {
183
- const ids = items.map((val) => val.id);
184
- let text = this.formatter("DELETE FROM %I WHERE id IN (%L);", this.faucetQueueTable, ids);
185
- let result = await this.db.query(text);
186
- return result;
187
- }
188
- async beginTransaction() {
189
- return await this.db.query("BEGIN");
190
- }
191
- async commitTransaction() {
192
- return await this.db.query("COMMIT");
193
- }
194
- async rollbackTransaction() {
195
- return await this.db.query("ROLLBACK");
196
- }
197
- }
198
- //# sourceMappingURL=SqlProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqlProvider.js","sourceRoot":"","sources":["../../../src/db/SqlProvider.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import StorageProvider from "./StorageProvider.js";
2
- export declare function getStorageProvider(dbName: string): StorageProvider | undefined;
3
- //# sourceMappingURL=getStorageProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getStorageProvider.d.ts","sourceRoot":"","sources":["../../../src/db/getStorageProvider.ts"],"names":[],"mappings":"AAGA,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAGnD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,GACb,eAAe,GAAG,SAAS,CAW7B"}
@@ -1,19 +0,0 @@
1
- import { getRuntimePlatform } from "../util/getRuntimePlatform.js";
2
- import IndexedDBProvider from "./IndexedDBProvider.js";
3
- import SqlProvider from "./SqlProvider.js";
4
- import { indexedDbIsAvailable } from "./util.js";
5
- export function getStorageProvider(dbName) {
6
- if (getRuntimePlatform() !== "node" && indexedDbIsAvailable()) {
7
- return new IndexedDBProvider(dbName);
8
- }
9
- else {
10
- if ("DATABASE_URL" in process.env) {
11
- return new SqlProvider(dbName);
12
- }
13
- else {
14
- console.warn("DATABASE_URL was not configured, storage unavailable");
15
- return;
16
- }
17
- }
18
- }
19
- //# sourceMappingURL=getStorageProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getStorageProvider.js","sourceRoot":"","sources":["../../../src/db/getStorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,kBAAkB,CAChC,MAAc;IAEd,IAAI,kBAAkB,EAAE,KAAK,MAAM,IAAI,oBAAoB,EAAE,EAAE;QAC7D,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;KACtC;SAAM;QACL,IAAI,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;SAChC;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACrE,OAAO;SACR;KACF;AACH,CAAC"}
@@ -1,36 +0,0 @@
1
- import SqlProvider from "../db/SqlProvider.js";
2
- import { TxI } from "../interface.js";
3
- export declare enum WebhookType {
4
- transactionIn = "transaction:in",
5
- transactionOut = "transaction:out",
6
- transactionInOut = "transaction:in,out",
7
- balance = "balance"
8
- }
9
- export declare enum WebhookRecurrence {
10
- once = "once",
11
- recurrent = "recurrent"
12
- }
13
- export declare class Webhook {
14
- id?: number;
15
- cashaddr: string;
16
- type: string;
17
- recurrence: string;
18
- url: string;
19
- status: string;
20
- last_height: number;
21
- tx_seen: TxI[];
22
- expires_at: Date;
23
- db: SqlProvider;
24
- constructor(hook: Webhook | Object);
25
- start(): Promise<void>;
26
- stop(): Promise<void>;
27
- destroy(): Promise<void>;
28
- post(data: any): Promise<boolean>;
29
- static debug: {
30
- new (): {};
31
- setupAxiosMocks(): void;
32
- reset(): void;
33
- responses: any;
34
- };
35
- }
36
- //# sourceMappingURL=Webhook.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Webhook.d.ts","sourceRoot":"","sources":["../../../src/webhook/Webhook.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAItC,oBAAY,WAAW;IACrB,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,gBAAgB,uBAAuB;IACvC,OAAO,YAAY;CACpB;AAED,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAED,qBAAa,OAAO;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAG,MAAM,CAAC;IAClB,IAAI,EAAG,MAAM,CAAC;IACd,UAAU,EAAG,MAAM,CAAC;IACpB,GAAG,EAAG,MAAM,CAAC;IACb,MAAM,EAAG,MAAM,CAAC;IAChB,WAAW,EAAG,MAAM,CAAC;IACrB,OAAO,EAAG,GAAG,EAAE,CAAC;IAChB,UAAU,EAAG,IAAI,CAAC;IAElB,EAAE,EAAG,WAAW,CAAC;gBAEL,IAAI,EAAE,OAAO,GAAG,MAAM;IAK5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAErB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBvC,OAAc,KAAK;;;;mBAiCC,GAAG;MACrB;CAEH"}
@@ -1,77 +0,0 @@
1
- var _a;
2
- import axios from "axios";
3
- export var WebhookType;
4
- (function (WebhookType) {
5
- WebhookType["transactionIn"] = "transaction:in";
6
- WebhookType["transactionOut"] = "transaction:out";
7
- WebhookType["transactionInOut"] = "transaction:in,out";
8
- WebhookType["balance"] = "balance";
9
- })(WebhookType || (WebhookType = {}));
10
- export var WebhookRecurrence;
11
- (function (WebhookRecurrence) {
12
- WebhookRecurrence["once"] = "once";
13
- WebhookRecurrence["recurrent"] = "recurrent";
14
- })(WebhookRecurrence || (WebhookRecurrence = {}));
15
- export class Webhook {
16
- constructor(hook) {
17
- Object.assign(this, hook);
18
- }
19
- // abstract, empty implementation
20
- async start() { }
21
- // abstract, empty implementation
22
- async stop() { }
23
- async destroy() {
24
- if (this.id) {
25
- await this.db.deleteWebhook(this.id);
26
- }
27
- }
28
- async post(data) {
29
- try {
30
- await axios.post(this.url, data);
31
- // console.debug("Posted webhook", this.url, data);
32
- return true;
33
- }
34
- catch (e) {
35
- if (e.message && e.message.status === 200) {
36
- return true;
37
- }
38
- // console.debug("Failed to post webhook", this.url, e);
39
- return false;
40
- }
41
- }
42
- }
43
- //#region debug
44
- Webhook.debug = (_a = class {
45
- static setupAxiosMocks() {
46
- axios.interceptors.request.use((config) => {
47
- const url = config.url;
48
- if (!url.startsWith("http://example.com")) {
49
- return config;
50
- }
51
- let response;
52
- if (url === "http://example.com/fail") {
53
- response = { status: 503 };
54
- }
55
- else {
56
- response = { status: 200 };
57
- }
58
- if (url in this.responses) {
59
- this.responses[url].push(response);
60
- }
61
- else {
62
- this.responses[url] = [response];
63
- }
64
- // cancel actual http request
65
- return {
66
- ...config,
67
- cancelToken: new axios.CancelToken((cancel) => cancel(response)),
68
- };
69
- });
70
- }
71
- static reset() {
72
- this.responses = {};
73
- }
74
- },
75
- _a.responses = {},
76
- _a);
77
- //# sourceMappingURL=Webhook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Webhook.js","sourceRoot":"","sources":["../../../src/webhook/Webhook.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,+CAAgC,CAAA;IAChC,iDAAkC,CAAA;IAClC,sDAAuC,CAAA;IACvC,kCAAmB,CAAA;AACrB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,4CAAuB,CAAA;AACzB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,MAAM,OAAO,OAAO;IAalB,YAAY,IAAsB;QAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,iCAAiC;IACjC,KAAK,CAAC,IAAI,KAAmB,CAAC;IAE9B,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACtC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAS;QAClB,IAAI;YACF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,mDAAmD;YACnD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE;gBACzC,OAAO,IAAI,CAAC;aACb;YAED,wDAAwD;YACxD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;;AAED,eAAe;AACD,aAAK,SAAG;QACpB,MAAM,CAAC,eAAe;YACpB,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAI,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;oBACzC,OAAO,MAAM,CAAC;iBACf;gBAED,IAAI,QAAQ,CAAC;gBACb,IAAI,GAAG,KAAK,yBAAyB,EAAE;oBACrC,QAAQ,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC5B;qBAAM;oBACL,QAAQ,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iBAC5B;gBAED,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE;oBACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACpC;qBAAM;oBACL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAClC;gBAED,6BAA6B;gBAC7B,OAAO;oBACL,GAAG,MAAM;oBACT,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACjE,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;KAGF;IADQ,YAAS,GAAQ,EAAG;QAC3B"}
@@ -1,14 +0,0 @@
1
- import SqlProvider from "../db/SqlProvider.js";
2
- import { Wallet } from "../wallet/Wif.js";
3
- import { Webhook } from "./Webhook.js";
4
- export declare class WebhookBch extends Webhook {
5
- callback: (data: any | string | Array<string>) => void;
6
- wallet: Wallet;
7
- db: SqlProvider;
8
- seenStatuses: string[];
9
- constructor(hook: Webhook | Object);
10
- stop(): Promise<void>;
11
- start(): Promise<void>;
12
- handler(status: string): Promise<void>;
13
- }
14
- //# sourceMappingURL=WebhookBch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebhookBch.d.ts","sourceRoot":"","sources":["../../../src/webhook/WebhookBch.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAkC,MAAM,cAAc,CAAC;AAGvE,qBAAa,UAAW,SAAQ,OAAO;IACrC,QAAQ,EAAG,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACxD,MAAM,EAAG,MAAM,CAAC;IAEhB,EAAE,EAAG,WAAW,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAM;gBAEhB,IAAI,EAAE,OAAO,GAAG,MAAM;IAK5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCtB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuI7C"}