@bsv/wallet-toolbox-client 1.1.13 → 1.1.15
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/out/src/SetupClient.d.ts +9 -0
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +19 -3
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/Wallet.d.ts +6 -0
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +57 -0
- package/out/src/Wallet.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +18 -13
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/services/Services.d.ts +4 -11
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +19 -37
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +1 -0
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +16 -4
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.d.ts +91 -0
- package/out/src/services/providers/ARC.d.ts.map +1 -0
- package/out/src/services/providers/ARC.js +192 -0
- package/out/src/services/providers/ARC.js.map +1 -0
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +21 -0
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -0
- package/out/src/services/providers/SdkWhatsOnChain.js +67 -0
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -0
- package/out/src/services/providers/WhatsOnChain.d.ts +35 -0
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -0
- package/out/src/services/providers/WhatsOnChain.js +266 -0
- package/out/src/services/providers/WhatsOnChain.js.map +1 -0
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +9 -2
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +12 -1
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +24 -1
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +1 -1
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/utility/utilityHelpers.js +1 -1
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/package.json +3 -4
- package/out/src/services/providers/arcServices.d.ts +0 -62
- package/out/src/services/providers/arcServices.d.ts.map +0 -1
- package/out/src/services/providers/arcServices.js +0 -375
- package/out/src/services/providers/arcServices.js.map +0 -1
- package/out/src/services/providers/whatsonchain.d.ts +0 -17
- package/out/src/services/providers/whatsonchain.d.ts.map +0 -1
- package/out/src/services/providers/whatsonchain.js +0 -130
- package/out/src/services/providers/whatsonchain.js.map +0 -1
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getMerklePathFromWhatsOnChainTsc = getMerklePathFromWhatsOnChainTsc;
|
|
7
|
-
exports.getRawTxFromWhatsOnChain = getRawTxFromWhatsOnChain;
|
|
8
|
-
exports.getUtxoStatusFromWhatsOnChain = getUtxoStatusFromWhatsOnChain;
|
|
9
|
-
exports.updateBsvExchangeRate = updateBsvExchangeRate;
|
|
10
|
-
const index_client_1 = require("../../index.client");
|
|
11
|
-
const tscProofToMerklePath_1 = require("../../utility/tscProofToMerklePath");
|
|
12
|
-
const axios_1 = __importDefault(require("axios"));
|
|
13
|
-
const whatsonchain_1 = __importDefault(require("whatsonchain"));
|
|
14
|
-
/**
|
|
15
|
-
* WhatOnChain.com has their own "hash/pos/R/L" proof format and a more TSC compliant proof format.
|
|
16
|
-
*
|
|
17
|
-
* The "/proof/tsc" endpoint is much closer to the TSC specification. It provides "index" directly and each node is just the provided hash value.
|
|
18
|
-
* The "targetType" is unspecified and thus defaults to block header hash, requiring a Chaintracks lookup to get the merkleRoot...
|
|
19
|
-
* Duplicate hash values are provided in full instead of being replaced by "*".
|
|
20
|
-
*
|
|
21
|
-
* @param txid
|
|
22
|
-
* @param chain
|
|
23
|
-
* @returns
|
|
24
|
-
*/
|
|
25
|
-
async function getMerklePathFromWhatsOnChainTsc(txid, chain, services) {
|
|
26
|
-
const r = { name: 'WoCTsc' };
|
|
27
|
-
try {
|
|
28
|
-
const url = `https://api.whatsonchain.com/v1/bsv/${chain}/tx/${txid}/proof/tsc`;
|
|
29
|
-
let { data } = await axios_1.default.get(url);
|
|
30
|
-
if (!data || data.length < 1)
|
|
31
|
-
return r;
|
|
32
|
-
if (!data['target'])
|
|
33
|
-
data = data[0];
|
|
34
|
-
const p = data;
|
|
35
|
-
const header = await services.hashToHeader(p.target);
|
|
36
|
-
if (!header)
|
|
37
|
-
throw new index_client_1.sdk.WERR_INVALID_PARAMETER('blockhash', 'a valid on-chain block hash');
|
|
38
|
-
const proof = { index: p.index, nodes: p.nodes, height: header.height };
|
|
39
|
-
r.merklePath = (0, tscProofToMerklePath_1.convertProofToMerklePath)(txid, proof);
|
|
40
|
-
r.header = header;
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
r.error = index_client_1.sdk.WalletError.fromUnknown(err);
|
|
44
|
-
}
|
|
45
|
-
return r;
|
|
46
|
-
}
|
|
47
|
-
async function getRawTxFromWhatsOnChain(txid, chain) {
|
|
48
|
-
const r = { name: 'WoC', txid: (0, index_client_1.asString)(txid) };
|
|
49
|
-
try {
|
|
50
|
-
const url = `https://api.whatsonchain.com/v1/bsv/${chain}/tx/${txid}/hex`;
|
|
51
|
-
const { data } = await axios_1.default.get(url);
|
|
52
|
-
if (!data)
|
|
53
|
-
return r;
|
|
54
|
-
r.rawTx = (0, index_client_1.asArray)(data);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
r.error = index_client_1.sdk.WalletError.fromUnknown(err);
|
|
58
|
-
}
|
|
59
|
-
return r;
|
|
60
|
-
}
|
|
61
|
-
async function getUtxoStatusFromWhatsOnChain(output, chain, outputFormat) {
|
|
62
|
-
const r = {
|
|
63
|
-
name: 'WoC',
|
|
64
|
-
status: 'error',
|
|
65
|
-
error: new index_client_1.sdk.WERR_INTERNAL(),
|
|
66
|
-
details: []
|
|
67
|
-
};
|
|
68
|
-
for (let retry = 0;; retry++) {
|
|
69
|
-
let url = '';
|
|
70
|
-
try {
|
|
71
|
-
const scriptHash = (0, index_client_1.validateScriptHash)(output, outputFormat);
|
|
72
|
-
url = `https://api.whatsonchain.com/v1/bsv/${chain}/script/${scriptHash}/unspent`;
|
|
73
|
-
const { data } = await axios_1.default.get(url);
|
|
74
|
-
if (Array.isArray(data)) {
|
|
75
|
-
if (data.length === 0) {
|
|
76
|
-
r.status = 'success';
|
|
77
|
-
r.error = undefined;
|
|
78
|
-
r.isUtxo = false;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
r.status = 'success';
|
|
82
|
-
r.error = undefined;
|
|
83
|
-
r.isUtxo = true;
|
|
84
|
-
for (const s of data) {
|
|
85
|
-
r.details.push({
|
|
86
|
-
txid: s.tx_hash,
|
|
87
|
-
satoshis: s.value,
|
|
88
|
-
height: s.height,
|
|
89
|
-
index: s.tx_pos
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
throw new index_client_1.sdk.WERR_INTERNAL('data is not an array');
|
|
96
|
-
}
|
|
97
|
-
return r;
|
|
98
|
-
}
|
|
99
|
-
catch (eu) {
|
|
100
|
-
const e = index_client_1.sdk.WalletError.fromUnknown(eu);
|
|
101
|
-
if (e.code !== 'ECONNRESET' || retry > 2) {
|
|
102
|
-
r.error = new index_client_1.sdk.WERR_INTERNAL(`service failure: ${url}, error: ${JSON.stringify(index_client_1.sdk.WalletError.fromUnknown(eu))}`);
|
|
103
|
-
return r;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return r;
|
|
108
|
-
}
|
|
109
|
-
async function updateBsvExchangeRate(rate, updateMsecs) {
|
|
110
|
-
if (rate) {
|
|
111
|
-
// Check if the rate we know is stale enough to update.
|
|
112
|
-
updateMsecs || (updateMsecs = 1000 * 60 * 15);
|
|
113
|
-
if (new Date(Date.now() - updateMsecs) < rate.timestamp)
|
|
114
|
-
return rate;
|
|
115
|
-
}
|
|
116
|
-
// TODO: Expand to redundant services with caching...
|
|
117
|
-
const woc = new whatsonchain_1.default();
|
|
118
|
-
const r = await woc.exchangeRate();
|
|
119
|
-
const wocrate = r;
|
|
120
|
-
if (wocrate.currency !== 'USD')
|
|
121
|
-
wocrate.rate = NaN;
|
|
122
|
-
const newRate = {
|
|
123
|
-
timestamp: new Date(),
|
|
124
|
-
base: 'USD',
|
|
125
|
-
rate: wocrate.rate
|
|
126
|
-
};
|
|
127
|
-
//console.log(`new bsv rate=${JSON.stringify(newRate)}`)
|
|
128
|
-
return newRate;
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=whatsonchain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"whatsonchain.js","sourceRoot":"","sources":["../../../../../src/services/providers/whatsonchain.ts"],"names":[],"mappings":"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"}
|