@bsv/wallet-toolbox 1.6.34 → 1.6.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/docs/client.md +86 -63
- package/docs/wallet.md +76 -53
- package/mobile/out/src/Wallet.d.ts +4 -0
- package/mobile/out/src/Wallet.d.ts.map +1 -1
- package/mobile/out/src/Wallet.js +2 -3
- package/mobile/out/src/Wallet.js.map +1 -1
- package/mobile/out/src/sdk/validationHelpers.d.ts +8 -0
- package/mobile/out/src/sdk/validationHelpers.d.ts.map +1 -1
- package/mobile/out/src/sdk/validationHelpers.js +13 -2
- package/mobile/out/src/sdk/validationHelpers.js.map +1 -1
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/mobile/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/mobile/out/src/signer/methods/createAction.js +1 -1
- package/mobile/out/src/signer/methods/createAction.js.map +1 -1
- package/mobile/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/mobile/out/src/storage/methods/createAction.js +3 -0
- package/mobile/out/src/storage/methods/createAction.js.map +1 -1
- package/mobile/package-lock.json +2 -2
- package/mobile/package.json +1 -1
- package/out/src/Wallet.d.ts +4 -0
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +2 -3
- package/out/src/Wallet.js.map +1 -1
- package/out/src/sdk/validationHelpers.d.ts +8 -0
- package/out/src/sdk/validationHelpers.d.ts.map +1 -1
- package/out/src/sdk/validationHelpers.js +13 -2
- package/out/src/sdk/validationHelpers.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/signer/methods/createAction.js +1 -1
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +3 -0
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/test/WalletClient/WERR.man.test.js +9 -6
- package/out/test/WalletClient/WERR.man.test.js.map +1 -1
- package/out/tsconfig.all.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/Wallet.ts +4 -4
- package/src/sdk/validationHelpers.ts +15 -3
- package/src/services/chaintracker/ChaintracksChainTracker.ts +1 -2
- package/src/signer/methods/createAction.ts +1 -1
- package/src/storage/methods/createAction.ts +3 -0
- package/test/WalletClient/WERR.man.test.ts +11 -7
package/package.json
CHANGED
package/src/Wallet.ts
CHANGED
|
@@ -770,8 +770,6 @@ export class Wallet implements WalletInterface, ProtoWallet {
|
|
|
770
770
|
|
|
771
771
|
const { auth, vargs } = this.validateAuthAndArgs(args, validateCreateActionArgs)
|
|
772
772
|
|
|
773
|
-
if (vargs.labels.indexOf(specOpThrowReviewActions) >= 0) throwDummyReviewActions()
|
|
774
|
-
|
|
775
773
|
vargs.includeAllSourceTransactions = this.includeAllSourceTransactions
|
|
776
774
|
if (this.randomVals && this.randomVals.length > 1) {
|
|
777
775
|
vargs.randomVals = [...this.randomVals]
|
|
@@ -1105,13 +1103,15 @@ function throwIfUnsuccessfulInternalizeAction(r: StorageInternalizeActionResult)
|
|
|
1105
1103
|
/**
|
|
1106
1104
|
* Throws a WERR_REVIEW_ACTIONS with a full set of properties to test data formats and propagation.
|
|
1107
1105
|
*/
|
|
1108
|
-
function throwDummyReviewActions() {
|
|
1106
|
+
export function throwDummyReviewActions() {
|
|
1109
1107
|
const b58Beef =
|
|
1110
1108
|
'gno9MC7VXii1KoCkc2nsVyYJpqzN3dhBzYATETJcys62emMKfpBof4R7GozwYEaSapUtnNvqQ57aaYYjm3U2dv9eUJ1sV46boHkQgppYmAz9YH8FdZduV8aJayPViaKcyPmbDhEw6UW8TM5iFZLXNs7HBnJHUKCeTdNK4FUEL7vAugxAV9WUUZ43BZjJk2SmSeps9TCXjt1Ci9fKWp3d9QSoYvTpxwzyUFHjRKtbUgwq55ZfkBp5bV2Bpz9qSuKywKewW7Hh4S1nCUScwwzpKDozb3zic1V9p2k8rQxoPsRxjUJ8bjhNDdsN8d7KukFuc3n47fXzdWttvnxwsujLJRGnQbgJuknQqx3KLf5kJXHzwjG6TzigZk2t24qeB6d3hbYiaDr2fFkUJBL3tukTHhfNkQYRXuz3kucVDzvejHyqJaF51mXG8BjMN5aQj91ZJXCaPVqkMWCzmvyaqmXMdRiJdSAynhXbQK91xf6RwdNhz1tg5f9B6oJJMhsi9UYSVymmax8VLKD9AKzBCBDcfyD83m3jyS1VgKGZn3SkQmr6bsoWq88L3GsMnnmYUGogvdAYarTqg3pzkjCMxHzmJBMN6ofnUk8c1sRTXQue7BbyUaN5uZu3KW6CmFsEfpuqVvnqFW93TU1jrPP2S8yz8AexAnARPCKE8Yz7RfVaT6RCavwQKL3u5iookwRWEZXW1QWmM37yJWHD87SjVynyg327a1CLwcBxmE2CB48QeNVGyQki4CTQMqw2o8TMhDPJej1g68oniAjBcxBLSCs7KGvK3k7AfrHbCMULX9CTibYhCjdFjbsbBoocqJpxxcvkMo1fEEiAzZuiBVZQDYktDdTVbhKHvYkW25HcYX75NJrpNAhm7AjFeKLzEVxqAQkMfvTufpESNRZF4kQqg2Rg8h2ajcKTd5cpEPwXCrZLHm4EaZEmZVbg3QNfGhn7BJu1bHMtLqPD4y8eJxm2uGrW6saf6qKYmmu64F8A667NbD4yskPRQ1S863VzwGpxxmgLc1Ta3R46jEqsAoRDoZVUaCgBBZG3Yg1CTgi1EVBMXU7qvY4n3h8o2FLCEMWY4KadnV3iD4FbcdCmg4yxBosNAZgbPjhgGjCimjh4YsLd9zymGLmivmz2ZBg5m3xaiXT9NN81X9C1JUujd'
|
|
1111
1109
|
const beef = Beef.fromBinary(Utils.fromBase58(b58Beef))
|
|
1112
1110
|
const btx = beef.txs.slice(-1)[0]
|
|
1113
1111
|
const txid = btx.txid
|
|
1114
|
-
|
|
1112
|
+
|
|
1113
|
+
console.log('Throwing dummy WERR_REVIEW_ACTIONS')
|
|
1114
|
+
|
|
1115
1115
|
throw new WERR_REVIEW_ACTIONS(
|
|
1116
1116
|
[
|
|
1117
1117
|
{
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
Utils,
|
|
45
45
|
WalletPayment
|
|
46
46
|
} from '@bsv/sdk'
|
|
47
|
-
import { OutPoint } from './types'
|
|
47
|
+
import { OutPoint, specOpThrowReviewActions } from './types'
|
|
48
48
|
import { WERR_INTERNAL, WERR_INVALID_PARAMETER } from './WERR_errors'
|
|
49
49
|
|
|
50
50
|
export function parseWalletOutpoint(outpoint: string): {
|
|
@@ -327,6 +327,8 @@ export interface ValidProcessActionArgs extends ValidWalletSignerArgs {
|
|
|
327
327
|
isNoSend: boolean
|
|
328
328
|
// true if options.acceptDelayedBroadcast is true
|
|
329
329
|
isDelayed: boolean
|
|
330
|
+
// true if WERR_REVIEW_ACTIONS should be thrown to test review actions handling
|
|
331
|
+
isTestWerrReviewActions: boolean
|
|
330
332
|
}
|
|
331
333
|
|
|
332
334
|
export interface ValidCreateActionArgs extends ValidProcessActionArgs {
|
|
@@ -357,6 +359,13 @@ export interface ValidSignActionArgs extends ValidProcessActionArgs {
|
|
|
357
359
|
options: ValidSignActionOptions
|
|
358
360
|
}
|
|
359
361
|
|
|
362
|
+
/**
|
|
363
|
+
* Validate the arguments for creating a new action.
|
|
364
|
+
*
|
|
365
|
+
* @param args
|
|
366
|
+
* @returns validated arguments
|
|
367
|
+
* @throws primarily WERR_INVALID_PARAMETER if args are invalid.
|
|
368
|
+
*/
|
|
360
369
|
export function validateCreateActionArgs(args: CreateActionArgs): ValidCreateActionArgs {
|
|
361
370
|
const vargs: ValidCreateActionArgs = {
|
|
362
371
|
description: validateStringLength(args.description, 'description', 5, 2000),
|
|
@@ -374,8 +383,10 @@ export function validateCreateActionArgs(args: CreateActionArgs): ValidCreateAct
|
|
|
374
383
|
isRemixChange: false,
|
|
375
384
|
isSignAction: false,
|
|
376
385
|
randomVals: undefined,
|
|
377
|
-
includeAllSourceTransactions: false
|
|
386
|
+
includeAllSourceTransactions: false,
|
|
387
|
+
isTestWerrReviewActions: false
|
|
378
388
|
}
|
|
389
|
+
vargs.isTestWerrReviewActions = vargs.labels.indexOf(specOpThrowReviewActions) >= 0
|
|
379
390
|
vargs.isSendWith = vargs.options.sendWith.length > 0
|
|
380
391
|
vargs.isRemixChange = !vargs.isSendWith && vargs.inputs.length === 0 && vargs.outputs.length === 0
|
|
381
392
|
vargs.isNewTx = vargs.isRemixChange || vargs.inputs.length > 0 || vargs.outputs.length > 0
|
|
@@ -413,7 +424,8 @@ export function validateSignActionArgs(args: SignActionArgs): ValidSignActionArg
|
|
|
413
424
|
isDelayed: false,
|
|
414
425
|
isNoSend: false,
|
|
415
426
|
isNewTx: true,
|
|
416
|
-
isRemixChange: false
|
|
427
|
+
isRemixChange: false,
|
|
428
|
+
isTestWerrReviewActions: false
|
|
417
429
|
}
|
|
418
430
|
vargs.isSendWith = vargs.options.sendWith.length > 0
|
|
419
431
|
vargs.isDelayed = vargs.options.acceptDelayedBroadcast
|
|
@@ -19,8 +19,7 @@ export class ChaintracksChainTracker implements ChainTracker {
|
|
|
19
19
|
constructor(chain?: Chain, chaintracks?: ChaintracksClientApi, options?: ChaintracksChainTrackerOptions) {
|
|
20
20
|
chain ||= 'main'
|
|
21
21
|
this.chaintracks =
|
|
22
|
-
chaintracks ??
|
|
23
|
-
new ChaintracksServiceClient(chain, `https://${chain}net-chaintracks.babbage.systems`)
|
|
22
|
+
chaintracks ?? new ChaintracksServiceClient(chain, `https://${chain}net-chaintracks.babbage.systems`)
|
|
24
23
|
this.cache = {}
|
|
25
24
|
this.options = options || {}
|
|
26
25
|
}
|
|
@@ -52,6 +52,7 @@ import { asArray, asString } from '../../utility/utilityHelpers.noBuffer'
|
|
|
52
52
|
import { TableOutputTag } from '../schema/tables/TableOutputTag'
|
|
53
53
|
import { TableTransaction } from '../schema/tables/TableTransaction'
|
|
54
54
|
import { EntityProvenTx } from '../schema/entities/EntityProvenTx'
|
|
55
|
+
import { throwDummyReviewActions } from '../../Wallet'
|
|
55
56
|
|
|
56
57
|
let disableDoubleSpendCheckForTest = true
|
|
57
58
|
export function setDisableDoubleSpendCheckForTest(v: boolean) {
|
|
@@ -66,6 +67,8 @@ export async function createAction(
|
|
|
66
67
|
): Promise<StorageCreateActionResult> {
|
|
67
68
|
//stampLog(vargs, `start storage createTransactionSdk`)
|
|
68
69
|
|
|
70
|
+
if (vargs.isTestWerrReviewActions) throwDummyReviewActions()
|
|
71
|
+
|
|
69
72
|
if (!vargs.isNewTx)
|
|
70
73
|
// The purpose of this function is to create the initial storage records associated
|
|
71
74
|
// with a new transaction. It's an error if we have no new inputs or outputs...
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import { WalletClient } from '@bsv/sdk'
|
|
1
|
+
import { CreateActionArgs, WalletClient } from '@bsv/sdk'
|
|
2
2
|
import { specOpThrowReviewActions } from '../../src/sdk/types'
|
|
3
3
|
import { WalletError } from '../../src/sdk/WalletError'
|
|
4
4
|
import { WERR_REVIEW_ACTIONS } from '../../src/sdk/WERR_errors'
|
|
5
|
+
import { validateCreateActionArgs } from '../../src/sdk'
|
|
5
6
|
|
|
6
|
-
test('0 WERR_REVIEW_ACTIONS', async () => {
|
|
7
|
-
const wallet = new WalletClient(
|
|
7
|
+
test('0 WERR_REVIEW_ACTIONS via WalletClient', async () => {
|
|
8
|
+
const wallet = new WalletClient('auto', '0.WERR.man.test')
|
|
9
|
+
|
|
10
|
+
const args: CreateActionArgs = {
|
|
11
|
+
labels: [specOpThrowReviewActions],
|
|
12
|
+
description: 'must throw'
|
|
13
|
+
}
|
|
14
|
+
const vargs = validateCreateActionArgs(args)
|
|
8
15
|
|
|
9
16
|
try {
|
|
10
|
-
const r = await wallet.createAction(
|
|
11
|
-
labels: [specOpThrowReviewActions],
|
|
12
|
-
description: 'must throw'
|
|
13
|
-
})
|
|
17
|
+
const r = await wallet.createAction(args)
|
|
14
18
|
expect(true).toBe(false)
|
|
15
19
|
} catch (eu: unknown) {
|
|
16
20
|
const e = WalletError.fromUnknown(eu) as WERR_REVIEW_ACTIONS
|