@bsv/wallet-toolbox 1.1.12 → 1.1.14
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/.github/workflows/push.yaml +2 -2
- package/README.md +3 -22
- package/docs/README.md +16 -10
- package/docs/client.md +490 -382
- package/docs/open-rpc/index.html +46 -0
- package/docs/services.md +236 -211
- package/docs/setup.md +51 -34
- package/docs/storage.md +30 -5
- package/docs/wallet.md +490 -382
- package/out/src/SetupClient.d.ts +9 -0
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +34 -18
- 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/__tests/ARC.test.d.ts +2 -0
- package/out/src/services/__tests/ARC.test.d.ts.map +1 -0
- package/out/src/services/__tests/ARC.test.js +98 -0
- package/out/src/services/__tests/ARC.test.js.map +1 -0
- package/out/src/services/__tests/arcServices.test.d.ts +2 -0
- package/out/src/services/__tests/arcServices.test.d.ts.map +1 -0
- package/out/src/services/__tests/arcServices.test.js +7 -0
- package/out/src/services/__tests/arcServices.test.js.map +1 -0
- package/out/src/services/__tests/postBeef.test.js +45 -7
- package/out/src/services/__tests/postBeef.test.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/services/providers/__tests/WhatsOnChain.test.d.ts +2 -0
- package/out/src/services/providers/__tests/WhatsOnChain.test.d.ts.map +1 -0
- package/out/src/services/providers/__tests/WhatsOnChain.test.js +176 -0
- package/out/src/services/providers/__tests/WhatsOnChain.test.js.map +1 -0
- package/out/src/signer/methods/createAction.js +3 -3
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/signAction.js +1 -1
- package/out/src/signer/methods/signAction.js.map +1 -1
- 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/storage/schema/entities/__tests/ProvenTxTests.test.js +0 -1
- package/out/src/storage/schema/entities/__tests/ProvenTxTests.test.js.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.js +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
- package/out/src/utility/{ScriptTemplateSABPPP.d.ts → ScriptTemplateBRC29.d.ts} +6 -6
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -0
- package/out/src/utility/{ScriptTemplateSABPPP.js → ScriptTemplateBRC29.js} +4 -4
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -0
- package/out/src/utility/index.all.d.ts +1 -1
- package/out/src/utility/index.all.d.ts.map +1 -1
- package/out/src/utility/index.all.js +1 -1
- package/out/src/utility/index.all.js.map +1 -1
- package/out/src/utility/index.client.d.ts +1 -1
- package/out/src/utility/index.client.d.ts.map +1 -1
- package/out/src/utility/index.client.js +1 -1
- package/out/src/utility/index.client.js.map +1 -1
- package/out/src/utility/utilityHelpers.js +1 -1
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/test/Wallet/StorageClient/storageClient.man.test.js +22 -3
- package/out/test/Wallet/StorageClient/storageClient.man.test.js.map +1 -1
- package/out/test/Wallet/live/walletLive.man.test.js +2 -2
- package/out/test/Wallet/live/walletLive.man.test.js.map +1 -1
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js +40 -0
- package/out/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.js.map +1 -1
- package/out/test/services/Services.test.js +0 -31
- package/out/test/services/Services.test.js.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.d.ts +26 -18
- package/out/test/utils/TestUtilsWalletStorage.d.ts.map +1 -1
- package/out/test/utils/TestUtilsWalletStorage.js +135 -27
- package/out/test/utils/TestUtilsWalletStorage.js.map +1 -1
- package/out/test/wallet/list/listActions2.test.js +36 -2
- package/out/test/wallet/list/listActions2.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +5 -7
- package/src/SetupClient.ts +41 -21
- package/src/Wallet.ts +66 -2
- package/src/sdk/WalletServices.interfaces.ts +19 -14
- package/src/services/Services.ts +23 -62
- package/src/services/__tests/ARC.test.ts +110 -0
- package/src/services/__tests/arcServices.test.ts +8 -0
- package/src/services/__tests/postBeef.test.ts +47 -9
- package/src/services/createDefaultWalletServicesOptions.ts +19 -6
- package/src/services/providers/ARC.ts +289 -0
- package/src/services/providers/SdkWhatsOnChain.ts +96 -0
- package/src/services/providers/WhatsOnChain.ts +369 -0
- package/src/services/providers/__tests/WhatsOnChain.test.ts +227 -0
- package/src/signer/methods/createAction.ts +4 -4
- package/src/signer/methods/signAction.ts +2 -2
- package/src/storage/methods/createAction.ts +26 -4
- package/src/storage/methods/generateChange.ts +42 -2
- package/src/storage/methods/processAction.ts +2 -1
- package/src/storage/schema/entities/__tests/ProvenTxTests.test.ts +0 -1
- package/src/storage/sync/StorageMySQLDojoReader.ts +1 -1
- package/src/utility/{ScriptTemplateSABPPP.ts → ScriptTemplateBRC29.ts} +6 -8
- package/src/utility/index.all.ts +1 -1
- package/src/utility/index.client.ts +1 -1
- package/src/utility/utilityHelpers.ts +1 -1
- package/test/Wallet/StorageClient/storageClient.man.test.ts +30 -4
- package/test/Wallet/live/walletLive.man.test.ts +3 -3
- package/test/Wallet/sync/Wallet.updateWalletLegacyTestData.man.test.ts +54 -0
- package/test/services/Services.test.ts +0 -30
- package/test/utils/TestUtilsWalletStorage.ts +175 -45
- package/test/wallet/list/listActions2.test.ts +4 -7
- package/out/src/services/__tests/postBeefToArcTaal.test.d.ts +0 -2
- package/out/src/services/__tests/postBeefToArcTaal.test.d.ts.map +0 -1
- package/out/src/services/__tests/postBeefToArcTaal.test.js +0 -479
- package/out/src/services/__tests/postBeefToArcTaal.test.js.map +0 -1
- package/out/src/services/__tests/postTxs.test.d.ts +0 -2
- package/out/src/services/__tests/postTxs.test.d.ts.map +0 -1
- package/out/src/services/__tests/postTxs.test.js +0 -28
- package/out/src/services/__tests/postTxs.test.js.map +0 -1
- 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
- package/out/src/utility/ScriptTemplateSABPPP.d.ts.map +0 -1
- package/out/src/utility/ScriptTemplateSABPPP.js.map +0 -1
- package/out/test/examples/README.man.test.d.ts +0 -2
- package/out/test/examples/README.man.test.d.ts.map +0 -1
- package/out/test/examples/README.man.test.js +0 -47
- package/out/test/examples/README.man.test.js.map +0 -1
- package/src/services/__tests/postBeefToArcTaal.test.ts +0 -487
- package/src/services/__tests/postTxs.test.ts +0 -28
- package/src/services/providers/arcServices.ts +0 -578
- package/src/services/providers/whatsonchain.ts +0 -170
- package/test/examples/README.man.test.ts +0 -53
package/docs/services.md
CHANGED
|
@@ -23,63 +23,84 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
23
23
|
|
|
24
24
|
| |
|
|
25
25
|
| --- |
|
|
26
|
+
| [ArcConfig](#interface-arcconfig) |
|
|
26
27
|
| [ArcMinerGetTxData](#interface-arcminergettxdata) |
|
|
27
|
-
| [ArcMinerPostBeefDataApi](#interface-arcminerpostbeefdataapi) |
|
|
28
|
-
| [ArcMinerPostTxsData](#interface-arcminerposttxsdata) |
|
|
29
|
-
| [ArcServiceConfig](#interface-arcserviceconfig) |
|
|
30
28
|
| [ExchangeRatesIoApi](#interface-exchangeratesioapi) |
|
|
31
29
|
|
|
32
30
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
33
31
|
|
|
34
32
|
---
|
|
35
33
|
|
|
36
|
-
##### Interface:
|
|
34
|
+
##### Interface: ArcConfig
|
|
35
|
+
|
|
36
|
+
Configuration options for the ARC broadcaster.
|
|
37
37
|
|
|
38
38
|
```ts
|
|
39
|
-
export interface
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
merklePath: string;
|
|
47
|
-
timestamp: string;
|
|
48
|
-
txid: string;
|
|
49
|
-
txStatus: string;
|
|
39
|
+
export interface ArcConfig {
|
|
40
|
+
apiKey?: string;
|
|
41
|
+
httpClient?: HttpClient;
|
|
42
|
+
deploymentId?: string;
|
|
43
|
+
callbackUrl?: string;
|
|
44
|
+
callbackToken?: string;
|
|
45
|
+
headers?: Record<string, string>;
|
|
50
46
|
}
|
|
51
47
|
```
|
|
52
48
|
|
|
53
|
-
|
|
49
|
+
###### Property apiKey
|
|
54
50
|
|
|
55
|
-
|
|
56
|
-
##### Interface: ArcMinerPostBeefDataApi
|
|
51
|
+
Authentication token for the ARC API
|
|
57
52
|
|
|
58
53
|
```ts
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
54
|
+
apiKey?: string
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
###### Property callbackToken
|
|
58
|
+
|
|
59
|
+
default access token for notification callback endpoint. It will be used as a Authorization header for the http callback
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
callbackToken?: string
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
###### Property callbackUrl
|
|
66
|
+
|
|
67
|
+
notification callback endpoint for proofs and double spend notification
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
callbackUrl?: string
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
###### Property deploymentId
|
|
74
|
+
|
|
75
|
+
Deployment id used annotating api calls in XDeployment-ID header - this value will be randomly generated if not set
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
deploymentId?: string
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
###### Property headers
|
|
82
|
+
|
|
83
|
+
additional headers to be attached to all tx submissions.
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
headers?: Record<string, string>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
###### Property httpClient
|
|
90
|
+
|
|
91
|
+
The HTTP client used to make requests to the ARC API.
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
httpClient?: HttpClient
|
|
74
95
|
```
|
|
75
96
|
|
|
76
97
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
77
98
|
|
|
78
99
|
---
|
|
79
|
-
##### Interface:
|
|
100
|
+
##### Interface: ArcMinerGetTxData
|
|
80
101
|
|
|
81
102
|
```ts
|
|
82
|
-
export interface
|
|
103
|
+
export interface ArcMinerGetTxData {
|
|
83
104
|
status: number;
|
|
84
105
|
title: string;
|
|
85
106
|
blockHash: string;
|
|
@@ -95,19 +116,6 @@ export interface ArcMinerPostTxsData {
|
|
|
95
116
|
|
|
96
117
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
97
118
|
|
|
98
|
-
---
|
|
99
|
-
##### Interface: ArcServiceConfig
|
|
100
|
-
|
|
101
|
-
```ts
|
|
102
|
-
export interface ArcServiceConfig {
|
|
103
|
-
name: string;
|
|
104
|
-
url: string;
|
|
105
|
-
arcConfig: ArcConfig;
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
110
|
-
|
|
111
119
|
---
|
|
112
120
|
##### Interface: ExchangeRatesIoApi
|
|
113
121
|
|
|
@@ -128,13 +136,144 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
128
136
|
|
|
129
137
|
| |
|
|
130
138
|
| --- |
|
|
139
|
+
| [ARC](#class-arc) |
|
|
140
|
+
| [SdkWhatsOnChain](#class-sdkwhatsonchain) |
|
|
131
141
|
| [ServiceCollection](#class-servicecollection) |
|
|
132
142
|
| [Services](#class-services) |
|
|
143
|
+
| [WhatsOnChain](#class-whatsonchain) |
|
|
144
|
+
|
|
145
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
##### Class: ARC
|
|
150
|
+
|
|
151
|
+
Represents an ARC transaction broadcaster.
|
|
152
|
+
|
|
153
|
+
```ts
|
|
154
|
+
export default class ARC {
|
|
155
|
+
readonly URL: string;
|
|
156
|
+
readonly apiKey: string | undefined;
|
|
157
|
+
readonly deploymentId: string;
|
|
158
|
+
readonly callbackUrl: string | undefined;
|
|
159
|
+
readonly callbackToken: string | undefined;
|
|
160
|
+
readonly headers: Record<string, string> | undefined;
|
|
161
|
+
constructor(URL: string, config?: ArcConfig);
|
|
162
|
+
constructor(URL: string, apiKey?: string);
|
|
163
|
+
constructor(URL: string, config?: string | ArcConfig)
|
|
164
|
+
async postRawTx(rawTx: HexString, txids?: string[]): Promise<sdk.PostTxResultForTxid>
|
|
165
|
+
async postBeef(beef: Beef, txids: string[]): Promise<sdk.PostBeefResult>
|
|
166
|
+
async getTxData(txid: string): Promise<ArcMinerGetTxData>
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
See also: [ArcConfig](./services.md#interface-arcconfig), [ArcMinerGetTxData](./services.md#interface-arcminergettxdata), [PostBeefResult](./client.md#interface-postbeefresult), [PostTxResultForTxid](./client.md#interface-posttxresultfortxid)
|
|
171
|
+
|
|
172
|
+
###### Constructor
|
|
173
|
+
|
|
174
|
+
Constructs an instance of the ARC broadcaster.
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
constructor(URL: string, config?: ArcConfig)
|
|
178
|
+
```
|
|
179
|
+
See also: [ArcConfig](./services.md#interface-arcconfig)
|
|
180
|
+
|
|
181
|
+
Argument Details
|
|
182
|
+
|
|
183
|
+
+ **URL**
|
|
184
|
+
+ The URL endpoint for the ARC API.
|
|
185
|
+
+ **config**
|
|
186
|
+
+ Configuration options for the ARC broadcaster.
|
|
187
|
+
|
|
188
|
+
###### Constructor
|
|
189
|
+
|
|
190
|
+
Constructs an instance of the ARC broadcaster.
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
constructor(URL: string, apiKey?: string)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Argument Details
|
|
197
|
+
|
|
198
|
+
+ **URL**
|
|
199
|
+
+ The URL endpoint for the ARC API.
|
|
200
|
+
+ **apiKey**
|
|
201
|
+
+ The API key used for authorization with the ARC API.
|
|
202
|
+
|
|
203
|
+
###### Method getTxData
|
|
204
|
+
|
|
205
|
+
This seems to only work for recently submitted txids...but that's all we need to complete postBeef!
|
|
206
|
+
|
|
207
|
+
```ts
|
|
208
|
+
async getTxData(txid: string): Promise<ArcMinerGetTxData>
|
|
209
|
+
```
|
|
210
|
+
See also: [ArcMinerGetTxData](./services.md#interface-arcminergettxdata)
|
|
211
|
+
|
|
212
|
+
###### Method postBeef
|
|
213
|
+
|
|
214
|
+
ARC does not natively support a postBeef end-point aware of multiple txids of interest in the Beef.
|
|
215
|
+
|
|
216
|
+
It does process multiple new transactions, however, which allows results for all txids of interest
|
|
217
|
+
to be collected by the `/v1/tx/${txid}` endpoint.
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
async postBeef(beef: Beef, txids: string[]): Promise<sdk.PostBeefResult>
|
|
221
|
+
```
|
|
222
|
+
See also: [PostBeefResult](./client.md#interface-postbeefresult)
|
|
223
|
+
|
|
224
|
+
###### Method postRawTx
|
|
225
|
+
|
|
226
|
+
The ARC '/v1/tx' endpoint, as of 2025-02-17 supports all of the following hex string formats:
|
|
227
|
+
1. Single serialized raw transaction.
|
|
228
|
+
2. Single EF serialized raw transaction (untested).
|
|
229
|
+
3. V1 serialized Beef (results returned reflect only the last transaction in the beef)
|
|
230
|
+
|
|
231
|
+
The ARC '/v1/tx' endpoint, as of 2025-02-17 DOES NOT support the following hex string formats:
|
|
232
|
+
1. V2 serialized Beef
|
|
233
|
+
|
|
234
|
+
```ts
|
|
235
|
+
async postRawTx(rawTx: HexString, txids?: string[]): Promise<sdk.PostTxResultForTxid>
|
|
236
|
+
```
|
|
237
|
+
See also: [PostTxResultForTxid](./client.md#interface-posttxresultfortxid)
|
|
133
238
|
|
|
134
239
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
135
240
|
|
|
136
241
|
---
|
|
242
|
+
##### Class: SdkWhatsOnChain
|
|
243
|
+
|
|
244
|
+
Represents a chain tracker based on What's On Chain .
|
|
245
|
+
|
|
246
|
+
```ts
|
|
247
|
+
export default class SdkWhatsOnChain implements ChainTracker {
|
|
248
|
+
readonly network: string;
|
|
249
|
+
readonly apiKey: string;
|
|
250
|
+
protected readonly URL: string;
|
|
251
|
+
protected readonly httpClient: HttpClient;
|
|
252
|
+
constructor(network: "main" | "test" | "stn" = "main", config: WhatsOnChainConfig = {})
|
|
253
|
+
async isValidRootForHeight(root: string, height: number): Promise<boolean>
|
|
254
|
+
async currentHeight(): Promise<number>
|
|
255
|
+
protected getHttpHeaders(): Record<string, string>
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
###### Constructor
|
|
260
|
+
|
|
261
|
+
Constructs an instance of the WhatsOnChain ChainTracker.
|
|
262
|
+
|
|
263
|
+
```ts
|
|
264
|
+
constructor(network: "main" | "test" | "stn" = "main", config: WhatsOnChainConfig = {})
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Argument Details
|
|
137
268
|
|
|
269
|
+
+ **network**
|
|
270
|
+
+ The BSV network to use when calling the WhatsOnChain API.
|
|
271
|
+
+ **config**
|
|
272
|
+
+ Configuration options for the WhatsOnChain ChainTracker.
|
|
273
|
+
|
|
274
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
275
|
+
|
|
276
|
+
---
|
|
138
277
|
##### Class: ServiceCollection
|
|
139
278
|
|
|
140
279
|
```ts
|
|
@@ -173,9 +312,10 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
173
312
|
export class Services implements sdk.WalletServices {
|
|
174
313
|
static createDefaultOptions(chain: sdk.Chain): sdk.WalletServicesOptions
|
|
175
314
|
options: sdk.WalletServicesOptions;
|
|
315
|
+
whatsonchain: WhatsOnChain;
|
|
316
|
+
arc: ARC;
|
|
176
317
|
getMerklePathServices: ServiceCollection<sdk.GetMerklePathService>;
|
|
177
318
|
getRawTxServices: ServiceCollection<sdk.GetRawTxService>;
|
|
178
|
-
postTxsServices: ServiceCollection<sdk.PostTxsService>;
|
|
179
319
|
postBeefServices: ServiceCollection<sdk.PostBeefService>;
|
|
180
320
|
getUtxoStatusServices: ServiceCollection<sdk.GetUtxoStatusService>;
|
|
181
321
|
updateFiatExchangeRateServices: ServiceCollection<sdk.UpdateFiatExchangeRateService>;
|
|
@@ -186,11 +326,9 @@ export class Services implements sdk.WalletServices {
|
|
|
186
326
|
async getFiatExchangeRate(currency: "USD" | "GBP" | "EUR", base?: "USD" | "GBP" | "EUR"): Promise<number>
|
|
187
327
|
get getProofsCount()
|
|
188
328
|
get getRawTxsCount()
|
|
189
|
-
get postTxsServicesCount()
|
|
190
329
|
get postBeefServicesCount()
|
|
191
330
|
get getUtxoStatsCount()
|
|
192
331
|
async getUtxoStatus(output: string, outputFormat?: sdk.GetUtxoStatusOutputFormat, useNext?: boolean): Promise<sdk.GetUtxoStatusResult>
|
|
193
|
-
async postTxs(beef: Beef, txids: string[]): Promise<sdk.PostTxsResult[]>
|
|
194
332
|
async postBeef(beef: Beef, txids: string[]): Promise<sdk.PostBeefResult[]>
|
|
195
333
|
async getRawTx(txid: string, useNext?: boolean): Promise<sdk.GetRawTxResult>
|
|
196
334
|
async invokeChaintracksWithRetry<R>(method: () => Promise<R>): Promise<R>
|
|
@@ -204,213 +342,111 @@ export class Services implements sdk.WalletServices {
|
|
|
204
342
|
}
|
|
205
343
|
```
|
|
206
344
|
|
|
207
|
-
See also: [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [FiatExchangeRates](./client.md#interface-fiatexchangerates), [GetMerklePathResult](./client.md#interface-getmerklepathresult), [GetMerklePathService](./client.md#type-getmerklepathservice), [GetRawTxResult](./client.md#interface-getrawtxresult), [GetRawTxService](./client.md#type-getrawtxservice), [GetUtxoStatusOutputFormat](./client.md#type-getutxostatusoutputformat), [GetUtxoStatusResult](./client.md#interface-getutxostatusresult), [GetUtxoStatusService](./client.md#type-getutxostatusservice), [PostBeefResult](./client.md#interface-postbeefresult), [PostBeefService](./client.md#type-postbeefservice), [
|
|
208
|
-
|
|
209
|
-
###### Method postTxs
|
|
210
|
-
|
|
211
|
-
The beef must contain at least each rawTx for each txid.
|
|
212
|
-
Some services may require input transactions as well.
|
|
213
|
-
These will be fetched if missing, greatly extending the service response time.
|
|
214
|
-
|
|
215
|
-
```ts
|
|
216
|
-
async postTxs(beef: Beef, txids: string[]): Promise<sdk.PostTxsResult[]>
|
|
217
|
-
```
|
|
218
|
-
See also: [PostTxsResult](./client.md#interface-posttxsresult)
|
|
219
|
-
|
|
220
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
#### Functions
|
|
224
|
-
|
|
225
|
-
| | |
|
|
226
|
-
| --- | --- |
|
|
227
|
-
| [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [makePostBeefToTaalARC](#function-makepostbeeftotaalarc) |
|
|
228
|
-
| [getExchangeRatesIo](#function-getexchangeratesio) | [makePostTxsToTaalARC](#function-makeposttxstotaalarc) |
|
|
229
|
-
| [getMerklePathFromTaalARC](#function-getmerklepathfromtaalarc) | [postBeefToArcMiner](#function-postbeeftoarcminer) |
|
|
230
|
-
| [getMerklePathFromWhatsOnChainTsc](#function-getmerklepathfromwhatsonchaintsc) | [postBeefToTaalArcMiner](#function-postbeeftotaalarcminer) |
|
|
231
|
-
| [getRawTxFromWhatsOnChain](#function-getrawtxfromwhatsonchain) | [postTxsToTaalArcMiner](#function-posttxstotaalarcminer) |
|
|
232
|
-
| [getTaalArcServiceConfig](#function-gettaalarcserviceconfig) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
|
|
233
|
-
| [getUtxoStatusFromWhatsOnChain](#function-getutxostatusfromwhatsonchain) | [updateBsvExchangeRate](#function-updatebsvexchangerate) |
|
|
234
|
-
| [makeErrorResult](#function-makeerrorresult) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
|
|
235
|
-
| [makeGetMerklePathFromTaalARC](#function-makegetmerklepathfromtaalarc) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
|
|
236
|
-
| [makePostBeefResult](#function-makepostbeefresult) | [validateScriptHash](#function-validatescripthash) |
|
|
237
|
-
|
|
238
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
##### Function: createDefaultWalletServicesOptions
|
|
243
|
-
|
|
244
|
-
```ts
|
|
245
|
-
export function createDefaultWalletServicesOptions(chain: sdk.Chain): sdk.WalletServicesOptions
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
See also: [Chain](./client.md#type-chain), [WalletServicesOptions](./client.md#interface-walletservicesoptions)
|
|
249
|
-
|
|
250
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
##### Function: getExchangeRatesIo
|
|
254
|
-
|
|
255
|
-
```ts
|
|
256
|
-
export async function getExchangeRatesIo(key: string): Promise<ExchangeRatesIoApi>
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
See also: [ExchangeRatesIoApi](./services.md#interface-exchangeratesioapi)
|
|
260
|
-
|
|
261
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
##### Function: getMerklePathFromTaalARC
|
|
265
|
-
|
|
266
|
-
```ts
|
|
267
|
-
export async function getMerklePathFromTaalARC(txid: string, config: ArcServiceConfig, services: sdk.WalletServices): Promise<sdk.GetMerklePathResult>
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
See also: [ArcServiceConfig](./services.md#interface-arcserviceconfig), [GetMerklePathResult](./client.md#interface-getmerklepathresult), [WalletServices](./client.md#interface-walletservices)
|
|
271
|
-
|
|
272
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
##### Function: getMerklePathFromWhatsOnChainTsc
|
|
276
|
-
|
|
277
|
-
WhatOnChain.com has their own "hash/pos/R/L" proof format and a more TSC compliant proof format.
|
|
278
|
-
|
|
279
|
-
The "/proof/tsc" endpoint is much closer to the TSC specification. It provides "index" directly and each node is just the provided hash value.
|
|
280
|
-
The "targetType" is unspecified and thus defaults to block header hash, requiring a Chaintracks lookup to get the merkleRoot...
|
|
281
|
-
Duplicate hash values are provided in full instead of being replaced by "*".
|
|
282
|
-
|
|
283
|
-
```ts
|
|
284
|
-
export async function getMerklePathFromWhatsOnChainTsc(txid: string, chain: sdk.Chain, services: sdk.WalletServices): Promise<sdk.GetMerklePathResult>
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
See also: [Chain](./client.md#type-chain), [GetMerklePathResult](./client.md#interface-getmerklepathresult), [WalletServices](./client.md#interface-walletservices)
|
|
345
|
+
See also: [ARC](./services.md#class-arc), [BlockHeader](./client.md#interface-blockheader), [Chain](./client.md#type-chain), [FiatExchangeRates](./client.md#interface-fiatexchangerates), [GetMerklePathResult](./client.md#interface-getmerklepathresult), [GetMerklePathService](./client.md#type-getmerklepathservice), [GetRawTxResult](./client.md#interface-getrawtxresult), [GetRawTxService](./client.md#type-getrawtxservice), [GetUtxoStatusOutputFormat](./client.md#type-getutxostatusoutputformat), [GetUtxoStatusResult](./client.md#interface-getutxostatusresult), [GetUtxoStatusService](./client.md#type-getutxostatusservice), [PostBeefResult](./client.md#interface-postbeefresult), [PostBeefService](./client.md#type-postbeefservice), [ServiceCollection](./services.md#class-servicecollection), [UpdateFiatExchangeRateService](./client.md#type-updatefiatexchangerateservice), [WalletServices](./client.md#interface-walletservices), [WalletServicesOptions](./client.md#interface-walletservicesoptions), [WhatsOnChain](./services.md#class-whatsonchain)
|
|
288
346
|
|
|
289
347
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
290
348
|
|
|
291
349
|
---
|
|
292
|
-
#####
|
|
350
|
+
##### Class: WhatsOnChain
|
|
293
351
|
|
|
294
352
|
```ts
|
|
295
|
-
export
|
|
353
|
+
export class WhatsOnChain extends SdkWhatsOnChain {
|
|
354
|
+
constructor(chain: sdk.Chain = "main", config: WhatsOnChainConfig = {})
|
|
355
|
+
async getTxPropagation(txid: string): Promise<number>
|
|
356
|
+
async getRawTx(txid: string): Promise<string | undefined>
|
|
357
|
+
async getRawTxResult(txid: string): Promise<sdk.GetRawTxResult>
|
|
358
|
+
async postRawTx(rawTx: HexString): Promise<string>
|
|
359
|
+
async getMerklePath(txid: string, services: sdk.WalletServices): Promise<sdk.GetMerklePathResult>
|
|
360
|
+
async updateBsvExchangeRate(rate?: sdk.BsvExchangeRate, updateMsecs?: number): Promise<sdk.BsvExchangeRate>
|
|
361
|
+
async getUtxoStatus(output: string, outputFormat?: sdk.GetUtxoStatusOutputFormat): Promise<sdk.GetUtxoStatusResult>
|
|
362
|
+
}
|
|
296
363
|
```
|
|
297
364
|
|
|
298
|
-
See also: [Chain](./client.md#type-chain), [GetRawTxResult](./client.md#interface-getrawtxresult)
|
|
365
|
+
See also: [BsvExchangeRate](./client.md#interface-bsvexchangerate), [Chain](./client.md#type-chain), [GetMerklePathResult](./client.md#interface-getmerklepathresult), [GetRawTxResult](./client.md#interface-getrawtxresult), [GetUtxoStatusOutputFormat](./client.md#type-getutxostatusoutputformat), [GetUtxoStatusResult](./client.md#interface-getutxostatusresult), [SdkWhatsOnChain](./services.md#class-sdkwhatsonchain), [WalletServices](./client.md#interface-walletservices)
|
|
299
366
|
|
|
300
|
-
|
|
367
|
+
###### Method getRawTx
|
|
301
368
|
|
|
302
|
-
|
|
303
|
-
##### Function: getTaalArcServiceConfig
|
|
369
|
+
May return undefined for unmined transactions that are in the mempool.
|
|
304
370
|
|
|
305
371
|
```ts
|
|
306
|
-
|
|
372
|
+
async getRawTx(txid: string): Promise<string | undefined>
|
|
307
373
|
```
|
|
308
374
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
##### Function: getUtxoStatusFromWhatsOnChain
|
|
315
|
-
|
|
316
|
-
```ts
|
|
317
|
-
export async function getUtxoStatusFromWhatsOnChain(output: string, chain: sdk.Chain, outputFormat?: sdk.GetUtxoStatusOutputFormat): Promise<sdk.GetUtxoStatusResult>
|
|
318
|
-
```
|
|
375
|
+
Returns
|
|
319
376
|
|
|
320
|
-
|
|
377
|
+
raw transaction as hex string or undefined if txid not found in mined block.
|
|
321
378
|
|
|
322
|
-
|
|
379
|
+
###### Method getTxPropagation
|
|
323
380
|
|
|
324
|
-
|
|
325
|
-
##### Function: makeErrorResult
|
|
381
|
+
2025-02-16 throwing internal server error 500.
|
|
326
382
|
|
|
327
383
|
```ts
|
|
328
|
-
|
|
384
|
+
async getTxPropagation(txid: string): Promise<number>
|
|
329
385
|
```
|
|
330
386
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
334
|
-
|
|
335
|
-
---
|
|
336
|
-
##### Function: makeGetMerklePathFromTaalARC
|
|
387
|
+
###### Method postRawTx
|
|
337
388
|
|
|
338
389
|
```ts
|
|
339
|
-
|
|
390
|
+
async postRawTx(rawTx: HexString): Promise<string>
|
|
340
391
|
```
|
|
341
392
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
393
|
+
Returns
|
|
345
394
|
|
|
346
|
-
|
|
347
|
-
##### Function: makePostBeefResult
|
|
395
|
+
txid returned by transaction processor of transaction broadcast
|
|
348
396
|
|
|
349
|
-
|
|
350
|
-
export function makePostBeefResult(dd: ArcMinerPostBeefDataApi, miner: ArcServiceConfig, beef: number[], txids: string[]): sdk.PostBeefResult
|
|
351
|
-
```
|
|
397
|
+
Argument Details
|
|
352
398
|
|
|
353
|
-
|
|
399
|
+
+ **rawTx**
|
|
400
|
+
+ raw transaction to broadcast as hex string
|
|
354
401
|
|
|
355
402
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
356
403
|
|
|
357
404
|
---
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
```ts
|
|
361
|
-
export function makePostBeefToTaalARC(config: ArcServiceConfig): sdk.PostBeefService
|
|
362
|
-
```
|
|
405
|
+
#### Functions
|
|
363
406
|
|
|
364
|
-
|
|
407
|
+
| |
|
|
408
|
+
| --- |
|
|
409
|
+
| [arcDefaultUrl](#function-arcdefaulturl) |
|
|
410
|
+
| [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) |
|
|
411
|
+
| [getExchangeRatesIo](#function-getexchangeratesio) |
|
|
412
|
+
| [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
|
|
413
|
+
| [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
|
|
414
|
+
| [updateExchangeratesapi](#function-updateexchangeratesapi) |
|
|
415
|
+
| [validateScriptHash](#function-validatescripthash) |
|
|
365
416
|
|
|
366
417
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
367
418
|
|
|
368
419
|
---
|
|
369
|
-
##### Function: makePostTxsToTaalARC
|
|
370
|
-
|
|
371
|
-
```ts
|
|
372
|
-
export function makePostTxsToTaalARC(config: ArcServiceConfig): sdk.PostTxsService
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
See also: [ArcServiceConfig](./services.md#interface-arcserviceconfig), [PostTxsService](./client.md#type-posttxsservice)
|
|
376
420
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
---
|
|
380
|
-
##### Function: postBeefToArcMiner
|
|
421
|
+
##### Function: arcDefaultUrl
|
|
381
422
|
|
|
382
423
|
```ts
|
|
383
|
-
export
|
|
424
|
+
export function arcDefaultUrl(chain: sdk.Chain): string
|
|
384
425
|
```
|
|
385
426
|
|
|
386
|
-
See also: [
|
|
427
|
+
See also: [Chain](./client.md#type-chain)
|
|
387
428
|
|
|
388
429
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
389
430
|
|
|
390
431
|
---
|
|
391
|
-
##### Function:
|
|
432
|
+
##### Function: createDefaultWalletServicesOptions
|
|
392
433
|
|
|
393
434
|
```ts
|
|
394
|
-
export
|
|
435
|
+
export function createDefaultWalletServicesOptions(chain: sdk.Chain): sdk.WalletServicesOptions
|
|
395
436
|
```
|
|
396
437
|
|
|
397
|
-
See also: [
|
|
438
|
+
See also: [Chain](./client.md#type-chain), [WalletServicesOptions](./client.md#interface-walletservicesoptions)
|
|
398
439
|
|
|
399
440
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
400
441
|
|
|
401
442
|
---
|
|
402
|
-
##### Function:
|
|
443
|
+
##### Function: getExchangeRatesIo
|
|
403
444
|
|
|
404
445
|
```ts
|
|
405
|
-
export async function
|
|
446
|
+
export async function getExchangeRatesIo(key: string): Promise<ExchangeRatesIoApi>
|
|
406
447
|
```
|
|
407
448
|
|
|
408
|
-
See also: [
|
|
409
|
-
|
|
410
|
-
Argument Details
|
|
411
|
-
|
|
412
|
-
+ **txs**
|
|
413
|
-
+ All transactions must have source transactions. Will just source locking scripts and satoshis do?? toHexEF() is used.
|
|
449
|
+
See also: [ExchangeRatesIoApi](./services.md#interface-exchangeratesioapi)
|
|
414
450
|
|
|
415
451
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
416
452
|
|
|
@@ -444,17 +480,6 @@ Returns
|
|
|
444
480
|
|
|
445
481
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
446
482
|
|
|
447
|
-
---
|
|
448
|
-
##### Function: updateBsvExchangeRate
|
|
449
|
-
|
|
450
|
-
```ts
|
|
451
|
-
export async function updateBsvExchangeRate(rate?: sdk.BsvExchangeRate, updateMsecs?: number): Promise<sdk.BsvExchangeRate>
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
See also: [BsvExchangeRate](./client.md#interface-bsvexchangerate)
|
|
455
|
-
|
|
456
|
-
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
457
|
-
|
|
458
483
|
---
|
|
459
484
|
##### Function: updateChaintracksFiatExchangeRates
|
|
460
485
|
|