@bsv/sdk 2.1.4 → 2.1.5
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/dist/cjs/package.json +7 -7
- package/dist/cjs/src/kvstore/GlobalKVStore.js +18 -3
- package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/cjs/src/kvstore/types.js.map +1 -1
- package/dist/cjs/src/script/Spend.js +8 -1
- package/dist/cjs/src/script/Spend.js.map +1 -1
- package/dist/cjs/src/transaction/BdkVerifierInterface.js +3 -0
- package/dist/cjs/src/transaction/BdkVerifierInterface.js.map +1 -0
- package/dist/cjs/src/transaction/Transaction.js +35 -16
- package/dist/cjs/src/transaction/Transaction.js.map +1 -1
- package/dist/cjs/src/transaction/index.js.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/src/kvstore/GlobalKVStore.js +18 -3
- package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
- package/dist/esm/src/kvstore/types.js.map +1 -1
- package/dist/esm/src/script/Spend.js +8 -1
- package/dist/esm/src/script/Spend.js.map +1 -1
- package/dist/esm/src/transaction/BdkVerifierInterface.js +2 -0
- package/dist/esm/src/transaction/BdkVerifierInterface.js.map +1 -0
- package/dist/esm/src/transaction/Transaction.js +35 -16
- package/dist/esm/src/transaction/Transaction.js.map +1 -1
- package/dist/esm/src/transaction/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/types/src/kvstore/GlobalKVStore.d.ts.map +1 -1
- package/dist/types/src/kvstore/types.d.ts +27 -0
- package/dist/types/src/kvstore/types.d.ts.map +1 -1
- package/dist/types/src/script/Spend.d.ts.map +1 -1
- package/dist/types/src/transaction/BdkVerifierInterface.d.ts +22 -0
- package/dist/types/src/transaction/BdkVerifierInterface.d.ts.map +1 -0
- package/dist/types/src/transaction/Transaction.d.ts +2 -1
- package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
- package/dist/types/src/transaction/index.d.ts +1 -0
- package/dist/types/src/transaction/index.d.ts.map +1 -1
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/dist/umd/bundle.js +3 -3
- package/package.json +7 -7
- package/src/kvstore/GlobalKVStore.ts +18 -3
- package/src/kvstore/__tests/GlobalKVStore.test.ts +36 -0
- package/src/kvstore/types.ts +28 -0
- package/src/script/Spend.ts +8 -1
- package/src/script/__tests/Spend.codeseparator.test.ts +88 -0
- package/src/transaction/BdkVerifierInterface.ts +22 -0
- package/src/transaction/Transaction.ts +40 -17
- package/src/transaction/__tests/Transaction.verifier.test.ts +72 -0
- package/src/transaction/index.ts +1 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type Transaction from './Transaction.js';
|
|
2
|
+
/**
|
|
3
|
+
* A pluggable backend that verifies ALL input scripts of a single transaction.
|
|
4
|
+
*
|
|
5
|
+
* Implementations (e.g. @bsv/verifast's BdkVerifier) typically delegate to a
|
|
6
|
+
* native/WASM engine. The backend operates at whole-transaction granularity,
|
|
7
|
+
* not per input.
|
|
8
|
+
*/
|
|
9
|
+
export default interface BdkVerifierInterface {
|
|
10
|
+
/**
|
|
11
|
+
* Verify all input scripts of `params.tx`.
|
|
12
|
+
* @returns Promise resolving true if every input script is valid, false otherwise.
|
|
13
|
+
* @throws If the backend itself fails (load error, marshalling error, unavailable).
|
|
14
|
+
*/
|
|
15
|
+
verifyScripts: (params: {
|
|
16
|
+
tx: Transaction;
|
|
17
|
+
blockHeight: number;
|
|
18
|
+
consensus: boolean;
|
|
19
|
+
verifyFlags?: string | string[];
|
|
20
|
+
}) => Promise<boolean>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=BdkVerifierInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BdkVerifierInterface.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BdkVerifierInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC3C;;;;OAIG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,EAAE,EAAE,WAAW,CAAA;QACf,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,OAAO,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAChC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACvB"}
|
|
@@ -7,6 +7,7 @@ import { Broadcaster, BroadcastResponse, BroadcastFailure } from './Broadcaster.
|
|
|
7
7
|
import MerklePath from './MerklePath.js';
|
|
8
8
|
import ChainTracker from './ChainTracker.js';
|
|
9
9
|
import type { WalletInterface, DescriptionString5to50Bytes, CreateActionOptions } from '../wallet/Wallet.interfaces.js';
|
|
10
|
+
import type BdkVerifierInterface from './BdkVerifierInterface.js';
|
|
10
11
|
/**
|
|
11
12
|
* Represents a complete Bitcoin transaction. This class encapsulates all the details
|
|
12
13
|
* required for creating, signing, and processing a Bitcoin transaction, including
|
|
@@ -282,7 +283,7 @@ export default class Transaction {
|
|
|
282
283
|
*
|
|
283
284
|
* @example tx.verify(new WhatsOnChain(), LivePolicy.getInstance())
|
|
284
285
|
*/
|
|
285
|
-
verify(chainTracker?: ChainTracker | 'scripts only', feeModel?: FeeModel, memoryLimit?: number): Promise<boolean>;
|
|
286
|
+
verify(chainTracker?: ChainTracker | 'scripts only', feeModel?: FeeModel, memoryLimit?: number, verifier?: BdkVerifierInterface): Promise<boolean>;
|
|
286
287
|
/**
|
|
287
288
|
* Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
|
|
288
289
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AAEtD,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,gBAAgB,EAAgB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzH,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAK5C,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,iBAAiB,MAAM,wBAAwB,CAAA;AAEtD,OAAO,aAAa,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,gBAAgB,EAAgB,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzH,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAK5C,OAAO,KAAK,EAAE,eAAe,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AAGvH,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAA;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,UAAU,CAAC,CAAU;IAC7B,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAGzB,OAAO,CAAC,MAAM,CAAC,eAAe;IAkC9B;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;IAKzE;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW;IAYhE,OAAO,CAAC,MAAM,CAAC,WAAW;IAqB1B;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW;IA+CtD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG;QACtD,MAAM,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QAC9D,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACjE;IAuBD,MAAM,CAAC,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,WAAW;IAkC9D;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW;IAS3D;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IASzC;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAE,GAAG,EAAE,MAAM,GAAG,WAAW;IAI3C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,WAAW,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW;gBAK1D,OAAO,GAAE,MAAU,EACnB,MAAM,GAAE,gBAAgB,EAAO,EAC/B,OAAO,GAAE,iBAAiB,EAAO,EACjC,QAAQ,GAAE,MAAU,EACpB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAa,EACzC,UAAU,CAAC,EAAE,UAAU;IAUzB,OAAO,CAAC,6BAA6B;IAMrC;;;;;OAKG;IACH,QAAQ,CAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAexC;;;;OAIG;IACH,SAAS,CAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAc3C;;;;;;OAMG;IACH,cAAc,CAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAWpE;;;;OAIG;IACH,cAAc,CAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAOpD;;;;;;;;;OASG;IACG,GAAG,CACP,UAAU,GAAE,QAAQ,GAAG,MAAiC,EACxD,kBAAkB,GAAE,OAAO,GAAG,QAAkB,GAC/C,OAAO,CAAC,IAAI,CAAC;IAiBhB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,aAAa;IAOrB;;;;OAIG;IACH,MAAM,IAAK,MAAM;IAkBjB;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IA+B5B;;;;;OAKG;IACG,SAAS,CACb,WAAW,GAAE,WAAkC,GAC9C,OAAO,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAIhD,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,kBAAkB;IAK1B;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAI3B,OAAO,CAAC,OAAO;IA2Cf;;;;OAIG;IACH,IAAI,IAAK,MAAM,EAAE;IAMjB;;;;OAIG;IACH,cAAc,IAAK,UAAU;IAM7B;;;;OAIG;IACH,OAAO,IAAK,MAAM;IAIlB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,SAAS,IAAK,MAAM;IAIpB;;;;OAIG;IACH,eAAe,IAAK,MAAM;IAI1B;;;;;OAKG;IACH,IAAI,CAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,MAAM;IAQrC;;;;OAIG;IACH,EAAE,IAAK,MAAM,EAAE;IACf;;;;;OAKG;IACH,EAAE,CAAE,GAAG,EAAE,KAAK,GAAG,MAAM;IAgBvB;;;;;;;;;;OAUG;IACG,MAAM,CACV,YAAY,GAAE,YAAY,GAAG,cAAsC,EACnE,QAAQ,CAAC,EAAE,QAAQ,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAAC,OAAO,CAAC;IAwInB;;;;;;;;OAQG;IACH,mBAAmB,CAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI;IA8ErF;;;;;;;OAOG;IACH,MAAM,CAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE;IAMzC;;;;;;;OAOG;IACH,gBAAgB,CAAE,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU;IAMrD;;;;;;;;;;OAUG;IACH,YAAY,CAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE;IAO/C;;;;;;;;;;OAUG;IACH,sBAAsB,CAAE,YAAY,CAAC,EAAE,OAAO,GAAG,UAAU;IAU3D;;;;;;;;;;;OAWG;IACG,kBAAkB,CAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,2BAA2B,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6KtK;;;;;;OAMG;IACH,QAAQ,CAAE,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,MAAM,EAAE;CAqC7F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as Transaction } from './Transaction.js';
|
|
2
|
+
export type { default as BdkVerifierInterface } from './BdkVerifierInterface.js';
|
|
2
3
|
export { default as MerklePath } from './MerklePath.js';
|
|
3
4
|
export type { default as TransactionInput } from './TransactionInput.js';
|
|
4
5
|
export type { default as TransactionOutput } from './TransactionOutput.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,YAAY,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,YAAY,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxE,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAA;AAC/C,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAA"}
|