@bsv/wallet-toolbox 2.4.3 → 2.4.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.
Files changed (152) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/docs/README.md +3 -1
  3. package/docs/action-batch-planning.md +117 -0
  4. package/docs/authentication-observability.md +94 -0
  5. package/docs/client.md +1566 -627
  6. package/docs/monitor.md +26 -5
  7. package/docs/storage.md +514 -334
  8. package/docs/wallet.md +1109 -932
  9. package/out/src/CWIStyleWalletManager.d.ts +52 -5
  10. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  11. package/out/src/CWIStyleWalletManager.js +500 -128
  12. package/out/src/CWIStyleWalletManager.js.map +1 -1
  13. package/out/src/Wallet.d.ts +8 -0
  14. package/out/src/Wallet.d.ts.map +1 -1
  15. package/out/src/Wallet.js +23 -9
  16. package/out/src/Wallet.js.map +1 -1
  17. package/out/src/WalletAuthenticationManager.d.ts +20 -6
  18. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  19. package/out/src/WalletAuthenticationManager.js +214 -34
  20. package/out/src/WalletAuthenticationManager.js.map +1 -1
  21. package/out/src/index.all.d.ts +1 -0
  22. package/out/src/index.all.d.ts.map +1 -1
  23. package/out/src/index.all.js +1 -0
  24. package/out/src/index.all.js.map +1 -1
  25. package/out/src/index.client.d.ts +2 -0
  26. package/out/src/index.client.d.ts.map +1 -1
  27. package/out/src/index.client.js +2 -0
  28. package/out/src/index.client.js.map +1 -1
  29. package/out/src/index.mobile.d.ts +1 -0
  30. package/out/src/index.mobile.d.ts.map +1 -1
  31. package/out/src/index.mobile.js +1 -0
  32. package/out/src/index.mobile.js.map +1 -1
  33. package/out/src/monitor/Monitor.d.ts.map +1 -1
  34. package/out/src/monitor/Monitor.js +4 -3
  35. package/out/src/monitor/Monitor.js.map +1 -1
  36. package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts +13 -0
  37. package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts.map +1 -0
  38. package/out/src/monitor/tasks/TaskCleanupActionBatches.js +24 -0
  39. package/out/src/monitor/tasks/TaskCleanupActionBatches.js.map +1 -0
  40. package/out/src/monitor/tasks/index.all.d.ts +1 -0
  41. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  42. package/out/src/monitor/tasks/index.all.js +1 -0
  43. package/out/src/monitor/tasks/index.all.js.map +1 -1
  44. package/out/src/sdk/ActionBatch.interfaces.d.ts +105 -0
  45. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -0
  46. package/out/src/sdk/ActionBatch.interfaces.js +3 -0
  47. package/out/src/sdk/ActionBatch.interfaces.js.map +1 -0
  48. package/out/src/sdk/WalletStorage.interfaces.d.ts +18 -1
  49. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  50. package/out/src/sdk/index.d.ts +1 -0
  51. package/out/src/sdk/index.d.ts.map +1 -1
  52. package/out/src/sdk/index.js +1 -0
  53. package/out/src/sdk/index.js.map +1 -1
  54. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +28 -0
  55. package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -0
  56. package/out/src/signer/actionBatch/ActionBatchPlanner.js +313 -0
  57. package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -0
  58. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +33 -0
  59. package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -0
  60. package/out/src/signer/actionBatch/ActionBatchWorkspace.js +693 -0
  61. package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -0
  62. package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
  63. package/out/src/signer/methods/buildSignableTransaction.js +2 -1
  64. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  65. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  66. package/out/src/signer/methods/createAction.js +4 -1
  67. package/out/src/signer/methods/createAction.js.map +1 -1
  68. package/out/src/storage/StorageIdb.d.ts +14 -0
  69. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  70. package/out/src/storage/StorageIdb.js +156 -30
  71. package/out/src/storage/StorageIdb.js.map +1 -1
  72. package/out/src/storage/StorageKnex.d.ts +19 -0
  73. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  74. package/out/src/storage/StorageKnex.js +107 -1
  75. package/out/src/storage/StorageKnex.js.map +1 -1
  76. package/out/src/storage/StorageProvider.d.ts +28 -0
  77. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  78. package/out/src/storage/StorageProvider.js +49 -0
  79. package/out/src/storage/StorageProvider.js.map +1 -1
  80. package/out/src/storage/WalletStorageManager.d.ts +8 -0
  81. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  82. package/out/src/storage/WalletStorageManager.js +24 -0
  83. package/out/src/storage/WalletStorageManager.js.map +1 -1
  84. package/out/src/storage/idbHelpers.d.ts +2 -0
  85. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  86. package/out/src/storage/idbHelpers.js +19 -0
  87. package/out/src/storage/idbHelpers.js.map +1 -1
  88. package/out/src/storage/methods/actionBatch.d.ts +14 -0
  89. package/out/src/storage/methods/actionBatch.d.ts.map +1 -0
  90. package/out/src/storage/methods/actionBatch.js +644 -0
  91. package/out/src/storage/methods/actionBatch.js.map +1 -0
  92. package/out/src/storage/methods/actionBatchBlobs.d.ts +12 -0
  93. package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -0
  94. package/out/src/storage/methods/actionBatchBlobs.js +121 -0
  95. package/out/src/storage/methods/actionBatchBlobs.js.map +1 -0
  96. package/out/src/storage/methods/actionBatchValidation.d.ts +15 -0
  97. package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -0
  98. package/out/src/storage/methods/actionBatchValidation.js +310 -0
  99. package/out/src/storage/methods/actionBatchValidation.js.map +1 -0
  100. package/out/src/storage/methods/actionPlanning.d.ts +12 -0
  101. package/out/src/storage/methods/actionPlanning.d.ts.map +1 -0
  102. package/out/src/storage/methods/actionPlanning.js +48 -0
  103. package/out/src/storage/methods/actionPlanning.js.map +1 -0
  104. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  105. package/out/src/storage/methods/createAction.js +9 -25
  106. package/out/src/storage/methods/createAction.js.map +1 -1
  107. package/out/src/storage/remoting/StorageClientBase.d.ts +9 -0
  108. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  109. package/out/src/storage/remoting/StorageClientBase.js +36 -1
  110. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  111. package/out/src/storage/remoting/StorageServer.d.ts +10 -0
  112. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  113. package/out/src/storage/remoting/StorageServer.js +147 -7
  114. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  115. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  116. package/out/src/storage/schema/KnexMigrations.js +44 -0
  117. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  118. package/out/src/storage/schema/StorageIdbSchema.d.ts +24 -0
  119. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  120. package/out/src/storage/schema/tables/TableActionBatch.d.ts +24 -0
  121. package/out/src/storage/schema/tables/TableActionBatch.d.ts.map +1 -0
  122. package/out/src/storage/schema/tables/TableActionBatch.js +3 -0
  123. package/out/src/storage/schema/tables/TableActionBatch.js.map +1 -0
  124. package/out/src/storage/schema/tables/index.d.ts +1 -0
  125. package/out/src/storage/schema/tables/index.d.ts.map +1 -1
  126. package/out/src/storage/schema/tables/index.js +1 -0
  127. package/out/src/storage/schema/tables/index.js.map +1 -1
  128. package/out/src/utility/actionBatchDigest.d.ts +9 -0
  129. package/out/src/utility/actionBatchDigest.d.ts.map +1 -0
  130. package/out/src/utility/actionBatchDigest.js +48 -0
  131. package/out/src/utility/actionBatchDigest.js.map +1 -0
  132. package/out/src/utility/beefForTxids.d.ts +9 -0
  133. package/out/src/utility/beefForTxids.d.ts.map +1 -0
  134. package/out/src/utility/beefForTxids.js +35 -0
  135. package/out/src/utility/beefForTxids.js.map +1 -0
  136. package/out/src/wab-client/WABClient.d.ts +36 -90
  137. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  138. package/out/src/wab-client/WABClient.js +103 -151
  139. package/out/src/wab-client/WABClient.js.map +1 -1
  140. package/out/src/wab-client/WABTransport.d.ts +53 -0
  141. package/out/src/wab-client/WABTransport.d.ts.map +1 -0
  142. package/out/src/wab-client/WABTransport.js +300 -0
  143. package/out/src/wab-client/WABTransport.js.map +1 -0
  144. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +10 -10
  145. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  146. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +16 -21
  147. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  148. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +2 -1
  149. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +1 -1
  150. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +14 -0
  151. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
  152. package/package.json +23 -23
package/docs/storage.md CHANGED
@@ -22,28 +22,28 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
22
22
 
23
23
  | | | |
24
24
  | --- | --- | --- |
25
- | [AdminStatsResult](#interface-adminstatsresult) | [MonitorAdminContextConfig](#interface-monitoradmincontextconfig) | [TableCertificateField](#interface-tablecertificatefield) |
26
- | [AggregatePostBeefTxResult](#interface-aggregatepostbeeftxresult) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableCertificateX](#interface-tablecertificatex) |
27
- | [BRC38ImportOptions](#interface-brc38importoptions) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableCommission](#interface-tablecommission) |
28
- | [BRC38ImportResult](#interface-brc38importresult) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TableMonitorEvent](#interface-tablemonitorevent) |
29
- | [BRC38Tables](#interface-brc38tables) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [TableOutput](#interface-tableoutput) |
30
- | [BRC38WalletData](#interface-brc38walletdata) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [TableOutputBasket](#interface-tableoutputbasket) |
31
- | [BRC39Options](#interface-brc39options) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [TableOutputTag](#interface-tableoutputtag) |
32
- | [CommitNewTxResults](#interface-commitnewtxresults) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [TableOutputTagMap](#interface-tableoutputtagmap) |
33
- | [EntitySyncMap](#interface-entitysyncmap) | [SpentInputTransition](#interface-spentinputtransition) | [TableOutputX](#interface-tableoutputx) |
34
- | [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [StorageAdminStats](#interface-storageadminstats) | [TableProvenTx](#interface-tableproventx) |
35
- | [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [StorageClientOptions](#interface-storageclientoptions) | [TableProvenTxReq](#interface-tableproventxreq) |
36
- | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StorageIdbOptions](#interface-storageidboptions) | [TableProvenTxReqDynamics](#interface-tableproventxreqdynamics) |
37
- | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StorageIdbSchema](#interface-storageidbschema) | [TableSettings](#interface-tablesettings) |
38
- | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageKnexOptions](#interface-storageknexoptions) | [TableSyncState](#interface-tablesyncstate) |
39
- | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageMySQLDojoReaderOptions](#interface-storagemysqldojoreaderoptions) | [TableTransaction](#interface-tabletransaction) |
40
- | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageProviderOptions](#interface-storageprovideroptions) | [TableTxLabel](#interface-tabletxlabel) |
41
- | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [StorageReaderOptions](#interface-storagereaderoptions) | [TableTxLabelMap](#interface-tabletxlabelmap) |
42
- | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) | [TableUser](#interface-tableuser) |
43
- | [KnexSessionManagerOptions](#interface-knexsessionmanageroptions) | [SyncError](#interface-syncerror) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
44
- | [ListActionsSpecOp](#interface-listactionsspecop) | [SyncMap](#interface-syncmap) | [VerifyAndRepairBeefResult](#interface-verifyandrepairbeefresult) |
45
- | [ListOutputsSpecOp](#interface-listoutputsspecop) | [TableAuthSession](#interface-tableauthsession) | [WalletStorageServerOptions](#interface-walletstorageserveroptions) |
46
- | [MonitorAdminContext](#interface-monitoradmincontext) | [TableCertificate](#interface-tablecertificate) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
25
+ | [AdminStatsResult](#interface-adminstatsresult) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [TableCommission](#interface-tablecommission) |
26
+ | [AggregatePostBeefTxResult](#interface-aggregatepostbeeftxresult) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [TableMonitorEvent](#interface-tablemonitorevent) |
27
+ | [CanonicalFundingCandidate](#interface-canonicalfundingcandidate) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [TableOutput](#interface-tableoutput) |
28
+ | [CommitNewTxResults](#interface-commitnewtxresults) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [TableOutputBasket](#interface-tableoutputbasket) |
29
+ | [EntitySyncMap](#interface-entitysyncmap) | [SpentInputTransition](#interface-spentinputtransition) | [TableOutputTag](#interface-tableoutputtag) |
30
+ | [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [StorageAdminStats](#interface-storageadminstats) | [TableOutputTagMap](#interface-tableoutputtagmap) |
31
+ | [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [StorageClientOptions](#interface-storageclientoptions) | [TableOutputX](#interface-tableoutputx) |
32
+ | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [StorageIdbOptions](#interface-storageidboptions) | [TableProvenTx](#interface-tableproventx) |
33
+ | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [StorageIdbSchema](#interface-storageidbschema) | [TableProvenTxReq](#interface-tableproventxreq) |
34
+ | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [StorageKnexOptions](#interface-storageknexoptions) | [TableProvenTxReqDynamics](#interface-tableproventxreqdynamics) |
35
+ | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StorageProviderOptions](#interface-storageprovideroptions) | [TableSettings](#interface-tablesettings) |
36
+ | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StorageReaderOptions](#interface-storagereaderoptions) | [TableSyncState](#interface-tablesyncstate) |
37
+ | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) | [TableTransaction](#interface-tabletransaction) |
38
+ | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [SyncError](#interface-syncerror) | [TableTxLabel](#interface-tabletxlabel) |
39
+ | [KnexSessionManagerOptions](#interface-knexsessionmanageroptions) | [SyncMap](#interface-syncmap) | [TableTxLabelMap](#interface-tabletxlabelmap) |
40
+ | [ListActionsSpecOp](#interface-listactionsspecop) | [TableActionBatch](#interface-tableactionbatch) | [TableUser](#interface-tableuser) |
41
+ | [ListOutputsSpecOp](#interface-listoutputsspecop) | [TableActionBatchBlob](#interface-tableactionbatchblob) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
42
+ | [MonitorAdminContext](#interface-monitoradmincontext) | [TableActionBatchOutput](#interface-tableactionbatchoutput) | [ValidatedBatchAction](#interface-validatedbatchaction) |
43
+ | [MonitorAdminContextConfig](#interface-monitoradmincontextconfig) | [TableAuthSession](#interface-tableauthsession) | [VerifyAndRepairBeefResult](#interface-verifyandrepairbeefresult) |
44
+ | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableCertificate](#interface-tablecertificate) | [WalletStorageServerOptions](#interface-walletstorageserveroptions) |
45
+ | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableCertificateField](#interface-tablecertificatefield) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
46
+ | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TableCertificateX](#interface-tablecertificatex) | |
47
47
 
48
48
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
49
49
 
@@ -92,81 +92,12 @@ competingTxs: string[]
92
92
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
93
93
 
94
94
  ---
95
- ##### Interface: BRC38ImportOptions
95
+ ##### Interface: CanonicalFundingCandidate
96
96
 
97
97
  ```ts
98
- export interface BRC38ImportOptions {
99
- mode: "merge" | "restore";
100
- }
101
- ```
102
-
103
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
104
-
105
- ---
106
- ##### Interface: BRC38ImportResult
107
-
108
- ```ts
109
- export interface BRC38ImportResult {
110
- mode: "merge" | "restore";
111
- identityKey: string;
112
- userId: number;
113
- inserts: number;
114
- updates: number;
115
- }
116
- ```
117
-
118
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
119
-
120
- ---
121
- ##### Interface: BRC38Tables
122
-
123
- ```ts
124
- export interface BRC38Tables {
125
- provenTxs: PortableRow[];
126
- provenTxReqs: PortableRow[];
127
- outputBaskets: PortableRow[];
128
- transactions: PortableRow[];
129
- commissions: PortableRow[];
130
- outputs: PortableRow[];
131
- outputTags: PortableRow[];
132
- outputTagMaps: PortableRow[];
133
- txLabels: PortableRow[];
134
- txLabelMaps: PortableRow[];
135
- certificates: PortableRow[];
136
- certificateFields: PortableRow[];
137
- syncStates: PortableRow[];
138
- }
139
- ```
140
-
141
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
142
-
143
- ---
144
- ##### Interface: BRC38WalletData
145
-
146
- ```ts
147
- export interface BRC38WalletData {
148
- brc: 38;
149
- title: "User Wallet Data Format";
150
- formatVersion: 1;
151
- exportedAt: string;
152
- sourceStorage: PortableRow;
153
- user: PortableRow;
154
- tables: BRC38Tables;
155
- }
156
- ```
157
-
158
- See also: [BRC38Tables](./storage.md#interface-brc38tables)
159
-
160
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
161
-
162
- ---
163
- ##### Interface: BRC39Options
164
-
165
- ```ts
166
- export interface BRC39Options {
167
- iterations?: number;
168
- memoryKiB?: number;
169
- parallelism?: number;
98
+ export interface CanonicalFundingCandidate {
99
+ outputId: number;
100
+ satoshis: number;
170
101
  }
171
102
  ```
172
103
 
@@ -847,6 +778,35 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
847
778
 
848
779
  ```ts
849
780
  export interface StorageIdbSchema {
781
+ action_batches: {
782
+ key: number;
783
+ value: TableActionBatch;
784
+ indexes: {
785
+ userId: number;
786
+ userId_batchId: [
787
+ number,
788
+ string
789
+ ];
790
+ expiresAt: Date;
791
+ };
792
+ };
793
+ action_batch_outputs: {
794
+ key: number;
795
+ value: TableActionBatchOutput;
796
+ indexes: {
797
+ actionBatchId: number;
798
+ };
799
+ };
800
+ action_batch_blobs: {
801
+ key: [
802
+ number,
803
+ string
804
+ ];
805
+ value: TableActionBatchBlob;
806
+ indexes: {
807
+ actionBatchId: number;
808
+ };
809
+ };
850
810
  certificates: {
851
811
  key: number;
852
812
  value: TableCertificate;
@@ -995,7 +955,7 @@ export interface StorageIdbSchema {
995
955
  }
996
956
  ```
997
957
 
998
- See also: [ProvenTxReqStatus](./client.md#type-proventxreqstatus), [SyncStatus](./client.md#type-syncstatus), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TransactionStatus](./client.md#type-transactionstatus)
958
+ See also: [ProvenTxReqStatus](./client.md#type-proventxreqstatus), [SyncStatus](./client.md#type-syncstatus), [TableActionBatch](./storage.md#interface-tableactionbatch), [TableActionBatchBlob](./storage.md#interface-tableactionbatchblob), [TableActionBatchOutput](./storage.md#interface-tableactionbatchoutput), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TransactionStatus](./client.md#type-transactionstatus)
999
959
 
1000
960
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1001
961
 
@@ -1020,28 +980,6 @@ knex: Knex
1020
980
 
1021
981
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1022
982
 
1023
- ---
1024
- ##### Interface: StorageMySQLDojoReaderOptions
1025
-
1026
- ```ts
1027
- export interface StorageMySQLDojoReaderOptions extends StorageReaderOptions {
1028
- chain: Chain;
1029
- knex: Knex;
1030
- }
1031
- ```
1032
-
1033
- See also: [Chain](./client.md#type-chain), [StorageReaderOptions](./storage.md#interface-storagereaderoptions)
1034
-
1035
- ###### Property knex
1036
-
1037
- Knex database interface initialized with valid connection configuration.
1038
-
1039
- ```ts
1040
- knex: Knex
1041
- ```
1042
-
1043
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1044
-
1045
983
  ---
1046
984
  ##### Interface: StorageProviderOptions
1047
985
 
@@ -1139,6 +1077,57 @@ See also: [EntitySyncMap](./storage.md#interface-entitysyncmap)
1139
1077
 
1140
1078
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1141
1079
 
1080
+ ---
1081
+ ##### Interface: TableActionBatch
1082
+
1083
+ ```ts
1084
+ export interface TableActionBatch extends EntityTimeStamp {
1085
+ actionBatchId: number;
1086
+ userId: number;
1087
+ batchId: string;
1088
+ status: ActionBatchStatus;
1089
+ expiresAt: Date;
1090
+ hardExpiresAt: Date;
1091
+ manifestDigest?: string;
1092
+ uploadDigests?: string;
1093
+ result?: string;
1094
+ }
1095
+ ```
1096
+
1097
+ See also: [ActionBatchStatus](./storage.md#type-actionbatchstatus), [EntityTimeStamp](./client.md#interface-entitytimestamp)
1098
+
1099
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1100
+
1101
+ ---
1102
+ ##### Interface: TableActionBatchBlob
1103
+
1104
+ ```ts
1105
+ export interface TableActionBatchBlob extends EntityTimeStamp {
1106
+ actionBatchBlobId: number;
1107
+ actionBatchId: number;
1108
+ digest: string;
1109
+ bytes: number[];
1110
+ }
1111
+ ```
1112
+
1113
+ See also: [EntityTimeStamp](./client.md#interface-entitytimestamp)
1114
+
1115
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1116
+
1117
+ ---
1118
+ ##### Interface: TableActionBatchOutput
1119
+
1120
+ ```ts
1121
+ export interface TableActionBatchOutput extends EntityTimeStamp {
1122
+ actionBatchId: number;
1123
+ outputId: number;
1124
+ }
1125
+ ```
1126
+
1127
+ See also: [EntityTimeStamp](./client.md#interface-entitytimestamp)
1128
+
1129
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1130
+
1142
1131
  ---
1143
1132
  ##### Interface: TableAuthSession
1144
1133
 
@@ -1763,6 +1752,22 @@ export interface ValidateGenerateChangeSdkParamsResult {
1763
1752
 
1764
1753
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1765
1754
 
1755
+ ---
1756
+ ##### Interface: ValidatedBatchAction
1757
+
1758
+ ```ts
1759
+ export interface ValidatedBatchAction {
1760
+ action: ActionBatchCommitAction;
1761
+ tx: Transaction;
1762
+ rawTx: number[];
1763
+ inputBeef: number[];
1764
+ }
1765
+ ```
1766
+
1767
+ See also: [ActionBatchCommitAction](./client.md#interface-actionbatchcommitaction)
1768
+
1769
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1770
+
1766
1771
  ---
1767
1772
  ##### Interface: VerifyAndRepairBeefResult
1768
1773
 
@@ -1794,6 +1799,7 @@ export interface WalletStorageServerOptions {
1794
1799
  adminIdentityKeys?: string[];
1795
1800
  makeLogger?: MakeWalletLogger;
1796
1801
  sessionManager?: AuthMiddlewareOptions["sessionManager"];
1802
+ rateLimit?: Partial<RateLimitOptions>;
1797
1803
  logRpcRequests?: boolean;
1798
1804
  }
1799
1805
  ```
@@ -1808,6 +1814,16 @@ Emit one JSON log record for each authenticated RPC. Default: true.
1808
1814
  logRpcRequests?: boolean
1809
1815
  ```
1810
1816
 
1817
+ ###### Property rateLimit
1818
+
1819
+ Authenticated request rate limiting. Defaults to 1,000 requests per
1820
+ identity key per minute. Override the store for shared enforcement across
1821
+ multiple server processes or replicas.
1822
+
1823
+ ```ts
1824
+ rateLimit?: Partial<RateLimitOptions>
1825
+ ```
1826
+
1811
1827
  ###### Property sessionManager
1812
1828
 
1813
1829
  Shared BRC-103 session storage for multi-process or multi-replica servers.
@@ -1844,13 +1860,13 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
1844
1860
  | [AdminServer](#class-adminserver) | [EntityProvenTxReq](#class-entityproventxreq) | [StorageClientBase](#class-storageclientbase) |
1845
1861
  | [EntityBase](#class-entitybase) | [EntitySyncState](#class-entitysyncstate) | [StorageIdb](#class-storageidb) |
1846
1862
  | [EntityCertificate](#class-entitycertificate) | [EntityTransaction](#class-entitytransaction) | [StorageKnex](#class-storageknex) |
1847
- | [EntityCertificateField](#class-entitycertificatefield) | [EntityTxLabel](#class-entitytxlabel) | [StorageMySQLDojoReader](#class-storagemysqldojoreader) |
1848
- | [EntityCommission](#class-entitycommission) | [EntityTxLabelMap](#class-entitytxlabelmap) | [StorageProvider](#class-storageprovider) |
1849
- | [EntityOutput](#class-entityoutput) | [EntityUser](#class-entityuser) | [StorageReader](#class-storagereader) |
1850
- | [EntityOutputBasket](#class-entityoutputbasket) | [KnexMigrations](#class-knexmigrations) | [StorageReaderWriter](#class-storagereaderwriter) |
1851
- | [EntityOutputTag](#class-entityoutputtag) | [KnexSessionManager](#class-knexsessionmanager) | [StorageServer](#class-storageserver) |
1852
- | [EntityOutputTagMap](#class-entityoutputtagmap) | [MergeEntity](#class-mergeentity) | [StorageSyncReader](#class-storagesyncreader) |
1853
- | [EntityProvenTx](#class-entityproventx) | [StorageClient](#class-storageclient) | [WalletStorageManager](#class-walletstoragemanager) |
1863
+ | [EntityCertificateField](#class-entitycertificatefield) | [EntityTxLabel](#class-entitytxlabel) | [StorageProvider](#class-storageprovider) |
1864
+ | [EntityCommission](#class-entitycommission) | [EntityTxLabelMap](#class-entitytxlabelmap) | [StorageReader](#class-storagereader) |
1865
+ | [EntityOutput](#class-entityoutput) | [EntityUser](#class-entityuser) | [StorageReaderWriter](#class-storagereaderwriter) |
1866
+ | [EntityOutputBasket](#class-entityoutputbasket) | [KnexMigrations](#class-knexmigrations) | [StorageServer](#class-storageserver) |
1867
+ | [EntityOutputTag](#class-entityoutputtag) | [KnexSessionManager](#class-knexsessionmanager) | [StorageSyncReader](#class-storagesyncreader) |
1868
+ | [EntityOutputTagMap](#class-entityoutputtagmap) | [MergeEntity](#class-mergeentity) | [WalletStorageManager](#class-walletstoragemanager) |
1869
+ | [EntityProvenTx](#class-entityproventx) | [StorageClient](#class-storageclient) | |
1854
1870
 
1855
1871
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
1856
1872
 
@@ -3040,6 +3056,14 @@ export abstract class StorageClientBase implements WalletStorageProvider {
3040
3056
  async internalizeAction(auth: AuthId, args: InternalizeActionArgs): Promise<StorageInternalizeActionResult>
3041
3057
  async createAction(auth: AuthId, args: Validation.ValidCreateActionArgs): Promise<StorageCreateActionResult>
3042
3058
  async processAction(auth: AuthId, args: StorageProcessActionArgs): Promise<StorageProcessActionResults>
3059
+ async getCapabilities(): Promise<StorageCapabilities>
3060
+ async beginActionBatch(auth: AuthId, args: BeginActionBatchArgs): Promise<BeginActionBatchResult>
3061
+ async extendActionBatch(auth: AuthId, args: ExtendActionBatchArgs): Promise<ExtendActionBatchResult>
3062
+ async renewActionBatch(auth: AuthId, batchId: string): Promise<RenewActionBatchResult>
3063
+ async prepareActionBatchCommit(auth: AuthId, manifest: ActionBatchManifest): Promise<PrepareActionBatchCommitResult>
3064
+ async putActionBatchBlob(auth: AuthId, args: PutActionBatchBlobArgs): Promise<void>
3065
+ async commitActionBatch(auth: AuthId, manifest: ActionBatchManifest): Promise<CommitActionBatchResult>
3066
+ async abortActionBatch(auth: AuthId, batchId: string): Promise<AbortActionBatchResult>
3043
3067
  async abortAction(auth: AuthId, args: AbortActionArgs): Promise<AbortActionResult>
3044
3068
  async findOrInsertUser(identityKey): Promise<{
3045
3069
  user: TableUser;
@@ -3069,7 +3093,7 @@ export abstract class StorageClientBase implements WalletStorageProvider {
3069
3093
  }
3070
3094
  ```
3071
3095
 
3072
- See also: [AuthId](./client.md#interface-authid), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageClientOptions](./storage.md#interface-storageclientoptions), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [SyncChunk](./client.md#interface-syncchunk), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableUser](./storage.md#interface-tableuser), [UpdateProvenTxReqWithNewProvenTxArgs](./client.md#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](./client.md#interface-updateproventxreqwithnewproventxresult), [WalletServices](./client.md#interface-walletservices), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [createAction](./storage.md#function-createaction), [getSyncChunk](./storage.md#function-getsyncchunk), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [processAction](./storage.md#function-processaction), [validateDate](./storage.md#function-validatedate), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity)
3096
+ See also: [AbortActionBatchResult](./client.md#interface-abortactionbatchresult), [ActionBatchManifest](./client.md#interface-actionbatchmanifest), [AuthId](./client.md#interface-authid), [BeginActionBatchArgs](./client.md#interface-beginactionbatchargs), [BeginActionBatchResult](./client.md#interface-beginactionbatchresult), [CommitActionBatchResult](./client.md#interface-commitactionbatchresult), [EntityTimeStamp](./client.md#interface-entitytimestamp), [ExtendActionBatchArgs](./client.md#interface-extendactionbatchargs), [ExtendActionBatchResult](./client.md#interface-extendactionbatchresult), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [PrepareActionBatchCommitResult](./client.md#interface-prepareactionbatchcommitresult), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [PutActionBatchBlobArgs](./client.md#interface-putactionbatchblobargs), [RenewActionBatchResult](./client.md#interface-renewactionbatchresult), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageCapabilities](./client.md#interface-storagecapabilities), [StorageClientOptions](./storage.md#interface-storageclientoptions), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [SyncChunk](./client.md#interface-syncchunk), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableUser](./storage.md#interface-tableuser), [UpdateProvenTxReqWithNewProvenTxArgs](./client.md#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](./client.md#interface-updateproventxreqwithnewproventxresult), [WalletServices](./client.md#interface-walletservices), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [abortActionBatch](./storage.md#function-abortactionbatch), [beginActionBatch](./storage.md#function-beginactionbatch), [commitActionBatch](./storage.md#function-commitactionbatch), [createAction](./storage.md#function-createaction), [extendActionBatch](./storage.md#function-extendactionbatch), [getSyncChunk](./storage.md#function-getsyncchunk), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [prepareActionBatchCommit](./storage.md#function-prepareactionbatchcommit), [processAction](./storage.md#function-processaction), [putActionBatchBlob](./storage.md#function-putactionbatchblob), [renewActionBatch](./storage.md#function-renewactionbatch), [validateDate](./storage.md#function-validatedate), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity)
3073
3097
 
3074
3098
  ###### Method abortAction
3075
3099
 
@@ -3662,6 +3686,7 @@ export class StorageIdb extends StorageProvider implements WalletStorageProvider
3662
3686
  dbName: string;
3663
3687
  db?: IDBPDatabase<StorageIdbSchema>;
3664
3688
  constructor(options: StorageIdbOptions)
3689
+ protected override supportsActionBatchPersistence(): boolean
3665
3690
  async migrate(storageName: string, storageIdentityKey: string): Promise<string>
3666
3691
  async verifyDB(storageName?: string, storageIdentityKey?: string): Promise<IDBPDatabase<StorageIdbSchema>>
3667
3692
  toDbTrx(stores: string[], mode: "readonly" | "readwrite", trx?: TrxToken): IDBPTransaction<StorageIdbSchema, string[], "readwrite" | "readonly">
@@ -3733,6 +3758,9 @@ export class StorageIdb extends StorageProvider implements WalletStorageProvider
3733
3758
  async updateTxLabelMap(transactionId: number, txLabelId: number, update: Partial<TableTxLabelMap>, trx?: TrxToken): Promise<number>
3734
3759
  async destroy(): Promise<void>
3735
3760
  allStores: string[] = [
3761
+ "action_batches",
3762
+ "action_batch_outputs",
3763
+ "action_batch_blobs",
3736
3764
  "certificates",
3737
3765
  "certificate_fields",
3738
3766
  "commissions",
@@ -3749,6 +3777,18 @@ export class StorageIdb extends StorageProvider implements WalletStorageProvider
3749
3777
  "tx_labels_map",
3750
3778
  "users"
3751
3779
  ];
3780
+ override async insertActionBatch(batch: TableActionBatch, trx?: TrxToken): Promise<number>
3781
+ override async findActionBatch(userId: number, batchId: string, trx?: TrxToken): Promise<TableActionBatch | undefined>
3782
+ override async findExpiredActionBatches(now: Date, trx?: TrxToken): Promise<TableActionBatch[]>
3783
+ override async updateActionBatch(actionBatchId: number, update: Partial<TableActionBatch>, trx?: TrxToken): Promise<number>
3784
+ override async deleteActionBatch(actionBatchId: number, trx?: TrxToken): Promise<void>
3785
+ override async reserveActionBatchOutputs(reservations: TableActionBatchOutput[], trx?: TrxToken): Promise<void>
3786
+ override async findActionBatchOutputIds(actionBatchId: number, trx?: TrxToken): Promise<number[]>
3787
+ override async findReservedActionBatchOutputIds(outputIds: number[], trx?: TrxToken): Promise<number[]>
3788
+ override async deleteActionBatchOutputReservations(actionBatchId: number, trx?: TrxToken): Promise<void>
3789
+ override async putActionBatchBlobRecord(blob: TableActionBatchBlob, trx?: TrxToken): Promise<void>
3790
+ override async findActionBatchBlobRecord(actionBatchId: number, digest: string, trx?: TrxToken): Promise<TableActionBatchBlob | undefined>
3791
+ override async deleteActionBatchBlobRecords(actionBatchId: number, trx?: TrxToken): Promise<void>
3752
3792
  async transaction<T>(scope: (trx: TrxToken) => Promise<T>, trx?: TrxToken): Promise<T>
3753
3793
  async filterCertificateFields(args: FindCertificateFieldsArgs, filtered: (v: TableCertificateField) => void): Promise<void>
3754
3794
  async findCertificateFields(args: FindCertificateFieldsArgs): Promise<TableCertificateField[]>
@@ -3797,7 +3837,7 @@ export class StorageIdb extends StorageProvider implements WalletStorageProvider
3797
3837
  }
3798
3838
  ```
3799
3839
 
3800
- See also: [AuthId](./client.md#interface-authid), [DBType](./storage.md#type-dbtype), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [StorageAdminStats](./storage.md#interface-storageadminstats), [StorageIdbOptions](./storage.md#interface-storageidboptions), [StorageIdbSchema](./storage.md#interface-storageidbschema), [StorageProvider](./storage.md#class-storageprovider), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [listActions](./storage.md#function-listactions), [listOutputs](./storage.md#function-listoutputs), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity)
3840
+ See also: [AuthId](./client.md#interface-authid), [DBType](./storage.md#type-dbtype), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [StorageAdminStats](./storage.md#interface-storageadminstats), [StorageIdbOptions](./storage.md#interface-storageidboptions), [StorageIdbSchema](./storage.md#interface-storageidbschema), [StorageProvider](./storage.md#class-storageprovider), [TableActionBatch](./storage.md#interface-tableactionbatch), [TableActionBatchBlob](./storage.md#interface-tableactionbatchblob), [TableActionBatchOutput](./storage.md#interface-tableactionbatchoutput), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [listActions](./storage.md#function-listactions), [listOutputs](./storage.md#function-listoutputs), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity)
3801
3841
 
3802
3842
  ###### Method allocateChangeInput
3803
3843
 
@@ -3921,6 +3961,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
3921
3961
  export class StorageKnex extends StorageProvider implements WalletStorageProvider {
3922
3962
  knex: Knex;
3923
3963
  constructor(options: StorageKnexOptions)
3964
+ protected override supportsActionBatchPersistence(): boolean
3924
3965
  async readSettings(): Promise<TableSettings>
3925
3966
  override async getProvenOrRawTx(txid: string, trx?: TrxToken): Promise<ProvenOrRawTx>
3926
3967
  dbTypeSubstring(source: string, fromOffset: number, forLength?: number): string
@@ -3936,6 +3977,19 @@ export class StorageKnex extends StorageProvider implements WalletStorageProvide
3936
3977
  override async listActions(auth: AuthId, vargs: Validation.ValidListActionsArgs): Promise<ListActionsResult>
3937
3978
  override async listOutputs(auth: AuthId, vargs: Validation.ValidListOutputsArgs): Promise<ListOutputsResult>
3938
3979
  override async insertProvenTx(tx: TableProvenTx, trx?: TrxToken): Promise<number>
3980
+ override async insertActionBatch(batch: TableActionBatch, trx?: TrxToken): Promise<number>
3981
+ override async findActionBatch(userId: number, batchId: string, trx?: TrxToken): Promise<TableActionBatch | undefined>
3982
+ override async findActionBatchForUpdate(userId: number, batchId: string, trx: TrxToken): Promise<TableActionBatch | undefined>
3983
+ override async findExpiredActionBatches(now: Date, trx?: TrxToken): Promise<TableActionBatch[]>
3984
+ override async updateActionBatch(actionBatchId: number, update: Partial<TableActionBatch>, trx?: TrxToken): Promise<number>
3985
+ override async deleteActionBatch(actionBatchId: number, trx?: TrxToken): Promise<void>
3986
+ override async reserveActionBatchOutputs(reservations: TableActionBatchOutput[], trx?: TrxToken): Promise<void>
3987
+ override async findActionBatchOutputIds(actionBatchId: number, trx?: TrxToken): Promise<number[]>
3988
+ override async findReservedActionBatchOutputIds(outputIds: number[], trx?: TrxToken): Promise<number[]>
3989
+ override async deleteActionBatchOutputReservations(actionBatchId: number, trx?: TrxToken): Promise<void>
3990
+ override async putActionBatchBlobRecord(blob: TableActionBatchBlob, trx?: TrxToken): Promise<void>
3991
+ override async findActionBatchBlobRecord(actionBatchId: number, digest: string, trx?: TrxToken): Promise<TableActionBatchBlob | undefined>
3992
+ override async deleteActionBatchBlobRecords(actionBatchId: number, trx?: TrxToken): Promise<void>
3939
3993
  override async insertProvenTxReq(tx: TableProvenTxReq, trx?: TrxToken): Promise<number>
3940
3994
  override async insertUser(user: TableUser, trx?: TrxToken): Promise<number>
3941
3995
  override async insertCertificateAuth(auth: AuthId, certificate: TableCertificateX): Promise<number>
@@ -4044,6 +4098,10 @@ export class StorageKnex extends StorageProvider implements WalletStorageProvide
4044
4098
  txid: string;
4045
4099
  vout: number;
4046
4100
  }>, trx?: TrxToken): Promise<Record<string, TableOutput>>
4101
+ override async findOutputsByOutpointsForUpdate(userId: number, outpoints: Array<{
4102
+ txid: string;
4103
+ vout: number;
4104
+ }>, trx: TrxToken): Promise<Record<string, TableOutput>>
4047
4105
  override async findOrInsertOutputBasketsBulk(userId: number, names: string[], trx?: TrxToken): Promise<Record<string, TableOutputBasket>>
4048
4106
  override async findOrInsertOutputTagsBulk(userId: number, tags: string[], trx?: TrxToken): Promise<Record<string, TableOutputTag>>
4049
4107
  override async sumSpendableSatoshisInBasket(userId: number, basketId: number, excludeSending: boolean, trx?: TrxToken): Promise<number>
@@ -4213,7 +4271,7 @@ select
4213
4271
  }
4214
4272
  ```
4215
4273
 
4216
- See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [DBType](./storage.md#type-dbtype), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindPartialSincePagedArgs](./client.md#interface-findpartialsincepagedargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [ServicesCallHistory](./client.md#interface-servicescallhistory), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WERR_NOT_IMPLEMENTED](./client.md#class-werr_not_implemented), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [listActions](./storage.md#function-listactions), [listOutputs](./storage.md#function-listoutputs), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity), [verifyOneOrNone](./client.md#function-verifyoneornone)
4274
+ See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [DBType](./storage.md#type-dbtype), [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagMapsArgs](./client.md#interface-findoutputtagmapsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindPartialSincePagedArgs](./client.md#interface-findpartialsincepagedargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [FindProvenTxsArgs](./client.md#interface-findproventxsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelMapsArgs](./client.md#interface-findtxlabelmapsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [ServicesCallHistory](./client.md#interface-servicescallhistory), [StorageKnexOptions](./storage.md#interface-storageknexoptions), [StorageProvider](./storage.md#class-storageprovider), [TableActionBatch](./storage.md#interface-tableactionbatch), [TableActionBatchBlob](./storage.md#interface-tableactionbatchblob), [TableActionBatchOutput](./storage.md#interface-tableactionbatchoutput), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WERR_NOT_IMPLEMENTED](./client.md#class-werr_not_implemented), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [listActions](./storage.md#function-listactions), [listOutputs](./storage.md#function-listoutputs), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity), [verifyOneOrNone](./client.md#function-verifyoneornone)
4217
4275
 
4218
4276
  ###### Method allocateChangeInput
4219
4277
 
@@ -4307,90 +4365,6 @@ See also: [DBType](./storage.md#type-dbtype), [TrxToken](./client.md#interface-t
4307
4365
 
4308
4366
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4309
4367
 
4310
- ---
4311
- ##### Class: StorageMySQLDojoReader
4312
-
4313
- ```ts
4314
- export class StorageMySQLDojoReader extends StorageReader implements WalletStorageSyncReader {
4315
- knex: Knex;
4316
- constructor(options: StorageMySQLDojoReaderOptions)
4317
- override async destroy(): Promise<void>
4318
- override async transaction<T>(scope: (trx: TrxToken) => Promise<T>, trx?: TrxToken): Promise<T>
4319
- toDb(trx?: TrxToken)
4320
- override async readSettings(trx?: TrxToken): Promise<TableSettings>
4321
- setupQuery<T extends object>(table: string, args: FindPartialSincePagedArgs<T>): Knex.QueryBuilder
4322
- findOutputBasketsQuery(args: FindOutputBasketsArgs): Knex.QueryBuilder
4323
- async findOutputBaskets(args: FindOutputBasketsArgs): Promise<TableOutputBasket[]>
4324
- findTxLabelsQuery(args: FindTxLabelsArgs): Knex.QueryBuilder
4325
- async findTxLabels(args: FindTxLabelsArgs): Promise<TableTxLabel[]>
4326
- findOutputTagsQuery(args: FindOutputTagsArgs): Knex.QueryBuilder
4327
- async findOutputTags(args: FindOutputTagsArgs): Promise<TableOutputTag[]>
4328
- findTransactionsQuery(args: FindTransactionsArgs, count?: boolean): Knex.QueryBuilder
4329
- async findTransactions(args: FindTransactionsArgs): Promise<TableTransaction[]>
4330
- findCommissionsQuery(args: FindCommissionsArgs): Knex.QueryBuilder
4331
- async findCommissions(args: FindCommissionsArgs): Promise<TableCommission[]>
4332
- limitString(s: string, maxLen: number): string
4333
- findOutputsQuery(args: FindOutputsArgs, count?: boolean): Knex.QueryBuilder
4334
- async findOutputs(args: FindOutputsArgs): Promise<TableOutput[]>
4335
- findCertificatesQuery(args: FindCertificatesArgs): Knex.QueryBuilder
4336
- async findCertificates(args: FindCertificatesArgs): Promise<TableCertificateX[]>
4337
- findCertificateFieldsQuery(args: FindCertificateFieldsArgs): Knex.QueryBuilder
4338
- async findCertificateFields(args: FindCertificateFieldsArgs): Promise<TableCertificateField[]>
4339
- override async findSyncStates(args: FindSyncStatesArgs): Promise<TableSyncState[]>
4340
- override async findUsers(args: FindUsersArgs): Promise<TableUser[]>
4341
- getProvenTxsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder
4342
- async getProvenTxsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTx[]>
4343
- getProvenTxReqsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder
4344
- async getProvenTxReqsForUser(args: FindForUserSincePagedArgs): Promise<TableProvenTxReq[]>
4345
- getTxLabelMapsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder
4346
- async getTxLabelMapsForUser(args: FindForUserSincePagedArgs): Promise<TableTxLabelMap[]>
4347
- getOutputTagMapsForUserQuery(args: FindForUserSincePagedArgs): Knex.QueryBuilder
4348
- async getOutputTagMapsForUser(args: FindForUserSincePagedArgs): Promise<TableOutputTagMap[]>
4349
- override countCertificateFields(args: FindCertificateFieldsArgs): Promise<number>
4350
- override countCertificates(args: FindCertificatesArgs): Promise<number>
4351
- override countCommissions(args: FindCommissionsArgs): Promise<number>
4352
- override countOutputBaskets(args: FindOutputBasketsArgs): Promise<number>
4353
- override countOutputs(args: FindOutputsArgs): Promise<number>
4354
- override countOutputTags(args: FindOutputTagsArgs): Promise<number>
4355
- override countSyncStates(args: FindSyncStatesArgs): Promise<number>
4356
- override countTransactions(args: FindTransactionsArgs): Promise<number>
4357
- override countTxLabels(args: FindTxLabelsArgs): Promise<number>
4358
- override countUsers(args: FindUsersArgs): Promise<number>
4359
- override findMonitorEvents(args: FindMonitorEventsArgs): Promise<TableMonitorEvent[]>
4360
- override countMonitorEvents(args: FindMonitorEventsArgs): Promise<number>
4361
- validateEntity<T extends EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T
4362
- validateEntities<T extends EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]
4363
- }
4364
- ```
4365
-
4366
- See also: [EntityTimeStamp](./client.md#interface-entitytimestamp), [FindCertificateFieldsArgs](./client.md#interface-findcertificatefieldsargs), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindCommissionsArgs](./client.md#interface-findcommissionsargs), [FindForUserSincePagedArgs](./client.md#interface-findforusersincepagedargs), [FindMonitorEventsArgs](./client.md#interface-findmonitoreventsargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputTagsArgs](./client.md#interface-findoutputtagsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindPartialSincePagedArgs](./client.md#interface-findpartialsincepagedargs), [FindSyncStatesArgs](./client.md#interface-findsyncstatesargs), [FindTransactionsArgs](./client.md#interface-findtransactionsargs), [FindTxLabelsArgs](./client.md#interface-findtxlabelsargs), [FindUsersArgs](./client.md#interface-findusersargs), [StorageMySQLDojoReaderOptions](./storage.md#interface-storagemysqldojoreaderoptions), [StorageReader](./storage.md#class-storagereader), [TableCertificateField](./storage.md#interface-tablecertificatefield), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableCommission](./storage.md#interface-tablecommission), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputTagMap](./storage.md#interface-tableoutputtagmap), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableSyncState](./storage.md#interface-tablesyncstate), [TableTransaction](./storage.md#interface-tabletransaction), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableTxLabelMap](./storage.md#interface-tabletxlabelmap), [TableUser](./storage.md#interface-tableuser), [TrxToken](./client.md#interface-trxtoken), [WalletStorageSyncReader](./client.md#interface-walletstoragesyncreader), [validateEntities](./storage.md#function-validateentities), [validateEntity](./storage.md#function-validateentity)
4367
-
4368
- ###### Method validateEntities
4369
-
4370
- Helper to force uniform behavior across database engines.
4371
- Use to process all arrays of records with time stamps retreived from database.
4372
-
4373
- ```ts
4374
- validateEntities<T extends EntityTimeStamp>(entities: T[], dateFields?: string[], booleanFields?: string[]): T[]
4375
- ```
4376
- See also: [EntityTimeStamp](./client.md#interface-entitytimestamp)
4377
-
4378
- Returns
4379
-
4380
- input `entities` array with contained values validated.
4381
-
4382
- ###### Method validateEntity
4383
-
4384
- Helper to force uniform behavior across database engines.
4385
- Use to process all individual records with time stamps retreived from database.
4386
-
4387
- ```ts
4388
- validateEntity<T extends EntityTimeStamp>(entity: T, dateFields?: string[], booleanFields?: string[]): T
4389
- ```
4390
- See also: [EntityTimeStamp](./client.md#interface-entitytimestamp)
4391
-
4392
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
4393
-
4394
4368
  ---
4395
4369
  ##### Class: StorageProvider
4396
4370
 
@@ -4424,12 +4398,38 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
4424
4398
  abstract listActions(auth: AuthId, args: Validation.ValidListActionsArgs): Promise<ListActionsResult>;
4425
4399
  abstract listOutputs(auth: AuthId, args: Validation.ValidListOutputsArgs): Promise<ListOutputsResult>;
4426
4400
  abstract countChangeInputs(userId: number, basketId: number, excludeSending: boolean): Promise<number>;
4401
+ async insertActionBatch(batch: TableActionBatch, trx?: TrxToken): Promise<number>
4402
+ async findActionBatch(userId: number, batchId: string, trx?: TrxToken): Promise<TableActionBatch | undefined>
4403
+ async findActionBatchForUpdate(userId: number, batchId: string, trx: TrxToken): Promise<TableActionBatch | undefined>
4404
+ async findExpiredActionBatches(now: Date, trx?: TrxToken): Promise<TableActionBatch[]>
4405
+ async updateActionBatch(actionBatchId: number, update: Partial<TableActionBatch>, trx?: TrxToken): Promise<number>
4406
+ async deleteActionBatch(actionBatchId: number, trx?: TrxToken): Promise<void>
4407
+ async reserveActionBatchOutputs(reservations: TableActionBatchOutput[], trx?: TrxToken): Promise<void>
4408
+ async findActionBatchOutputIds(actionBatchId: number, trx?: TrxToken): Promise<number[]>
4409
+ async findReservedActionBatchOutputIds(_outputIds: number[], _trx?: TrxToken): Promise<number[]>
4410
+ async deleteActionBatchOutputReservations(actionBatchId: number, trx?: TrxToken): Promise<void>
4411
+ async putActionBatchBlobRecord(blob: TableActionBatchBlob, trx?: TrxToken): Promise<void>
4412
+ async findActionBatchBlobRecord(actionBatchId: number, digest: string, trx?: TrxToken): Promise<TableActionBatchBlob | undefined>
4413
+ async deleteActionBatchBlobRecords(actionBatchId: number, trx?: TrxToken): Promise<void>
4414
+ async getCapabilities(): Promise<StorageCapabilities>
4415
+ protected supportsActionBatchPersistence(): boolean
4416
+ async beginActionBatch(auth: AuthId, args: BeginActionBatchArgs): Promise<BeginActionBatchResult>
4417
+ async extendActionBatch(auth: AuthId, args: ExtendActionBatchArgs): Promise<ExtendActionBatchResult>
4418
+ async renewActionBatch(auth: AuthId, batchId: string): Promise<RenewActionBatchResult>
4419
+ async prepareActionBatchCommit(auth: AuthId, manifest: ActionBatchManifest): Promise<PrepareActionBatchCommitResult>
4420
+ async putActionBatchBlob(auth: AuthId, args: PutActionBatchBlobArgs): Promise<void>
4421
+ async commitActionBatch(auth: AuthId, manifest: ActionBatchManifest): Promise<CommitActionBatchResult>
4422
+ async abortActionBatch(auth: AuthId, batchId: string): Promise<AbortActionBatchResult>
4427
4423
  async findOutputsByIds(outputIds: number[], trx?: TrxToken): Promise<Record<number, TableOutput>>
4428
4424
  async findStaleMerkleRoots(args: FindStaleMerkleRootsArgs): Promise<string[]>
4429
4425
  async findOutputsByOutpoints(userId: number, outpoints: Array<{
4430
4426
  txid: string;
4431
4427
  vout: number;
4432
4428
  }>, trx?: TrxToken): Promise<Record<string, TableOutput>>
4429
+ async findOutputsByOutpointsForUpdate(userId: number, outpoints: Array<{
4430
+ txid: string;
4431
+ vout: number;
4432
+ }>, trx: TrxToken): Promise<Record<string, TableOutput>>
4433
4433
  async findOrInsertOutputBasketsBulk(userId: number, names: string[], trx?: TrxToken): Promise<Record<string, TableOutputBasket>>
4434
4434
  async findOrInsertOutputTagsBulk(userId: number, tags: string[], trx?: TrxToken): Promise<Record<string, TableOutputTag>>
4435
4435
  async sumSpendableSatoshisInBasket(userId: number, basketId: number, excludeSending: boolean, trx?: TrxToken): Promise<number>
@@ -4475,7 +4475,7 @@ export abstract class StorageProvider extends StorageReaderWriter implements Wal
4475
4475
  }
4476
4476
  ```
4477
4477
 
4478
- See also: [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [Chain](./client.md#type-chain), [EntityProvenTxReq](./storage.md#class-entityproventxreq), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [PostReqsToNetworkResult](./storage.md#interface-postreqstonetworkresult), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageFeeModel](./client.md#interface-storagefeemodel), [StorageGetBeefOptions](./client.md#interface-storagegetbeefoptions), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [StorageProvenOrReq](./client.md#interface-storageprovenorreq), [StorageProviderOptions](./storage.md#interface-storageprovideroptions), [StorageReaderWriter](./storage.md#class-storagereaderwriter), [SyncChunk](./client.md#interface-syncchunk), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputX](./storage.md#interface-tableoutputx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableProvenTxReqDynamics](./storage.md#interface-tableproventxreqdynamics), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableUser](./storage.md#interface-tableuser), [TransactionStatus](./client.md#type-transactionstatus), [TrxToken](./client.md#interface-trxtoken), [UpdateProvenTxReqWithNewProvenTxArgs](./client.md#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](./client.md#interface-updateproventxreqwithnewproventxresult), [WalletServices](./client.md#interface-walletservices), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [attemptToPostReqsToNetwork](./storage.md#function-attempttopostreqstonetwork), [createAction](./storage.md#function-createaction), [getBeefForTransaction](./storage.md#function-getbeeffortransaction), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [logger](./client.md#variable-logger), [processAction](./storage.md#function-processaction), [purgeData](./storage.md#function-purgedata), [reviewStatus](./storage.md#function-reviewstatus)
4478
+ See also: [AbortActionBatchResult](./client.md#interface-abortactionbatchresult), [ActionBatchManifest](./client.md#interface-actionbatchmanifest), [AdminStatsResult](./storage.md#interface-adminstatsresult), [AuthId](./client.md#interface-authid), [BeginActionBatchArgs](./client.md#interface-beginactionbatchargs), [BeginActionBatchResult](./client.md#interface-beginactionbatchresult), [Chain](./client.md#type-chain), [CommitActionBatchResult](./client.md#interface-commitactionbatchresult), [EntityProvenTxReq](./storage.md#class-entityproventxreq), [ExtendActionBatchArgs](./client.md#interface-extendactionbatchargs), [ExtendActionBatchResult](./client.md#interface-extendactionbatchresult), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindStaleMerkleRootsArgs](./client.md#interface-findstalemerklerootsargs), [GetReqsAndBeefResult](./storage.md#interface-getreqsandbeefresult), [PostReqsToNetworkResult](./storage.md#interface-postreqstonetworkresult), [PrepareActionBatchCommitResult](./client.md#interface-prepareactionbatchcommitresult), [ProcessSyncChunkResult](./client.md#interface-processsyncchunkresult), [ProvenOrRawTx](./client.md#interface-provenorrawtx), [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./client.md#interface-purgeresults), [PutActionBatchBlobArgs](./client.md#interface-putactionbatchblobargs), [RenewActionBatchResult](./client.md#interface-renewactionbatchresult), [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [StorageCapabilities](./client.md#interface-storagecapabilities), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageFeeModel](./client.md#interface-storagefeemodel), [StorageGetBeefOptions](./client.md#interface-storagegetbeefoptions), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [StorageProvenOrReq](./client.md#interface-storageprovenorreq), [StorageProviderOptions](./storage.md#interface-storageprovideroptions), [StorageReaderWriter](./storage.md#class-storagereaderwriter), [SyncChunk](./client.md#interface-syncchunk), [TableActionBatch](./storage.md#interface-tableactionbatch), [TableActionBatchBlob](./storage.md#interface-tableactionbatchblob), [TableActionBatchOutput](./storage.md#interface-tableactionbatchoutput), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableMonitorEvent](./storage.md#interface-tablemonitorevent), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableOutputTag](./storage.md#interface-tableoutputtag), [TableOutputX](./storage.md#interface-tableoutputx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableProvenTxReqDynamics](./storage.md#interface-tableproventxreqdynamics), [TableTxLabel](./storage.md#interface-tabletxlabel), [TableUser](./storage.md#interface-tableuser), [TransactionStatus](./client.md#type-transactionstatus), [TrxToken](./client.md#interface-trxtoken), [UpdateProvenTxReqWithNewProvenTxArgs](./client.md#interface-updateproventxreqwithnewproventxargs), [UpdateProvenTxReqWithNewProvenTxResult](./client.md#interface-updateproventxreqwithnewproventxresult), [WalletServices](./client.md#interface-walletservices), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [abortActionBatch](./storage.md#function-abortactionbatch), [attemptToPostReqsToNetwork](./storage.md#function-attempttopostreqstonetwork), [beginActionBatch](./storage.md#function-beginactionbatch), [commitActionBatch](./storage.md#function-commitactionbatch), [createAction](./storage.md#function-createaction), [extendActionBatch](./storage.md#function-extendactionbatch), [getBeefForTransaction](./storage.md#function-getbeeffortransaction), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [logger](./client.md#variable-logger), [prepareActionBatchCommit](./storage.md#function-prepareactionbatchcommit), [processAction](./storage.md#function-processaction), [purgeData](./storage.md#function-purgedata), [putActionBatchBlob](./storage.md#function-putactionbatchblob), [renewActionBatch](./storage.md#function-renewactionbatch), [reviewStatus](./storage.md#function-reviewstatus)
4479
4479
 
4480
4480
  ###### Method confirmSpendableOutputs
4481
4481
 
@@ -4881,6 +4881,14 @@ export class WalletStorageManager implements sdk.WalletStorage {
4881
4881
  async relinquishCertificate(args: RelinquishCertificateArgs): Promise<number>
4882
4882
  async relinquishOutput(args: RelinquishOutputArgs): Promise<number>
4883
4883
  async processAction(args: sdk.StorageProcessActionArgs): Promise<sdk.StorageProcessActionResults>
4884
+ async getCapabilities(): Promise<sdk.StorageCapabilities>
4885
+ async beginActionBatch(args: sdk.BeginActionBatchArgs): Promise<sdk.BeginActionBatchResult>
4886
+ async extendActionBatch(args: sdk.ExtendActionBatchArgs): Promise<sdk.ExtendActionBatchResult>
4887
+ async renewActionBatch(batchId: string): Promise<sdk.RenewActionBatchResult>
4888
+ async prepareActionBatchCommit(manifest: sdk.ActionBatchManifest): Promise<sdk.PrepareActionBatchCommitResult>
4889
+ async putActionBatchBlob(args: sdk.PutActionBatchBlobArgs): Promise<void>
4890
+ async commitActionBatch(manifest: sdk.ActionBatchManifest): Promise<sdk.CommitActionBatchResult>
4891
+ async abortActionBatch(batchId: string): Promise<sdk.AbortActionBatchResult>
4884
4892
  async insertCertificate(certificate: TableCertificate): Promise<number>
4885
4893
  async listActions(vargs: Validation.ValidListActionsArgs): Promise<ListActionsResult>
4886
4894
  async listCertificates(args: Validation.ValidListCertificatesArgs): Promise<ListCertificatesResult>
@@ -4909,7 +4917,7 @@ export class WalletStorageManager implements sdk.WalletStorage {
4909
4917
  }
4910
4918
  ```
4911
4919
 
4912
- See also: [AuthId](./client.md#interface-authid), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [ReproveHeaderResult](./client.md#interface-reproveheaderresult), [ReproveProvenResult](./client.md#interface-reproveprovenresult), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [StorageProvider](./storage.md#class-storageprovider), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableUser](./storage.md#interface-tableuser), [WalletServices](./client.md#interface-walletservices), [WalletStorage](./client.md#interface-walletstorage), [WalletStorageInfo](./client.md#interface-walletstorageinfo), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [WalletStorageReader](./client.md#interface-walletstoragereader), [WalletStorageSync](./client.md#interface-walletstoragesync), [WalletStorageSyncReader](./client.md#interface-walletstoragesyncreader), [WalletStorageWriter](./client.md#interface-walletstoragewriter), [createAction](./storage.md#function-createaction), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [processAction](./storage.md#function-processaction)
4920
+ See also: [AbortActionBatchResult](./client.md#interface-abortactionbatchresult), [ActionBatchManifest](./client.md#interface-actionbatchmanifest), [AuthId](./client.md#interface-authid), [BeginActionBatchArgs](./client.md#interface-beginactionbatchargs), [BeginActionBatchResult](./client.md#interface-beginactionbatchresult), [CommitActionBatchResult](./client.md#interface-commitactionbatchresult), [ExtendActionBatchArgs](./client.md#interface-extendactionbatchargs), [ExtendActionBatchResult](./client.md#interface-extendactionbatchresult), [FindCertificatesArgs](./client.md#interface-findcertificatesargs), [FindOutputBasketsArgs](./client.md#interface-findoutputbasketsargs), [FindOutputsArgs](./client.md#interface-findoutputsargs), [FindProvenTxReqsArgs](./client.md#interface-findproventxreqsargs), [PrepareActionBatchCommitResult](./client.md#interface-prepareactionbatchcommitresult), [PutActionBatchBlobArgs](./client.md#interface-putactionbatchblobargs), [RenewActionBatchResult](./client.md#interface-renewactionbatchresult), [ReproveHeaderResult](./client.md#interface-reproveheaderresult), [ReproveProvenResult](./client.md#interface-reproveprovenresult), [StorageCapabilities](./client.md#interface-storagecapabilities), [StorageCreateActionResult](./client.md#interface-storagecreateactionresult), [StorageInternalizeActionResult](./client.md#interface-storageinternalizeactionresult), [StorageProcessActionArgs](./client.md#interface-storageprocessactionargs), [StorageProcessActionResults](./client.md#interface-storageprocessactionresults), [StorageProvider](./storage.md#class-storageprovider), [TableCertificate](./storage.md#interface-tablecertificate), [TableCertificateX](./storage.md#interface-tablecertificatex), [TableOutput](./storage.md#interface-tableoutput), [TableOutputBasket](./storage.md#interface-tableoutputbasket), [TableProvenTx](./storage.md#interface-tableproventx), [TableProvenTxReq](./storage.md#interface-tableproventxreq), [TableSettings](./storage.md#interface-tablesettings), [TableUser](./storage.md#interface-tableuser), [WalletServices](./client.md#interface-walletservices), [WalletStorage](./client.md#interface-walletstorage), [WalletStorageInfo](./client.md#interface-walletstorageinfo), [WalletStorageProvider](./client.md#interface-walletstorageprovider), [WalletStorageReader](./client.md#interface-walletstoragereader), [WalletStorageSync](./client.md#interface-walletstoragesync), [WalletStorageSyncReader](./client.md#interface-walletstoragesyncreader), [WalletStorageWriter](./client.md#interface-walletstoragewriter), [abortActionBatch](./storage.md#function-abortactionbatch), [beginActionBatch](./storage.md#function-beginactionbatch), [commitActionBatch](./storage.md#function-commitactionbatch), [createAction](./storage.md#function-createaction), [extendActionBatch](./storage.md#function-extendactionbatch), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [prepareActionBatchCommit](./storage.md#function-prepareactionbatchcommit), [processAction](./storage.md#function-processaction), [putActionBatchBlob](./storage.md#function-putactionbatchblob), [renewActionBatch](./storage.md#function-renewactionbatch)
4913
4921
 
4914
4922
  ###### Constructor
4915
4923
 
@@ -5071,44 +5079,57 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
5071
5079
 
5072
5080
  | | | |
5073
5081
  | --- | --- | --- |
5074
- | [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [markStaleInputsAsSpent](#function-markstaleinputsasspent) | [shareReqsWithWorld](#function-sharereqswithworld) |
5075
- | [binaryJsonReplacer](#function-binaryjsonreplacer) | [markUserInputsSpent](#function-markuserinputsspent) | [stringifyJsonRpc](#function-stringifyjsonrpc) |
5076
- | [binaryJsonReviver](#function-binaryjsonreviver) | [matchesCertificateFieldPartial](#function-matchescertificatefieldpartial) | [tableAuthSessionToPeerSession](#function-tableauthsessiontopeersession) |
5077
- | [classifyReqStatus](#function-classifyreqstatus) | [matchesCertificatePartial](#function-matchescertificatepartial) | [transactionInputSize](#function-transactioninputsize) |
5078
- | [createAction](#function-createaction) | [matchesCommissionPartial](#function-matchescommissionpartial) | [transactionOutputSize](#function-transactionoutputsize) |
5079
- | [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [matchesMonitorEventPartial](#function-matchesmonitoreventpartial) | [transactionSize](#function-transactionsize) |
5080
- | [createSyncMap](#function-createsyncmap) | [matchesOutputBasketPartial](#function-matchesoutputbasketpartial) | [updateReqsFromAggregateResults](#function-updatereqsfromaggregateresults) |
5081
- | [dateMatches](#function-datematches) | [matchesOutputPartial](#function-matchesoutputpartial) | [upgradeAllStoresV1](#function-upgradeallstoresv1) |
5082
- | [decodeBinaryJsonValue](#function-decodebinaryjsonvalue) | [matchesOutputTagMapPartial](#function-matchesoutputtagmappartial) | [upgradeCertificateFields](#function-upgradecertificatefields) |
5083
- | [decryptBRC39](#function-decryptbrc39) | [matchesOutputTagPartial](#function-matchesoutputtagpartial) | [upgradeCertificates](#function-upgradecertificates) |
5084
- | [determineDBType](#function-determinedbtype) | [matchesProvenTxPartial](#function-matchesproventxpartial) | [upgradeCommissions](#function-upgradecommissions) |
5085
- | [encryptBRC39](#function-encryptbrc39) | [matchesProvenTxReqPartial](#function-matchesproventxreqpartial) | [upgradeMonitorEvents](#function-upgrademonitorevents) |
5086
- | [exportBRC38](#function-exportbrc38) | [matchesSyncStatePartial](#function-matchessyncstatepartial) | [upgradeOutputBaskets](#function-upgradeoutputbaskets) |
5087
- | [exportBRC38Json](#function-exportbrc38json) | [matchesTransactionPartial](#function-matchestransactionpartial) | [upgradeOutputTags](#function-upgradeoutputtags) |
5088
- | [exportBRC39](#function-exportbrc39) | [matchesTxLabelMapPartial](#function-matchestxlabelmappartial) | [upgradeOutputTagsMap](#function-upgradeoutputtagsmap) |
5089
- | [generateChangeSdk](#function-generatechangesdk) | [matchesTxLabelPartial](#function-matchestxlabelpartial) | [upgradeOutputs](#function-upgradeoutputs) |
5090
- | [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [mergeInputBeefs](#function-mergeinputbeefs) | [upgradeProvenTxReqs](#function-upgradeproventxreqs) |
5091
- | [getBeefForTransaction](#function-getbeeffortransaction) | [mergeInputsIntoBeef](#function-mergeinputsintobeef) | [upgradeProvenTxs](#function-upgradeproventxs) |
5092
- | [getListOutputsSpecOp](#function-getlistoutputsspecop) | [notifyTransactionsOfProof](#function-notifytransactionsofproof) | [upgradeSyncStates](#function-upgradesyncstates) |
5093
- | [getSyncChunk](#function-getsyncchunk) | [offsetPrivKey](#function-offsetprivkey) | [upgradeTransactions](#function-upgradetransactions) |
5094
- | [importBRC38](#function-importbrc38) | [offsetPubKey](#function-offsetpubkey) | [upgradeTxLabels](#function-upgradetxlabels) |
5095
- | [importBRC39](#function-importbrc39) | [parseBRC38Json](#function-parsebrc38json) | [upgradeTxLabelsMap](#function-upgradetxlabelsmap) |
5096
- | [internalizeAction](#function-internalizeaction) | [parseJsonRpc](#function-parsejsonrpc) | [upgradeUsers](#function-upgradeusers) |
5097
- | [isAutoSpendableChangeOutput](#function-isautospendablechangeoutput) | [partitionActionLabels](#function-partitionactionlabels) | [validateDate](#function-validatedate) |
5098
- | [isManagedChangeOutput](#function-ismanagedchangeoutput) | [processAction](#function-processaction) | [validateEntities](#function-validateentities) |
5099
- | [keyOffsetToHashedSecret](#function-keyoffsettohashedsecret) | [purgeData](#function-purgedata) | [validateEntity](#function-validateentity) |
5100
- | [legacyBinaryJsonReplacer](#function-legacybinaryjsonreplacer) | [purgeDataIdb](#function-purgedataidb) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
5101
- | [listActions](#function-listactions) | [redeemServiceCharges](#function-redeemservicecharges) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
5102
- | [listActionsIdb](#function-listactionsidb) | [renderAdminPage](#function-renderadminpage) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
5103
- | [listCertificates](#function-listcertificates) | [restoreInputsToSpendable](#function-restoreinputstospendable) | [validateSyncChunkEntities](#function-validatesyncchunkentities) |
5104
- | [listOutputs](#function-listoutputs) | [reviewStatus](#function-reviewstatus) | [varUintSize](#function-varuintsize) |
5105
- | [listOutputsIdb](#function-listoutputsidb) | [reviewStatusIdb](#function-reviewstatusidb) | |
5106
- | [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | [setDisableDoubleSpendCheckForTest](#function-setdisabledoublespendcheckfortest) | |
5082
+ | [abortActionBatch](#function-abortactionbatch) | [matchesCertificatePartial](#function-matchescertificatepartial) | [shareReqsWithWorld](#function-sharereqswithworld) |
5083
+ | [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [matchesCommissionPartial](#function-matchescommissionpartial) | [stringifyJsonRpc](#function-stringifyjsonrpc) |
5084
+ | [beginActionBatch](#function-beginactionbatch) | [matchesMonitorEventPartial](#function-matchesmonitoreventpartial) | [tableAuthSessionToPeerSession](#function-tableauthsessiontopeersession) |
5085
+ | [binaryJsonReplacer](#function-binaryjsonreplacer) | [matchesOutputBasketPartial](#function-matchesoutputbasketpartial) | [transactionInputSize](#function-transactioninputsize) |
5086
+ | [binaryJsonReviver](#function-binaryjsonreviver) | [matchesOutputPartial](#function-matchesoutputpartial) | [transactionOutputSize](#function-transactionoutputsize) |
5087
+ | [classifyReqStatus](#function-classifyreqstatus) | [matchesOutputTagMapPartial](#function-matchesoutputtagmappartial) | [transactionSize](#function-transactionsize) |
5088
+ | [cleanupExpiredActionBatches](#function-cleanupexpiredactionbatches) | [matchesOutputTagPartial](#function-matchesoutputtagpartial) | [updateReqsFromAggregateResults](#function-updatereqsfromaggregateresults) |
5089
+ | [commitActionBatch](#function-commitactionbatch) | [matchesProvenTxPartial](#function-matchesproventxpartial) | [upgradeActionBatchStoresV2](#function-upgradeactionbatchstoresv2) |
5090
+ | [createAction](#function-createaction) | [matchesProvenTxReqPartial](#function-matchesproventxreqpartial) | [upgradeAllStoresV1](#function-upgradeallstoresv1) |
5091
+ | [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [matchesSyncStatePartial](#function-matchessyncstatepartial) | [upgradeCertificateFields](#function-upgradecertificatefields) |
5092
+ | [createSyncMap](#function-createsyncmap) | [matchesTransactionPartial](#function-matchestransactionpartial) | [upgradeCertificates](#function-upgradecertificates) |
5093
+ | [dateMatches](#function-datematches) | [matchesTxLabelMapPartial](#function-matchestxlabelmappartial) | [upgradeCommissions](#function-upgradecommissions) |
5094
+ | [decodeBinaryJsonValue](#function-decodebinaryjsonvalue) | [matchesTxLabelPartial](#function-matchestxlabelpartial) | [upgradeMonitorEvents](#function-upgrademonitorevents) |
5095
+ | [determineDBType](#function-determinedbtype) | [mergeInputBeefs](#function-mergeinputbeefs) | [upgradeOutputBaskets](#function-upgradeoutputbaskets) |
5096
+ | [extendActionBatch](#function-extendactionbatch) | [mergeInputsIntoBeef](#function-mergeinputsintobeef) | [upgradeOutputTags](#function-upgradeoutputtags) |
5097
+ | [generateChangeSdk](#function-generatechangesdk) | [notifyTransactionsOfProof](#function-notifytransactionsofproof) | [upgradeOutputTagsMap](#function-upgradeoutputtagsmap) |
5098
+ | [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [offsetPrivKey](#function-offsetprivkey) | [upgradeOutputs](#function-upgradeoutputs) |
5099
+ | [getActionBatchCapabilities](#function-getactionbatchcapabilities) | [offsetPubKey](#function-offsetpubkey) | [upgradeProvenTxReqs](#function-upgradeproventxreqs) |
5100
+ | [getBeefForTransaction](#function-getbeeffortransaction) | [parseJsonRpc](#function-parsejsonrpc) | [upgradeProvenTxs](#function-upgradeproventxs) |
5101
+ | [getListOutputsSpecOp](#function-getlistoutputsspecop) | [partitionActionLabels](#function-partitionactionlabels) | [upgradeSyncStates](#function-upgradesyncstates) |
5102
+ | [getSyncChunk](#function-getsyncchunk) | [prepareActionBatchCommit](#function-prepareactionbatchcommit) | [upgradeTransactions](#function-upgradetransactions) |
5103
+ | [internalizeAction](#function-internalizeaction) | [processAction](#function-processaction) | [upgradeTxLabels](#function-upgradetxlabels) |
5104
+ | [isAutoSpendableChangeOutput](#function-isautospendablechangeoutput) | [purgeData](#function-purgedata) | [upgradeTxLabelsMap](#function-upgradetxlabelsmap) |
5105
+ | [isManagedChangeOutput](#function-ismanagedchangeoutput) | [purgeDataIdb](#function-purgedataidb) | [upgradeUsers](#function-upgradeusers) |
5106
+ | [keyOffsetToHashedSecret](#function-keyoffsettohashedsecret) | [putActionBatchBlob](#function-putactionbatchblob) | [validateActionBatchInlinePayload](#function-validateactionbatchinlinepayload) |
5107
+ | [legacyBinaryJsonReplacer](#function-legacybinaryjsonreplacer) | [randomizeOutputVouts](#function-randomizeoutputvouts) | [validateDate](#function-validatedate) |
5108
+ | [listActions](#function-listactions) | [redeemServiceCharges](#function-redeemservicecharges) | [validateEntities](#function-validateentities) |
5109
+ | [listActionsIdb](#function-listactionsidb) | [renderAdminPage](#function-renderadminpage) | [validateEntity](#function-validateentity) |
5110
+ | [listCertificates](#function-listcertificates) | [renewActionBatch](#function-renewactionbatch) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
5111
+ | [listOutputs](#function-listoutputs) | [repeatableRandom](#function-repeatablerandom) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
5112
+ | [listOutputsIdb](#function-listoutputsidb) | [restoreInputsToSpendable](#function-restoreinputstospendable) | [validateManifestActions](#function-validatemanifestactions) |
5113
+ | [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | [reviewStatus](#function-reviewstatus) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
5114
+ | [markStaleInputsAsSpent](#function-markstaleinputsasspent) | [reviewStatusIdb](#function-reviewstatusidb) | [validateSyncChunkEntities](#function-validatesyncchunkentities) |
5115
+ | [markUserInputsSpent](#function-markuserinputsspent) | [selectCanonicalChange](#function-selectcanonicalchange) | [varUintSize](#function-varuintsize) |
5116
+ | [matchesCertificateFieldPartial](#function-matchescertificatefieldpartial) | [setDisableDoubleSpendCheckForTest](#function-setdisabledoublespendcheckfortest) | |
5107
5117
 
5108
5118
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5109
5119
 
5110
5120
  ---
5111
5121
 
5122
+ ##### Function: abortActionBatch
5123
+
5124
+ ```ts
5125
+ export async function abortActionBatch(storage: StorageProvider, auth: AuthId, batchId: string): Promise<AbortActionBatchResult>
5126
+ ```
5127
+
5128
+ See also: [AbortActionBatchResult](./client.md#interface-abortactionbatchresult), [AuthId](./client.md#interface-authid), [StorageProvider](./storage.md#class-storageprovider)
5129
+
5130
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5131
+
5132
+ ---
5112
5133
  ##### Function: attemptToPostReqsToNetwork
5113
5134
 
5114
5135
  Attempt to post one or more `ProvenTxReq` with status 'unsent'
@@ -5122,6 +5143,17 @@ See also: [EntityProvenTxReq](./storage.md#class-entityproventxreq), [PostReqsTo
5122
5143
 
5123
5144
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5124
5145
 
5146
+ ---
5147
+ ##### Function: beginActionBatch
5148
+
5149
+ ```ts
5150
+ export async function beginActionBatch(storage: StorageProvider, auth: AuthId, args: BeginActionBatchArgs): Promise<BeginActionBatchResult>
5151
+ ```
5152
+
5153
+ See also: [AuthId](./client.md#interface-authid), [BeginActionBatchArgs](./client.md#interface-beginactionbatchargs), [BeginActionBatchResult](./client.md#interface-beginactionbatchresult), [StorageProvider](./storage.md#class-storageprovider)
5154
+
5155
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5156
+
5125
5157
  ---
5126
5158
  ##### Function: binaryJsonReplacer
5127
5159
 
@@ -5154,6 +5186,28 @@ See also: [GetReqsAndBeefDetail](./storage.md#interface-getreqsandbeefdetail), [
5154
5186
 
5155
5187
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5156
5188
 
5189
+ ---
5190
+ ##### Function: cleanupExpiredActionBatches
5191
+
5192
+ ```ts
5193
+ export async function cleanupExpiredActionBatches(storage: StorageProvider): Promise<number>
5194
+ ```
5195
+
5196
+ See also: [StorageProvider](./storage.md#class-storageprovider)
5197
+
5198
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5199
+
5200
+ ---
5201
+ ##### Function: commitActionBatch
5202
+
5203
+ ```ts
5204
+ export async function commitActionBatch(storage: StorageProvider, auth: AuthId, manifest: ActionBatchManifest): Promise<CommitActionBatchResult>
5205
+ ```
5206
+
5207
+ See also: [ActionBatchManifest](./client.md#interface-actionbatchmanifest), [AuthId](./client.md#interface-authid), [CommitActionBatchResult](./client.md#interface-commitactionbatchresult), [StorageProvider](./storage.md#class-storageprovider)
5208
+
5209
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5210
+
5157
5211
  ---
5158
5212
  ##### Function: createAction
5159
5213
 
@@ -5206,17 +5260,6 @@ export function decodeBinaryJsonValue(value: unknown): unknown
5206
5260
 
5207
5261
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5208
5262
 
5209
- ---
5210
- ##### Function: decryptBRC39
5211
-
5212
- ```ts
5213
- export async function decryptBRC39(bytes: number[] | Uint8Array, password: string): Promise<BRC38WalletData>
5214
- ```
5215
-
5216
- See also: [BRC38WalletData](./storage.md#interface-brc38walletdata)
5217
-
5218
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5219
-
5220
5263
  ---
5221
5264
  ##### Function: determineDBType
5222
5265
 
@@ -5233,46 +5276,13 @@ connected database engine variant
5233
5276
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5234
5277
 
5235
5278
  ---
5236
- ##### Function: encryptBRC39
5279
+ ##### Function: extendActionBatch
5237
5280
 
5238
5281
  ```ts
5239
- export async function encryptBRC39(documentOrJson: BRC38WalletData | string, password: string, options?: BRC39Options): Promise<number[]>
5282
+ export async function extendActionBatch(storage: StorageProvider, auth: AuthId, args: ExtendActionBatchArgs): Promise<ExtendActionBatchResult>
5240
5283
  ```
5241
5284
 
5242
- See also: [BRC38WalletData](./storage.md#interface-brc38walletdata), [BRC39Options](./storage.md#interface-brc39options)
5243
-
5244
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5245
-
5246
- ---
5247
- ##### Function: exportBRC38
5248
-
5249
- ```ts
5250
- export async function exportBRC38(storage: StorageProvider, identityKey: string): Promise<BRC38WalletData>
5251
- ```
5252
-
5253
- See also: [BRC38WalletData](./storage.md#interface-brc38walletdata), [StorageProvider](./storage.md#class-storageprovider)
5254
-
5255
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5256
-
5257
- ---
5258
- ##### Function: exportBRC38Json
5259
-
5260
- ```ts
5261
- export async function exportBRC38Json(storage: StorageProvider, identityKey: string): Promise<string>
5262
- ```
5263
-
5264
- See also: [StorageProvider](./storage.md#class-storageprovider)
5265
-
5266
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5267
-
5268
- ---
5269
- ##### Function: exportBRC39
5270
-
5271
- ```ts
5272
- export async function exportBRC39(storage: StorageProvider, identityKey: string, password: string, options?: BRC39Options): Promise<number[]>
5273
- ```
5274
-
5275
- See also: [BRC39Options](./storage.md#interface-brc39options), [StorageProvider](./storage.md#class-storageprovider)
5285
+ See also: [AuthId](./client.md#interface-authid), [ExtendActionBatchArgs](./client.md#interface-extendactionbatchargs), [ExtendActionBatchResult](./client.md#interface-extendactionbatchresult), [StorageProvider](./storage.md#class-storageprovider)
5276
5286
 
5277
5287
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5278
5288
 
@@ -5308,6 +5318,17 @@ See also: [GenerateChangeSdkChangeInput](./storage.md#interface-generatechangesd
5308
5318
 
5309
5319
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5310
5320
 
5321
+ ---
5322
+ ##### Function: getActionBatchCapabilities
5323
+
5324
+ ```ts
5325
+ export function getActionBatchCapabilities(): StorageCapabilities
5326
+ ```
5327
+
5328
+ See also: [StorageCapabilities](./client.md#interface-storagecapabilities)
5329
+
5330
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5331
+
5311
5332
  ---
5312
5333
  ##### Function: getBeefForTransaction
5313
5334
 
@@ -5369,28 +5390,6 @@ See also: [RequestSyncChunkArgs](./client.md#interface-requestsyncchunkargs), [S
5369
5390
 
5370
5391
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5371
5392
 
5372
- ---
5373
- ##### Function: importBRC38
5374
-
5375
- ```ts
5376
- export async function importBRC38(storage: StorageProvider, documentOrJson: BRC38WalletData | string, options: BRC38ImportOptions): Promise<BRC38ImportResult>
5377
- ```
5378
-
5379
- See also: [BRC38ImportOptions](./storage.md#interface-brc38importoptions), [BRC38ImportResult](./storage.md#interface-brc38importresult), [BRC38WalletData](./storage.md#interface-brc38walletdata), [StorageProvider](./storage.md#class-storageprovider)
5380
-
5381
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5382
-
5383
- ---
5384
- ##### Function: importBRC39
5385
-
5386
- ```ts
5387
- export async function importBRC39(storage: StorageProvider, bytes: number[] | Uint8Array, password: string, options: BRC38ImportOptions): Promise<BRC38ImportResult>
5388
- ```
5389
-
5390
- See also: [BRC38ImportOptions](./storage.md#interface-brc38importoptions), [BRC38ImportResult](./storage.md#interface-brc38importresult), [StorageProvider](./storage.md#class-storageprovider)
5391
-
5392
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5393
-
5394
5393
  ---
5395
5394
  ##### Function: internalizeAction
5396
5395
 
@@ -5852,17 +5851,6 @@ export function offsetPubKey(pubKey: string, keyOffset?: string): {
5852
5851
 
5853
5852
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5854
5853
 
5855
- ---
5856
- ##### Function: parseBRC38Json
5857
-
5858
- ```ts
5859
- export function parseBRC38Json(json: string): BRC38WalletData
5860
- ```
5861
-
5862
- See also: [BRC38WalletData](./storage.md#interface-brc38walletdata)
5863
-
5864
- Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5865
-
5866
5854
  ---
5867
5855
  ##### Function: parseJsonRpc
5868
5856
 
@@ -5887,6 +5875,17 @@ See also: [ListActionsSpecOp](./storage.md#interface-listactionsspecop)
5887
5875
 
5888
5876
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5889
5877
 
5878
+ ---
5879
+ ##### Function: prepareActionBatchCommit
5880
+
5881
+ ```ts
5882
+ export async function prepareActionBatchCommit(storage: StorageProvider, auth: AuthId, manifest: ActionBatchManifest): Promise<PrepareActionBatchCommitResult>
5883
+ ```
5884
+
5885
+ See also: [ActionBatchManifest](./client.md#interface-actionbatchmanifest), [AuthId](./client.md#interface-authid), [PrepareActionBatchCommitResult](./client.md#interface-prepareactionbatchcommitresult), [StorageProvider](./storage.md#class-storageprovider)
5886
+
5887
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5888
+
5890
5889
  ---
5891
5890
  ##### Function: processAction
5892
5891
 
@@ -5920,6 +5919,30 @@ See also: [PurgeParams](./client.md#interface-purgeparams), [PurgeResults](./cli
5920
5919
 
5921
5920
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5922
5921
 
5922
+ ---
5923
+ ##### Function: putActionBatchBlob
5924
+
5925
+ ```ts
5926
+ export async function putActionBatchBlob(storage: StorageProvider, auth: AuthId, args: PutActionBatchBlobArgs): Promise<void>
5927
+ ```
5928
+
5929
+ See also: [AuthId](./client.md#interface-authid), [PutActionBatchBlobArgs](./client.md#interface-putactionbatchblobargs), [StorageProvider](./storage.md#class-storageprovider)
5930
+
5931
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5932
+
5933
+ ---
5934
+ ##### Function: randomizeOutputVouts
5935
+
5936
+ Pure Fisher-Yates vout assignment shared by legacy and batch planning.
5937
+
5938
+ ```ts
5939
+ export function randomizeOutputVouts<T extends {
5940
+ vout: number;
5941
+ }>(outputs: T[], randomVals?: number[]): void
5942
+ ```
5943
+
5944
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5945
+
5923
5946
  ---
5924
5947
  ##### Function: redeemServiceCharges
5925
5948
 
@@ -5940,6 +5963,26 @@ export function renderAdminPage(): string
5940
5963
 
5941
5964
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5942
5965
 
5966
+ ---
5967
+ ##### Function: renewActionBatch
5968
+
5969
+ ```ts
5970
+ export async function renewActionBatch(storage: StorageProvider, auth: AuthId, batchId: string): Promise<RenewActionBatchResult>
5971
+ ```
5972
+
5973
+ See also: [AuthId](./client.md#interface-authid), [RenewActionBatchResult](./client.md#interface-renewactionbatchresult), [StorageProvider](./storage.md#class-storageprovider)
5974
+
5975
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5976
+
5977
+ ---
5978
+ ##### Function: repeatableRandom
5979
+
5980
+ ```ts
5981
+ export function repeatableRandom(randomVals?: number[]): () => number
5982
+ ```
5983
+
5984
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5985
+
5943
5986
  ---
5944
5987
  ##### Function: restoreInputsToSpendable
5945
5988
 
@@ -5996,6 +6039,19 @@ See also: [StorageIdb](./storage.md#class-storageidb), [TrxToken](./client.md#in
5996
6039
 
5997
6040
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
5998
6041
 
6042
+ ---
6043
+ ##### Function: selectCanonicalChange
6044
+
6045
+ Pure exact / least-over / largest-under change selection policy.
6046
+
6047
+ ```ts
6048
+ export function selectCanonicalChange<T extends CanonicalFundingCandidate>(outputs: T[], targetSatoshis: number, exactSatoshis?: number): T | undefined
6049
+ ```
6050
+
6051
+ See also: [CanonicalFundingCandidate](./storage.md#interface-canonicalfundingcandidate)
6052
+
6053
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6054
+
5999
6055
  ---
6000
6056
  ##### Function: setDisableDoubleSpendCheckForTest
6001
6057
 
@@ -6129,6 +6185,19 @@ Argument Details
6129
6185
 
6130
6186
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6131
6187
 
6188
+ ---
6189
+ ##### Function: upgradeActionBatchStoresV2
6190
+
6191
+ Internal, non-synchronized action-batch state added in schema version 2.
6192
+
6193
+ ```ts
6194
+ export function upgradeActionBatchStoresV2(db: IDBPDatabase<StorageIdbSchema>): void
6195
+ ```
6196
+
6197
+ See also: [StorageIdbSchema](./storage.md#interface-storageidbschema)
6198
+
6199
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6200
+
6132
6201
  ---
6133
6202
  ##### Function: upgradeAllStoresV1
6134
6203
 
@@ -6307,6 +6376,17 @@ See also: [StorageIdbSchema](./storage.md#interface-storageidbschema)
6307
6376
 
6308
6377
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6309
6378
 
6379
+ ---
6380
+ ##### Function: validateActionBatchInlinePayload
6381
+
6382
+ ```ts
6383
+ export function validateActionBatchInlinePayload(manifest: ActionBatchManifest): void
6384
+ ```
6385
+
6386
+ See also: [ActionBatchManifest](./client.md#interface-actionbatchmanifest)
6387
+
6388
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6389
+
6310
6390
  ---
6311
6391
  ##### Function: validateDate
6312
6392
 
@@ -6381,6 +6461,20 @@ See also: [GenerateChangeSdkParams](./storage.md#interface-generatechangesdkpara
6381
6461
 
6382
6462
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6383
6463
 
6464
+ ---
6465
+ ##### Function: validateManifestActions
6466
+
6467
+ ```ts
6468
+ export async function validateManifestActions(storage: StorageProvider, batch: TableActionBatch, manifest: ActionBatchManifest): Promise<{
6469
+ actions: ValidatedBatchAction[];
6470
+ dependencyBeef: number[];
6471
+ }>
6472
+ ```
6473
+
6474
+ See also: [ActionBatchManifest](./client.md#interface-actionbatchmanifest), [StorageProvider](./storage.md#class-storageprovider), [TableActionBatch](./storage.md#interface-tableactionbatch), [ValidatedBatchAction](./storage.md#interface-validatedbatchaction)
6475
+
6476
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6477
+
6384
6478
  ---
6385
6479
  ##### Function: validateStorageFeeModel
6386
6480
 
@@ -6434,6 +6528,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
6434
6528
 
6435
6529
  | |
6436
6530
  | --- |
6531
+ | [ActionBatchStatus](#type-actionbatchstatus) |
6437
6532
  | [DBType](#type-dbtype) |
6438
6533
  | [EntityStorage](#type-entitystorage) |
6439
6534
  | [PostReqsToNetworkDetailsStatus](#type-postreqstonetworkdetailsstatus) |
@@ -6442,6 +6537,15 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
6442
6537
 
6443
6538
  ---
6444
6539
 
6540
+ ##### Type: ActionBatchStatus
6541
+
6542
+ ```ts
6543
+ export type ActionBatchStatus = "active" | "prepared" | "committed" | "aborted" | "expired"
6544
+ ```
6545
+
6546
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6547
+
6548
+ ---
6445
6549
  ##### Type: DBType
6446
6550
 
6447
6551
  ```ts
@@ -6486,18 +6590,94 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
6486
6590
 
6487
6591
  | | |
6488
6592
  | --- | --- |
6489
- | [AUTH_SESSION_MIGRATION](#variable-auth_session_migration) | [getLabelToSpecOp](#variable-getlabeltospecop) |
6490
- | [AUTH_SESSION_TABLE](#variable-auth_session_table) | [managedChangeOutputFields](#variable-managedchangeoutputfields) |
6491
- | [BINARY_ENCODING](#variable-binary_encoding) | [maxChangeOutputsPerTransaction](#variable-maxchangeoutputspertransaction) |
6492
- | [BINARY_ENCODING_HEADER](#variable-binary_encoding_header) | [maxPossibleSatoshis](#variable-maxpossiblesatoshis) |
6493
- | [BINARY_REQUEST_ENCODING_HEADER](#variable-binary_request_encoding_header) | [outputColumnsWithoutLockingScript](#variable-outputcolumnswithoutlockingscript) |
6494
- | [DEFAULT_AUTH_SESSION_TTL_MS](#variable-default_auth_session_ttl_ms) | [transactionColumnsWithoutRawTx](#variable-transactioncolumnswithoutrawtx) |
6495
- | [MONITOR_CREATED_AT_INDEX_MIGRATION](#variable-monitor_created_at_index_migration) | |
6593
+ | [ACTION_BATCH_HARD_LIFETIME_MS](#variable-action_batch_hard_lifetime_ms) | [BINARY_ENCODING_HEADER](#variable-binary_encoding_header) |
6594
+ | [ACTION_BATCH_LEASE_MS](#variable-action_batch_lease_ms) | [BINARY_REQUEST_ENCODING_HEADER](#variable-binary_request_encoding_header) |
6595
+ | [ACTION_BATCH_MAX_BLOB_BYTES](#variable-action_batch_max_blob_bytes) | [DEFAULT_AUTH_SESSION_TTL_MS](#variable-default_auth_session_ttl_ms) |
6596
+ | [ACTION_BATCH_MAX_CHUNKS_PER_BLOB](#variable-action_batch_max_chunks_per_blob) | [MONITOR_CREATED_AT_INDEX_MIGRATION](#variable-monitor_created_at_index_migration) |
6597
+ | [ACTION_BATCH_MAX_CONCURRENT_UPLOADS](#variable-action_batch_max_concurrent_uploads) | [getLabelToSpecOp](#variable-getlabeltospecop) |
6598
+ | [ACTION_BATCH_MAX_INLINE_BYTES](#variable-action_batch_max_inline_bytes) | [managedChangeOutputFields](#variable-managedchangeoutputfields) |
6599
+ | [ACTION_BATCH_MAX_LOGICAL_BLOB_BYTES](#variable-action_batch_max_logical_blob_bytes) | [maxChangeOutputsPerTransaction](#variable-maxchangeoutputspertransaction) |
6600
+ | [ACTION_BATCH_MAX_RESERVATION_EXTENSION_OUTPUTS](#variable-action_batch_max_reservation_extension_outputs) | [maxPossibleSatoshis](#variable-maxpossiblesatoshis) |
6601
+ | [AUTH_SESSION_MIGRATION](#variable-auth_session_migration) | [outputColumnsWithoutLockingScript](#variable-outputcolumnswithoutlockingscript) |
6602
+ | [AUTH_SESSION_TABLE](#variable-auth_session_table) | [transactionColumnsWithoutRawTx](#variable-transactioncolumnswithoutrawtx) |
6603
+ | [BINARY_ENCODING](#variable-binary_encoding) | |
6496
6604
 
6497
6605
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6498
6606
 
6499
6607
  ---
6500
6608
 
6609
+ ##### Variable: ACTION_BATCH_HARD_LIFETIME_MS
6610
+
6611
+ ```ts
6612
+ ACTION_BATCH_HARD_LIFETIME_MS = 60 * 60 * 1000
6613
+ ```
6614
+
6615
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6616
+
6617
+ ---
6618
+ ##### Variable: ACTION_BATCH_LEASE_MS
6619
+
6620
+ ```ts
6621
+ ACTION_BATCH_LEASE_MS = 15 * 60 * 1000
6622
+ ```
6623
+
6624
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6625
+
6626
+ ---
6627
+ ##### Variable: ACTION_BATCH_MAX_BLOB_BYTES
6628
+
6629
+ ```ts
6630
+ ACTION_BATCH_MAX_BLOB_BYTES = 8 * 1024 * 1024
6631
+ ```
6632
+
6633
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6634
+
6635
+ ---
6636
+ ##### Variable: ACTION_BATCH_MAX_CHUNKS_PER_BLOB
6637
+
6638
+ ```ts
6639
+ ACTION_BATCH_MAX_CHUNKS_PER_BLOB = 64
6640
+ ```
6641
+
6642
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6643
+
6644
+ ---
6645
+ ##### Variable: ACTION_BATCH_MAX_CONCURRENT_UPLOADS
6646
+
6647
+ ```ts
6648
+ ACTION_BATCH_MAX_CONCURRENT_UPLOADS = 4
6649
+ ```
6650
+
6651
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6652
+
6653
+ ---
6654
+ ##### Variable: ACTION_BATCH_MAX_INLINE_BYTES
6655
+
6656
+ ```ts
6657
+ ACTION_BATCH_MAX_INLINE_BYTES = 4 * 1024 * 1024
6658
+ ```
6659
+
6660
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6661
+
6662
+ ---
6663
+ ##### Variable: ACTION_BATCH_MAX_LOGICAL_BLOB_BYTES
6664
+
6665
+ ```ts
6666
+ ACTION_BATCH_MAX_LOGICAL_BLOB_BYTES = 64 * 1024 * 1024
6667
+ ```
6668
+
6669
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6670
+
6671
+ ---
6672
+ ##### Variable: ACTION_BATCH_MAX_RESERVATION_EXTENSION_OUTPUTS
6673
+
6674
+ ```ts
6675
+ ACTION_BATCH_MAX_RESERVATION_EXTENSION_OUTPUTS = 64
6676
+ ```
6677
+
6678
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6679
+
6680
+ ---
6501
6681
  ##### Variable: AUTH_SESSION_MIGRATION
6502
6682
 
6503
6683
  ```ts