@bsv/wallet-toolbox 2.4.21 → 2.5.0

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 (83) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +56 -1
  3. package/docs/authentication-observability.md +21 -9
  4. package/out/src/CWIStyleWalletManager.d.ts +31 -3
  5. package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
  6. package/out/src/CWIStyleWalletManager.js +164 -56
  7. package/out/src/CWIStyleWalletManager.js.map +1 -1
  8. package/out/src/Wallet.d.ts +3 -3
  9. package/out/src/Wallet.d.ts.map +1 -1
  10. package/out/src/Wallet.js +45 -6
  11. package/out/src/Wallet.js.map +1 -1
  12. package/out/src/sdk/WalletStorage.interfaces.d.ts +1 -0
  13. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  14. package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
  15. package/out/src/signer/methods/completeSignedTransaction.js +54 -13
  16. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  17. package/out/src/signer/methods/createAction.d.ts.map +1 -1
  18. package/out/src/signer/methods/createAction.js +14 -10
  19. package/out/src/signer/methods/createAction.js.map +1 -1
  20. package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
  21. package/out/src/signer/methods/verifyUnlockScripts.js +257 -21
  22. package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
  23. package/out/src/storage/StorageIdb.d.ts +14 -1
  24. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  25. package/out/src/storage/StorageIdb.js +128 -17
  26. package/out/src/storage/StorageIdb.js.map +1 -1
  27. package/out/src/storage/StorageKnex.d.ts +11 -2
  28. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  29. package/out/src/storage/StorageKnex.js +196 -5
  30. package/out/src/storage/StorageKnex.js.map +1 -1
  31. package/out/src/storage/StorageProvider.d.ts +30 -1
  32. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  33. package/out/src/storage/StorageProvider.js +94 -2
  34. package/out/src/storage/StorageProvider.js.map +1 -1
  35. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  36. package/out/src/storage/idbHelpers.js +2 -0
  37. package/out/src/storage/idbHelpers.js.map +1 -1
  38. package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
  39. package/out/src/storage/methods/actionBatch.js +2 -14
  40. package/out/src/storage/methods/actionBatch.js.map +1 -1
  41. package/out/src/storage/methods/actionPlanning.d.ts +14 -0
  42. package/out/src/storage/methods/actionPlanning.d.ts.map +1 -1
  43. package/out/src/storage/methods/actionPlanning.js +55 -0
  44. package/out/src/storage/methods/actionPlanning.js.map +1 -1
  45. package/out/src/storage/methods/availableManagedChange.d.ts +11 -0
  46. package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -0
  47. package/out/src/storage/methods/availableManagedChange.js +25 -0
  48. package/out/src/storage/methods/availableManagedChange.js.map +1 -0
  49. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  50. package/out/src/storage/methods/createAction.js +521 -173
  51. package/out/src/storage/methods/createAction.js.map +1 -1
  52. package/out/src/storage/methods/generateChange.d.ts.map +1 -1
  53. package/out/src/storage/methods/generateChange.js +29 -14
  54. package/out/src/storage/methods/generateChange.js.map +1 -1
  55. package/out/src/storage/methods/getBeefForTransaction.d.ts +7 -0
  56. package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
  57. package/out/src/storage/methods/getBeefForTransaction.js +219 -20
  58. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  59. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  60. package/out/src/storage/methods/processAction.js +36 -15
  61. package/out/src/storage/methods/processAction.js.map +1 -1
  62. package/out/src/storage/remoting/KnexSessionManager.d.ts +20 -0
  63. package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
  64. package/out/src/storage/remoting/KnexSessionManager.js +74 -16
  65. package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
  66. package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
  67. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  68. package/out/src/storage/schema/KnexMigrations.js +39 -1
  69. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  70. package/out/src/storage/schema/StorageIdbSchema.d.ts +2 -0
  71. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  72. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
  73. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  74. package/out/src/storage/schema/entities/EntityProvenTx.js +8 -3
  75. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  76. package/out/src/storage/storageProviderHelpers.d.ts.map +1 -1
  77. package/out/src/storage/storageProviderHelpers.js +8 -2
  78. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  79. package/out/src/utility/ScriptTemplateBRC29.d.ts +3 -2
  80. package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
  81. package/out/src/utility/ScriptTemplateBRC29.js +13 -5
  82. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  83. package/package.json +5 -2
@@ -353,6 +353,7 @@ export interface FindProvenTxReqsArgs extends FindSincePagedArgs {
353
353
  }
354
354
  export interface FindProvenTxsArgs extends FindSincePagedArgs {
355
355
  partial: Partial<TableProvenTx>;
356
+ txids?: string[];
356
357
  }
357
358
  export interface FindStaleMerkleRootsArgs {
358
359
  height: number;
@@ -1 +1 @@
1
- {"version":3,"file":"WalletStorage.interfaces.d.ts","sourceRoot":"","sources":["../../../src/sdk/WalletStorage.interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletStorage.interfaces.d.ts","sourceRoot":"","sources":["../../../src/sdk/WalletStorage.interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"completeSignedTransaction.d.ts","sourceRoot":"","sources":["../../../../src/signer/methods/completeSignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAKxD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CA+DtB;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"completeSignedTransaction.d.ts","sourceRoot":"","sources":["../../../../src/signer/methods/completeSignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAKxD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CA6HtB;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,YAAY,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verifyUnlockScripts = void 0;
4
4
  exports.completeSignedTransaction = completeSignedTransaction;
5
+ const sdk_1 = require("@bsv/sdk");
5
6
  const WERR_errors_1 = require("../../sdk/WERR_errors");
6
7
  const utilityHelpers_1 = require("../../utility/utilityHelpers");
7
8
  const ScriptTemplateBRC29_1 = require("../../utility/ScriptTemplateBRC29");
@@ -26,20 +27,60 @@ async function completeSignedTransaction(prior, spends, wallet) {
26
27
  /// //////////////////
27
28
  // Insert SABPPP unlock templates for wallet signed inputs
28
29
  /// //////////////////
29
- for (const pdi of prior.pdi) {
30
- const sabppp = new ScriptTemplateBRC29_1.ScriptTemplateBRC29({
31
- derivationPrefix: pdi.derivationPrefix,
32
- derivationSuffix: pdi.derivationSuffix,
33
- keyDeriver: wallet.keyDeriver
30
+ const prepareUnlockingTemplates = (keys) => {
31
+ const counterparties = new Map();
32
+ const counterparty = (publicKey) => {
33
+ let parsed = counterparties.get(publicKey);
34
+ if (parsed == null) {
35
+ parsed = sdk_1.PublicKey.fromString(publicKey);
36
+ counterparties.set(publicKey, parsed);
37
+ }
38
+ return parsed;
39
+ };
40
+ const prepared = prior.pdi.map(pdi => {
41
+ const template = new ScriptTemplateBRC29_1.ScriptTemplateBRC29({
42
+ derivationPrefix: pdi.derivationPrefix,
43
+ derivationSuffix: pdi.derivationSuffix,
44
+ keyDeriver: wallet.keyDeriver
45
+ });
46
+ const unlockerPubKey = counterparty(pdi.unlockerPubKey || keys.publicKey);
47
+ return { pdi, template, unlockerPubKey };
48
+ });
49
+ const derivations = prepared.map(({ template, unlockerPubKey }) => ({
50
+ protocolID: ScriptTemplateBRC29_1.brc29ProtocolID,
51
+ keyID: template.getKeyID(),
52
+ counterparty: unlockerPubKey
53
+ }));
54
+ const derivedPrivateKeys = wallet.keyDeriver.derivePrivateKeys?.(derivations) ??
55
+ derivations.map(derivation => wallet.keyDeriver.derivePrivateKey(derivation.protocolID, derivation.keyID, derivation.counterparty));
56
+ for (let index = 0; index < prepared.length; index++) {
57
+ const { pdi, template } = prepared[index];
58
+ const unlockTemplate = template.unlockWithDerivedPrivateKey(derivedPrivateKeys[index], pdi.sourceSatoshis, (0, utilityHelpers_1.asBsvSdkScript)(pdi.lockingScript));
59
+ const input = prior.tx.inputs[pdi.vin];
60
+ input.unlockingScriptTemplate = unlockTemplate;
61
+ }
62
+ };
63
+ if (wallet.telemetry.enabled && prior.pdi.length > 0) {
64
+ await wallet.telemetry.withSpan('wallet.crypto.prepare_unlocking_templates', {
65
+ component: 'wallet-toolbox',
66
+ carrier: prior.args,
67
+ attributes: {
68
+ 'crypto.managed_input_count': prior.pdi.length
69
+ }
70
+ }, async (span) => {
71
+ // Computing the root public key requires an elliptic-curve
72
+ // multiplication. It is invariant for the complete action and must not
73
+ // be repeated for every managed input in fragmented funding.
74
+ const keys = await wallet.telemetry.withSpan('wallet.crypto.client_change_key', { component: 'wallet-toolbox', parent: span.context }, () => wallet.getClientChangeKeyPair());
75
+ await wallet.telemetry.withSpan('wallet.crypto.derive_unlocking_templates', {
76
+ component: 'wallet-toolbox',
77
+ parent: span.context,
78
+ attributes: { 'crypto.managed_input_count': prior.pdi.length }
79
+ }, () => prepareUnlockingTemplates(keys));
34
80
  });
35
- const keys = wallet.getClientChangeKeyPair();
36
- const lockerPrivKey = keys.privateKey;
37
- const unlockerPubKey = pdi.unlockerPubKey || keys.publicKey;
38
- const sourceSatoshis = pdi.sourceSatoshis;
39
- const lockingScript = (0, utilityHelpers_1.asBsvSdkScript)(pdi.lockingScript);
40
- const unlockTemplate = sabppp.unlock(lockerPrivKey, unlockerPubKey, sourceSatoshis, lockingScript);
41
- const input = prior.tx.inputs[pdi.vin];
42
- input.unlockingScriptTemplate = unlockTemplate;
81
+ }
82
+ else if (prior.pdi.length > 0) {
83
+ prepareUnlockingTemplates(wallet.getClientChangeKeyPair());
43
84
  }
44
85
  /// //////////////////
45
86
  // Sign wallet signed inputs making transaction fully valid.
@@ -1 +1 @@
1
- {"version":3,"file":"completeSignedTransaction.js","sourceRoot":"","sources":["../../../../src/signer/methods/completeSignedTransaction.ts"],"names":[],"mappings":";;;;AAEA,uDAA8D;AAC9D,iEAA6D;AAC7D,2EAAuE;AAEhE,KAAK,oCACV,KAAwB,EACxB,MAAuC,EACvC,MAAc;IAEd,sBAAsB;IACtB,+DAA+D;IAC/D,sBAAsB;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACvB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAClH,MAAM,IAAI,oCAAsB,CAC9B,MAAM,EACN,4EAA4E,CAC7E,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,qBAAqB,EAAE,CAAC;YACzE,MAAM,IAAI,oCAAsB,CAC9B,MAAM,EACN,gCAAgC,KAAK,CAAC,eAAe,CAAC,MAAM,4BAA4B,WAAW,CAAC,qBAAqB,EAAE,CAC5H,CAAA;QACH,CAAC;QACD,KAAK,CAAC,eAAe,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAA;IAC/E,CAAC;IAED,sBAAsB;IACtB,0DAA0D;IAC1D,sBAAsB;IACtB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,yCAAmB,CAAC;YACrC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAA;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAA;QACrC,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,CAAA;QAC3D,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAA;QACzC,MAAM,aAAa,GAAG,IAAA,+BAAc,EAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACvD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;QAClG,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtC,KAAK,CAAC,uBAAuB,GAAG,cAAc,CAAA;IAChD,CAAC;IAED,sBAAsB;IACtB,4DAA4D;IAC5D,sBAAsB;IACtB,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAC7B,gCAAgC,EAChC;YACE,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,UAAU,EAAE;gBACV,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM;aAC7C;SACF,EACD,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAClC,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,EAAE,CAAA;AACjB,CAAC;AAED,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"completeSignedTransaction.js","sourceRoot":"","sources":["../../../../src/signer/methods/completeSignedTransaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createAction.d.ts","sourceRoot":"","sources":["../../../../src/signer/methods/createAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,mBAAmB,EAEnB,aAAa,EAEb,UAAU,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,MAAM,EACN,kBAAkB,EAElB,2BAA2B,EAC5B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAIxD,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,YAAY,CAAC,EAAE,cAAc,EAAE,CAAA;IAC/B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACzC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,qBAAqB,GACtC,OAAO,CAAC,mBAAmB,CAAC,CA0B9B;AA4KD,wBAAsB,aAAa,CACjC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,sBAAsB,GACvC,OAAO,CAAC,2BAA2B,CAAC,CAiBtC"}
1
+ {"version":3,"file":"createAction.d.ts","sourceRoot":"","sources":["../../../../src/signer/methods/createAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,mBAAmB,EAEnB,aAAa,EAEb,UAAU,EACX,MAAM,UAAU,CAAA;AAEjB,OAAO,EACL,MAAM,EACN,kBAAkB,EAElB,2BAA2B,EAC5B,MAAM,oCAAoC,CAAA;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAIxD,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,YAAY,CAAC,EAAE,cAAc,EAAE,CAAA;IAC/B,eAAe,CAAC,EAAE,cAAc,EAAE,CAAA;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACzC;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,qBAAqB,GACtC,OAAO,CAAC,mBAAmB,CAAC,CA0B9B;AA2LD,wBAAsB,aAAa,CACjC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,sBAAsB,GACvC,OAAO,CAAC,2BAA2B,CAAC,CAiBtC"}
@@ -46,22 +46,26 @@ async function createActionCore(wallet, auth, vargs, parent) {
46
46
  prior.tx = await traceActionStep(wallet, 'wallet.create_action.complete_signing', parent, async () => await (0, completeSignedTransaction_1.completeSignedTransaction)(prior, {}, wallet));
47
47
  logger?.log('completed signed transaction');
48
48
  r.txid = prior.tx.id('hex');
49
- const beef = new sdk_1.Beef();
50
- if (prior.dcr.inputBeef != null) {
51
- const inputBeef = prior.dcr.inputBeef instanceof Uint8Array
52
- ? sdk_1.Beef.fromBinaryView(prior.dcr.inputBeef)
53
- : sdk_1.Beef.fromBinary(prior.dcr.inputBeef);
54
- beef.mergeBeef(inputBeef);
55
- }
56
- beef.mergeTransaction(prior.tx);
49
+ const beef = await traceActionStep(wallet, 'wallet.create_action.assemble_result_beef', parent, () => {
50
+ const result = new sdk_1.Beef();
51
+ if (prior.dcr.inputBeef != null) {
52
+ const inputBeef = prior.dcr.inputBeef instanceof Uint8Array
53
+ ? sdk_1.Beef.fromBinaryView(prior.dcr.inputBeef)
54
+ : sdk_1.Beef.fromBinary(prior.dcr.inputBeef);
55
+ result.mergeBeef(inputBeef);
56
+ }
57
+ result.mergeTransaction(prior.tx);
58
+ return result;
59
+ });
57
60
  logger?.log('merged beef');
58
61
  await traceActionStep(wallet, 'wallet.create_action.verify_unlock_scripts', parent, async () => await (0, completeSignedTransaction_1.verifyUnlockScripts)(r.txid, beef, wallet.scriptVerifier));
59
62
  logger?.log('verified unlock scripts');
60
63
  r.noSendChange = prior.dcr.noSendChangeOutputVouts?.map(vout => `${r.txid}.${vout}`);
61
64
  beef.atomicTxid = r.txid;
62
65
  (0, resultBeef_1.setResultBeef)(r, beef);
63
- if (!vargs.options.returnTXIDOnly)
64
- r.tx = beef.toUint8ArrayAtomic(r.txid);
66
+ if (!vargs.options.returnTXIDOnly) {
67
+ r.tx = await traceActionStep(wallet, 'wallet.create_action.serialize_result_beef', parent, () => beef.toUint8ArrayAtomic(r.txid));
68
+ }
65
69
  }
66
70
  const { sendWithResults, notDelayedResults } = await traceActionStep(wallet, 'wallet.create_action.process', parent, async () => await processAction(prior, wallet, auth, vargs));
67
71
  logger?.log('processed transaction');
@@ -1 +1 @@
1
- {"version":3,"file":"createAction.js","sourceRoot":"","sources":["../../../../src/signer/methods/createAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAction.js","sourceRoot":"","sources":["../../../../src/signer/methods/createAction.ts"],"names":[],"mappings":";;;;AAAA,kCAWiB;AACjB,yEAAqE;AAOrE,2EAA4F;AAE5F,uDAAqD;AACrD,6CAA4C;AAWrC,KAAK,uBACV,MAAc,EACd,IAAY,EACZ,KAAuC;IAEvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACjF,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CACpC,sBAAsB,EACtB;QACE,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE;YACV,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;YACzC,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC3C,2BAA2B,EAAE,KAAK,CAAC,OAAO;YAC1C,uBAAuB,EAAE,KAAK,CAAC,YAAY;SAC5C;KACF,EACD,KAAK,EAAC,IAAI,EAAC,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QAChE,IAAI,CAAC,GAAG,CAAC;YACP,UAAU,EAAE;gBACV,wBAAwB,EAAE,MAAM,CAAC,EAAE,IAAI,IAAI;gBAC3C,iCAAiC,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;gBACrE,0BAA0B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC;aAChE;SACF,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC,CACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAc,EACd,IAAY,EACZ,KAAuC,EACvC,MAAsB;IAEtB,MAAM,CAAC,GAAwB,EAAE,CAAA;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE3B,IAAI,KAAoC,CAAA;IAExC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACnD,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QAChD,MAAM,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAA;QAEtC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;YAC7D,MAAM,EAAE,GAAG,CAAC,qCAAqC,CAAC,CAAA;YAClD,OAAO,CAAC,CAAA;QACV,CAAC;QAED,KAAK,CAAC,EAAE,GAAG,MAAM,eAAe,CAC9B,MAAM,EACN,uCAAuC,EACvC,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,MAAM,IAAA,qDAAyB,EAAC,KAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAChE,CAAA;QACD,MAAM,EAAE,GAAG,CAAC,8BAA8B,CAAC,CAAA;QAE3C,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,MAAM,eAAe,CAChC,MAAM,EACN,2CAA2C,EAC3C,MAAM,EACN,GAAG,EAAE;YACH,MAAM,MAAM,GAAG,IAAI,UAAI,EAAE,CAAA;YACzB,IAAI,KAAM,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,SAAS,GACb,KAAM,CAAC,GAAG,CAAC,SAAS,YAAY,UAAU;oBACxC,CAAC,CAAC,UAAI,CAAC,cAAc,CAAC,KAAM,CAAC,GAAG,CAAC,SAAS,CAAC;oBAC3C,CAAC,CAAC,UAAI,CAAC,UAAU,CAAC,KAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;gBAC3C,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YAC7B,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,KAAM,CAAC,EAAE,CAAC,CAAA;YAClC,OAAO,MAAM,CAAA;QACf,CAAC,CACF,CAAA;QACD,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;QAE1B,MAAM,eAAe,CACnB,MAAM,EACN,4CAA4C,EAC5C,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,MAAM,IAAA,+CAAmB,EAAC,CAAC,CAAC,IAAK,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAC5E,CAAA;QACD,MAAM,EAAE,GAAG,CAAC,yBAAyB,CAAC,CAAA;QAEtC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAA;QACxB,IAAA,0BAAa,EAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAClC,CAAC,CAAC,EAAE,GAAG,MAAM,eAAe,CAC1B,MAAM,EACN,4CAA4C,EAC5C,MAAM,EACN,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAK,CAAC,CACvC,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,MAAM,eAAe,CAClE,MAAM,EACN,8BAA8B,EAC9B,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAC5D,CAAA;IACD,MAAM,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAEpC,CAAC,CAAC,eAAe,GAAG,eAAe,CAAA;IACnC,CAAC,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAEvC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,MAAc,EACd,IAAY,EACZ,MAAiC,EACjC,QAA8B;IAE9B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,MAAM,QAAQ,EAAE,CAAA;IAC3C,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CACpC,IAAI,EACJ;QACE,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE,MAAM,CAAC,OAAO;KACvB,EACD,QAAQ,CACT,CAAA;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,MAAc,EACd,KAAuC,EACvC,MAAsB;IAEtB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAA;IAC9C,MAAM,GAAG,GAAG,MAAM,eAAe,CAC/B,MAAM,EACN,mCAAmC,EACnC,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAC7G,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAA;IAE/B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,eAAe,CAC/C,MAAM,EACN,iDAAiD,EACjD,MAAM,EACN,GAAG,EAAE,CAAC,IAAA,mDAAwB,EAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CACnD,CAAA;IACD,MAAM,EAAE,GAAG,CAAC,4BAA4B,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAsB,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAA;IAEjF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAwB,EACxB,MAAc,EACd,IAAsC;IAEtC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI;QAAE,MAAM,IAAI,2BAAa,CAAC,mCAAmC,CAAC,CAAA;IAE7F,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAE/B,MAAM,CAAC,GAAuB;QAC5B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;QAC3G,mBAAmB,EAAE;YACnB,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS;YAC9B,EAAE,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE,CAAC;SAC1C;KACF,CAAA;IAED,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAoB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAA;IAEnE,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAe;IAClD,uDAAuD;IACvD,6FAA6F;IAC7F,MAAM,IAAI,GAAG,IAAI,UAAI,EAAE,CAAA;IACvB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,2BAAa,CAAC,+DAA+D,CAAC,CAAA;QAC1F,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAA;IAClC,0EAA0E;IAC1E,8EAA8E;IAC9E,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAsC;IACjE,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,EAAE,CAAC;QACpE,8EAA8E;QAC9E,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAsC;gBAC5C,GAAG,CAAC;gBACJ,qBAAqB,EAAE,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;aAC5G,CAAA;YACD,OAAO,EAAE,CAAC,eAAe,CAAA;YACzB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAEM,KAAK,wBACV,KAAoC,EACpC,MAAc,EACd,IAAY,EACZ,KAAwC;IAExC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAClE,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,WAAW,CAAA;IAC3C,MAAM,IAAI,GAA6B;QACrC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACtD,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACpD,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1D,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACxD,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAA;IACD,MAAM,CAAC,GAAgC,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAE/E,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verifyUnlockScripts.d.ts","sourceRoot":"","sources":["../../../../src/signer/methods/verifyUnlockScripts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAMJ,KAAK,sBAAsB,EAC5B,MAAM,UAAU,CAAA;AAGjB,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAgID;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAS3C;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
1
+ {"version":3,"file":"verifyUnlockScripts.d.ts","sourceRoot":"","sources":["../../../../src/signer/methods/verifyUnlockScripts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAUJ,KAAK,sBAAsB,EAC5B,MAAM,UAAU,CAAA;AAGjB,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AA4YD;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAwB3C;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
@@ -4,6 +4,8 @@ exports.verifyUnlockScriptsBatch = verifyUnlockScriptsBatch;
4
4
  exports.verifyUnlockScripts = verifyUnlockScripts;
5
5
  const sdk_1 = require("@bsv/sdk");
6
6
  const WERR_errors_1 = require("../../sdk/WERR_errors");
7
+ const postChronicleHeightFallback = 943816;
8
+ const canonicalP2PKHScope = sdk_1.TransactionSignature.SIGHASH_ALL + sdk_1.TransactionSignature.SIGHASH_FORKID;
7
9
  const javaScriptOnlyVerifier = {
8
10
  shouldVerifySpend: () => false,
9
11
  verifySpend: async () => {
@@ -15,16 +17,17 @@ function invalidUnlockingScript(inputIndex, detail) {
15
17
  return new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${inputIndex}].unlockScript`, `valid.${suffix}`);
16
18
  }
17
19
  async function verifyOneSpend(pending, verifier) {
20
+ const [inputIndex, , spend, context] = pending;
18
21
  try {
19
22
  const valid = verifier === undefined
20
- ? pending.spend.validate(pending.context)
21
- : await pending.spend.validateWith(verifier, pending.context);
23
+ ? spend.validate(context)
24
+ : await spend.validateWith(verifier, context);
22
25
  if (!valid)
23
- throw invalidUnlockingScript(pending.inputIndex);
26
+ throw invalidUnlockingScript(inputIndex);
24
27
  }
25
28
  catch (error) {
26
29
  if (error instanceof sdk_1.ScriptEvaluationError) {
27
- throw invalidUnlockingScript(pending.inputIndex, error.message);
30
+ throw invalidUnlockingScript(inputIndex, error.message);
28
31
  }
29
32
  throw error;
30
33
  }
@@ -37,7 +40,7 @@ async function verifyPendingSpends(pending, verifier) {
37
40
  }
38
41
  const batched = [];
39
42
  for (const item of pending) {
40
- const selected = verifier.shouldVerifySpend?.(item.spend, item.context) !== false;
43
+ const selected = verifier.shouldVerifySpend?.(item[2], item[3]) !== false;
41
44
  if (selected)
42
45
  batched.push(item);
43
46
  else
@@ -47,11 +50,11 @@ async function verifyPendingSpends(pending, verifier) {
47
50
  return;
48
51
  let verdicts;
49
52
  try {
50
- verdicts = await verifier.verifySpendsBatch(batched.map(item => ({ spend: item.spend, ...item.context })));
53
+ verdicts = await verifier.verifySpendsBatch(batched.map(item => ({ spend: item[2], ...item[3] })));
51
54
  }
52
55
  catch (error) {
53
56
  if (error instanceof sdk_1.ScriptEvaluationError) {
54
- throw invalidUnlockingScript(batched[0].inputIndex, error.message);
57
+ throw invalidUnlockingScript(batched[0][0], error.message);
55
58
  }
56
59
  throw error;
57
60
  }
@@ -60,11 +63,188 @@ async function verifyPendingSpends(pending, verifier) {
60
63
  }
61
64
  verdicts.forEach((valid, index) => {
62
65
  if (!valid)
63
- throw invalidUnlockingScript(batched[index].inputIndex);
66
+ throw invalidUnlockingScript(batched[index][0]);
64
67
  });
65
68
  }
66
- function collectTransactionSpends(txid, resultIndex, beef, result, pending) {
67
- const tx = beef.findTxid(txid)?.tx;
69
+ function wholeTransactionVerifier(verifier) {
70
+ const candidate = verifier;
71
+ return typeof candidate?.verifyScripts === 'function'
72
+ ? candidate
73
+ : undefined;
74
+ }
75
+ function digestBatchVerifier(verifier) {
76
+ const candidate = verifier;
77
+ if (typeof candidate?.verifyDigestBatch !== 'function')
78
+ return undefined;
79
+ if (candidate.isReady?.() === false)
80
+ return undefined;
81
+ if (candidate.supportsCrypto?.('verifyDigestBatch') === false)
82
+ return undefined;
83
+ return candidate;
84
+ }
85
+ function equalBytes(left, right) {
86
+ if (left.length !== right.length)
87
+ return false;
88
+ for (let index = 0; index < left.length; index++) {
89
+ if (left[index] !== right[index])
90
+ return false;
91
+ }
92
+ return true;
93
+ }
94
+ function isCanonicalP2PKHLock(lock) {
95
+ return lock.length === 25 &&
96
+ lock[0] === 0x76 &&
97
+ lock[1] === 0xa9 &&
98
+ lock[2] === 0x14 &&
99
+ lock[23] === 0x88 &&
100
+ lock[24] === 0xac;
101
+ }
102
+ function parseCanonicalP2PKHUnlock(unlock, lock) {
103
+ const signatureLength = unlock[0];
104
+ if (signatureLength == null ||
105
+ signatureLength < 9 ||
106
+ signatureLength > 73 ||
107
+ unlock.length !== 1 + signatureLength + 1 + 33 ||
108
+ unlock[1 + signatureLength] !== 33)
109
+ return undefined;
110
+ const checksig = Array.from(unlock.subarray(1, 1 + signatureLength));
111
+ const publicKey = unlock.subarray(1 + signatureLength + 1);
112
+ if ((publicKey[0] !== 0x02 && publicKey[0] !== 0x03) ||
113
+ !equalBytes(sdk_1.Hash.hash160(publicKey), lock.subarray(3, 23)))
114
+ return undefined;
115
+ let signature;
116
+ try {
117
+ signature = sdk_1.TransactionSignature.fromChecksigFormat(checksig);
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
122
+ if (signature.scope !== canonicalP2PKHScope ||
123
+ !signature.hasLowS() ||
124
+ !equalBytes(signature.toChecksigFormat(), checksig))
125
+ return undefined;
126
+ return [checksig, publicKey, signature];
127
+ }
128
+ /**
129
+ * Recognizes only the exact canonical P2PKH shape generated by this wallet.
130
+ * Anything else retains the general-purpose script interpreter/backend path.
131
+ */
132
+ function standardP2PKHDigests(tx) {
133
+ const cache = { hashOutputsSingle: new Map() };
134
+ const items = [];
135
+ for (let inputIndex = 0; inputIndex < tx.inputs.length; inputIndex++) {
136
+ const input = tx.inputs[inputIndex];
137
+ const sourceTransaction = input.sourceTransaction;
138
+ const sourceTXID = input.sourceTXID;
139
+ const unlockingScript = input.unlockingScript;
140
+ if (sourceTransaction == null || sourceTXID == null || unlockingScript == null)
141
+ return undefined;
142
+ const sourceOutput = sourceTransaction.outputs[input.sourceOutputIndex];
143
+ if (sourceOutput == null)
144
+ return undefined;
145
+ const lock = sourceOutput.lockingScript.toUint8Array();
146
+ if (!isCanonicalP2PKHLock(lock))
147
+ return undefined;
148
+ const parsed = parseCanonicalP2PKHUnlock(unlockingScript.toUint8Array(), lock);
149
+ if (parsed == null)
150
+ return undefined;
151
+ const [checksig, publicKey, signature] = parsed;
152
+ const preimage = sdk_1.TransactionSignature.formatBytes({
153
+ sourceTXID,
154
+ sourceOutputIndex: input.sourceOutputIndex,
155
+ sourceSatoshis: sourceOutput.satoshis ?? 0,
156
+ transactionVersion: tx.version,
157
+ otherInputs: [],
158
+ allInputs: tx.inputs,
159
+ outputs: tx.outputs,
160
+ inputIndex,
161
+ subscript: sourceOutput.lockingScript,
162
+ inputSequence: input.sequence ?? 0xffffffff,
163
+ lockTime: tx.lockTime,
164
+ scope: signature.scope,
165
+ cache
166
+ });
167
+ items.push({
168
+ publicKey,
169
+ digest: Uint8Array.from(sdk_1.Hash.hash256(preimage)),
170
+ signature: Uint8Array.from(checksig.slice(0, -1))
171
+ });
172
+ }
173
+ return items;
174
+ }
175
+ async function verifyStandardP2PKHDigests(pending, verifier) {
176
+ if (pending.length === 0)
177
+ return new Set();
178
+ const items = pending.flatMap(entry => entry[1]);
179
+ const verdicts = await verifier.verifyDigestBatch(items);
180
+ if (verdicts.length !== items.length) {
181
+ throw new Error('Script verifier returned an invalid digest batch result count');
182
+ }
183
+ const verified = new Set();
184
+ let offset = 0;
185
+ for (const entry of pending) {
186
+ const end = offset + entry[1].length;
187
+ if (verdicts.slice(offset, end).every(Boolean))
188
+ verified.add(entry[0]);
189
+ offset = end;
190
+ }
191
+ return verified;
192
+ }
193
+ function hydrateTransactionSources(txid, transactions) {
194
+ const tx = transactions.get(txid);
195
+ if (tx == null)
196
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `contained in beef, txid ${txid}`);
197
+ for (let inputIndex = 0; inputIndex < tx.inputs.length; inputIndex++) {
198
+ const input = tx.inputs[inputIndex];
199
+ if (input.sourceTXID == null) {
200
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${inputIndex}].sourceTXID`, 'valid');
201
+ }
202
+ if (input.unlockingScript == null) {
203
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${inputIndex}].unlockingScript`, 'valid');
204
+ }
205
+ input.sourceTransaction = transactions.get(input.sourceTXID);
206
+ if (input.sourceTransaction == null)
207
+ return undefined;
208
+ if (input.sourceTransaction.outputs[input.sourceOutputIndex] == null) {
209
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${inputIndex}].sourceOutputIndex`, 'reference an output in the source transaction');
210
+ }
211
+ }
212
+ return tx;
213
+ }
214
+ function transactionIndex(txids, beef) {
215
+ // One public lookup synchronizes nested transaction mutations and rebuilds
216
+ // BEEF's internal indexes if necessary. Repeating that synchronization for
217
+ // every input turns a large fragmented action into quadratic work.
218
+ if (txids.length > 0)
219
+ beef.findTxid(txids[0]);
220
+ return new Map(beef.txs.map(item => [item.txid, item.tx]));
221
+ }
222
+ async function verifyWholeTransactions(pending, verifier) {
223
+ if (pending.length === 0)
224
+ return new Set();
225
+ let verdicts;
226
+ try {
227
+ verdicts = verifier.verifyScriptsBatch === undefined
228
+ ? await Promise.all(pending.map(async (item) => await verifier.verifyScripts(item[1])))
229
+ : await verifier.verifyScriptsBatch(pending.map(item => item[1]));
230
+ }
231
+ catch (error) {
232
+ // Whole-transaction backends cannot identify the failing input. Preserve
233
+ // the historical per-input diagnostic lane for consensus script errors;
234
+ // integration/runtime failures still propagate unchanged.
235
+ if (error instanceof sdk_1.ScriptEvaluationError)
236
+ return new Set();
237
+ throw error;
238
+ }
239
+ if (verdicts.length !== pending.length) {
240
+ throw new Error('Script verifier returned an invalid transaction batch result count');
241
+ }
242
+ // A false verdict deliberately falls through to the historical per-input
243
+ // lane so callers retain the exact failing input in their validation error.
244
+ return new Set(pending.filter((_, index) => verdicts[index]).map(item => item[0]));
245
+ }
246
+ function collectTransactionSpends(txid, resultIndex, transactions, result, pending) {
247
+ const tx = transactions.get(txid);
68
248
  if (tx == null)
69
249
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `contained in beef, txid ${txid}`);
70
250
  const sigHashCache = { hashOutputsSingle: new Map() };
@@ -76,7 +256,7 @@ function collectTransactionSpends(txid, resultIndex, beef, result, pending) {
76
256
  if (input.unlockingScript == null) {
77
257
  throw new WERR_errors_1.WERR_INVALID_PARAMETER(`inputs[${inputIndex}].unlockingScript`, 'valid');
78
258
  }
79
- input.sourceTransaction = beef.findTxid(input.sourceTXID)?.tx;
259
+ input.sourceTransaction = transactions.get(input.sourceTXID);
80
260
  if (input.sourceTransaction == null) {
81
261
  // knownTxids may intentionally omit a source transaction. Only that
82
262
  // input is skipped; every source that is present is still verified.
@@ -89,11 +269,10 @@ function collectTransactionSpends(txid, resultIndex, beef, result, pending) {
89
269
  }
90
270
  const utxoHeight = input.sourceTransaction.merklePath?.blockHeight;
91
271
  const context = utxoHeight === undefined ? { consensus: true } : { consensus: true, utxoHeight };
92
- pending.push({
272
+ pending.push([
93
273
  inputIndex,
94
274
  resultIndex,
95
- context,
96
- spend: new sdk_1.Spend({
275
+ new sdk_1.Spend({
97
276
  sourceTXID: input.sourceTXID,
98
277
  sourceOutputIndex: input.sourceOutputIndex,
99
278
  lockingScript: sourceOutput.lockingScript,
@@ -107,9 +286,56 @@ function collectTransactionSpends(txid, resultIndex, beef, result, pending) {
107
286
  outputs: tx.outputs,
108
287
  lockTime: tx.lockTime,
109
288
  sigHashCache
110
- })
111
- });
289
+ }),
290
+ context
291
+ ]);
292
+ }
293
+ }
294
+ function collectAcceleratedTransactions(txids, transactions, digestVerifier, enabled) {
295
+ const hydrated = new Map();
296
+ const digests = [];
297
+ if (!enabled)
298
+ return [hydrated, digests];
299
+ for (let resultIndex = 0; resultIndex < txids.length; resultIndex++) {
300
+ const tx = hydrateTransactionSources(txids[resultIndex], transactions);
301
+ if (tx == null)
302
+ continue;
303
+ hydrated.set(resultIndex, tx);
304
+ if (digestVerifier === undefined)
305
+ continue;
306
+ const items = standardP2PKHDigests(tx);
307
+ if (items != null)
308
+ digests.push([resultIndex, items]);
309
+ }
310
+ return [hydrated, digests];
311
+ }
312
+ function collectWholeTransactionVerifications(hydrated, digestAttempted, verifier) {
313
+ if (verifier === undefined)
314
+ return [];
315
+ const pending = [];
316
+ for (const [resultIndex, tx] of hydrated) {
317
+ if (digestAttempted.has(resultIndex))
318
+ continue;
319
+ const params = { tx, blockHeight: postChronicleHeightFallback, consensus: true };
320
+ if (verifier.shouldVerifyScripts?.(params) === false)
321
+ continue;
322
+ pending.push([resultIndex, params]);
323
+ }
324
+ return pending;
325
+ }
326
+ function collectFallbackSpends(txids, transactions, accelerated, results) {
327
+ const pending = [];
328
+ for (let resultIndex = 0; resultIndex < txids.length; resultIndex++) {
329
+ if (!accelerated.has(resultIndex)) {
330
+ collectTransactionSpends(txids[resultIndex], resultIndex, transactions, results[resultIndex], pending);
331
+ continue;
332
+ }
333
+ const tx = transactions.get(txids[resultIndex]);
334
+ if (tx == null)
335
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `contained in beef, txid ${txids[resultIndex]}`);
336
+ results[resultIndex].verifiedInputs = tx.inputs.length;
112
337
  }
338
+ return pending;
113
339
  }
114
340
  /**
115
341
  * Verifies every resolvable input from several transactions in one optional
@@ -117,13 +343,23 @@ function collectTransactionSpends(txid, resultIndex, beef, result, pending) {
117
343
  */
118
344
  async function verifyUnlockScriptsBatch(txids, beef, verifier) {
119
345
  const results = txids.map(() => ({ verifiedInputs: 0, skippedInputs: 0 }));
120
- const pending = [];
121
- for (let resultIndex = 0; resultIndex < txids.length; resultIndex++) {
122
- collectTransactionSpends(txids[resultIndex], resultIndex, beef, results[resultIndex], pending);
123
- }
346
+ const transactions = transactionIndex(txids, beef);
347
+ const digestVerifier = digestBatchVerifier(verifier);
348
+ const wholeVerifier = wholeTransactionVerifier(verifier);
349
+ const [hydrated, digestPending] = collectAcceleratedTransactions(txids, transactions, digestVerifier, digestVerifier !== undefined || wholeVerifier !== undefined);
350
+ const digestAttempted = new Set(digestPending.map(item => item[0]));
351
+ const digestVerified = digestVerifier === undefined
352
+ ? new Set()
353
+ : await verifyStandardP2PKHDigests(digestPending, digestVerifier);
354
+ const wholePending = collectWholeTransactionVerifications(hydrated, digestAttempted, wholeVerifier);
355
+ const wholeVerified = wholeVerifier === undefined
356
+ ? new Set()
357
+ : await verifyWholeTransactions(wholePending, wholeVerifier);
358
+ const accelerated = new Set([...digestVerified, ...wholeVerified]);
359
+ const pending = collectFallbackSpends(txids, transactions, accelerated, results);
124
360
  await verifyPendingSpends(pending, verifier);
125
361
  for (const item of pending)
126
- results[item.resultIndex].verifiedInputs++;
362
+ results[item[1]].verifiedInputs++;
127
363
  return results;
128
364
  }
129
365
  /**