mainnet-js 2.3.15 → 2.4.0
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/index.html +1 -1
- package/dist/{mainnet-2.3.15.js → mainnet-2.4.0.js} +15 -5
- package/dist/module/history/electrumTransformer.d.ts +11 -3
- package/dist/module/history/electrumTransformer.d.ts.map +1 -1
- package/dist/module/history/electrumTransformer.js +199 -195
- package/dist/module/history/electrumTransformer.js.map +1 -1
- package/dist/module/history/interface.d.ts +19 -13
- package/dist/module/history/interface.d.ts.map +1 -1
- package/dist/module/interface.d.ts +10 -1
- package/dist/module/interface.d.ts.map +1 -1
- package/dist/module/interface.js.map +1 -1
- package/dist/module/network/ElectrumNetworkProvider.d.ts +8 -6
- package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
- package/dist/module/network/ElectrumNetworkProvider.js +28 -6
- package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
- package/dist/module/network/NetworkProvider.d.ts +8 -3
- package/dist/module/network/NetworkProvider.d.ts.map +1 -1
- package/dist/module/util/header.d.ts +3 -0
- package/dist/module/util/header.d.ts.map +1 -0
- package/dist/module/util/header.js +13 -0
- package/dist/module/util/header.js.map +1 -0
- package/dist/module/util/index.d.ts +1 -0
- package/dist/module/util/index.d.ts.map +1 -1
- package/dist/module/util/index.js +1 -0
- package/dist/module/util/index.js.map +1 -1
- package/dist/module/wallet/Wif.d.ts +27 -6
- package/dist/module/wallet/Wif.d.ts.map +1 -1
- package/dist/module/wallet/Wif.js +29 -7
- package/dist/module/wallet/Wif.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/history/electrumTransformer.test.ts +112 -55
- package/src/history/electrumTransformer.ts +279 -284
- package/src/history/interface.ts +19 -13
- package/src/interface.ts +11 -1
- package/src/network/ElectrumNetworkProvider.ts +58 -11
- package/src/network/NetworkProvider.ts +13 -3
- package/src/util/header.test.ts +34 -0
- package/src/util/header.ts +16 -0
- package/src/util/index.ts +1 -0
- package/src/wallet/Wif.ts +55 -21
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ElectrumCluster, ElectrumClient } from "electrum-cash";
|
|
2
2
|
import { default as NetworkProvider } from "./NetworkProvider.js";
|
|
3
|
-
import {
|
|
3
|
+
import { HexHeaderI, TxI, UtxoI, HeaderI } from "../interface.js";
|
|
4
4
|
import { Network } from "../interface.js";
|
|
5
5
|
import { ElectrumRawTransaction } from "./interface.js";
|
|
6
6
|
import { CancelWatchFn } from "../wallet/interface.js";
|
|
@@ -16,21 +16,23 @@ export default class ElectrumNetworkProvider implements NetworkProvider {
|
|
|
16
16
|
private getConnectPromise;
|
|
17
17
|
getUtxos(cashaddr: string): Promise<UtxoI[]>;
|
|
18
18
|
getBalance(cashaddr: string): Promise<number>;
|
|
19
|
+
static rawHeaderCache: {};
|
|
20
|
+
getHeader(height: number, verbose?: boolean): Promise<HeaderI | HexHeaderI>;
|
|
19
21
|
getBlockHeight(): Promise<number>;
|
|
20
22
|
static rawTransactionCache: {};
|
|
21
23
|
getRawTransaction(txHash: string, verbose?: boolean, loadInputValues?: boolean): Promise<string>;
|
|
22
24
|
getRawTransactionObject(txHash: string, loadInputValues?: boolean): Promise<ElectrumRawTransaction>;
|
|
23
25
|
sendRawTransaction(txHex: string, awaitPropagation?: boolean): Promise<string>;
|
|
24
|
-
getHistory(cashaddr: string): Promise<TxI[]>;
|
|
26
|
+
getHistory(cashaddr: string, fromHeight?: number, toHeight?: number): Promise<TxI[]>;
|
|
25
27
|
getRelayFee(): Promise<number>;
|
|
26
28
|
watchAddressStatus(cashaddr: string, callback: (status: string) => void): CancelWatchFn;
|
|
27
29
|
watchAddress(cashaddr: string, callback: (txHash: string) => void): CancelWatchFn;
|
|
28
30
|
watchAddressTransactions(cashaddr: string, callback: (tx: ElectrumRawTransaction) => void): CancelWatchFn;
|
|
29
31
|
watchAddressTokenTransactions(cashaddr: string, callback: (tx: ElectrumRawTransaction) => void): CancelWatchFn;
|
|
30
|
-
watchBlocks(callback: (header:
|
|
31
|
-
waitForBlock(height?: number): Promise<
|
|
32
|
-
subscribeToHeaders(callback: (header:
|
|
33
|
-
unsubscribeFromHeaders(callback: (header:
|
|
32
|
+
watchBlocks(callback: (header: HexHeaderI) => void, skipCurrentHeight?: boolean): CancelWatchFn;
|
|
33
|
+
waitForBlock(height?: number): Promise<HexHeaderI>;
|
|
34
|
+
subscribeToHeaders(callback: (header: HexHeaderI) => void): Promise<void>;
|
|
35
|
+
unsubscribeFromHeaders(callback: (header: HexHeaderI) => void): Promise<void>;
|
|
34
36
|
subscribeToAddress(cashaddr: string, callback: (data: any) => void): Promise<void>;
|
|
35
37
|
unsubscribeFromAddress(cashaddr: string, callback: (data: any) => void): Promise<void>;
|
|
36
38
|
subscribeToAddressTransactions(cashaddr: string, callback: (data: any) => void): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElectrumNetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"ElectrumNetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { Network } from "../interface.js";
|
|
|
3
3
|
import { delay } from "../util/delay.js";
|
|
4
4
|
import { getTransactionHash } from "../util/transaction.js";
|
|
5
5
|
import { Config } from "../config.js";
|
|
6
|
+
import { decodeHeader } from "../util/header.js";
|
|
6
7
|
export default class ElectrumNetworkProvider {
|
|
7
8
|
constructor(electrum, network = Network.MAINNET, manualConnectionManagement) {
|
|
8
9
|
this.network = network;
|
|
@@ -74,12 +75,32 @@ export default class ElectrumNetworkProvider {
|
|
|
74
75
|
const result = (await this.performRequest("blockchain.address.get_balance", cashaddr));
|
|
75
76
|
return result.confirmed + result.unconfirmed;
|
|
76
77
|
}
|
|
78
|
+
async getHeader(height, verbose = false) {
|
|
79
|
+
const key = `header-${this.network}-${height}-${verbose}`;
|
|
80
|
+
if (Config.UseLocalStorageCache) {
|
|
81
|
+
const cached = localStorage.getItem(key);
|
|
82
|
+
if (cached) {
|
|
83
|
+
return verbose ? decodeHeader(JSON.parse(cached)) : JSON.parse(cached);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
ElectrumNetworkProvider.rawTransactionCache[key];
|
|
88
|
+
}
|
|
89
|
+
const result = (await this.performRequest("blockchain.header.get", height));
|
|
90
|
+
if (Config.UseLocalStorageCache) {
|
|
91
|
+
localStorage.setItem(key, JSON.stringify(result));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
ElectrumNetworkProvider.rawTransactionCache[key] = result;
|
|
95
|
+
}
|
|
96
|
+
return verbose ? decodeHeader(result) : result;
|
|
97
|
+
}
|
|
77
98
|
async getBlockHeight() {
|
|
78
99
|
return (await this.performRequest("blockchain.headers.get_tip"))
|
|
79
100
|
.height;
|
|
80
101
|
}
|
|
81
102
|
async getRawTransaction(txHash, verbose = false, loadInputValues = false) {
|
|
82
|
-
const key =
|
|
103
|
+
const key = `tx-${this.network}-${txHash}-${verbose}-${loadInputValues}`;
|
|
83
104
|
if (Config.UseLocalStorageCache) {
|
|
84
105
|
const cached = localStorage.getItem(key);
|
|
85
106
|
if (cached) {
|
|
@@ -150,8 +171,8 @@ export default class ElectrumNetworkProvider {
|
|
|
150
171
|
});
|
|
151
172
|
}
|
|
152
173
|
// Get transaction history of a given cashaddr
|
|
153
|
-
async getHistory(cashaddr) {
|
|
154
|
-
const result = (await this.performRequest("blockchain.address.get_history", cashaddr));
|
|
174
|
+
async getHistory(cashaddr, fromHeight = 0, toHeight = -1) {
|
|
175
|
+
const result = (await this.performRequest("blockchain.address.get_history", cashaddr, fromHeight, toHeight));
|
|
155
176
|
return result;
|
|
156
177
|
}
|
|
157
178
|
// Get the minimum fee a low-priority transaction must pay in order to be accepted to the daemon's memory pool.
|
|
@@ -212,9 +233,9 @@ export default class ElectrumNetworkProvider {
|
|
|
212
233
|
}
|
|
213
234
|
});
|
|
214
235
|
}
|
|
215
|
-
//
|
|
216
|
-
watchBlocks(callback) {
|
|
217
|
-
let acknowledged =
|
|
236
|
+
// watch for block headers and block height, if `skipCurrentHeight` is set, the notification about current block will not arrive
|
|
237
|
+
watchBlocks(callback, skipCurrentHeight = true) {
|
|
238
|
+
let acknowledged = !skipCurrentHeight;
|
|
218
239
|
const waitForBlockCallback = (_header) => {
|
|
219
240
|
if (!acknowledged) {
|
|
220
241
|
acknowledged = true;
|
|
@@ -366,5 +387,6 @@ export default class ElectrumNetworkProvider {
|
|
|
366
387
|
return [await this.electrum.disconnect(true)];
|
|
367
388
|
}
|
|
368
389
|
}
|
|
390
|
+
ElectrumNetworkProvider.rawHeaderCache = {};
|
|
369
391
|
ElectrumNetworkProvider.rawTransactionCache = {};
|
|
370
392
|
//# sourceMappingURL=ElectrumNetworkProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ElectrumNetworkProvider.js","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ElectrumNetworkProvider.js","sourceRoot":"","sources":["../../../src/network/ElectrumNetworkProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TxI, UtxoI, Network, HeaderI } from "../interface.js";
|
|
1
|
+
import { TxI, UtxoI, Network, HexHeaderI, HeaderI } from "../interface.js";
|
|
2
2
|
export default interface NetworkProvider {
|
|
3
3
|
/**
|
|
4
4
|
* Variable indicating the network that this provider connects to.
|
|
@@ -16,6 +16,11 @@ export default interface NetworkProvider {
|
|
|
16
16
|
* @returns the balance.
|
|
17
17
|
*/
|
|
18
18
|
getBalance(cashaddr: string): Promise<number>;
|
|
19
|
+
/**
|
|
20
|
+
* @returns The block header fetched at blockheight @param height.
|
|
21
|
+
* @param verbose steers the response type. If true, a verbose response is returned.
|
|
22
|
+
*/
|
|
23
|
+
getHeader(height: number, verbose: boolean): Promise<HeaderI | HexHeaderI>;
|
|
19
24
|
/**
|
|
20
25
|
* @returns The current block height.
|
|
21
26
|
*/
|
|
@@ -53,13 +58,13 @@ export default interface NetworkProvider {
|
|
|
53
58
|
* @throws {Error} When failing to get history.
|
|
54
59
|
* @returns Array of transactions.
|
|
55
60
|
*/
|
|
56
|
-
getHistory(cashaddr: string): Promise<TxI[]>;
|
|
61
|
+
getHistory(cashaddr: string, fromHeight?: number, toHeight?: number): Promise<TxI[]>;
|
|
57
62
|
/**
|
|
58
63
|
* Wait for the next block or a block at given blockchain height.
|
|
59
64
|
* @param height If specified, waits for blockchain to reach this height.
|
|
60
65
|
* @returns Block header.
|
|
61
66
|
*/
|
|
62
|
-
waitForBlock(height?: number): Promise<
|
|
67
|
+
waitForBlock(height?: number): Promise<HexHeaderI>;
|
|
63
68
|
/**
|
|
64
69
|
* Subscribe to the address change events
|
|
65
70
|
* @param cashaddr The CashAddress for which we wish to retrieve history.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/network/NetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"NetworkProvider.d.ts","sourceRoot":"","sources":["../../../src/network/NetworkProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE3E,MAAM,CAAC,OAAO,WAAW,eAAe;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAE7C;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC;IAE3E;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtD;;;;;;OAMG;IACH,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,kBAAkB,CAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,sBAAsB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;OAKG;IACH,0BAA0B,CACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;IAEpD;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3B;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/util/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,YAAY,cAAe,UAAU,KAAG,OAapD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const decodeHeader = (hexHeader) => {
|
|
2
|
+
const result = {};
|
|
3
|
+
const header = Buffer.from(hexHeader.hex, "hex");
|
|
4
|
+
result.version = header.readUInt32LE(0);
|
|
5
|
+
result.previousBlockHash = header.subarray(4, 36).reverse().toString("hex");
|
|
6
|
+
result.merkleRoot = header.subarray(36, 68).reverse().toString("hex");
|
|
7
|
+
result.timestamp = header.readUInt32LE(68);
|
|
8
|
+
result.bits = header.readUInt32LE(72);
|
|
9
|
+
result.nonce = header.readUInt32LE(76);
|
|
10
|
+
result.height = hexHeader.height;
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/util/header.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAqB,EAAW,EAAE;IAC7D,MAAM,MAAM,GAAG,EAAa,CAAC;IAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAEjC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -19,4 +19,5 @@ export { getXPubKey } from "../util/getXPubKey.js";
|
|
|
19
19
|
export { sumUtxoValue } from "./sumUtxoValue.js";
|
|
20
20
|
export { BalanceResponse, balanceFromSatoshi, balanceResponseFromSatoshi, } from "./balanceObjectFromSatoshi.js";
|
|
21
21
|
export * from "./sumUtxoValue.js";
|
|
22
|
+
export { decodeHeader } from "./header.js";
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,GACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,GACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -19,4 +19,5 @@ export { getXPubKey } from "../util/getXPubKey.js";
|
|
|
19
19
|
export { sumUtxoValue } from "./sumUtxoValue.js";
|
|
20
20
|
export { balanceFromSatoshi, balanceResponseFromSatoshi, } from "./balanceObjectFromSatoshi.js";
|
|
21
21
|
export * from "./sumUtxoValue.js";
|
|
22
|
+
export { decodeHeader } from "./header.js";
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,GACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAEL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,WAAW,EACX,MAAM,GACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAEL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CashAddressNetworkPrefix } from "@bitauth/libauth";
|
|
2
2
|
import { NetworkType, UnitEnum } from "../enum.js";
|
|
3
|
-
import { Network,
|
|
3
|
+
import { Network, HexHeaderI, TxI } from "../interface.js";
|
|
4
4
|
import { UtxoI } from "../interface.js";
|
|
5
5
|
import { BaseWallet } from "./Base.js";
|
|
6
6
|
import { WalletTypeEnum } from "./enum.js";
|
|
@@ -11,9 +11,9 @@ import { ElectrumRawTransaction } from "../network/interface.js";
|
|
|
11
11
|
import { RegTestUtil, RegTestWatchUtil, RegTestWifUtil, TestNetUtil, TestNetWatchUtil, TestNetWifUtil, Util, WatchUtil, WifUtil } from "./Util.js";
|
|
12
12
|
import { SignedMessageI } from "../message/index.js";
|
|
13
13
|
import ElectrumNetworkProvider from "../network/ElectrumNetworkProvider.js";
|
|
14
|
-
import { TransactionHistoryI } from "../history/interface.js";
|
|
15
14
|
import { IdentitySnapshot } from "./bcmr-v2.schema.js";
|
|
16
15
|
import { ImageI } from "../qr/interface.js";
|
|
16
|
+
import { TransactionHistoryItem } from "../history/interface.js";
|
|
17
17
|
/**
|
|
18
18
|
* Class to manage a bitcoin cash wallet.
|
|
19
19
|
*/
|
|
@@ -170,25 +170,46 @@ export declare class Wallet extends BaseWallet {
|
|
|
170
170
|
}>;
|
|
171
171
|
signUnsignedTransaction(transaction: Uint8Array | string, sourceOutputs: SourceOutput[]): Promise<Uint8Array>;
|
|
172
172
|
submitTransaction(transaction: Uint8Array, awaitPropagation?: boolean): Promise<string>;
|
|
173
|
-
getRawHistory(): Promise<TxI[]>;
|
|
174
|
-
|
|
173
|
+
getRawHistory(fromHeight?: number, toHeight?: number): Promise<TxI[]>;
|
|
174
|
+
/**
|
|
175
|
+
* getHistory gets transaction history of this wallet with most data decoded and ready to present to user
|
|
176
|
+
* @note balance calculations are valid only if querying to the blockchain tip (`toHeight` === -1, `count` === -1)
|
|
177
|
+
* @note this method is heavy on network calls, if invoked in browser use of cache is advised, @see `Config.UseLocalStorageCache`
|
|
178
|
+
* @note this method tries to recreate the history tab view of Electron Cash wallet, however, it may not be 100% accurate if the tnransaction value changes are the same in the same block (ordering)
|
|
179
|
+
*
|
|
180
|
+
* @param unit optional, BCH or currency unit to present balance and balance changes. If unit is currency like USD or EUR, balances will be subject to possible rounding errors. Default 0
|
|
181
|
+
* @param fromHeight optional, if set, history will be limited. Default 0
|
|
182
|
+
* @param toHeight optional, if set, history will be limited. Default -1, meaning that all history items will be returned, including mempool
|
|
183
|
+
* @param start optional, if set, the result set will be paginated with offset `start`
|
|
184
|
+
* @param count optional, if set, the result set will be paginated with `count`. Default -1, meaning that all history items will be returned
|
|
185
|
+
*
|
|
186
|
+
* @returns an array of transaction history items, with input values and addresses encoded in cashaddress format. @see `TransactionHistoryItem` type
|
|
187
|
+
*/
|
|
188
|
+
getHistory({ unit, fromHeight, toHeight, start, count, }: {
|
|
189
|
+
unit?: UnitEnum;
|
|
190
|
+
fromHeight?: number;
|
|
191
|
+
toHeight?: number;
|
|
192
|
+
start?: number;
|
|
193
|
+
count?: number;
|
|
194
|
+
}): Promise<TransactionHistoryItem[]>;
|
|
175
195
|
getLastTransaction(confirmedOnly?: boolean): Promise<ElectrumRawTransaction | null>;
|
|
176
196
|
waitForTransaction(options?: WaitForTransactionOptions): Promise<WaitForTransactionResponse>;
|
|
177
197
|
/**
|
|
178
198
|
* watchBlocks Watch network blocks
|
|
179
199
|
*
|
|
180
200
|
* @param callback callback with a block header object
|
|
201
|
+
* @param skipCurrentHeight if set, the notification about current block will not arrive
|
|
181
202
|
*
|
|
182
203
|
* @returns a function which will cancel watching upon evaluation
|
|
183
204
|
*/
|
|
184
|
-
watchBlocks(callback: (header:
|
|
205
|
+
watchBlocks(callback: (header: HexHeaderI) => void, skipCurrentHeight?: boolean): CancelWatchFn;
|
|
185
206
|
/**
|
|
186
207
|
* waitForBlock Wait for a network block
|
|
187
208
|
*
|
|
188
209
|
* @param height if specified waits for this exact blockchain height, otherwise resolves with the next block
|
|
189
210
|
*
|
|
190
211
|
*/
|
|
191
|
-
waitForBlock(height?: number): Promise<
|
|
212
|
+
waitForBlock(height?: number): Promise<HexHeaderI>;
|
|
192
213
|
private deriveInfo;
|
|
193
214
|
sign(message: string): Promise<import("../message/interface.js").SignedMessageResponseI>;
|
|
194
215
|
verify(message: string, sig: string, publicKey?: Uint8Array): Promise<import("../message/interface.js").VerifyMessageResponseI>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wif.d.ts","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Wif.d.ts","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,wBAAwB,EASzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAwB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAiB,MAAM,iBAAiB,CAAC;AAG1E,OAAO,EAAe,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAiB,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEL,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AAWpB,OAAO,EAGL,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAe7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,SAAS,EACT,OAAO,EACR,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAiB,MAAM,qBAAqB,CAAC;AACpE,OAAO,uBAAuB,MAAM,uCAAuC,CAAC;AAM5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAIjE;;GAEG;AACH,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,aAAa,2BAAoC;IAExD,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAA+C;IACrE,oBAAoB,EAAE,MAAM,CAAsC;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,aAAa,EAAE,wBAAwB,CAAC;IACxC,aAAa,EAAE,OAAO,CAAS;IAC/B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,MAAM,CAAC,aAAa,EAAE,cAAc,CAAuB;IAI3D,IAAW,IAAI,SAMd;IAGD,WAAkB,IAAI,gBAErB;IAEM,YAAY,CAAC,KAAK,GAAE,OAAc,GAAG,MAAM;IAK3C,kBAAkB,CAAC,OAAO,GAAE,OAAyB;IAI5D;;;;OAIG;IACI,sBAAsB,IAAI,MAAM;IAIvC;;;;OAIG;IACI,iBAAiB,IAAI,MAAM;IAIlC;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM;IAWxB,OAAO,IAAI,WAAW;IAuBtB,YAAY,CAAC,GAAG,UAAQ,GAAG,MAAM,GAAG,UAAU;IAW9C,sBAAsB,CAAC,GAAG,UAAQ,GAAG,MAAM,GAAG,UAAU;IAaxD,gBAAgB,CAAC,GAAG,UAAQ,GAAG,MAAM,GAAG,UAAU;gBAcvD,IAAI,SAAK,EACT,OAAO,cAAsB,EAC7B,UAAU,iBAAsB;IAMlC;;;;;;OAMG;WACiB,OAAO,CAAC,CAAC,SAAS,OAAO,MAAM,EACjD,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI3B;;;;;;;;;OASG;WACiB,YAAY,CAAC,CAAC,SAAS,OAAO,MAAM,EACtD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAQ3B;;;;;;;;;OASG;WACiB,aAAa,CAAC,CAAC,SAAS,OAAO,MAAM,EACvD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;cAUX,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAe3B,YAAY;YAOZ,iBAAiB;IA4B/B,SAAS,CAAC,MAAM,aAAoB,MAAM,KAAG,QAAQ,IAAI,CAAC,CAaxD;IAEW,WAAW,CAAC,KAAK,CAAC,KAAA;cAaf,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;IAwCH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;cA2C7C,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cA+CzC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAgBtC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAKvD,KAAK,CACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,GAAE,OAAe,GACxB,OAAO,CAAC,IAAI,CAAC;cAKA,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;cAKA,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrE,QAAQ;IAYR,UAAU;IAcJ,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAehE;;;OAGG;IACU,QAAQ;IAQR,UAAU,CACrB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,UAAO,GAChB,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;IAiBvB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAQtC,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAc/C,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,aAAa;IAQ/D,wBAAwB,CAC7B,QAAQ,EAAE,CAAC,EAAE,EAAE,sBAAsB,KAAK,IAAI,GAC7C,aAAa;IAQT,6BAA6B,CAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,sBAAsB,KAAK,IAAI,GAC7C,aAAa;IAQT,YAAY,CACjB,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAC3C,aAAa;IAeT,eAAe,CACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,EAC5C,uBAAuB,SAAQ,GAC9B,aAAa;IA2BH,cAAc,CACzB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,QAAuB,GAC/B,OAAO,CAAC,eAAe,CAAC;IAgBpB,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,aAAa;IAgBH,mBAAmB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAcL,YAAY,CACvB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAI1B,mBAAmB;IAiFpB,kBAAkB,CAC7B,MAAM,GAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAI/B,GACA,OAAO,CAAC,eAAe,CAAC;IAM3B;;;;;;;OAOG;IACU,IAAI,CACf,QAAQ,EACJ,WAAW,GACX,gBAAgB,GAChB,YAAY,GACZ,KAAK,CAAC,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC,GACpD,gBAAgB,EAAE,EACtB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC;IA+BxB;;;;;;;OAOG;IACU,OAAO,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC;IAIxB;;;;;;;OAOG;YACW,UAAU;IAqDxB;;;;;OAKG;IACU,iBAAiB,CAC5B,QAAQ,EACJ,WAAW,GACX,gBAAgB,GAChB,YAAY,GACZ,KAAK,CAAC,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC,GACpD,gBAAgB,EAAE,EACtB,aAAa,GAAE,OAAe,EAC9B,OAAO,CAAC,EAAE,mBAAmB;;;;;IA4MlB,uBAAuB,CAClC,WAAW,EAAE,UAAU,GAAG,MAAM,EAChC,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,UAAU,CAAC;IAaT,iBAAiB,CAC5B,WAAW,EAAE,UAAU,EACvB,gBAAgB,GAAE,OAAc,GAC/B,OAAO,CAAC,MAAM,CAAC;IAYL,aAAa,CACxB,UAAU,GAAE,MAAU,EACtB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,GAAG,EAAE,CAAC;IAQjB;;;;;;;;;;;;;OAaG;IACU,UAAU,CAAC,EACtB,IAAY,EACZ,UAAc,EACd,QAAa,EACb,KAAS,EACT,KAAU,GACX,EAAE;QACD,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAaxB,kBAAkB,CAC7B,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAe5B,kBAAkB,CAC7B,OAAO,GAAE,yBAIR,GACA,OAAO,CAAC,0BAA0B,CAAC;IA8DtC;;;;;;;OAOG;IACI,WAAW,CAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EACtC,iBAAiB,GAAE,OAAc,GAChC,aAAa;IAOhB;;;;;OAKG;IACU,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAMjD,UAAU;IA4BX,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU;IAWxE;;;;;;;;;;OAUG;IACU,YAAY,CACvB,cAAc,EAAE,mBAAmB,EACnC,YAAY,GAAE,eAAe,GAAG,eAAe,EAAO,EACtD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC;IA2CxB;;;;;;;;;;;OAWG;IACU,SAAS,CACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,EACxD,iBAAiB,GAAE,OAAe,EAClC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC;IA0DxB;;;;;;;;;;;;;;;OAeG;IACU,SAAS,CACpB,WAAW,EAAE,gBAAgB,EAC7B,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,CAAC;IAkGxB;;;;;OAKG;IACU,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAO9D;;;;;OAKG;IACU,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D;;;;;;OAMG;IACU,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOjE;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAc1E;;;OAGG;IACU,sBAAsB,IAAI,OAAO,CAAC;QAC7C,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;KAC3B,CAAC;CAcH;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,MAAM;IACvC,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,YAAY,SAAwC;gBAC/C,IAAI,SAAK;IAKrB,WAAkB,IAAI,uBAErB;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,MAAM;IACvC,MAAM,CAAC,aAAa,2BAAoC;gBAC5C,IAAI,SAAK;IAKrB,WAAkB,IAAI,uBAErB;CACF;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,MAAM;IACnC,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,UAAU,iBAAsB;gBAC3B,IAAI,SAAK;IAKrB,WAAkB,IAAI,mBAErB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,MAAM;IAC1C,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,UAAU,iBAAsB;gBAC3B,IAAI,SAAK;IAKrB,WAAkB,IAAI,0BAErB;CACF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,MAAM;IAC1C,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,UAAU,iBAAsB;gBAC3B,IAAI,SAAK;IAKrB,WAAkB,IAAI,0BAErB;CACF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,UAAU,iBAAwB;gBAC7B,IAAI,SAAK;IAKrB,WAAkB,IAAI,qBAErB;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;IAC5C,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,UAAU,iBAAwB;gBAC7B,IAAI,SAAK;IAKrB,WAAkB,IAAI,4BAErB;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,MAAM;IAC5C,MAAM,CAAC,aAAa,2BAAoC;IACxD,MAAM,CAAC,UAAU,iBAAwB;gBAC7B,IAAI,SAAK;IAKrB,WAAkB,IAAI,4BAErB;CACF"}
|
|
@@ -860,12 +860,33 @@ export class Wallet extends BaseWallet {
|
|
|
860
860
|
return await this.provider.sendRawTransaction(rawTransaction, awaitPropagation);
|
|
861
861
|
}
|
|
862
862
|
// gets transaction history of this wallet
|
|
863
|
-
async getRawHistory() {
|
|
864
|
-
return await this.provider.getHistory(this.cashaddr);
|
|
863
|
+
async getRawHistory(fromHeight = 0, toHeight = -1) {
|
|
864
|
+
return await this.provider.getHistory(this.cashaddr, fromHeight, toHeight);
|
|
865
865
|
}
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
866
|
+
/**
|
|
867
|
+
* getHistory gets transaction history of this wallet with most data decoded and ready to present to user
|
|
868
|
+
* @note balance calculations are valid only if querying to the blockchain tip (`toHeight` === -1, `count` === -1)
|
|
869
|
+
* @note this method is heavy on network calls, if invoked in browser use of cache is advised, @see `Config.UseLocalStorageCache`
|
|
870
|
+
* @note this method tries to recreate the history tab view of Electron Cash wallet, however, it may not be 100% accurate if the tnransaction value changes are the same in the same block (ordering)
|
|
871
|
+
*
|
|
872
|
+
* @param unit optional, BCH or currency unit to present balance and balance changes. If unit is currency like USD or EUR, balances will be subject to possible rounding errors. Default 0
|
|
873
|
+
* @param fromHeight optional, if set, history will be limited. Default 0
|
|
874
|
+
* @param toHeight optional, if set, history will be limited. Default -1, meaning that all history items will be returned, including mempool
|
|
875
|
+
* @param start optional, if set, the result set will be paginated with offset `start`
|
|
876
|
+
* @param count optional, if set, the result set will be paginated with `count`. Default -1, meaning that all history items will be returned
|
|
877
|
+
*
|
|
878
|
+
* @returns an array of transaction history items, with input values and addresses encoded in cashaddress format. @see `TransactionHistoryItem` type
|
|
879
|
+
*/
|
|
880
|
+
async getHistory({ unit = "sat", fromHeight = 0, toHeight = -1, start = 0, count = -1, }) {
|
|
881
|
+
return getAddressHistory({
|
|
882
|
+
address: this.cashaddr,
|
|
883
|
+
provider: this.provider,
|
|
884
|
+
unit,
|
|
885
|
+
fromHeight,
|
|
886
|
+
toHeight,
|
|
887
|
+
start,
|
|
888
|
+
count,
|
|
889
|
+
});
|
|
869
890
|
}
|
|
870
891
|
// gets last transaction of this wallet
|
|
871
892
|
async getLastTransaction(confirmedOnly = false) {
|
|
@@ -932,11 +953,12 @@ export class Wallet extends BaseWallet {
|
|
|
932
953
|
* watchBlocks Watch network blocks
|
|
933
954
|
*
|
|
934
955
|
* @param callback callback with a block header object
|
|
956
|
+
* @param skipCurrentHeight if set, the notification about current block will not arrive
|
|
935
957
|
*
|
|
936
958
|
* @returns a function which will cancel watching upon evaluation
|
|
937
959
|
*/
|
|
938
|
-
watchBlocks(callback) {
|
|
939
|
-
return this.provider.watchBlocks(callback);
|
|
960
|
+
watchBlocks(callback, skipCurrentHeight = true) {
|
|
961
|
+
return this.provider.watchBlocks(callback, skipCurrentHeight);
|
|
940
962
|
}
|
|
941
963
|
/**
|
|
942
964
|
* waitForBlock Wait for a network block
|