@ckb-ccc/core 1.9.0 → 1.10.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.
- package/CHANGELOG.md +25 -0
- package/dist/ckb/index.d.ts +1 -0
- package/dist/ckb/index.d.ts.map +1 -1
- package/dist/ckb/index.js +1 -0
- package/dist/ckb/script.d.ts +12 -0
- package/dist/ckb/script.d.ts.map +1 -1
- package/dist/ckb/script.js +17 -0
- package/dist/ckb/transaction.d.ts +147 -14
- package/dist/ckb/transaction.d.ts.map +1 -1
- package/dist/ckb/transaction.js +165 -28
- package/dist/ckb/transactionErrors.d.ts +15 -0
- package/dist/ckb/transactionErrors.d.ts.map +1 -0
- package/dist/ckb/transactionErrors.js +21 -0
- package/dist/client/cache/cache.d.ts +7 -0
- package/dist/client/cache/cache.d.ts.map +1 -1
- package/dist/client/cache/cache.js +11 -0
- package/dist/client/cache/memory.advanced.d.ts +36 -3
- package/dist/client/cache/memory.advanced.d.ts.map +1 -1
- package/dist/client/cache/memory.advanced.js +53 -25
- package/dist/client/cache/memory.d.ts +10 -1
- package/dist/client/cache/memory.d.ts.map +1 -1
- package/dist/client/cache/memory.js +13 -2
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +6 -9
- package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.advanced.js +60 -0
- package/dist/client/clientPublicTestnet.advanced.d.ts +23 -0
- package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.advanced.js +145 -1
- package/dist/client/clientTypes.advanced.d.ts +0 -1
- package/dist/client/clientTypes.advanced.d.ts.map +1 -1
- package/dist/client/clientTypes.advanced.js +0 -1
- package/dist/client/knownScript.d.ts +3 -1
- package/dist/client/knownScript.d.ts.map +1 -1
- package/dist/client/knownScript.js +4 -0
- package/dist.commonjs/ckb/index.d.ts +1 -0
- package/dist.commonjs/ckb/index.d.ts.map +1 -1
- package/dist.commonjs/ckb/index.js +1 -0
- package/dist.commonjs/ckb/script.d.ts +12 -0
- package/dist.commonjs/ckb/script.d.ts.map +1 -1
- package/dist.commonjs/ckb/script.js +17 -0
- package/dist.commonjs/ckb/transaction.d.ts +147 -14
- package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
- package/dist.commonjs/ckb/transaction.js +164 -27
- package/dist.commonjs/ckb/transactionErrors.d.ts +15 -0
- package/dist.commonjs/ckb/transactionErrors.d.ts.map +1 -0
- package/dist.commonjs/ckb/transactionErrors.js +26 -0
- package/dist.commonjs/client/cache/cache.d.ts +7 -0
- package/dist.commonjs/client/cache/cache.d.ts.map +1 -1
- package/dist.commonjs/client/cache/cache.js +11 -0
- package/dist.commonjs/client/cache/memory.advanced.d.ts +36 -3
- package/dist.commonjs/client/cache/memory.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/cache/memory.advanced.js +54 -26
- package/dist.commonjs/client/cache/memory.d.ts +10 -1
- package/dist.commonjs/client/cache/memory.d.ts.map +1 -1
- package/dist.commonjs/client/cache/memory.js +12 -1
- package/dist.commonjs/client/client.d.ts.map +1 -1
- package/dist.commonjs/client/client.js +5 -8
- package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicMainnet.advanced.js +60 -0
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +23 -0
- package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicTestnet.advanced.js +146 -2
- package/dist.commonjs/client/clientTypes.advanced.d.ts +0 -1
- package/dist.commonjs/client/clientTypes.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientTypes.advanced.js +1 -2
- package/dist.commonjs/client/knownScript.d.ts +3 -1
- package/dist.commonjs/client/knownScript.d.ts.map +1 -1
- package/dist.commonjs/client/knownScript.js +4 -0
- package/package.json +1 -1
- package/src/ckb/index.ts +1 -0
- package/src/ckb/script.ts +20 -0
- package/src/ckb/transaction.ts +210 -33
- package/src/ckb/transactionErrors.ts +36 -0
- package/src/client/cache/cache.ts +14 -1
- package/src/client/cache/memory.advanced.ts +57 -30
- package/src/client/cache/memory.ts +18 -1
- package/src/client/client.ts +5 -10
- package/src/client/clientPublicMainnet.advanced.ts +68 -0
- package/src/client/clientPublicTestnet.advanced.ts +164 -1
- package/src/client/clientTypes.advanced.ts +0 -1
- package/src/client/knownScript.ts +5 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @ckb-ccc/core
|
|
2
2
|
|
|
3
|
+
## 1.10.0
|
|
4
|
+
### Minor Changes
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
- [#225](https://github.com/ckb-devrel/ccc/pull/225) [`c67e096`](https://github.com/ckb-devrel/ccc/commit/c67e096cc59a5685046cd5ad67676d0cf2d45dc3) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): optional `shouldAddInputs` for `Transaction.completeFee`
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
- [#244](https://github.com/ckb-devrel/ccc/pull/244) [`2d23b47`](https://github.com/ckb-devrel/ccc/commit/2d23b477460f0f07c80c8e3e7641e35069788b70) Thanks [@phroi](https://github.com/phroi)! - Simplify MapLru, while improving Complexity
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
- [#225](https://github.com/ckb-devrel/ccc/pull/225) [`996e117`](https://github.com/ckb-devrel/ccc/commit/996e117c56fc5f3d4bb9b2adeac5c9da87128688) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(core): `Transaction.clone` should clone inputs' cache
|
|
20
|
+
|
|
21
|
+
## 1.9.1
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
- [`a4d1a08`](https://github.com/ckb-devrel/ccc/commit/a4d1a08700cb861e49fbd961e8e6d6b26c06dfb6) Thanks [@ashuralyk](https://github.com/ashuralyk)! - Update JoyId celldep information on testnet
|
|
27
|
+
|
|
3
28
|
## 1.9.0
|
|
4
29
|
### Minor Changes
|
|
5
30
|
|
package/dist/ckb/index.d.ts
CHANGED
package/dist/ckb/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
|
package/dist/ckb/index.js
CHANGED
package/dist/ckb/script.d.ts
CHANGED
|
@@ -103,6 +103,18 @@ export declare class Script extends Script_base {
|
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
105
|
clone(): Script;
|
|
106
|
+
/**
|
|
107
|
+
* Check if the script is equal to another script.
|
|
108
|
+
* @public
|
|
109
|
+
* @param other - The other script to compare with
|
|
110
|
+
* @returns True if the scripts are equal, false otherwise
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```typescript
|
|
114
|
+
* const isEqual = script0.eq(script1);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
eq(other: ScriptLike): boolean;
|
|
106
118
|
/**
|
|
107
119
|
* Creates a Script instance from a ScriptLike object.
|
|
108
120
|
*
|
package/dist/ckb/script.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/ckb/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAO3C,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAI1D,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAmBxD;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAE7D;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE5D;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;;;;;;;;;;;;;AACF;;GAEG;AACH,qBAOa,MAAO,SAAQ,WAAqC;IAStD,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;IAVlB;;;;;;OAMG;gBAEM,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,GAAG;IAKlB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,MAAM;IAIf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAYvC;;;;;;;;;;;;;;;;OAgBG;WAEU,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC;CAUnB;AAED,eAAO,MAAM,SAAS,8DAAqB,CAAC;AAC5C,eAAO,MAAM,SAAS,mCAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/ckb/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAO3C,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAI1D,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAmBxD;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAE7D;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE5D;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;;;;;;;;;;;;;AACF;;GAEG;AACH,qBAOa,MAAO,SAAQ,WAAqC;IAStD,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;IAVlB;;;;;;OAMG;gBAEM,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,GAAG;IAKlB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,MAAM;IAIf;;;;;;;;;;OAUG;IACH,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAS9B;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAYvC;;;;;;;;;;;;;;;;OAgBG;WAEU,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC;CAUnB;AAED,eAAO,MAAM,SAAS,8DAAqB,CAAC;AAC5C,eAAO,MAAM,SAAS,mCAAqB,CAAC"}
|
package/dist/ckb/script.js
CHANGED
|
@@ -112,6 +112,23 @@ let Script = Script_1 = class Script extends mol.Entity.Base() {
|
|
|
112
112
|
clone() {
|
|
113
113
|
return new Script_1(this.codeHash, this.hashType, this.args);
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Check if the script is equal to another script.
|
|
117
|
+
* @public
|
|
118
|
+
* @param other - The other script to compare with
|
|
119
|
+
* @returns True if the scripts are equal, false otherwise
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const isEqual = script0.eq(script1);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
eq(other) {
|
|
127
|
+
other = Script_1.from(other);
|
|
128
|
+
return (this.args === other.args &&
|
|
129
|
+
this.codeHash === other.codeHash &&
|
|
130
|
+
this.hashType === other.hashType);
|
|
131
|
+
}
|
|
115
132
|
/**
|
|
116
133
|
* Creates a Script instance from a ScriptLike object.
|
|
117
134
|
*
|
|
@@ -106,6 +106,29 @@ export declare class OutPoint extends OutPoint_base {
|
|
|
106
106
|
* ```
|
|
107
107
|
*/
|
|
108
108
|
static from(outPoint: OutPointLike): OutPoint;
|
|
109
|
+
/**
|
|
110
|
+
* Clone a OutPoint.
|
|
111
|
+
*
|
|
112
|
+
* @returns A cloned OutPoint instance.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* const outPoint1 = outPoint0.clone();
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
clone(): OutPoint;
|
|
120
|
+
/**
|
|
121
|
+
* Check if the OutPoint is equal to another OutPoint.
|
|
122
|
+
* @public
|
|
123
|
+
* @param other - The other OutPoint to compare with
|
|
124
|
+
* @returns True if the OutPoints are equal, false otherwise
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const isEqual = outPoint0.eq(outPoint1);
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
eq(other: OutPointLike): boolean;
|
|
109
132
|
}
|
|
110
133
|
/**
|
|
111
134
|
* @public
|
|
@@ -159,6 +182,17 @@ export declare class CellOutput extends CellOutput_base {
|
|
|
159
182
|
* ```
|
|
160
183
|
*/
|
|
161
184
|
static from(cellOutput: CellOutputLike): CellOutput;
|
|
185
|
+
/**
|
|
186
|
+
* Clone a CellOutput.
|
|
187
|
+
*
|
|
188
|
+
* @returns A cloned CellOutput instance.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```typescript
|
|
192
|
+
* const cellOutput1 = cellOutput0.clone();
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
clone(): CellOutput;
|
|
162
196
|
}
|
|
163
197
|
export declare const CellOutputVec: mol.Codec<CellOutputLike[], CellOutput[]>;
|
|
164
198
|
/**
|
|
@@ -415,6 +449,16 @@ export declare class CellInput extends CellInput_base {
|
|
|
415
449
|
* And it can also be miners' income. (But this is not implemented yet)
|
|
416
450
|
*/
|
|
417
451
|
getExtraCapacity(client: Client): Promise<Num>;
|
|
452
|
+
/**
|
|
453
|
+
* Clone a CellInput.
|
|
454
|
+
*
|
|
455
|
+
* @returns A cloned CellInput instance.
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* ```typescript
|
|
459
|
+
* const cellInput1 = cellInput0.clone();
|
|
460
|
+
* ```
|
|
461
|
+
*/
|
|
418
462
|
clone(): CellInput;
|
|
419
463
|
}
|
|
420
464
|
export declare const CellInputVec: mol.Codec<CellInputLike[], CellInput[]>;
|
|
@@ -450,17 +494,6 @@ export declare class CellDep extends CellDep_base {
|
|
|
450
494
|
* @param depType - The dependency type.
|
|
451
495
|
*/
|
|
452
496
|
constructor(outPoint: OutPoint, depType: DepType);
|
|
453
|
-
/**
|
|
454
|
-
* Clone a CellDep.
|
|
455
|
-
*
|
|
456
|
-
* @returns A cloned CellDep instance.
|
|
457
|
-
*
|
|
458
|
-
* @example
|
|
459
|
-
* ```typescript
|
|
460
|
-
* const cellDep1 = cellDep0.clone();
|
|
461
|
-
* ```
|
|
462
|
-
*/
|
|
463
|
-
clone(): CellDep;
|
|
464
497
|
/**
|
|
465
498
|
* Creates a CellDep instance from a CellDepLike object.
|
|
466
499
|
*
|
|
@@ -476,6 +509,17 @@ export declare class CellDep extends CellDep_base {
|
|
|
476
509
|
* ```
|
|
477
510
|
*/
|
|
478
511
|
static from(cellDep: CellDepLike): CellDep;
|
|
512
|
+
/**
|
|
513
|
+
* Clone a CellDep.
|
|
514
|
+
*
|
|
515
|
+
* @returns A cloned CellDep instance.
|
|
516
|
+
*
|
|
517
|
+
* @example
|
|
518
|
+
* ```typescript
|
|
519
|
+
* const cellDep1 = cellDep0.clone();
|
|
520
|
+
* ```
|
|
521
|
+
*/
|
|
522
|
+
clone(): CellDep;
|
|
479
523
|
}
|
|
480
524
|
export declare const CellDepVec: mol.Codec<CellDepLike[], CellDep[]>;
|
|
481
525
|
/**
|
|
@@ -618,6 +662,44 @@ export declare class Transaction extends Transaction_base {
|
|
|
618
662
|
* ```
|
|
619
663
|
*/
|
|
620
664
|
copy(txLike: TransactionLike): void;
|
|
665
|
+
/**
|
|
666
|
+
* Creates a deep copy of the transaction.
|
|
667
|
+
* This method creates a new Transaction instance with all nested objects cloned,
|
|
668
|
+
* ensuring that modifications to the cloned transaction do not affect the original.
|
|
669
|
+
*
|
|
670
|
+
* @returns A new Transaction instance that is a deep copy of the current transaction.
|
|
671
|
+
*
|
|
672
|
+
* @example
|
|
673
|
+
* ```typescript
|
|
674
|
+
* const originalTx = Transaction.from({
|
|
675
|
+
* version: 0,
|
|
676
|
+
* inputs: [{ previousOutput: { txHash: "0x...", index: 0 } }],
|
|
677
|
+
* outputs: [{ capacity: 1000n, lock: lockScript }],
|
|
678
|
+
* outputsData: ["0x"],
|
|
679
|
+
* witnesses: ["0x"]
|
|
680
|
+
* });
|
|
681
|
+
*
|
|
682
|
+
* const clonedTx = originalTx.clone();
|
|
683
|
+
*
|
|
684
|
+
* // Modifications to clonedTx won't affect originalTx
|
|
685
|
+
* clonedTx.addOutput({ capacity: 2000n, lock: anotherLockScript });
|
|
686
|
+
* console.log(originalTx.outputs.length); // Still 1
|
|
687
|
+
* console.log(clonedTx.outputs.length); // Now 2
|
|
688
|
+
* ```
|
|
689
|
+
*
|
|
690
|
+
* @remarks
|
|
691
|
+
* The clone operation performs deep copying for:
|
|
692
|
+
* - Cell dependencies (cellDeps) - each CellDep is cloned
|
|
693
|
+
* - Inputs - each CellInput is cloned
|
|
694
|
+
* - Outputs - each CellOutput is cloned
|
|
695
|
+
*
|
|
696
|
+
* The following are shallow copied (references to immutable data):
|
|
697
|
+
* - Header dependencies (headerDeps) - Hex strings are immutable
|
|
698
|
+
* - Output data (outputsData) - Hex strings are immutable
|
|
699
|
+
* - Witnesses - Hex strings are immutable
|
|
700
|
+
* - Version - bigint is immutable
|
|
701
|
+
*/
|
|
702
|
+
clone(): Transaction;
|
|
621
703
|
/**
|
|
622
704
|
* Creates a Transaction instance from a TransactionLike object.
|
|
623
705
|
*
|
|
@@ -948,13 +1030,64 @@ export declare class Transaction extends Transaction_base {
|
|
|
948
1030
|
getFee(client: Client): Promise<Num>;
|
|
949
1031
|
getFeeRate(client: Client): Promise<Num>;
|
|
950
1032
|
estimateFee(feeRate: NumLike): Num;
|
|
1033
|
+
/**
|
|
1034
|
+
* Completes the transaction fee by adding inputs and handling change outputs.
|
|
1035
|
+
* This method automatically calculates the required fee based on the transaction size and fee rate,
|
|
1036
|
+
* adds necessary inputs to cover the fee, and handles change outputs through the provided change function.
|
|
1037
|
+
*
|
|
1038
|
+
* @param from - The signer to complete inputs from and prepare the transaction.
|
|
1039
|
+
* @param change - A function that handles change capacity. It receives the transaction and excess capacity,
|
|
1040
|
+
* and should return the additional capacity needed (0 if change is handled successfully,
|
|
1041
|
+
* positive number if more capacity is needed for change cell creation).
|
|
1042
|
+
* @param expectedFeeRate - The expected fee rate in shannons per 1000 bytes. If not provided,
|
|
1043
|
+
* it will be fetched from the client.
|
|
1044
|
+
* @param filter - Optional filter for selecting cells when adding inputs.
|
|
1045
|
+
* @param options - Optional configuration object.
|
|
1046
|
+
* @param options.feeRateBlockRange - Block range for fee rate calculation when expectedFeeRate is not provided.
|
|
1047
|
+
* @param options.maxFeeRate - Maximum allowed fee rate.
|
|
1048
|
+
* @param options.shouldAddInputs - Whether to add inputs automatically. Defaults to true.
|
|
1049
|
+
* @returns A promise that resolves to a tuple containing:
|
|
1050
|
+
* - The number of inputs added during the process
|
|
1051
|
+
* - A boolean indicating whether change outputs were created (true) or fee was paid without change (false)
|
|
1052
|
+
*
|
|
1053
|
+
* @throws {ErrorTransactionInsufficientCapacity} When there's not enough capacity to cover the fee.
|
|
1054
|
+
* @throws {Error} When the change function doesn't properly handle the available capacity.
|
|
1055
|
+
*
|
|
1056
|
+
* @example
|
|
1057
|
+
* ```typescript
|
|
1058
|
+
* const [addedInputs, hasChange] = await tx.completeFee(
|
|
1059
|
+
* signer,
|
|
1060
|
+
* (tx, capacity) => {
|
|
1061
|
+
* if (capacity >= 61_00000000n) { // Minimum for a change cell
|
|
1062
|
+
* tx.addOutput({ capacity, lock: changeScript });
|
|
1063
|
+
* return 0;
|
|
1064
|
+
* }
|
|
1065
|
+
* return 61_00000000n; // Need more capacity for change cell
|
|
1066
|
+
* },
|
|
1067
|
+
* 1000n // 1000 shannons per 1000 bytes
|
|
1068
|
+
* );
|
|
1069
|
+
* ```
|
|
1070
|
+
*/
|
|
951
1071
|
completeFee(from: Signer, change: (tx: Transaction, capacity: Num) => Promise<NumLike> | NumLike, expectedFeeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
|
|
952
1072
|
feeRateBlockRange?: NumLike;
|
|
953
1073
|
maxFeeRate?: NumLike;
|
|
1074
|
+
shouldAddInputs?: boolean;
|
|
1075
|
+
}): Promise<[number, boolean]>;
|
|
1076
|
+
completeFeeChangeToLock(from: Signer, change: ScriptLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
|
|
1077
|
+
feeRateBlockRange?: NumLike;
|
|
1078
|
+
maxFeeRate?: NumLike;
|
|
1079
|
+
shouldAddInputs?: boolean;
|
|
1080
|
+
}): Promise<[number, boolean]>;
|
|
1081
|
+
completeFeeBy(from: Signer, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
|
|
1082
|
+
feeRateBlockRange?: NumLike;
|
|
1083
|
+
maxFeeRate?: NumLike;
|
|
1084
|
+
shouldAddInputs?: boolean;
|
|
1085
|
+
}): Promise<[number, boolean]>;
|
|
1086
|
+
completeFeeChangeToOutput(from: Signer, index: NumLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
|
|
1087
|
+
feeRateBlockRange?: NumLike;
|
|
1088
|
+
maxFeeRate?: NumLike;
|
|
1089
|
+
shouldAddInputs?: boolean;
|
|
954
1090
|
}): Promise<[number, boolean]>;
|
|
955
|
-
completeFeeChangeToLock(from: Signer, change: ScriptLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
|
|
956
|
-
completeFeeBy(from: Signer, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
|
|
957
|
-
completeFeeChangeToOutput(from: Signer, index: NumLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
|
|
958
1091
|
}
|
|
959
1092
|
/**
|
|
960
1093
|
* Calculate Nervos DAO profit between two blocks
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
|
package/dist/ckb/transaction.js
CHANGED
|
@@ -8,7 +8,7 @@ var OutPoint_1, CellOutput_1, Since_1, CellInput_1, CellDep_1, WitnessArgs_1, Tr
|
|
|
8
8
|
import { bytesFrom } from "../bytes/index.js";
|
|
9
9
|
import { ClientBlockHeader, } from "../client/index.js";
|
|
10
10
|
import { KnownScript } from "../client/knownScript.js";
|
|
11
|
-
import { Zero, fixedPointFrom
|
|
11
|
+
import { Zero, fixedPointFrom } from "../fixedPoint/index.js";
|
|
12
12
|
import { HasherCkb, hashCkb } from "../hasher/index.js";
|
|
13
13
|
import { hexFrom } from "../hex/index.js";
|
|
14
14
|
import { mol } from "../molecule/index.js";
|
|
@@ -16,6 +16,7 @@ import { numFrom, numFromBytes, numToBytes, numToHex, } from "../num/index.js";
|
|
|
16
16
|
import { apply, reduceAsync } from "../utils/index.js";
|
|
17
17
|
import { Script, ScriptOpt } from "./script.js";
|
|
18
18
|
import { DEP_TYPE_TO_NUM, NUM_TO_DEP_TYPE } from "./transaction.advanced.js";
|
|
19
|
+
import { ErrorTransactionInsufficientCapacity, ErrorTransactionInsufficientCoin, } from "./transactionErrors.js";
|
|
19
20
|
export const DepTypeCodec = mol.Codec.from({
|
|
20
21
|
byteLength: 1,
|
|
21
22
|
encode: depTypeToBytes,
|
|
@@ -115,6 +116,34 @@ let OutPoint = OutPoint_1 = class OutPoint extends mol.Entity.Base() {
|
|
|
115
116
|
}
|
|
116
117
|
return new OutPoint_1(hexFrom(outPoint.txHash), numFrom(outPoint.index));
|
|
117
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Clone a OutPoint.
|
|
121
|
+
*
|
|
122
|
+
* @returns A cloned OutPoint instance.
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* const outPoint1 = outPoint0.clone();
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
clone() {
|
|
130
|
+
return new OutPoint_1(this.txHash, this.index);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Check if the OutPoint is equal to another OutPoint.
|
|
134
|
+
* @public
|
|
135
|
+
* @param other - The other OutPoint to compare with
|
|
136
|
+
* @returns True if the OutPoints are equal, false otherwise
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const isEqual = outPoint0.eq(outPoint1);
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
eq(other) {
|
|
144
|
+
other = OutPoint_1.from(other);
|
|
145
|
+
return this.txHash === other.txHash && this.index === other.index;
|
|
146
|
+
}
|
|
118
147
|
};
|
|
119
148
|
OutPoint = OutPoint_1 = __decorate([
|
|
120
149
|
mol.codec(mol.struct({
|
|
@@ -164,6 +193,19 @@ let CellOutput = CellOutput_1 = class CellOutput extends mol.Entity.Base() {
|
|
|
164
193
|
}
|
|
165
194
|
return new CellOutput_1(numFrom(cellOutput.capacity), Script.from(cellOutput.lock), apply(Script.from, cellOutput.type));
|
|
166
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Clone a CellOutput.
|
|
198
|
+
*
|
|
199
|
+
* @returns A cloned CellOutput instance.
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* const cellOutput1 = cellOutput0.clone();
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
clone() {
|
|
207
|
+
return new CellOutput_1(this.capacity, this.lock.clone(), this.type?.clone());
|
|
208
|
+
}
|
|
167
209
|
};
|
|
168
210
|
CellOutput = CellOutput_1 = __decorate([
|
|
169
211
|
mol.codec(mol.table({
|
|
@@ -493,11 +535,18 @@ let CellInput = CellInput_1 = class CellInput extends mol.Entity.Base() {
|
|
|
493
535
|
async getExtraCapacity(client) {
|
|
494
536
|
return (await this.getCell(client)).getDaoProfit(client);
|
|
495
537
|
}
|
|
538
|
+
/**
|
|
539
|
+
* Clone a CellInput.
|
|
540
|
+
*
|
|
541
|
+
* @returns A cloned CellInput instance.
|
|
542
|
+
*
|
|
543
|
+
* @example
|
|
544
|
+
* ```typescript
|
|
545
|
+
* const cellInput1 = cellInput0.clone();
|
|
546
|
+
* ```
|
|
547
|
+
*/
|
|
496
548
|
clone() {
|
|
497
|
-
|
|
498
|
-
cloned.cellOutput = this.cellOutput;
|
|
499
|
-
cloned.outputData = this.outputData;
|
|
500
|
-
return cloned;
|
|
549
|
+
return new CellInput_1(this.previousOutput.clone(), this.since, this.cellOutput?.clone(), this.outputData);
|
|
501
550
|
}
|
|
502
551
|
};
|
|
503
552
|
CellInput = CellInput_1 = __decorate([
|
|
@@ -525,19 +574,6 @@ let CellDep = CellDep_1 = class CellDep extends mol.Entity.Base() {
|
|
|
525
574
|
this.outPoint = outPoint;
|
|
526
575
|
this.depType = depType;
|
|
527
576
|
}
|
|
528
|
-
/**
|
|
529
|
-
* Clone a CellDep.
|
|
530
|
-
*
|
|
531
|
-
* @returns A cloned CellDep instance.
|
|
532
|
-
*
|
|
533
|
-
* @example
|
|
534
|
-
* ```typescript
|
|
535
|
-
* const cellDep1 = cellDep0.clone();
|
|
536
|
-
* ```
|
|
537
|
-
*/
|
|
538
|
-
clone() {
|
|
539
|
-
return new CellDep_1(this.outPoint.clone(), this.depType);
|
|
540
|
-
}
|
|
541
577
|
/**
|
|
542
578
|
* Creates a CellDep instance from a CellDepLike object.
|
|
543
579
|
*
|
|
@@ -558,6 +594,19 @@ let CellDep = CellDep_1 = class CellDep extends mol.Entity.Base() {
|
|
|
558
594
|
}
|
|
559
595
|
return new CellDep_1(OutPoint.from(cellDep.outPoint), depTypeFrom(cellDep.depType));
|
|
560
596
|
}
|
|
597
|
+
/**
|
|
598
|
+
* Clone a CellDep.
|
|
599
|
+
*
|
|
600
|
+
* @returns A cloned CellDep instance.
|
|
601
|
+
*
|
|
602
|
+
* @example
|
|
603
|
+
* ```typescript
|
|
604
|
+
* const cellDep1 = cellDep0.clone();
|
|
605
|
+
* ```
|
|
606
|
+
*/
|
|
607
|
+
clone() {
|
|
608
|
+
return new CellDep_1(this.outPoint.clone(), this.depType);
|
|
609
|
+
}
|
|
561
610
|
};
|
|
562
611
|
CellDep = CellDep_1 = __decorate([
|
|
563
612
|
mol.codec(mol.struct({
|
|
@@ -687,6 +736,46 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
687
736
|
this.outputsData = tx.outputsData;
|
|
688
737
|
this.witnesses = tx.witnesses;
|
|
689
738
|
}
|
|
739
|
+
/**
|
|
740
|
+
* Creates a deep copy of the transaction.
|
|
741
|
+
* This method creates a new Transaction instance with all nested objects cloned,
|
|
742
|
+
* ensuring that modifications to the cloned transaction do not affect the original.
|
|
743
|
+
*
|
|
744
|
+
* @returns A new Transaction instance that is a deep copy of the current transaction.
|
|
745
|
+
*
|
|
746
|
+
* @example
|
|
747
|
+
* ```typescript
|
|
748
|
+
* const originalTx = Transaction.from({
|
|
749
|
+
* version: 0,
|
|
750
|
+
* inputs: [{ previousOutput: { txHash: "0x...", index: 0 } }],
|
|
751
|
+
* outputs: [{ capacity: 1000n, lock: lockScript }],
|
|
752
|
+
* outputsData: ["0x"],
|
|
753
|
+
* witnesses: ["0x"]
|
|
754
|
+
* });
|
|
755
|
+
*
|
|
756
|
+
* const clonedTx = originalTx.clone();
|
|
757
|
+
*
|
|
758
|
+
* // Modifications to clonedTx won't affect originalTx
|
|
759
|
+
* clonedTx.addOutput({ capacity: 2000n, lock: anotherLockScript });
|
|
760
|
+
* console.log(originalTx.outputs.length); // Still 1
|
|
761
|
+
* console.log(clonedTx.outputs.length); // Now 2
|
|
762
|
+
* ```
|
|
763
|
+
*
|
|
764
|
+
* @remarks
|
|
765
|
+
* The clone operation performs deep copying for:
|
|
766
|
+
* - Cell dependencies (cellDeps) - each CellDep is cloned
|
|
767
|
+
* - Inputs - each CellInput is cloned
|
|
768
|
+
* - Outputs - each CellOutput is cloned
|
|
769
|
+
*
|
|
770
|
+
* The following are shallow copied (references to immutable data):
|
|
771
|
+
* - Header dependencies (headerDeps) - Hex strings are immutable
|
|
772
|
+
* - Output data (outputsData) - Hex strings are immutable
|
|
773
|
+
* - Witnesses - Hex strings are immutable
|
|
774
|
+
* - Version - bigint is immutable
|
|
775
|
+
*/
|
|
776
|
+
clone() {
|
|
777
|
+
return new Transaction_1(this.version, this.cellDeps.map((c) => c.clone()), this.headerDeps.map((h) => h), this.inputs.map((i) => i.clone()), this.outputs.map((o) => o.clone()), this.outputsData.map((o) => o), this.witnesses.map((w) => w));
|
|
778
|
+
}
|
|
690
779
|
/**
|
|
691
780
|
* Creates a Transaction instance from a TransactionLike object.
|
|
692
781
|
*
|
|
@@ -1240,7 +1329,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1240
1329
|
if (accumulated === undefined) {
|
|
1241
1330
|
return addedCount;
|
|
1242
1331
|
}
|
|
1243
|
-
throw new
|
|
1332
|
+
throw new ErrorTransactionInsufficientCapacity(expectedCapacity - accumulated);
|
|
1244
1333
|
}
|
|
1245
1334
|
async completeInputsAll(from, filter) {
|
|
1246
1335
|
const { addedCount } = await this.completeInputs(from, filter ?? {
|
|
@@ -1290,7 +1379,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1290
1379
|
if (accumulated === undefined || accumulated >= expectedBalance) {
|
|
1291
1380
|
return addedCount;
|
|
1292
1381
|
}
|
|
1293
|
-
throw new
|
|
1382
|
+
throw new ErrorTransactionInsufficientCoin(expectedBalance - accumulated, type);
|
|
1294
1383
|
}
|
|
1295
1384
|
async completeInputsAddOne(from, filter) {
|
|
1296
1385
|
const { addedCount, accumulated } = await this.completeInputs(from, filter ?? {
|
|
@@ -1320,6 +1409,44 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1320
1409
|
// + 999 then / 1000 to ceil the calculated fee
|
|
1321
1410
|
return (numFrom(txSize) * numFrom(feeRate) + numFrom(999)) / numFrom(1000);
|
|
1322
1411
|
}
|
|
1412
|
+
/**
|
|
1413
|
+
* Completes the transaction fee by adding inputs and handling change outputs.
|
|
1414
|
+
* This method automatically calculates the required fee based on the transaction size and fee rate,
|
|
1415
|
+
* adds necessary inputs to cover the fee, and handles change outputs through the provided change function.
|
|
1416
|
+
*
|
|
1417
|
+
* @param from - The signer to complete inputs from and prepare the transaction.
|
|
1418
|
+
* @param change - A function that handles change capacity. It receives the transaction and excess capacity,
|
|
1419
|
+
* and should return the additional capacity needed (0 if change is handled successfully,
|
|
1420
|
+
* positive number if more capacity is needed for change cell creation).
|
|
1421
|
+
* @param expectedFeeRate - The expected fee rate in shannons per 1000 bytes. If not provided,
|
|
1422
|
+
* it will be fetched from the client.
|
|
1423
|
+
* @param filter - Optional filter for selecting cells when adding inputs.
|
|
1424
|
+
* @param options - Optional configuration object.
|
|
1425
|
+
* @param options.feeRateBlockRange - Block range for fee rate calculation when expectedFeeRate is not provided.
|
|
1426
|
+
* @param options.maxFeeRate - Maximum allowed fee rate.
|
|
1427
|
+
* @param options.shouldAddInputs - Whether to add inputs automatically. Defaults to true.
|
|
1428
|
+
* @returns A promise that resolves to a tuple containing:
|
|
1429
|
+
* - The number of inputs added during the process
|
|
1430
|
+
* - A boolean indicating whether change outputs were created (true) or fee was paid without change (false)
|
|
1431
|
+
*
|
|
1432
|
+
* @throws {ErrorTransactionInsufficientCapacity} When there's not enough capacity to cover the fee.
|
|
1433
|
+
* @throws {Error} When the change function doesn't properly handle the available capacity.
|
|
1434
|
+
*
|
|
1435
|
+
* @example
|
|
1436
|
+
* ```typescript
|
|
1437
|
+
* const [addedInputs, hasChange] = await tx.completeFee(
|
|
1438
|
+
* signer,
|
|
1439
|
+
* (tx, capacity) => {
|
|
1440
|
+
* if (capacity >= 61_00000000n) { // Minimum for a change cell
|
|
1441
|
+
* tx.addOutput({ capacity, lock: changeScript });
|
|
1442
|
+
* return 0;
|
|
1443
|
+
* }
|
|
1444
|
+
* return 61_00000000n; // Need more capacity for change cell
|
|
1445
|
+
* },
|
|
1446
|
+
* 1000n // 1000 shannons per 1000 bytes
|
|
1447
|
+
* );
|
|
1448
|
+
* ```
|
|
1449
|
+
*/
|
|
1323
1450
|
async completeFee(from, change, expectedFeeRate, filter, options) {
|
|
1324
1451
|
const feeRate = expectedFeeRate ??
|
|
1325
1452
|
(await from.client.getFeeRate(options?.feeRateBlockRange, options));
|
|
@@ -1330,12 +1457,22 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1330
1457
|
while (true) {
|
|
1331
1458
|
const tx = this.clone();
|
|
1332
1459
|
const collected = await (async () => {
|
|
1460
|
+
if (!(options?.shouldAddInputs ?? true)) {
|
|
1461
|
+
const fee = (await tx.getFee(from.client)) - leastFee - leastExtraCapacity;
|
|
1462
|
+
if (fee < Zero) {
|
|
1463
|
+
throw new ErrorTransactionInsufficientCapacity(-fee);
|
|
1464
|
+
}
|
|
1465
|
+
return 0;
|
|
1466
|
+
}
|
|
1333
1467
|
try {
|
|
1334
1468
|
return await tx.completeInputsByCapacity(from, leastFee + leastExtraCapacity, filter);
|
|
1335
1469
|
}
|
|
1336
1470
|
catch (err) {
|
|
1337
|
-
if (
|
|
1338
|
-
|
|
1471
|
+
if (err instanceof ErrorTransactionInsufficientCapacity &&
|
|
1472
|
+
leastExtraCapacity !== Zero) {
|
|
1473
|
+
throw new ErrorTransactionInsufficientCapacity(err.amount, {
|
|
1474
|
+
isForChange: true,
|
|
1475
|
+
});
|
|
1339
1476
|
}
|
|
1340
1477
|
throw err;
|
|
1341
1478
|
}
|
|
@@ -1375,7 +1512,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1375
1512
|
leastFee = changedFee;
|
|
1376
1513
|
}
|
|
1377
1514
|
}
|
|
1378
|
-
completeFeeChangeToLock(from, change, feeRate, filter) {
|
|
1515
|
+
completeFeeChangeToLock(from, change, feeRate, filter, options) {
|
|
1379
1516
|
const script = Script.from(change);
|
|
1380
1517
|
return this.completeFee(from, (tx, capacity) => {
|
|
1381
1518
|
const changeCell = CellOutput.from({ capacity: 0, lock: script });
|
|
@@ -1386,13 +1523,13 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1386
1523
|
changeCell.capacity = capacity;
|
|
1387
1524
|
tx.addOutput(changeCell);
|
|
1388
1525
|
return 0;
|
|
1389
|
-
}, feeRate, filter);
|
|
1526
|
+
}, feeRate, filter, options);
|
|
1390
1527
|
}
|
|
1391
|
-
async completeFeeBy(from, feeRate, filter) {
|
|
1528
|
+
async completeFeeBy(from, feeRate, filter, options) {
|
|
1392
1529
|
const { script } = await from.getRecommendedAddressObj();
|
|
1393
|
-
return this.completeFeeChangeToLock(from, script, feeRate, filter);
|
|
1530
|
+
return this.completeFeeChangeToLock(from, script, feeRate, filter, options);
|
|
1394
1531
|
}
|
|
1395
|
-
completeFeeChangeToOutput(from, index, feeRate, filter) {
|
|
1532
|
+
completeFeeChangeToOutput(from, index, feeRate, filter, options) {
|
|
1396
1533
|
const change = Number(numFrom(index));
|
|
1397
1534
|
if (!this.outputs[change]) {
|
|
1398
1535
|
throw new Error("Non-existed output to change");
|
|
@@ -1400,7 +1537,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
|
|
|
1400
1537
|
return this.completeFee(from, (tx, capacity) => {
|
|
1401
1538
|
tx.outputs[change].capacity += capacity;
|
|
1402
1539
|
return 0;
|
|
1403
|
-
}, feeRate, filter);
|
|
1540
|
+
}, feeRate, filter, options);
|
|
1404
1541
|
}
|
|
1405
1542
|
};
|
|
1406
1543
|
Transaction = Transaction_1 = __decorate([
|