@bsv/wallet-toolbox 1.7.19 → 1.7.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/client.md +26 -2
- package/docs/services.md +13 -1
- package/docs/storage.md +13 -1
- package/docs/wallet.md +26 -2
- package/out/src/WalletPermissionsManager.d.ts +6 -0
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +241 -74
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js +3 -1
- package/out/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +12 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +16 -2
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +33 -4
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/methods/__test/offsetKey.test.js +266 -100
- package/out/src/storage/methods/__test/offsetKey.test.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/WalletPermissionsManager.ts +302 -71
- package/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.ts +1 -1
- package/src/services/chaintracker/chaintracks/__tests/Chaintracks.test.ts +2 -1
- package/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.ts +12 -0
- package/src/storage/StorageProvider.ts +38 -5
- package/src/storage/methods/__test/offsetKey.test.ts +299 -103
- package/src/storage/methods/getBeefForTransaction.ts +3 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbortActionResult, Beef, InternalizeActionArgs, ListActionsResult, ListOutputsResult, PubKeyHex, ListCertificatesResult, TrustSelf, RelinquishCertificateArgs, RelinquishOutputArgs, AbortActionArgs, Validation, WalletLoggerInterface } from '@bsv/sdk';
|
|
1
|
+
import { AbortActionResult, Beef, InternalizeActionArgs, ListActionsResult, ListOutputsResult, PubKeyHex, ListCertificatesResult, TrustSelf, RelinquishCertificateArgs, RelinquishOutputArgs, AbortActionArgs, Validation, WalletLoggerInterface, ChainTracker } from '@bsv/sdk';
|
|
2
2
|
import { GetReqsAndBeefResult } from './methods/processAction';
|
|
3
3
|
import { PostReqsToNetworkResult } from './methods/attemptToPostReqsToNetwork';
|
|
4
4
|
import { StorageReaderWriter, StorageReaderWriterOptions } from './StorageReaderWriter';
|
|
@@ -96,8 +96,22 @@ export declare abstract class StorageProvider extends StorageReaderWriter implem
|
|
|
96
96
|
attemptToPostReqsToNetwork(reqs: EntityProvenTxReq[], trx?: TrxToken, logger?: WalletLoggerInterface): Promise<PostReqsToNetworkResult>;
|
|
97
97
|
listCertificates(auth: AuthId, args: Validation.ValidListCertificatesArgs): Promise<ListCertificatesResult>;
|
|
98
98
|
verifyKnownValidTransaction(txid: string, trx?: TrxToken): Promise<boolean>;
|
|
99
|
+
/**
|
|
100
|
+
* Pulls data from storage to build a valid beef for a txid.
|
|
101
|
+
*
|
|
102
|
+
* Optionally merges the data into an existing beef.
|
|
103
|
+
* Optionally requires a minimum number of proof levels.
|
|
104
|
+
*
|
|
105
|
+
* @param txid
|
|
106
|
+
* @param mergeToBeef
|
|
107
|
+
* @param trustSelf
|
|
108
|
+
* @param knownTxids
|
|
109
|
+
* @param trx
|
|
110
|
+
* @param requiredLevels
|
|
111
|
+
* @returns
|
|
112
|
+
*/
|
|
99
113
|
getValidBeefForKnownTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef>;
|
|
100
|
-
getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number): Promise<Beef | undefined>;
|
|
114
|
+
getValidBeefForTxid(txid: string, mergeToBeef?: Beef, trustSelf?: TrustSelf, knownTxids?: string[], trx?: TrxToken, requiredLevels?: number, chainTracker?: ChainTracker, skipInvalidProofs?: boolean): Promise<Beef | undefined>;
|
|
101
115
|
getBeefForTransaction(txid: string, options: StorageGetBeefOptions): Promise<Beef>;
|
|
102
116
|
findMonitorEventById(id: number, trx?: TrxToken): Promise<TableMonitorEvent | undefined>;
|
|
103
117
|
relinquishCertificate(auth: AuthId, args: RelinquishCertificateArgs): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,IAAI,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,qBAAqB,
|
|
1
|
+
{"version":3,"file":"StorageProvider.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,IAAI,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAwB,oBAAoB,EAAiB,MAAM,yBAAyB,CAAA;AACnG,OAAO,EAA8B,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAI1G,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAAkB,iBAAiB,EAAsC,MAAM,mBAAmB,CAAA;AACzG,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtF,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,8BAA8B,EAC9B,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,SAAS,EACT,QAAQ,EACR,oCAAoC,EACpC,sCAAsC,EACtC,qBAAqB,EACtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAA;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAA;AAErF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAA;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAapE,8BAAsB,eAAgB,SAAQ,mBAAoB,YAAW,qBAAqB;IAChG,OAAO,UAAQ;IACf,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,QAAQ,EAAE,eAAe,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,SAAS,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B,MAAM,CAAC,cAAc;kBAEN,eAAe;;;;IAM9B,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,sBAAsB;gBAQzD,OAAO,EAAE,sBAAsB;IAQ3C,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1F,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAE9E,QAAQ,CAAC,mBAAmB,CAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAEnC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAC/E,QAAQ,CAAC,+BAA+B,CACtC,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;IAEhC,QAAQ,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACnG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAExF,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACrG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAErG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAEtG,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACrG,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACvG,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACrF,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7F,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAE/D,iBAAiB,IAAI,OAAO;IAIrC,WAAW,CAAC,CAAC,EAAE,cAAc;IAG7B,WAAW,IAAI,cAAc;IAKvB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkD5E,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAI3G;;;;;;;;OAQG;IACG,8BAA8B,CAClC,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,GAAG,CAAC,EAAE,QAAQ,GACb,OAAO,CAAC,oBAAoB,CAAC;IAuD1B,+BAA+B,CACnC,GAAG,EAAE,gBAAgB,EACrB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,GAAG,CAAC,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;;;;;;;;OAaG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+BpG,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlH;;;;;;;;;;OAUG;IACG,uBAAuB,CAC3B,MAAM,EAAE,iBAAiB,EACzB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,QAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAoDV,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,qBAAqB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAItG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAKjG,0BAA0B,CAC9B,IAAI,EAAE,iBAAiB,EAAE,EACzB,GAAG,CAAC,EAAE,QAAQ,EACd,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAI7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI3G,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjF;;;;;;;;;;;;;OAaG;IACG,wBAAwB,CAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,IAAI,EAClB,SAAS,CAAC,EAAE,SAAS,EACrB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,GAAG,CAAC,EAAE,QAAQ,EACd,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;IAMV,mBAAmB,CACvB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,IAAI,EAClB,SAAS,CAAC,EAAE,SAAS,EACrB,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,GAAG,CAAC,EAAE,QAAQ,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,YAAY,EAC3B,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAsDtB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIxF,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBrF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3E,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAgBrG;;;;;;;;;;;;OAYG;IACG,gCAAgC,CACpC,IAAI,EAAE,oCAAoC,GACzC,OAAO,CAAC,sCAAsC,CAAC;IA6DlD;;;;;;OAMG;IACG,uBAAuB,IAAI,OAAO,CAAC;QACvC,uBAAuB,EAAE,WAAW,EAAE,CAAA;KACvC,CAAC;IA6BI,yBAAyB,CAC7B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,EACzC,GAAG,CAAC,EAAE,QAAQ,GACb,OAAO,CAAC,MAAM,CAAC;IAcZ,YAAY,CAChB,CAAC,EAAE,WAAW,EACd,aAAa,UAAQ,EACrB,WAAW,UAAQ,EACnB,GAAG,CAAC,EAAE,QAAQ,GACb,OAAO,CAAC,YAAY,CAAC;IASlB,oBAAoB,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAY1E;AAED,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,eAAe,CAAA;IACzB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,SAAS,CAAA;CAChC;AAED,wBAAgB,uBAAuB,CAAC,CAAC,CAAC,EAAE,eAAe,GAAG,eAAe,CAY5E;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,YAAY,CAAC,EAAE,mBAAmB,CAAA;CACnC"}
|
|
@@ -312,13 +312,27 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
312
312
|
const { proven, rawTx } = await this.getProvenOrRawTx(txid, trx);
|
|
313
313
|
return proven != undefined || rawTx != undefined;
|
|
314
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Pulls data from storage to build a valid beef for a txid.
|
|
317
|
+
*
|
|
318
|
+
* Optionally merges the data into an existing beef.
|
|
319
|
+
* Optionally requires a minimum number of proof levels.
|
|
320
|
+
*
|
|
321
|
+
* @param txid
|
|
322
|
+
* @param mergeToBeef
|
|
323
|
+
* @param trustSelf
|
|
324
|
+
* @param knownTxids
|
|
325
|
+
* @param trx
|
|
326
|
+
* @param requiredLevels
|
|
327
|
+
* @returns
|
|
328
|
+
*/
|
|
315
329
|
async getValidBeefForKnownTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels) {
|
|
316
330
|
const beef = await this.getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels);
|
|
317
331
|
if (!beef)
|
|
318
332
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `known to storage. ${txid} is not known.`);
|
|
319
333
|
return beef;
|
|
320
334
|
}
|
|
321
|
-
async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels) {
|
|
335
|
+
async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
|
|
322
336
|
const beef = mergeToBeef || new sdk_1.Beef();
|
|
323
337
|
const r = await this.getProvenOrRawTx(txid, trx);
|
|
324
338
|
if (r.proven) {
|
|
@@ -329,10 +343,25 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
329
343
|
if (trustSelf === 'known')
|
|
330
344
|
beef.mergeTxidOnly(txid);
|
|
331
345
|
else {
|
|
332
|
-
beef.mergeRawTx(r.proven.rawTx);
|
|
333
346
|
const mp = new entities_1.EntityProvenTx(r.proven).getMerklePath();
|
|
334
|
-
|
|
335
|
-
|
|
347
|
+
if (chainTracker) {
|
|
348
|
+
const root = mp.computeRoot();
|
|
349
|
+
const isValid = await chainTracker.isValidRootForHeight(root, r.proven.height);
|
|
350
|
+
if (!isValid) {
|
|
351
|
+
if (!skipInvalidProofs) {
|
|
352
|
+
throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(r.proven.blockHash, r.proven.height, root, txid);
|
|
353
|
+
}
|
|
354
|
+
// ignore this currently invalid proof and try to recurse deeper
|
|
355
|
+
r.rawTx = r.proven.rawTx;
|
|
356
|
+
r.proven = undefined;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
if (r.proven) {
|
|
360
|
+
// If we still like this proof, merge it and return
|
|
361
|
+
beef.mergeRawTx(r.proven.rawTx);
|
|
362
|
+
beef.mergeBump(mp);
|
|
363
|
+
return beef;
|
|
364
|
+
}
|
|
336
365
|
}
|
|
337
366
|
}
|
|
338
367
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,124 +84,290 @@ describe('offsetKey tests', () => {
|
|
|
84
84
|
// await setup.wallet.abortAction({ reference: 'e9c03bdf603e90ebe482044e8d0f7afbf2d6fe480a13dbd8689e2e5e5183bed4' })
|
|
85
85
|
// txid b6f72df4224efbacab42a16e1e88f48c217f03929c36987b9067d2556de47c10
|
|
86
86
|
// height 922107
|
|
87
|
-
// hash
|
|
87
|
+
// incorrect hash 000000000000000014d97d19bf82956c1f7ce3977da10b7fbdab9a10653c02e7
|
|
88
|
+
// correct hash 00000000000000001957bfadf841d1709d5039b3243c33ba58e4a6a97b44d2a8
|
|
88
89
|
const sm = new WalletStorageManager_1.WalletStorageManager(setup.identityKey, storage);
|
|
89
90
|
sm.setServices(setup.services);
|
|
91
|
+
// This should correct invalid merkle proofs in proven_txs but currently does not because WoC returns invalid header info.
|
|
90
92
|
await sm.reproveHeader('000000000000000014d97d19bf82956c1f7ce3977da10b7fbdab9a10653c02e7');
|
|
91
|
-
const comms = [];
|
|
92
|
-
const beef = new sdk_1.Beef();
|
|
93
|
-
const chainTracker = await setup.services.getChainTracker();
|
|
94
|
-
const inputs = [];
|
|
95
93
|
const fca = {
|
|
96
94
|
partial: { isRedeemed: false },
|
|
97
|
-
paged: { limit:
|
|
95
|
+
paged: { limit: 400, offset: 0 }
|
|
98
96
|
};
|
|
99
|
-
for (
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
97
|
+
for (;;) {
|
|
98
|
+
const comms = [];
|
|
99
|
+
let beef = new sdk_1.Beef();
|
|
100
|
+
const chainTracker = await setup.services.getChainTracker();
|
|
101
|
+
const inputs = [];
|
|
102
|
+
for (; comms.length < fca.paged.limit;) {
|
|
103
|
+
const unredeemedComms = await storage.findCommissions(fca);
|
|
104
|
+
if (unredeemedComms.length < 1)
|
|
105
|
+
break;
|
|
106
|
+
for (const comm of unredeemedComms) {
|
|
107
|
+
fca.paged.offset += 1;
|
|
108
|
+
const tt = (0, utilityHelpers_1.verifyTruthy)(await storage.findTransactionById(comm.transactionId, undefined, true));
|
|
109
|
+
if (tt.provenTxId && tt.txid) {
|
|
110
|
+
await storage.getBeefForTransaction(tt.txid, { mergeToBeef: beef, chainTracker, skipInvalidProofs: true });
|
|
111
|
+
const tx = (0, utilityHelpers_1.verifyTruthy)(beef.findTxid(tt.txid)).tx;
|
|
112
|
+
const commVOut = tx.outputs.findIndex(o => o.satoshis === comm.satoshis && o.lockingScript.toHex() === sdk_1.Utils.toHex(comm.lockingScript));
|
|
113
|
+
const commOut = tx.outputs[commVOut];
|
|
114
|
+
const input = {
|
|
115
|
+
outpoint: `${tt.txid}.${commVOut}`,
|
|
116
|
+
inputDescription: `commId:${comm.commissionId}`,
|
|
117
|
+
unlockingScriptLength: 108
|
|
118
|
+
};
|
|
119
|
+
inputs.push(input);
|
|
120
|
+
comms.push(comm);
|
|
121
|
+
if (comms.length === fca.paged.limit)
|
|
122
|
+
break;
|
|
109
123
|
}
|
|
110
|
-
|
|
111
|
-
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (comms.length < fca.paged.limit)
|
|
127
|
+
// Only redeem full quota of commissions per cycle to avoid paying higher percentage of fees.
|
|
128
|
+
break;
|
|
129
|
+
if (comms.length > 0) {
|
|
130
|
+
fca.paged.offset -= comms.length;
|
|
131
|
+
console.log(beef.toLogString());
|
|
132
|
+
const verified = await beef.verify(chainTracker, false);
|
|
133
|
+
expect(verified).toBe(true);
|
|
134
|
+
const cao = {
|
|
135
|
+
randomizeOutputs: false,
|
|
136
|
+
//signAndProcess: false,
|
|
137
|
+
noSend: true
|
|
138
|
+
};
|
|
139
|
+
const ca = {
|
|
140
|
+
description: 'redeem commissions',
|
|
141
|
+
inputs: inputs,
|
|
142
|
+
inputBEEF: beef.toBinary(),
|
|
143
|
+
options: cao
|
|
144
|
+
};
|
|
145
|
+
const car = await setup.wallet.createAction(ca);
|
|
146
|
+
expect(car.signableTransaction).toBeTruthy();
|
|
147
|
+
const st = car.signableTransaction;
|
|
148
|
+
expect(st.reference).toBeTruthy();
|
|
149
|
+
const atomicBeef = sdk_1.Beef.fromBinary(st.tx);
|
|
150
|
+
const txid = atomicBeef.txs[atomicBeef.txs.length - 1].txid;
|
|
151
|
+
const tx = atomicBeef.findTransactionForSigning(txid);
|
|
152
|
+
const priv = sdk_1.PrivateKey.fromHex(env.devKeys[env.commissionsIdentity]);
|
|
153
|
+
const pub = priv.toPublicKey();
|
|
154
|
+
const curve = new sdk_1.Curve();
|
|
155
|
+
const p2pkh = new sdk_1.P2PKH();
|
|
156
|
+
const spends = {};
|
|
157
|
+
let vin = 0;
|
|
158
|
+
// set an unlockingScriptTemplate for each commission input being redeemed in unsigned tx
|
|
159
|
+
for (const comm of comms) {
|
|
160
|
+
const { hashedSecret } = (0, offsetKey_1.keyOffsetToHashedSecret)(pub, comm.keyOffset);
|
|
161
|
+
const bn = priv.add(hashedSecret).mod(curve.n);
|
|
162
|
+
const offsetPrivKey = new sdk_1.PrivateKey(bn);
|
|
163
|
+
const unlock = p2pkh.unlock(offsetPrivKey, 'all', false);
|
|
164
|
+
tx.inputs[vin].unlockingScriptTemplate = unlock;
|
|
165
|
+
vin++;
|
|
166
|
+
}
|
|
167
|
+
// sign each input
|
|
168
|
+
await tx.sign();
|
|
169
|
+
vin = 0;
|
|
170
|
+
// extract all the signed unlocking scripts
|
|
171
|
+
for (const comm of comms) {
|
|
172
|
+
const script = tx.inputs[vin].unlockingScript;
|
|
173
|
+
const unlockingScript = script.toHex();
|
|
174
|
+
spends[vin] = { unlockingScript };
|
|
175
|
+
vin++;
|
|
176
|
+
}
|
|
177
|
+
const signArgs = {
|
|
178
|
+
reference: st.reference,
|
|
179
|
+
spends,
|
|
180
|
+
options: {
|
|
181
|
+
returnTXIDOnly: true,
|
|
182
|
+
noSend: true
|
|
112
183
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
184
|
+
};
|
|
185
|
+
// Forward all the unlocking scripts to storage and create the ProvenTxReq for the noSend txid.
|
|
186
|
+
const sr = await setup.wallet.signAction(signArgs);
|
|
187
|
+
expect(sr.txid).toBeTruthy();
|
|
188
|
+
// Update the commissions as redeemed in storage
|
|
189
|
+
for (const comm of comms) {
|
|
190
|
+
await storage.updateCommission(comm.commissionId, { isRedeemed: true });
|
|
191
|
+
}
|
|
192
|
+
{
|
|
193
|
+
// Get the transaction broadcast
|
|
194
|
+
const createArgs = {
|
|
195
|
+
description: `broadcasting noSend`,
|
|
196
|
+
options: {
|
|
197
|
+
acceptDelayedBroadcast: false,
|
|
198
|
+
sendWith: [sr.txid]
|
|
199
|
+
}
|
|
120
200
|
};
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
201
|
+
const cr = await setup.wallet.createAction(createArgs);
|
|
202
|
+
expect(cr.noSendChange).not.toBeTruthy();
|
|
203
|
+
expect((_a = cr.sendWithResults) === null || _a === void 0 ? void 0 : _a.length).toBe(1);
|
|
204
|
+
const [swr] = cr.sendWithResults;
|
|
205
|
+
expect(swr.status !== 'failed').toBe(true);
|
|
125
206
|
}
|
|
126
207
|
}
|
|
127
|
-
fca.paged.offset += unredeemedComms.length;
|
|
128
208
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
209
|
+
}
|
|
210
|
+
catch (err) {
|
|
211
|
+
console.error('Error in 4_redeemServiceCharges test:', err);
|
|
212
|
+
throw err;
|
|
213
|
+
}
|
|
214
|
+
await storage.destroy();
|
|
215
|
+
await setup.wallet.destroy();
|
|
216
|
+
});
|
|
217
|
+
test('4a_redeemServiceCharges optimized', async () => {
|
|
218
|
+
var _a;
|
|
219
|
+
if (TestUtilsWalletStorage_1._tu.noEnv('main'))
|
|
220
|
+
return;
|
|
221
|
+
const env = TestUtilsWalletStorage_1._tu.getEnv('main');
|
|
222
|
+
if (!env.devKeys[env.commissionsIdentity]) {
|
|
223
|
+
throw new Error('No dev key for commissions identity');
|
|
224
|
+
}
|
|
225
|
+
const knex = Setup_1.Setup.createMySQLKnex(process.env.MAIN_CLOUD_MYSQL_CONNECTION);
|
|
226
|
+
const storage = new StorageKnex_1.StorageKnex({
|
|
227
|
+
chain: env.chain,
|
|
228
|
+
knex: knex,
|
|
229
|
+
commissionSatoshis: 0,
|
|
230
|
+
commissionPubKeyHex: undefined,
|
|
231
|
+
feeModel: { model: 'sat/kb', value: 1 }
|
|
232
|
+
});
|
|
233
|
+
let setup;
|
|
234
|
+
await storage.makeAvailable();
|
|
235
|
+
setup = await TestUtilsWalletStorage_1._tu.createTestWalletWithStorageClient({
|
|
236
|
+
chain: 'main',
|
|
237
|
+
rootKeyHex: env.devKeys[env.commissionsIdentity]
|
|
238
|
+
});
|
|
239
|
+
storage.setServices(setup.services);
|
|
240
|
+
try {
|
|
241
|
+
const fca = {
|
|
242
|
+
partial: { isRedeemed: false },
|
|
243
|
+
paged: { limit: 400, offset: 0 }
|
|
244
|
+
};
|
|
245
|
+
for (;;) {
|
|
246
|
+
const comms = [];
|
|
247
|
+
let beef = new sdk_1.Beef();
|
|
248
|
+
const chainTracker = await setup.services.getChainTracker();
|
|
249
|
+
const inputs = [];
|
|
250
|
+
// This query would be much faster and allow valid proofs to be merged into beef directly...
|
|
251
|
+
// but will blow up if rawTx are large.
|
|
252
|
+
// This is really a case where a full Beef isn't needed.
|
|
253
|
+
// All the inputs will be from proven txs.
|
|
254
|
+
// Processors should accept the aggregate rawTx without any other input rawTxs or merkle proofs.
|
|
255
|
+
// i.e. All the input txids should be "known"
|
|
256
|
+
const r = await storage.knex.raw(`
|
|
257
|
+
SELECT c.*, t.provenTxId, p.height, p.index, p.merklePath, p.rawTx, p.blockHash, p.merkleRoot
|
|
258
|
+
FROM commissions c
|
|
259
|
+
JOIN transactions t ON c.transactionId = t.transactionId
|
|
260
|
+
JOIN proven_txs p ON t.provenTxId = p.provenTxId
|
|
261
|
+
WHERE c.isRedeemed = 0
|
|
262
|
+
AND NOT t.provenTxId IS NOT NULL
|
|
263
|
+
ORDER BY c.commissionId
|
|
264
|
+
LIMIT ? OFFSET ?;
|
|
265
|
+
`, [fca.paged.limit, fca.paged.offset]);
|
|
266
|
+
for (; comms.length < fca.paged.limit;) {
|
|
267
|
+
const unredeemedComms = await storage.findCommissions(fca);
|
|
268
|
+
if (unredeemedComms.length < 1)
|
|
269
|
+
break;
|
|
270
|
+
for (const comm of unredeemedComms) {
|
|
271
|
+
fca.paged.offset += 1;
|
|
272
|
+
const tt = (0, utilityHelpers_1.verifyTruthy)(await storage.findTransactionById(comm.transactionId, undefined, true));
|
|
273
|
+
if (tt.provenTxId && tt.txid) {
|
|
274
|
+
await storage.getBeefForTransaction(tt.txid, { mergeToBeef: beef, chainTracker, skipInvalidProofs: true });
|
|
275
|
+
const tx = (0, utilityHelpers_1.verifyTruthy)(beef.findTxid(tt.txid)).tx;
|
|
276
|
+
const commVOut = tx.outputs.findIndex(o => o.satoshis === comm.satoshis && o.lockingScript.toHex() === sdk_1.Utils.toHex(comm.lockingScript));
|
|
277
|
+
const commOut = tx.outputs[commVOut];
|
|
278
|
+
const input = {
|
|
279
|
+
outpoint: `${tt.txid}.${commVOut}`,
|
|
280
|
+
inputDescription: `commId:${comm.commissionId}`,
|
|
281
|
+
unlockingScriptLength: 108
|
|
282
|
+
};
|
|
283
|
+
inputs.push(input);
|
|
284
|
+
comms.push(comm);
|
|
285
|
+
if (comms.length === fca.paged.limit)
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
175
289
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
290
|
+
if (comms.length < fca.paged.limit)
|
|
291
|
+
// Only redeem full quota of commissions per cycle to avoid paying higher percentage of fees.
|
|
292
|
+
break;
|
|
293
|
+
if (comms.length > 0) {
|
|
294
|
+
fca.paged.offset -= comms.length;
|
|
295
|
+
console.log(beef.toLogString());
|
|
296
|
+
const verified = await beef.verify(chainTracker, false);
|
|
297
|
+
expect(verified).toBe(true);
|
|
298
|
+
const cao = {
|
|
299
|
+
randomizeOutputs: false,
|
|
300
|
+
//signAndProcess: false,
|
|
181
301
|
noSend: true
|
|
302
|
+
};
|
|
303
|
+
const ca = {
|
|
304
|
+
description: 'redeem commissions',
|
|
305
|
+
inputs: inputs,
|
|
306
|
+
inputBEEF: beef.toBinary(),
|
|
307
|
+
options: cao
|
|
308
|
+
};
|
|
309
|
+
const car = await setup.wallet.createAction(ca);
|
|
310
|
+
expect(car.signableTransaction).toBeTruthy();
|
|
311
|
+
const st = car.signableTransaction;
|
|
312
|
+
expect(st.reference).toBeTruthy();
|
|
313
|
+
const atomicBeef = sdk_1.Beef.fromBinary(st.tx);
|
|
314
|
+
const txid = atomicBeef.txs[atomicBeef.txs.length - 1].txid;
|
|
315
|
+
const tx = atomicBeef.findTransactionForSigning(txid);
|
|
316
|
+
const priv = sdk_1.PrivateKey.fromHex(env.devKeys[env.commissionsIdentity]);
|
|
317
|
+
const pub = priv.toPublicKey();
|
|
318
|
+
const curve = new sdk_1.Curve();
|
|
319
|
+
const p2pkh = new sdk_1.P2PKH();
|
|
320
|
+
const spends = {};
|
|
321
|
+
let vin = 0;
|
|
322
|
+
// set an unlockingScriptTemplate for each commission input being redeemed in unsigned tx
|
|
323
|
+
for (const comm of comms) {
|
|
324
|
+
const { hashedSecret } = (0, offsetKey_1.keyOffsetToHashedSecret)(pub, comm.keyOffset);
|
|
325
|
+
const bn = priv.add(hashedSecret).mod(curve.n);
|
|
326
|
+
const offsetPrivKey = new sdk_1.PrivateKey(bn);
|
|
327
|
+
const unlock = p2pkh.unlock(offsetPrivKey, 'all', false);
|
|
328
|
+
tx.inputs[vin].unlockingScriptTemplate = unlock;
|
|
329
|
+
vin++;
|
|
182
330
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
const
|
|
194
|
-
|
|
331
|
+
// sign each input
|
|
332
|
+
await tx.sign();
|
|
333
|
+
vin = 0;
|
|
334
|
+
// extract all the signed unlocking scripts
|
|
335
|
+
for (const comm of comms) {
|
|
336
|
+
const script = tx.inputs[vin].unlockingScript;
|
|
337
|
+
const unlockingScript = script.toHex();
|
|
338
|
+
spends[vin] = { unlockingScript };
|
|
339
|
+
vin++;
|
|
340
|
+
}
|
|
341
|
+
const signArgs = {
|
|
342
|
+
reference: st.reference,
|
|
343
|
+
spends,
|
|
195
344
|
options: {
|
|
196
|
-
|
|
197
|
-
|
|
345
|
+
returnTXIDOnly: true,
|
|
346
|
+
noSend: true
|
|
198
347
|
}
|
|
199
348
|
};
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
expect(
|
|
203
|
-
|
|
204
|
-
|
|
349
|
+
// Forward all the unlocking scripts to storage and create the ProvenTxReq for the noSend txid.
|
|
350
|
+
const sr = await setup.wallet.signAction(signArgs);
|
|
351
|
+
expect(sr.txid).toBeTruthy();
|
|
352
|
+
// Update the commissions as redeemed in storage
|
|
353
|
+
for (const comm of comms) {
|
|
354
|
+
await storage.updateCommission(comm.commissionId, { isRedeemed: true });
|
|
355
|
+
}
|
|
356
|
+
{
|
|
357
|
+
// Get the transaction broadcast
|
|
358
|
+
const createArgs = {
|
|
359
|
+
description: `broadcasting noSend`,
|
|
360
|
+
options: {
|
|
361
|
+
acceptDelayedBroadcast: false,
|
|
362
|
+
sendWith: [sr.txid]
|
|
363
|
+
}
|
|
364
|
+
};
|
|
365
|
+
const cr = await setup.wallet.createAction(createArgs);
|
|
366
|
+
expect(cr.noSendChange).not.toBeTruthy();
|
|
367
|
+
expect((_a = cr.sendWithResults) === null || _a === void 0 ? void 0 : _a.length).toBe(1);
|
|
368
|
+
const [swr] = cr.sendWithResults;
|
|
369
|
+
expect(swr.status !== 'failed').toBe(true);
|
|
370
|
+
}
|
|
205
371
|
}
|
|
206
372
|
}
|
|
207
373
|
}
|