@bsv/sdk 1.8.8 → 1.8.10

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 (78) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +7 -2
  3. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  4. package/dist/cjs/src/overlay-tools/LookupResolver.js +7 -2
  5. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  6. package/dist/cjs/src/transaction/Beef.js +1 -0
  7. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  8. package/dist/cjs/src/wallet/WERR_INSUFFICIENT_FUNDS.js +26 -0
  9. package/dist/cjs/src/wallet/WERR_INSUFFICIENT_FUNDS.js.map +1 -0
  10. package/dist/cjs/src/wallet/WERR_INVALID_PARAMETER.js +20 -0
  11. package/dist/cjs/src/wallet/WERR_INVALID_PARAMETER.js.map +1 -0
  12. package/dist/cjs/src/wallet/WalletClient.js +23 -0
  13. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  14. package/dist/cjs/src/wallet/WalletError.js +55 -0
  15. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  16. package/dist/cjs/src/wallet/index.js +18 -1
  17. package/dist/cjs/src/wallet/index.js.map +1 -1
  18. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +28 -11
  19. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  20. package/dist/cjs/src/wallet/validationHelpers.js +920 -0
  21. package/dist/cjs/src/wallet/validationHelpers.js.map +1 -0
  22. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  23. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +7 -2
  24. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  25. package/dist/esm/src/overlay-tools/LookupResolver.js +7 -2
  26. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  27. package/dist/esm/src/transaction/Beef.js +1 -0
  28. package/dist/esm/src/transaction/Beef.js.map +1 -1
  29. package/dist/esm/src/wallet/WERR_INSUFFICIENT_FUNDS.js +25 -0
  30. package/dist/esm/src/wallet/WERR_INSUFFICIENT_FUNDS.js.map +1 -0
  31. package/dist/esm/src/wallet/WERR_INVALID_PARAMETER.js +18 -0
  32. package/dist/esm/src/wallet/WERR_INVALID_PARAMETER.js.map +1 -0
  33. package/dist/esm/src/wallet/WalletClient.js +23 -0
  34. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  35. package/dist/esm/src/wallet/WalletError.js +55 -0
  36. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  37. package/dist/esm/src/wallet/index.js +3 -0
  38. package/dist/esm/src/wallet/index.js.map +1 -1
  39. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +25 -11
  40. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  41. package/dist/esm/src/wallet/validationHelpers.js +859 -0
  42. package/dist/esm/src/wallet/validationHelpers.js.map +1 -0
  43. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  44. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  45. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  46. package/dist/types/src/overlay-tools/LookupResolver.d.ts +1 -1
  47. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  48. package/dist/types/src/transaction/Beef.d.ts +1 -0
  49. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  50. package/dist/types/src/wallet/WERR_INSUFFICIENT_FUNDS.d.ts +19 -0
  51. package/dist/types/src/wallet/WERR_INSUFFICIENT_FUNDS.d.ts.map +1 -0
  52. package/dist/types/src/wallet/WERR_INVALID_PARAMETER.d.ts +13 -0
  53. package/dist/types/src/wallet/WERR_INVALID_PARAMETER.d.ts.map +1 -0
  54. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  55. package/dist/types/src/wallet/WalletError.d.ts +14 -1
  56. package/dist/types/src/wallet/WalletError.d.ts.map +1 -1
  57. package/dist/types/src/wallet/index.d.ts +3 -0
  58. package/dist/types/src/wallet/index.d.ts.map +1 -1
  59. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  60. package/dist/types/src/wallet/validationHelpers.d.ts +512 -0
  61. package/dist/types/src/wallet/validationHelpers.d.ts.map +1 -0
  62. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  63. package/dist/umd/bundle.js +4 -4
  64. package/dist/umd/bundle.js.map +1 -1
  65. package/docs/reference/kvstore.md +11 -0
  66. package/docs/reference/wallet.md +1431 -53
  67. package/package.json +1 -1
  68. package/src/auth/transports/SimplifiedFetchTransport.ts +10 -2
  69. package/src/overlay-tools/LookupResolver.ts +10 -2
  70. package/src/transaction/Beef.ts +2 -0
  71. package/src/wallet/WERR_INSUFFICIENT_FUNDS.ts +25 -0
  72. package/src/wallet/WERR_INVALID_PARAMETER.ts +20 -0
  73. package/src/wallet/WalletClient.ts +30 -0
  74. package/src/wallet/WalletError.ts +52 -0
  75. package/src/wallet/__tests/WalletClient.test.ts +31 -0
  76. package/src/wallet/index.ts +3 -0
  77. package/src/wallet/substrates/HTTPWalletJSON.ts +19 -9
  78. package/src/wallet/validationHelpers.ts +1211 -0
@@ -0,0 +1,512 @@
1
+ import { AbortActionArgs, AcquireCertificateArgs, AcquisitionProtocol, AtomicBEEF, Base64String, BasketInsertion, BasketStringUnder300Bytes, BEEF, BooleanDefaultFalse, BooleanDefaultTrue, CertificateFieldNameUnder50Bytes, CreateActionArgs, CreateActionInput, CreateActionOptions, CreateActionOutput, DescriptionString5to50Bytes, DiscoverByAttributesArgs, DiscoverByIdentityKeyArgs, HexString, InternalizeActionArgs, InternalizeOutput, KeyringRevealer, LabelStringUnder300Bytes, ListActionsArgs, ListCertificatesArgs, ListOutputsArgs, OutpointString, OutputTagStringUnder300Bytes, PositiveInteger, PositiveIntegerDefault10Max10000, PositiveIntegerOrZero, ProveCertificateArgs, PubKeyHex, RelinquishCertificateArgs, RelinquishOutputArgs, SatoshiValue, SignActionArgs, SignActionOptions, SignActionSpend, TrustSelf, TXIDHexString, WalletPayment } from './Wallet.interfaces.js';
2
+ export declare function parseWalletOutpoint(outpoint: string): {
3
+ txid: string;
4
+ vout: number;
5
+ };
6
+ /**
7
+ * Validate a satoshi amount.
8
+ *
9
+ * @param v - value to validate (integer number of satoshis)
10
+ * @param name - parameter name used in error messages
11
+ * @param min - optional minimum allowed satoshi value
12
+ * @returns validated satoshi number
13
+ * @throws WERR_INVALID_PARAMETER when invalid
14
+ */
15
+ export declare function validateSatoshis(v: number | undefined, name: string, min?: number): number;
16
+ /**
17
+ * Validate an optional integer. Returns undefined or the validated integer.
18
+ *
19
+ * @param v - value to validate (may be undefined)
20
+ * @param name - parameter name used in error messages
21
+ * @param min - optional minimum value
22
+ * @param max - optional maximum value
23
+ * @returns validated integer or undefined
24
+ * @throws WERR_INVALID_PARAMETER when invalid
25
+ */
26
+ export declare function validateOptionalInteger(v: number | undefined, name: string, min?: number, max?: number): number | undefined;
27
+ /**
28
+ * Validate an integer, applying an optional default.
29
+ *
30
+ * @param v - value to validate (may be undefined)
31
+ * @param name - parameter name used in error messages
32
+ * @param defaultValue - value to return when v is undefined
33
+ * @param min - optional minimum allowed value
34
+ * @param max - optional maximum allowed value
35
+ * @returns validated integer
36
+ * @throws WERR_INVALID_PARAMETER when invalid
37
+ */
38
+ export declare function validateInteger(v: number | undefined, name: string, defaultValue?: number, min?: number, max?: number): number;
39
+ /**
40
+ * Validate a non-negative integer (zero allowed).
41
+ *
42
+ * @param v - value to validate
43
+ * @param name - parameter name used in error messages
44
+ * @returns validated integer
45
+ * @throws WERR_INVALID_PARAMETER when invalid
46
+ */
47
+ export declare function validatePositiveIntegerOrZero(v: number, name: string): number;
48
+ /**
49
+ * Validate string length in bytes for UTF-8 encoded string.
50
+ *
51
+ * @param s - string to validate
52
+ * @param name - parameter name used in error messages
53
+ * @param min - optional minimum byte length
54
+ * @param max - optional maximum byte length
55
+ * @returns the original string when valid
56
+ * @throws WERR_INVALID_PARAMETER when invalid
57
+ */
58
+ export declare function validateStringLength(s: string, name: string, min?: number, max?: number): string;
59
+ /**
60
+ * Validate a Base64 string (structure and decoded size).
61
+ *
62
+ * @param s - base64 string
63
+ * @param name - parameter name used in error messages
64
+ * @param min - optional minimum decoded byte length
65
+ * @param max - optional maximum decoded byte length
66
+ * @returns validated base64 string
67
+ * @throws WERR_INVALID_PARAMETER when invalid
68
+ */
69
+ export declare function validateBase64String(s: string, name: string, min?: number, max?: number): string;
70
+ /**
71
+ * Check whether a string is a valid hex string (even length and hex characters).
72
+ *
73
+ * @param s - input string
74
+ * @returns true when s is a valid hex string
75
+ */
76
+ export declare function isHexString(s: string): boolean;
77
+ /**
78
+ * DescriptionString5to2000Bytes alias type (documented).
79
+ */
80
+ export type DescriptionString5to2000Bytes = string;
81
+ export interface ValidWalletSignerArgs {
82
+ }
83
+ export interface ValidCreateActionInput {
84
+ outpoint: OutPoint;
85
+ inputDescription: DescriptionString5to2000Bytes;
86
+ sequenceNumber: PositiveIntegerOrZero;
87
+ unlockingScript?: HexString;
88
+ unlockingScriptLength: PositiveInteger;
89
+ }
90
+ /**
91
+ * Validate a CreateActionInput structure.
92
+ *
93
+ * Ensures either unlockingScript or unlockingScriptLength is provided and consistent,
94
+ * validates outpoint, description length, and sequence number.
95
+ *
96
+ * @param i - CreateActionInput to validate
97
+ * @returns ValidCreateActionInput
98
+ * @throws WERR_INVALID_PARAMETER when invalid
99
+ */
100
+ export declare function validateCreateActionInput(i: CreateActionInput): ValidCreateActionInput;
101
+ export interface ValidCreateActionOutput {
102
+ lockingScript: HexString;
103
+ satoshis: SatoshiValue;
104
+ outputDescription: DescriptionString5to2000Bytes;
105
+ basket?: BasketStringUnder300Bytes;
106
+ customInstructions?: string;
107
+ tags: BasketStringUnder300Bytes[];
108
+ }
109
+ /**
110
+ * Validate CreateActionOutput fields: locking script, satoshis, description, basket, tags.
111
+ *
112
+ * @param o - CreateActionOutput to validate
113
+ * @returns ValidCreateActionOutput
114
+ * @throws WERR_INVALID_PARAMETER when invalid
115
+ */
116
+ export declare function validateCreateActionOutput(o: CreateActionOutput): ValidCreateActionOutput;
117
+ /**
118
+ * Normalize and validate CreateActionOptions, applying defaults for booleans/numbers/arrays.
119
+ *
120
+ * @param options - CreateActionOptions or undefined
121
+ * @returns ValidCreateActionOptions with defaults applied
122
+ */
123
+ export declare function validateCreateActionOptions(options?: CreateActionOptions): ValidCreateActionOptions;
124
+ export interface ValidProcessActionOptions {
125
+ acceptDelayedBroadcast: BooleanDefaultTrue;
126
+ returnTXIDOnly: BooleanDefaultFalse;
127
+ noSend: BooleanDefaultFalse;
128
+ sendWith: TXIDHexString[];
129
+ }
130
+ export interface ValidCreateActionOptions extends ValidProcessActionOptions {
131
+ signAndProcess: boolean;
132
+ trustSelf?: TrustSelf;
133
+ knownTxids: TXIDHexString[];
134
+ noSendChange: OutPoint[];
135
+ randomizeOutputs: boolean;
136
+ }
137
+ export interface ValidSignActionOptions extends ValidProcessActionOptions {
138
+ acceptDelayedBroadcast: boolean;
139
+ returnTXIDOnly: boolean;
140
+ noSend: boolean;
141
+ sendWith: TXIDHexString[];
142
+ }
143
+ export interface ValidProcessActionArgs extends ValidWalletSignerArgs {
144
+ options: ValidProcessActionOptions;
145
+ isSendWith: boolean;
146
+ isNewTx: boolean;
147
+ isRemixChange: boolean;
148
+ isNoSend: boolean;
149
+ isDelayed: boolean;
150
+ isTestWerrReviewActions: boolean;
151
+ }
152
+ export interface ValidCreateActionArgs extends ValidProcessActionArgs {
153
+ description: DescriptionString5to2000Bytes;
154
+ inputBEEF?: BEEF;
155
+ inputs: ValidCreateActionInput[];
156
+ outputs: ValidCreateActionOutput[];
157
+ lockTime: number;
158
+ version: number;
159
+ labels: string[];
160
+ options: ValidCreateActionOptions;
161
+ isSignAction: boolean;
162
+ randomVals?: number[];
163
+ /**
164
+ * If true, signableTransactions will include sourceTransaction for each input,
165
+ * including those that do not require signature and those that were also contained
166
+ * in the inputBEEF.
167
+ */
168
+ includeAllSourceTransactions: boolean;
169
+ }
170
+ export interface ValidSignActionArgs extends ValidProcessActionArgs {
171
+ spends: Record<PositiveIntegerOrZero, SignActionSpend>;
172
+ reference: Base64String;
173
+ options: ValidSignActionOptions;
174
+ }
175
+ /**
176
+ * Validate the arguments for creating a new action.
177
+ *
178
+ * @param args
179
+ * @returns validated arguments
180
+ * @throws primarily WERR_INVALID_PARAMETER if args are invalid.
181
+ */
182
+ export declare function validateCreateActionArgs(args: CreateActionArgs): ValidCreateActionArgs;
183
+ /**
184
+ * Set all default true/false booleans to true or false if undefined.
185
+ * Set all possibly undefined numbers to their default values.
186
+ * Set all possibly undefined arrays to empty arrays.
187
+ * Convert string outpoints to `{ txid: string, vout: number }`
188
+ */
189
+ export declare function validateSignActionOptions(options?: SignActionOptions): ValidSignActionOptions;
190
+ /**
191
+ * Validate SignActionArgs and apply defaults/flags.
192
+ *
193
+ * @param args - SignActionArgs to validate
194
+ * @returns ValidSignActionArgs
195
+ */
196
+ export declare function validateSignActionArgs(args: SignActionArgs): ValidSignActionArgs;
197
+ export interface ValidAbortActionArgs extends ValidWalletSignerArgs {
198
+ reference: Base64String;
199
+ }
200
+ /**
201
+ * Validate AbortActionArgs (ensures reference is a valid base64 string).
202
+ *
203
+ * @param args - AbortActionArgs
204
+ * @returns ValidAbortActionArgs
205
+ */
206
+ export declare function validateAbortActionArgs(args: AbortActionArgs): ValidAbortActionArgs;
207
+ export interface ValidWalletPayment {
208
+ derivationPrefix: Base64String;
209
+ derivationSuffix: Base64String;
210
+ senderIdentityKey: PubKeyHex;
211
+ }
212
+ /**
213
+ * Validate wallet payment remittance structure.
214
+ *
215
+ * @param args - WalletPayment or undefined
216
+ * @returns ValidWalletPayment or undefined
217
+ */
218
+ export declare function validateWalletPayment(args?: WalletPayment): ValidWalletPayment | undefined;
219
+ export interface ValidBasketInsertion {
220
+ basket: BasketStringUnder300Bytes;
221
+ customInstructions?: string;
222
+ tags: BasketStringUnder300Bytes[];
223
+ }
224
+ /**
225
+ * Validate a BasketInsertion structure (basket, custom instructions, tags).
226
+ *
227
+ * @param args - BasketInsertion or undefined
228
+ * @returns ValidBasketInsertion or undefined
229
+ */
230
+ export declare function validateBasketInsertion(args?: BasketInsertion): ValidBasketInsertion | undefined;
231
+ export interface ValidInternalizeOutput {
232
+ outputIndex: PositiveIntegerOrZero;
233
+ protocol: 'wallet payment' | 'basket insertion';
234
+ paymentRemittance?: ValidWalletPayment;
235
+ insertionRemittance?: ValidBasketInsertion;
236
+ }
237
+ /**
238
+ * Validate an InternalizeOutput entry.
239
+ *
240
+ * @param args - InternalizeOutput to validate
241
+ * @returns ValidInternalizeOutput
242
+ */
243
+ export declare function validateInternalizeOutput(args: InternalizeOutput): ValidInternalizeOutput;
244
+ export interface ValidInternalizeActionArgs extends ValidWalletSignerArgs {
245
+ tx: AtomicBEEF;
246
+ outputs: InternalizeOutput[];
247
+ description: DescriptionString5to2000Bytes;
248
+ labels: LabelStringUnder300Bytes[];
249
+ seekPermission: BooleanDefaultTrue;
250
+ }
251
+ /**
252
+ * Validate originator string (trim/lowercase and part length checks).
253
+ *
254
+ * @param s - originator string or undefined
255
+ * @returns normalized originator or undefined
256
+ */
257
+ export declare function validateOriginator(s?: string): string | undefined;
258
+ /**
259
+ * Validate InternalizeActionArgs: tx, outputs, description, labels, permission flag.
260
+ *
261
+ * @param args - InternalizeActionArgs to validate
262
+ * @returns ValidInternalizeActionArgs
263
+ * @throws WERR_INVALID_PARAMETER when invalid
264
+ */
265
+ export declare function validateInternalizeActionArgs(args: InternalizeActionArgs): ValidInternalizeActionArgs;
266
+ /**
267
+ * Validate an optional outpoint string (txid.vout).
268
+ *
269
+ * @param outpoint - outpoint string or undefined
270
+ * @param name - parameter name used in error messages
271
+ * @returns validated outpoint string or undefined
272
+ */
273
+ export declare function validateOptionalOutpointString(outpoint: string | undefined, name: string): string | undefined;
274
+ /**
275
+ * Validate an outpoint string of the form txid.vout.
276
+ *
277
+ * @param outpoint - outpoint string
278
+ * @param name - parameter name used in error messages
279
+ * @returns normalized outpoint string (validated txid and vout)
280
+ * @throws WERR_INVALID_PARAMETER when invalid
281
+ */
282
+ export declare function validateOutpointString(outpoint: string, name: string): string;
283
+ export interface ValidRelinquishOutputArgs extends ValidWalletSignerArgs {
284
+ basket: BasketStringUnder300Bytes;
285
+ output: OutpointString;
286
+ }
287
+ /**
288
+ * Validate RelinquishOutputArgs (basket and output).
289
+ *
290
+ * @param args - RelinquishOutputArgs
291
+ * @returns ValidRelinquishOutputArgs
292
+ */
293
+ export declare function validateRelinquishOutputArgs(args: RelinquishOutputArgs): ValidRelinquishOutputArgs;
294
+ export interface ValidRelinquishCertificateArgs extends ValidWalletSignerArgs {
295
+ type: Base64String;
296
+ serialNumber: Base64String;
297
+ certifier: PubKeyHex;
298
+ }
299
+ /**
300
+ * Validate RelinquishCertificateArgs (type, serialNumber, certifier).
301
+ *
302
+ * @param args - RelinquishCertificateArgs
303
+ * @returns ValidRelinquishCertificateArgs
304
+ */
305
+ export declare function validateRelinquishCertificateArgs(args: RelinquishCertificateArgs): ValidRelinquishCertificateArgs;
306
+ export interface ValidListCertificatesArgs extends ValidWalletSignerArgs {
307
+ partial?: {
308
+ type?: Base64String;
309
+ serialNumber?: Base64String;
310
+ certifier?: PubKeyHex;
311
+ subject?: PubKeyHex;
312
+ revocationOutpoint?: OutpointString;
313
+ signature?: HexString;
314
+ };
315
+ certifiers: PubKeyHex[];
316
+ types: Base64String[];
317
+ limit: PositiveIntegerDefault10Max10000;
318
+ offset: PositiveIntegerOrZero;
319
+ privileged: BooleanDefaultFalse;
320
+ privilegedReason?: DescriptionString5to50Bytes;
321
+ }
322
+ /**
323
+ * Validate ListCertificatesArgs: certifiers, types, paging, and optional privileged reason.
324
+ *
325
+ * @param args - ListCertificatesArgs
326
+ * @returns ValidListCertificatesArgs
327
+ */
328
+ export declare function validateListCertificatesArgs(args: ListCertificatesArgs): ValidListCertificatesArgs;
329
+ export interface ValidAcquireCertificateArgs extends ValidWalletSignerArgs {
330
+ acquisitionProtocol: AcquisitionProtocol;
331
+ type: Base64String;
332
+ serialNumber?: Base64String;
333
+ certifier: PubKeyHex;
334
+ revocationOutpoint?: OutpointString;
335
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
336
+ signature?: HexString;
337
+ certifierUrl?: string;
338
+ keyringRevealer?: KeyringRevealer;
339
+ keyringForSubject?: Record<CertificateFieldNameUnder50Bytes, Base64String>;
340
+ privileged: boolean;
341
+ privilegedReason?: DescriptionString5to50Bytes;
342
+ }
343
+ export interface ValidAcquireDirectCertificateArgs extends ValidWalletSignerArgs {
344
+ type: Base64String;
345
+ serialNumber: Base64String;
346
+ certifier: PubKeyHex;
347
+ revocationOutpoint: OutpointString;
348
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
349
+ signature: HexString;
350
+ /**
351
+ * validated to an empty string, must be provided by wallet and must
352
+ * match expectations of keyringForSubject
353
+ */
354
+ subject: PubKeyHex;
355
+ keyringRevealer: KeyringRevealer;
356
+ keyringForSubject: Record<CertificateFieldNameUnder50Bytes, Base64String>;
357
+ privileged: boolean;
358
+ privilegedReason?: DescriptionString5to50Bytes;
359
+ }
360
+ export interface ValidAcquireIssuanceCertificateArgs extends ValidWalletSignerArgs {
361
+ type: Base64String;
362
+ certifier: PubKeyHex;
363
+ certifierUrl: string;
364
+ fields: Record<CertificateFieldNameUnder50Bytes, string>;
365
+ /**
366
+ * validated to an empty string, must be provided by wallet and must
367
+ * match expectations of keyringForSubject
368
+ */
369
+ subject: PubKeyHex;
370
+ privileged: boolean;
371
+ privilegedReason?: DescriptionString5to50Bytes;
372
+ }
373
+ /**
374
+ * Validate issuance-specific acquire certificate args.
375
+ *
376
+ * @param args - AcquireCertificateArgs with acquisitionProtocol === 'issuance'
377
+ * @returns ValidAcquireIssuanceCertificateArgs
378
+ * @throws when args contain fields invalid for issuance
379
+ */
380
+ export declare function validateAcquireIssuanceCertificateArgs(args: AcquireCertificateArgs): ValidAcquireIssuanceCertificateArgs;
381
+ /**
382
+ * Validate direct-acquisition-specific acquire certificate args.
383
+ *
384
+ * @param args - AcquireCertificateArgs with acquisitionProtocol === 'direct'
385
+ * @returns ValidAcquireDirectCertificateArgs
386
+ * @throws when args contain fields invalid for direct acquisition
387
+ */
388
+ export declare function validateAcquireDirectCertificateArgs(args: AcquireCertificateArgs): ValidAcquireDirectCertificateArgs;
389
+ export interface ValidProveCertificateArgs extends ValidWalletSignerArgs {
390
+ type?: Base64String;
391
+ serialNumber?: Base64String;
392
+ certifier?: PubKeyHex;
393
+ subject?: PubKeyHex;
394
+ revocationOutpoint?: OutpointString;
395
+ signature?: HexString;
396
+ fieldsToReveal: CertificateFieldNameUnder50Bytes[];
397
+ verifier: PubKeyHex;
398
+ privileged: boolean;
399
+ privilegedReason?: DescriptionString5to50Bytes;
400
+ }
401
+ /**
402
+ * Validate ProveCertificateArgs including optional certificate fields and reveal list.
403
+ *
404
+ * @param args - ProveCertificateArgs
405
+ * @returns ValidProveCertificateArgs
406
+ */
407
+ export declare function validateProveCertificateArgs(args: ProveCertificateArgs): ValidProveCertificateArgs;
408
+ export interface ValidDiscoverByIdentityKeyArgs extends ValidWalletSignerArgs {
409
+ identityKey: PubKeyHex;
410
+ limit: PositiveIntegerDefault10Max10000;
411
+ offset: PositiveIntegerOrZero;
412
+ seekPermission: boolean;
413
+ }
414
+ /**
415
+ * Validate DiscoverByIdentityKeyArgs, enforcing identity key length and defaults.
416
+ *
417
+ * @param args - DiscoverByIdentityKeyArgs
418
+ * @returns ValidDiscoverByIdentityKeyArgs
419
+ */
420
+ export declare function validateDiscoverByIdentityKeyArgs(args: DiscoverByIdentityKeyArgs): ValidDiscoverByIdentityKeyArgs;
421
+ export interface ValidDiscoverByAttributesArgs extends ValidWalletSignerArgs {
422
+ attributes: Record<CertificateFieldNameUnder50Bytes, string>;
423
+ limit: PositiveIntegerDefault10Max10000;
424
+ offset: PositiveIntegerOrZero;
425
+ seekPermission: boolean;
426
+ }
427
+ /**
428
+ * Validate DiscoverByAttributesArgs: attributes, limit, offset, and permission flag.
429
+ *
430
+ * @param args - DiscoverByAttributesArgs
431
+ * @returns ValidDiscoverByAttributesArgs
432
+ */
433
+ export declare function validateDiscoverByAttributesArgs(args: DiscoverByAttributesArgs): ValidDiscoverByAttributesArgs;
434
+ export interface ValidListOutputsArgs extends ValidWalletSignerArgs {
435
+ basket: BasketStringUnder300Bytes;
436
+ tags: OutputTagStringUnder300Bytes[];
437
+ tagQueryMode: 'all' | 'any';
438
+ includeLockingScripts: boolean;
439
+ includeTransactions: boolean;
440
+ includeCustomInstructions: BooleanDefaultFalse;
441
+ includeTags: BooleanDefaultFalse;
442
+ includeLabels: BooleanDefaultFalse;
443
+ limit: PositiveIntegerDefault10Max10000;
444
+ offset: number;
445
+ seekPermission: BooleanDefaultTrue;
446
+ knownTxids: string[];
447
+ }
448
+ /**
449
+ * @param {BasketStringUnder300Bytes} args.basket - Required. The associated basket name whose outputs should be listed.
450
+ * @param {OutputTagStringUnder300Bytes[]} [args.tags] - Optional. Filter outputs based on these tags.
451
+ * @param {'all' | 'any'} [args.tagQueryMode] - Optional. Filter mode, defining whether all or any of the tags must match. By default, any tag can match.
452
+ * @param {'locking scripts' | 'entire transactions'} [args.include] - Optional. Whether to include locking scripts (with each output) or entire transactions (as aggregated BEEF, at the top level) in the result. By default, unless specified, neither are returned.
453
+ * @param {BooleanDefaultFalse} [args.includeEntireTransactions] - Optional. Whether to include the entire transaction(s) in the result.
454
+ * @param {BooleanDefaultFalse} [args.includeCustomInstructions] - Optional. Whether custom instructions should be returned in the result.
455
+ * @param {BooleanDefaultFalse} [args.includeTags] - Optional. Whether the tags associated with the output should be returned.
456
+ * @param {BooleanDefaultFalse} [args.includeLabels] - Optional. Whether the labels associated with the transaction containing the output should be returned.
457
+ * @param {PositiveIntegerDefault10Max10000} [args.limit] - Optional limit on the number of outputs to return.
458
+ * @param {number} [args.offset] - If positive or zero: Number of outputs to skip before starting to return results, oldest first.
459
+ * If negative: Outputs are returned newest first and offset of -1 is the newest output.
460
+ * When using negative offsets, caution is required as new outputs may be added between calls,
461
+ * potentially causing outputs to be duplicated across calls.
462
+ * @param {BooleanDefaultTrue} [args.seekPermission] — Optional. Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
463
+ */
464
+ export declare function validateListOutputsArgs(args: ListOutputsArgs): ValidListOutputsArgs;
465
+ export interface ValidListActionsArgs extends ValidWalletSignerArgs {
466
+ labels: LabelStringUnder300Bytes[];
467
+ labelQueryMode: 'any' | 'all';
468
+ includeLabels: BooleanDefaultFalse;
469
+ includeInputs: BooleanDefaultFalse;
470
+ includeInputSourceLockingScripts: BooleanDefaultFalse;
471
+ includeInputUnlockingScripts: BooleanDefaultFalse;
472
+ includeOutputs: BooleanDefaultFalse;
473
+ includeOutputLockingScripts: BooleanDefaultFalse;
474
+ limit: PositiveIntegerDefault10Max10000;
475
+ offset: PositiveIntegerOrZero;
476
+ seekPermission: BooleanDefaultTrue;
477
+ }
478
+ /**
479
+ * @param {LabelStringUnder300Bytes[]} args.labels - An array of labels used to filter actions.
480
+ * @param {'any' | 'all'} [args.labelQueryMode] - Optional. Specifies how to match labels (default is any which matches any of the labels).
481
+ * @param {BooleanDefaultFalse} [args.includeLabels] - Optional. Whether to include transaction labels in the result set.
482
+ * @param {BooleanDefaultFalse} [args.includeInputs] - Optional. Whether to include input details in the result set.
483
+ * @param {BooleanDefaultFalse} [args.includeInputSourceLockingScripts] - Optional. Whether to include input source locking scripts in the result set.
484
+ * @param {BooleanDefaultFalse} [args.includeInputUnlockingScripts] - Optional. Whether to include input unlocking scripts in the result set.
485
+ * @param {BooleanDefaultFalse} [args.includeOutputs] - Optional. Whether to include output details in the result set.
486
+ * @param {BooleanDefaultFalse} [args.includeOutputLockingScripts] - Optional. Whether to include output locking scripts in the result set.
487
+ * @param {PositiveIntegerDefault10Max10000} [args.limit] - Optional. The maximum number of transactions to retrieve.
488
+ * @param {PositiveIntegerOrZero} [args.offset] - Optional. Number of transactions to skip before starting to return the results.
489
+ * @param {BooleanDefaultTrue} [args.seekPermission] — Optional. Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
490
+ */
491
+ export declare function validateListActionsArgs(args: ListActionsArgs): ValidListActionsArgs;
492
+ /**
493
+ * Identifies a unique transaction output by its `txid` and index `vout`
494
+ */
495
+ export interface OutPoint {
496
+ /**
497
+ * Transaction double sha256 hash as big endian hex string
498
+ */
499
+ txid: string;
500
+ /**
501
+ * zero based output index within the transaction
502
+ */
503
+ vout: number;
504
+ }
505
+ /**
506
+ * `createAction` special operation label name value.
507
+ *
508
+ * Causes WERR_REVIEW_ACTIONS throw with dummy properties.
509
+ *
510
+ */
511
+ export declare const specOpThrowReviewActions = "a496e747fc3ad5fabdd4ae8f91184e71f87539bd3d962aa2548942faaaf0047a";
512
+ //# sourceMappingURL=validationHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/wallet/validationHelpers.ts"],"names":[],"mappings":"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"}