@bsv/wallet-toolbox 2.1.2 → 2.1.4
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/CHANGELOG.md +9 -0
- package/docs/client.md +269 -43
- package/docs/monitor.md +92 -6
- package/docs/services.md +163 -21
- package/docs/wallet.md +269 -43
- package/out/src/index.all.d.ts +1 -0
- package/out/src/index.all.d.ts.map +1 -1
- package/out/src/index.all.js +1 -0
- package/out/src/index.all.js.map +1 -1
- package/out/src/index.mobile.d.ts +1 -0
- package/out/src/index.mobile.d.ts.map +1 -1
- package/out/src/index.mobile.js +1 -0
- package/out/src/index.mobile.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts +24 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +25 -2
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +27 -0
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskArcSSE.js +260 -0
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -0
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +15 -5
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts +2 -0
- package/out/src/monitor/tasks/__tests/TaskArcSSE.test.d.ts.map +1 -0
- package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js +257 -0
- package/out/src/monitor/tasks/__tests/TaskArcSSE.test.js.map +1 -0
- package/out/src/services/Services.d.ts +1 -1
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +5 -3
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/__tests/verifyBeef.test.js.map +1 -1
- package/out/src/services/index.d.ts +1 -0
- package/out/src/services/index.d.ts.map +1 -1
- package/out/src/services/index.js +1 -0
- package/out/src/services/index.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.d.ts +57 -0
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -0
- package/out/src/services/providers/ArcSSEClient.js +111 -0
- package/out/src/services/providers/ArcSSEClient.js.map +1 -0
- package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts +2 -0
- package/out/src/services/providers/__tests/ArcSSEClient.test.d.ts.map +1 -0
- package/out/src/services/providers/__tests/ArcSSEClient.test.js +256 -0
- package/out/src/services/providers/__tests/ArcSSEClient.test.js.map +1 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +16 -11
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ This document captures the history of significant changes to the wallet-toolbox
|
|
|
4
4
|
The git commit history contains the details but is unable to draw
|
|
5
5
|
attention to changes that materially alter behavior or extend functionality.
|
|
6
6
|
|
|
7
|
+
## wallet-toolbox 2.1.4
|
|
8
|
+
|
|
9
|
+
- Change `Monitor`: Add SSE event hooks.
|
|
10
|
+
- Add `ArcSSEClient` to drive SSE event hooks on mobile
|
|
11
|
+
|
|
12
|
+
## wallet-toolbox 2.1.3
|
|
13
|
+
|
|
14
|
+
- Change `Monitor`: no retry for invalid beefs in TaskSendWaiting. Cleanup logging.
|
|
15
|
+
|
|
7
16
|
## wallet-toolbox 2.1.2
|
|
8
17
|
|
|
9
18
|
- Fix Chaintracks no longer hangs if bulk ingestor fails to reach chain tip.
|
package/docs/client.md
CHANGED
|
@@ -6,9 +6,11 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
6
6
|
|
|
7
7
|
| | | |
|
|
8
8
|
| --- | --- | --- |
|
|
9
|
-
| [AdminStatsResult](#interface-adminstatsresult) | [
|
|
10
|
-
| [ArcConfig](#interface-arcconfig) | [
|
|
11
|
-
| [ArcMinerGetTxData](#interface-arcminergettxdata) | [
|
|
9
|
+
| [AdminStatsResult](#interface-adminstatsresult) | [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [SignActionResultX](#interface-signactionresultx) |
|
|
10
|
+
| [ArcConfig](#interface-arcconfig) | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StartAuthResponse](#interface-startauthresponse) |
|
|
11
|
+
| [ArcMinerGetTxData](#interface-arcminergettxdata) | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StatusForTxidResult](#interface-statusfortxidresult) |
|
|
12
|
+
| [ArcSSEClientOptions](#interface-arcsseclientoptions) | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageAdminStats](#interface-storageadminstats) |
|
|
13
|
+
| [ArcSSEEvent](#interface-arcsseevent) | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageCreateActionResult](#interface-storagecreateactionresult) |
|
|
12
14
|
| [AuthId](#interface-authid) | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageCreateTransactionSdkInput](#interface-storagecreatetransactionsdkinput) |
|
|
13
15
|
| [AuthPayload](#interface-authpayload) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) | [StorageCreateTransactionSdkOutput](#interface-storagecreatetransactionsdkoutput) |
|
|
14
16
|
| [BaseBlockHeader](#interface-baseblockheader) | [GetMerklePathResult](#interface-getmerklepathresult) | [StorageFeeModel](#interface-storagefeemodel) |
|
|
@@ -80,8 +82,6 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
80
82
|
| [FindTxLabelsArgs](#interface-findtxlabelsargs) | [SetupWalletClient](#interface-setupwalletclient) | [WocGetHeadersHeader](#interface-wocgetheadersheader) |
|
|
81
83
|
| [FindUsersArgs](#interface-findusersargs) | [SetupWalletIdb](#interface-setupwalletidb) | [WocHeader](#interface-wocheader) |
|
|
82
84
|
| [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [SetupWalletIdbArgs](#interface-setupwalletidbargs) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
|
|
83
|
-
| [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [SignActionResultX](#interface-signactionresultx) | |
|
|
84
|
-
| [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StartAuthResponse](#interface-startauthresponse) | |
|
|
85
85
|
|
|
86
86
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
87
87
|
|
|
@@ -188,6 +188,104 @@ See also: [blockHash](./services.md#function-blockhash)
|
|
|
188
188
|
|
|
189
189
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
190
190
|
|
|
191
|
+
---
|
|
192
|
+
##### Interface: ArcSSEClientOptions
|
|
193
|
+
|
|
194
|
+
```ts
|
|
195
|
+
export interface ArcSSEClientOptions {
|
|
196
|
+
baseUrl: string;
|
|
197
|
+
callbackToken: string;
|
|
198
|
+
arcApiKey?: string;
|
|
199
|
+
onEvent: (event: ArcSSEEvent) => void;
|
|
200
|
+
onError?: (error: Error) => void;
|
|
201
|
+
lastEventId?: string;
|
|
202
|
+
onLastEventIdChanged?: (lastEventId: string) => void;
|
|
203
|
+
EventSourceClass: any;
|
|
204
|
+
}
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
See also: [ArcSSEEvent](./services.md#interface-arcsseevent)
|
|
208
|
+
|
|
209
|
+
###### Property EventSourceClass
|
|
210
|
+
|
|
211
|
+
The react-native-sse EventSource class — passed in to avoid import from wallet-toolbox
|
|
212
|
+
|
|
213
|
+
```ts
|
|
214
|
+
EventSourceClass: any
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
###### Property arcApiKey
|
|
218
|
+
|
|
219
|
+
Server-level API key for Authorization header (from ArcConfig.apiKey)
|
|
220
|
+
|
|
221
|
+
```ts
|
|
222
|
+
arcApiKey?: string
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
###### Property baseUrl
|
|
226
|
+
|
|
227
|
+
Base URL of the Arcade instance (e.g. "https://arcade-us-1.bsvb.tech")
|
|
228
|
+
|
|
229
|
+
```ts
|
|
230
|
+
baseUrl: string
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
###### Property callbackToken
|
|
234
|
+
|
|
235
|
+
Stable per-wallet token matching the X-CallbackToken sent on broadcast
|
|
236
|
+
|
|
237
|
+
```ts
|
|
238
|
+
callbackToken: string
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
###### Property lastEventId
|
|
242
|
+
|
|
243
|
+
Initial lastEventId for catchup
|
|
244
|
+
|
|
245
|
+
```ts
|
|
246
|
+
lastEventId?: string
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
###### Property onError
|
|
250
|
+
|
|
251
|
+
Called when a connection error occurs
|
|
252
|
+
|
|
253
|
+
```ts
|
|
254
|
+
onError?: (error: Error) => void
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
###### Property onEvent
|
|
258
|
+
|
|
259
|
+
Called for each status event received
|
|
260
|
+
|
|
261
|
+
```ts
|
|
262
|
+
onEvent: (event: ArcSSEEvent) => void
|
|
263
|
+
```
|
|
264
|
+
See also: [ArcSSEEvent](./services.md#interface-arcsseevent)
|
|
265
|
+
|
|
266
|
+
###### Property onLastEventIdChanged
|
|
267
|
+
|
|
268
|
+
Called whenever lastEventId changes, for persistence to storage
|
|
269
|
+
|
|
270
|
+
```ts
|
|
271
|
+
onLastEventIdChanged?: (lastEventId: string) => void
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
##### Interface: ArcSSEEvent
|
|
278
|
+
|
|
279
|
+
```ts
|
|
280
|
+
export interface ArcSSEEvent {
|
|
281
|
+
txid: string;
|
|
282
|
+
txStatus: string;
|
|
283
|
+
timestamp: string;
|
|
284
|
+
}
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
288
|
+
|
|
191
289
|
---
|
|
192
290
|
##### Interface: AuthId
|
|
193
291
|
|
|
@@ -3716,13 +3814,45 @@ export interface MonitorOptions {
|
|
|
3716
3814
|
abandonedMsecs: number;
|
|
3717
3815
|
unprovenAttemptsLimitTest: number;
|
|
3718
3816
|
unprovenAttemptsLimitMain: number;
|
|
3817
|
+
callbackToken?: string;
|
|
3818
|
+
loadLastSSEEventId?: () => Promise<string | undefined>;
|
|
3819
|
+
saveLastSSEEventId?: (lastEventId: string) => Promise<void>;
|
|
3820
|
+
EventSourceClass?: any;
|
|
3719
3821
|
onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
|
|
3720
3822
|
onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
|
|
3823
|
+
onTransactionStatusChanged?: (txid: string, newStatus: string) => Promise<void>;
|
|
3721
3824
|
}
|
|
3722
3825
|
```
|
|
3723
3826
|
|
|
3724
3827
|
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [WalletServices](./client.md#interface-walletservices)
|
|
3725
3828
|
|
|
3829
|
+
###### Property EventSourceClass
|
|
3830
|
+
|
|
3831
|
+
The react-native-sse EventSource class for SSE support in React Native
|
|
3832
|
+
|
|
3833
|
+
```ts
|
|
3834
|
+
EventSourceClass?: any
|
|
3835
|
+
```
|
|
3836
|
+
|
|
3837
|
+
###### Property callbackToken
|
|
3838
|
+
|
|
3839
|
+
Stable callback token for ARC SSE event streaming.
|
|
3840
|
+
When set, TaskArcadeSSE will open an SSE connection to Arcade's
|
|
3841
|
+
/events endpoint and receive real-time transaction status updates.
|
|
3842
|
+
Must match the X-CallbackToken header sent during broadcast.
|
|
3843
|
+
|
|
3844
|
+
```ts
|
|
3845
|
+
callbackToken?: string
|
|
3846
|
+
```
|
|
3847
|
+
|
|
3848
|
+
###### Property loadLastSSEEventId
|
|
3849
|
+
|
|
3850
|
+
Load persisted SSE lastEventId (e.g. from SQLite) for catchup on startup
|
|
3851
|
+
|
|
3852
|
+
```ts
|
|
3853
|
+
loadLastSSEEventId?: () => Promise<string | undefined>
|
|
3854
|
+
```
|
|
3855
|
+
|
|
3726
3856
|
###### Property msecsWaitPerMerkleProofServiceReq
|
|
3727
3857
|
|
|
3728
3858
|
How many msecs to wait after each getMerkleProof service request.
|
|
@@ -3740,6 +3870,14 @@ onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void
|
|
|
3740
3870
|
```
|
|
3741
3871
|
See also: [ReviewActionResult](./client.md#interface-reviewactionresult)
|
|
3742
3872
|
|
|
3873
|
+
###### Property saveLastSSEEventId
|
|
3874
|
+
|
|
3875
|
+
Save SSE lastEventId to persistent storage
|
|
3876
|
+
|
|
3877
|
+
```ts
|
|
3878
|
+
saveLastSSEEventId?: (lastEventId: string) => Promise<void>
|
|
3879
|
+
```
|
|
3880
|
+
|
|
3743
3881
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
3744
3882
|
|
|
3745
3883
|
---
|
|
@@ -8275,43 +8413,43 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
8275
8413
|
|
|
8276
8414
|
| | | |
|
|
8277
8415
|
| --- | --- | --- |
|
|
8278
|
-
| [ARC](#class-arc) | [
|
|
8279
|
-
| [
|
|
8280
|
-
| [
|
|
8281
|
-
| [
|
|
8282
|
-
| [
|
|
8283
|
-
| [
|
|
8284
|
-
| [
|
|
8285
|
-
| [
|
|
8286
|
-
| [
|
|
8287
|
-
| [
|
|
8288
|
-
| [
|
|
8289
|
-
| [
|
|
8290
|
-
| [
|
|
8291
|
-
| [
|
|
8292
|
-
| [
|
|
8293
|
-
| [
|
|
8294
|
-
| [
|
|
8295
|
-
| [
|
|
8296
|
-
| [
|
|
8297
|
-
| [
|
|
8298
|
-
| [
|
|
8299
|
-
| [
|
|
8300
|
-
| [
|
|
8301
|
-
| [
|
|
8302
|
-
| [
|
|
8303
|
-
| [
|
|
8304
|
-
| [
|
|
8305
|
-
| [
|
|
8306
|
-
| [
|
|
8307
|
-
| [
|
|
8308
|
-
| [
|
|
8309
|
-
| [
|
|
8310
|
-
| [
|
|
8311
|
-
| [
|
|
8312
|
-
| [
|
|
8313
|
-
| [
|
|
8314
|
-
| [
|
|
8416
|
+
| [ARC](#class-arc) | [EntityProvenTxReq](#class-entityproventxreq) | [TaskMineBlock](#class-taskmineblock) |
|
|
8417
|
+
| [ArcSSEClient](#class-arcsseclient) | [EntitySyncState](#class-entitysyncstate) | [TaskMonitorCallHistory](#class-taskmonitorcallhistory) |
|
|
8418
|
+
| [AuthMethodInteractor](#class-authmethodinteractor) | [EntityTransaction](#class-entitytransaction) | [TaskNewHeader](#class-tasknewheader) |
|
|
8419
|
+
| [BHServiceClient](#class-bhserviceclient) | [EntityTxLabel](#class-entitytxlabel) | [TaskPurge](#class-taskpurge) |
|
|
8420
|
+
| [Bitails](#class-bitails) | [EntityTxLabelMap](#class-entitytxlabelmap) | [TaskReorg](#class-taskreorg) |
|
|
8421
|
+
| [BulkFileDataManager](#class-bulkfiledatamanager) | [EntityUser](#class-entityuser) | [TaskReviewStatus](#class-taskreviewstatus) |
|
|
8422
|
+
| [BulkFileDataReader](#class-bulkfiledatareader) | [HeightRange](#class-heightrange) | [TaskSendWaiting](#class-tasksendwaiting) |
|
|
8423
|
+
| [BulkFilesReader](#class-bulkfilesreader) | [LiveIngestorBase](#class-liveingestorbase) | [TaskSyncWhenIdle](#class-tasksyncwhenidle) |
|
|
8424
|
+
| [BulkFilesReaderFs](#class-bulkfilesreaderfs) | [LiveIngestorWhatsOnChainPoll](#class-liveingestorwhatsonchainpoll) | [TaskUnFail](#class-taskunfail) |
|
|
8425
|
+
| [BulkFilesReaderStorage](#class-bulkfilesreaderstorage) | [MergeEntity](#class-mergeentity) | [TwilioPhoneInteractor](#class-twiliophoneinteractor) |
|
|
8426
|
+
| [BulkHeaderFile](#class-bulkheaderfile) | [MockChainMigrations](#class-mockchainmigrations) | [WABClient](#class-wabclient) |
|
|
8427
|
+
| [BulkHeaderFileFs](#class-bulkheaderfilefs) | [MockChainStorage](#class-mockchainstorage) | [WERR_BAD_REQUEST](#class-werr_bad_request) |
|
|
8428
|
+
| [BulkHeaderFileStorage](#class-bulkheaderfilestorage) | [MockChainTracker](#class-mockchaintracker) | [WERR_BROADCAST_UNAVAILABLE](#class-werr_broadcast_unavailable) |
|
|
8429
|
+
| [BulkHeaderFiles](#class-bulkheaderfiles) | [MockMiner](#class-mockminer) | [WERR_INSUFFICIENT_FUNDS](#class-werr_insufficient_funds) |
|
|
8430
|
+
| [BulkIngestorBase](#class-bulkingestorbase) | [MockServices](#class-mockservices) | [WERR_INTERNAL](#class-werr_internal) |
|
|
8431
|
+
| [BulkIngestorCDN](#class-bulkingestorcdn) | [Monitor](#class-monitor) | [WERR_INVALID_MERKLE_ROOT](#class-werr_invalid_merkle_root) |
|
|
8432
|
+
| [BulkIngestorCDNBabbage](#class-bulkingestorcdnbabbage) | [OverlayUMPTokenInteractor](#class-overlayumptokeninteractor) | [WERR_INVALID_OPERATION](#class-werr_invalid_operation) |
|
|
8433
|
+
| [BulkIngestorWhatsOnChainCdn](#class-bulkingestorwhatsonchaincdn) | [PersonaIDInteractor](#class-personaidinteractor) | [WERR_INVALID_PARAMETER](#class-werr_invalid_parameter) |
|
|
8434
|
+
| [BulkStorageBase](#class-bulkstoragebase) | [PrivilegedKeyManager](#class-privilegedkeymanager) | [WERR_INVALID_PUBLIC_KEY](#class-werr_invalid_public_key) |
|
|
8435
|
+
| [CWIStyleWalletManager](#class-cwistylewalletmanager) | [ScriptTemplateBRC29](#class-scripttemplatebrc29) | [WERR_MISSING_PARAMETER](#class-werr_missing_parameter) |
|
|
8436
|
+
| [Chaintracks](#class-chaintracks) | [SdkWhatsOnChain](#class-sdkwhatsonchain) | [WERR_NETWORK_CHAIN](#class-werr_network_chain) |
|
|
8437
|
+
| [ChaintracksChainTracker](#class-chaintrackschaintracker) | [ServiceCollection](#class-servicecollection) | [WERR_NOT_ACTIVE](#class-werr_not_active) |
|
|
8438
|
+
| [ChaintracksFetch](#class-chaintracksfetch) | [Services](#class-services) | [WERR_NOT_IMPLEMENTED](#class-werr_not_implemented) |
|
|
8439
|
+
| [ChaintracksServiceClient](#class-chaintracksserviceclient) | [SetupClient](#class-setupclient) | [WERR_REVIEW_ACTIONS](#class-werr_review_actions) |
|
|
8440
|
+
| [ChaintracksStorageBase](#class-chaintracksstoragebase) | [SimpleWalletManager](#class-simplewalletmanager) | [WERR_UNAUTHORIZED](#class-werr_unauthorized) |
|
|
8441
|
+
| [ChaintracksStorageIdb](#class-chaintracksstorageidb) | [SingleWriterMultiReaderLock](#class-singlewritermultireaderlock) | [Wallet](#class-wallet) |
|
|
8442
|
+
| [ChaintracksStorageNoDb](#class-chaintracksstoragenodb) | [StorageClient](#class-storageclient) | [WalletAuthenticationManager](#class-walletauthenticationmanager) |
|
|
8443
|
+
| [DevConsoleInteractor](#class-devconsoleinteractor) | [StorageIdb](#class-storageidb) | [WalletError](#class-walleterror) |
|
|
8444
|
+
| [EntityBase](#class-entitybase) | [StorageProvider](#class-storageprovider) | [WalletLogger](#class-walletlogger) |
|
|
8445
|
+
| [EntityCertificate](#class-entitycertificate) | [StorageReader](#class-storagereader) | [WalletMonitorTask](#class-walletmonitortask) |
|
|
8446
|
+
| [EntityCertificateField](#class-entitycertificatefield) | [StorageReaderWriter](#class-storagereaderwriter) | [WalletPermissionsManager](#class-walletpermissionsmanager) |
|
|
8447
|
+
| [EntityCommission](#class-entitycommission) | [StorageSyncReader](#class-storagesyncreader) | [WalletSettingsManager](#class-walletsettingsmanager) |
|
|
8448
|
+
| [EntityOutput](#class-entityoutput) | [TaskArcadeSSE](#class-taskarcadesse) | [WalletSigner](#class-walletsigner) |
|
|
8449
|
+
| [EntityOutputBasket](#class-entityoutputbasket) | [TaskCheckForProofs](#class-taskcheckforproofs) | [WalletStorageManager](#class-walletstoragemanager) |
|
|
8450
|
+
| [EntityOutputTag](#class-entityoutputtag) | [TaskCheckNoSends](#class-taskchecknosends) | [WhatsOnChain](#class-whatsonchain) |
|
|
8451
|
+
| [EntityOutputTagMap](#class-entityoutputtagmap) | [TaskClock](#class-taskclock) | [WhatsOnChainNoServices](#class-whatsonchainnoservices) |
|
|
8452
|
+
| [EntityProvenTx](#class-entityproventx) | [TaskFailAbandoned](#class-taskfailabandoned) | [WhatsOnChainServices](#class-whatsonchainservices) |
|
|
8315
8453
|
|
|
8316
8454
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
8317
8455
|
|
|
@@ -8410,6 +8548,49 @@ See also: [PostTxResultForTxid](./client.md#interface-posttxresultfortxid)
|
|
|
8410
8548
|
|
|
8411
8549
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
8412
8550
|
|
|
8551
|
+
---
|
|
8552
|
+
##### Class: ArcSSEClient
|
|
8553
|
+
|
|
8554
|
+
```ts
|
|
8555
|
+
export class ArcSSEClient {
|
|
8556
|
+
constructor(private readonly options: ArcSSEClientOptions)
|
|
8557
|
+
get lastEventId(): string | undefined
|
|
8558
|
+
connect(): void
|
|
8559
|
+
close(): void
|
|
8560
|
+
async fetchEvents(): Promise<number>
|
|
8561
|
+
}
|
|
8562
|
+
```
|
|
8563
|
+
|
|
8564
|
+
See also: [ArcSSEClientOptions](./services.md#interface-arcsseclientoptions)
|
|
8565
|
+
|
|
8566
|
+
###### Method close
|
|
8567
|
+
|
|
8568
|
+
Close the connection and clean up
|
|
8569
|
+
|
|
8570
|
+
```ts
|
|
8571
|
+
close(): void
|
|
8572
|
+
```
|
|
8573
|
+
|
|
8574
|
+
###### Method connect
|
|
8575
|
+
|
|
8576
|
+
Open the SSE connection. Events will be dispatched via onEvent as they arrive.
|
|
8577
|
+
|
|
8578
|
+
```ts
|
|
8579
|
+
connect(): void
|
|
8580
|
+
```
|
|
8581
|
+
|
|
8582
|
+
###### Method fetchEvents
|
|
8583
|
+
|
|
8584
|
+
Ensure connection is open. If already connected, this is a no-op.
|
|
8585
|
+
If not connected, opens a new connection with catchup from lastEventId.
|
|
8586
|
+
Returns immediately — events arrive asynchronously via onEvent callback.
|
|
8587
|
+
|
|
8588
|
+
```ts
|
|
8589
|
+
async fetchEvents(): Promise<number>
|
|
8590
|
+
```
|
|
8591
|
+
|
|
8592
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
8593
|
+
|
|
8413
8594
|
---
|
|
8414
8595
|
##### Class: AuthMethodInteractor
|
|
8415
8596
|
|
|
@@ -11478,6 +11659,7 @@ export class Monitor {
|
|
|
11478
11659
|
headersSubscriptionPromise?: Promise<string>;
|
|
11479
11660
|
onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
|
|
11480
11661
|
onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
|
|
11662
|
+
onTransactionStatusChanged?: (txid: string, newStatus: string) => Promise<void>;
|
|
11481
11663
|
constructor(options: MonitorOptions)
|
|
11482
11664
|
async destroy(): Promise<void>
|
|
11483
11665
|
static readonly oneSecond = 1000;
|
|
@@ -11514,6 +11696,8 @@ export class Monitor {
|
|
|
11514
11696
|
processNewBlockHeader(header: BlockHeader): void
|
|
11515
11697
|
callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
|
|
11516
11698
|
callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
|
|
11699
|
+
callOnTransactionStatusChanged(txid: string, newStatus: string): void
|
|
11700
|
+
async fetchSSEEvents(): Promise<number>
|
|
11517
11701
|
deactivatedHeaders: DeactivedHeader[] = [];
|
|
11518
11702
|
processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
|
|
11519
11703
|
processHeader(header: BlockHeader): void
|
|
@@ -11580,6 +11764,23 @@ callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
|
|
|
11580
11764
|
```
|
|
11581
11765
|
See also: [ProvenTransactionStatus](./client.md#interface-proventransactionstatus)
|
|
11582
11766
|
|
|
11767
|
+
###### Method callOnTransactionStatusChanged
|
|
11768
|
+
|
|
11769
|
+
Called by TaskArcadeSSE when an SSE status event is received from Arcade.
|
|
11770
|
+
|
|
11771
|
+
```ts
|
|
11772
|
+
callOnTransactionStatusChanged(txid: string, newStatus: string): void
|
|
11773
|
+
```
|
|
11774
|
+
|
|
11775
|
+
###### Method fetchSSEEvents
|
|
11776
|
+
|
|
11777
|
+
Fetch pending transaction status events from Arcade on demand.
|
|
11778
|
+
Call this on app open, balance refresh, transaction list view, etc.
|
|
11779
|
+
|
|
11780
|
+
```ts
|
|
11781
|
+
async fetchSSEEvents(): Promise<number>
|
|
11782
|
+
```
|
|
11783
|
+
|
|
11583
11784
|
###### Method processHeader
|
|
11584
11785
|
|
|
11585
11786
|
Handler for new header events from Chaintracks.
|
|
@@ -11938,7 +12139,7 @@ export class Services implements WalletServices {
|
|
|
11938
12139
|
whatsonchain: WhatsOnChain;
|
|
11939
12140
|
arcTaal: ARC;
|
|
11940
12141
|
arcGorillaPool?: ARC;
|
|
11941
|
-
bitails
|
|
12142
|
+
bitails?: Bitails;
|
|
11942
12143
|
getMerklePathServices: ServiceCollection<GetMerklePathService>;
|
|
11943
12144
|
getRawTxServices: ServiceCollection<GetRawTxService>;
|
|
11944
12145
|
postBeefServices: ServiceCollection<PostBeefService>;
|
|
@@ -13779,6 +13980,31 @@ See also: [AuthId](./client.md#interface-authid), [RequestSyncChunkArgs](./clien
|
|
|
13779
13980
|
|
|
13780
13981
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
13781
13982
|
|
|
13983
|
+
---
|
|
13984
|
+
##### Class: TaskArcadeSSE
|
|
13985
|
+
|
|
13986
|
+
Monitor task that receives transaction status updates from Arcade via SSE
|
|
13987
|
+
and processes them — including fetching merkle proofs directly from Arcade
|
|
13988
|
+
when transactions are MINED.
|
|
13989
|
+
|
|
13990
|
+
```ts
|
|
13991
|
+
export class TaskArcadeSSE extends WalletMonitorTask {
|
|
13992
|
+
static taskName = "ArcadeSSE";
|
|
13993
|
+
sseClient: ArcSSEClient | null = null;
|
|
13994
|
+
constructor(monitor: Monitor)
|
|
13995
|
+
override async asyncSetup(): Promise<void>
|
|
13996
|
+
trigger(_nowMsecsSinceEpoch: number): {
|
|
13997
|
+
run: boolean;
|
|
13998
|
+
}
|
|
13999
|
+
async runTask(): Promise<string>
|
|
14000
|
+
async fetchNow(): Promise<number>
|
|
14001
|
+
}
|
|
14002
|
+
```
|
|
14003
|
+
|
|
14004
|
+
See also: [ArcSSEClient](./services.md#class-arcsseclient), [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
14005
|
+
|
|
14006
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
14007
|
+
|
|
13782
14008
|
---
|
|
13783
14009
|
##### Class: TaskCheckForProofs
|
|
13784
14010
|
|
package/docs/monitor.md
CHANGED
|
@@ -109,13 +109,45 @@ export interface MonitorOptions {
|
|
|
109
109
|
abandonedMsecs: number;
|
|
110
110
|
unprovenAttemptsLimitTest: number;
|
|
111
111
|
unprovenAttemptsLimitMain: number;
|
|
112
|
+
callbackToken?: string;
|
|
113
|
+
loadLastSSEEventId?: () => Promise<string | undefined>;
|
|
114
|
+
saveLastSSEEventId?: (lastEventId: string) => Promise<void>;
|
|
115
|
+
EventSourceClass?: any;
|
|
112
116
|
onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
|
|
113
117
|
onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
|
|
118
|
+
onTransactionStatusChanged?: (txid: string, newStatus: string) => Promise<void>;
|
|
114
119
|
}
|
|
115
120
|
```
|
|
116
121
|
|
|
117
122
|
See also: [Chain](./client.md#type-chain), [Chaintracks](./services.md#class-chaintracks), [ChaintracksClientApi](./services.md#interface-chaintracksclientapi), [MonitorStorage](./monitor.md#type-monitorstorage), [ProvenTransactionStatus](./client.md#interface-proventransactionstatus), [ReviewActionResult](./client.md#interface-reviewactionresult), [Services](./services.md#class-services), [WalletServices](./client.md#interface-walletservices)
|
|
118
123
|
|
|
124
|
+
###### Property EventSourceClass
|
|
125
|
+
|
|
126
|
+
The react-native-sse EventSource class for SSE support in React Native
|
|
127
|
+
|
|
128
|
+
```ts
|
|
129
|
+
EventSourceClass?: any
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
###### Property callbackToken
|
|
133
|
+
|
|
134
|
+
Stable callback token for ARC SSE event streaming.
|
|
135
|
+
When set, TaskArcadeSSE will open an SSE connection to Arcade's
|
|
136
|
+
/events endpoint and receive real-time transaction status updates.
|
|
137
|
+
Must match the X-CallbackToken header sent during broadcast.
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
callbackToken?: string
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
###### Property loadLastSSEEventId
|
|
144
|
+
|
|
145
|
+
Load persisted SSE lastEventId (e.g. from SQLite) for catchup on startup
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
loadLastSSEEventId?: () => Promise<string | undefined>
|
|
149
|
+
```
|
|
150
|
+
|
|
119
151
|
###### Property msecsWaitPerMerkleProofServiceReq
|
|
120
152
|
|
|
121
153
|
How many msecs to wait after each getMerkleProof service request.
|
|
@@ -133,6 +165,14 @@ onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void
|
|
|
133
165
|
```
|
|
134
166
|
See also: [ReviewActionResult](./client.md#interface-reviewactionresult)
|
|
135
167
|
|
|
168
|
+
###### Property saveLastSSEEventId
|
|
169
|
+
|
|
170
|
+
Save SSE lastEventId to persistent storage
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
saveLastSSEEventId?: (lastEventId: string) => Promise<void>
|
|
174
|
+
```
|
|
175
|
+
|
|
136
176
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
137
177
|
|
|
138
178
|
---
|
|
@@ -178,12 +218,13 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
178
218
|
| --- | --- |
|
|
179
219
|
| [Monitor](#class-monitor) | [TaskNewHeader](#class-tasknewheader) |
|
|
180
220
|
| [MonitorDaemon](#class-monitordaemon) | [TaskPurge](#class-taskpurge) |
|
|
181
|
-
| [
|
|
182
|
-
| [
|
|
183
|
-
| [
|
|
184
|
-
| [
|
|
185
|
-
| [
|
|
186
|
-
| [
|
|
221
|
+
| [TaskArcadeSSE](#class-taskarcadesse) | [TaskReorg](#class-taskreorg) |
|
|
222
|
+
| [TaskCheckForProofs](#class-taskcheckforproofs) | [TaskReviewStatus](#class-taskreviewstatus) |
|
|
223
|
+
| [TaskCheckNoSends](#class-taskchecknosends) | [TaskSendWaiting](#class-tasksendwaiting) |
|
|
224
|
+
| [TaskClock](#class-taskclock) | [TaskSyncWhenIdle](#class-tasksyncwhenidle) |
|
|
225
|
+
| [TaskFailAbandoned](#class-taskfailabandoned) | [TaskUnFail](#class-taskunfail) |
|
|
226
|
+
| [TaskMineBlock](#class-taskmineblock) | [WalletMonitorTask](#class-walletmonitortask) |
|
|
227
|
+
| [TaskMonitorCallHistory](#class-taskmonitorcallhistory) | |
|
|
187
228
|
|
|
188
229
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
189
230
|
|
|
@@ -207,6 +248,7 @@ export class Monitor {
|
|
|
207
248
|
headersSubscriptionPromise?: Promise<string>;
|
|
208
249
|
onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
|
|
209
250
|
onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
|
|
251
|
+
onTransactionStatusChanged?: (txid: string, newStatus: string) => Promise<void>;
|
|
210
252
|
constructor(options: MonitorOptions)
|
|
211
253
|
async destroy(): Promise<void>
|
|
212
254
|
static readonly oneSecond = 1000;
|
|
@@ -243,6 +285,8 @@ export class Monitor {
|
|
|
243
285
|
processNewBlockHeader(header: BlockHeader): void
|
|
244
286
|
callOnBroadcastedTransaction(broadcastResult: ReviewActionResult): void
|
|
245
287
|
callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
|
|
288
|
+
callOnTransactionStatusChanged(txid: string, newStatus: string): void
|
|
289
|
+
async fetchSSEEvents(): Promise<number>
|
|
246
290
|
deactivatedHeaders: DeactivedHeader[] = [];
|
|
247
291
|
processReorg(depth: number, oldTip: BlockHeader, newTip: BlockHeader, deactivatedHeaders?: BlockHeader[]): void
|
|
248
292
|
processHeader(header: BlockHeader): void
|
|
@@ -309,6 +353,23 @@ callOnProvenTransaction(txStatus: ProvenTransactionStatus): void
|
|
|
309
353
|
```
|
|
310
354
|
See also: [ProvenTransactionStatus](./client.md#interface-proventransactionstatus)
|
|
311
355
|
|
|
356
|
+
###### Method callOnTransactionStatusChanged
|
|
357
|
+
|
|
358
|
+
Called by TaskArcadeSSE when an SSE status event is received from Arcade.
|
|
359
|
+
|
|
360
|
+
```ts
|
|
361
|
+
callOnTransactionStatusChanged(txid: string, newStatus: string): void
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
###### Method fetchSSEEvents
|
|
365
|
+
|
|
366
|
+
Fetch pending transaction status events from Arcade on demand.
|
|
367
|
+
Call this on app open, balance refresh, transaction list view, etc.
|
|
368
|
+
|
|
369
|
+
```ts
|
|
370
|
+
async fetchSSEEvents(): Promise<number>
|
|
371
|
+
```
|
|
372
|
+
|
|
312
373
|
###### Method processHeader
|
|
313
374
|
|
|
314
375
|
Handler for new header events from Chaintracks.
|
|
@@ -372,6 +433,31 @@ See also: [MonitorDaemonSetup](./monitor.md#interface-monitordaemonsetup)
|
|
|
372
433
|
|
|
373
434
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
374
435
|
|
|
436
|
+
---
|
|
437
|
+
##### Class: TaskArcadeSSE
|
|
438
|
+
|
|
439
|
+
Monitor task that receives transaction status updates from Arcade via SSE
|
|
440
|
+
and processes them — including fetching merkle proofs directly from Arcade
|
|
441
|
+
when transactions are MINED.
|
|
442
|
+
|
|
443
|
+
```ts
|
|
444
|
+
export class TaskArcadeSSE extends WalletMonitorTask {
|
|
445
|
+
static taskName = "ArcadeSSE";
|
|
446
|
+
sseClient: ArcSSEClient | null = null;
|
|
447
|
+
constructor(monitor: Monitor)
|
|
448
|
+
override async asyncSetup(): Promise<void>
|
|
449
|
+
trigger(_nowMsecsSinceEpoch: number): {
|
|
450
|
+
run: boolean;
|
|
451
|
+
}
|
|
452
|
+
async runTask(): Promise<string>
|
|
453
|
+
async fetchNow(): Promise<number>
|
|
454
|
+
}
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
See also: [ArcSSEClient](./services.md#class-arcsseclient), [Monitor](./monitor.md#class-monitor), [WalletMonitorTask](./monitor.md#class-walletmonitortask)
|
|
458
|
+
|
|
459
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
460
|
+
|
|
375
461
|
---
|
|
376
462
|
##### Class: TaskCheckForProofs
|
|
377
463
|
|