@ledgerhq/hw-app-btc 8.0.2-nightly.0 → 8.1.0-next.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/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +20 -2
- package/lib/createTransaction.d.ts.map +1 -1
- package/lib/createTransaction.js +28 -18
- package/lib/createTransaction.js.map +1 -1
- package/lib/serializeTransaction.d.ts.map +1 -1
- package/lib/serializeTransaction.js +15 -0
- package/lib/serializeTransaction.js.map +1 -1
- package/lib/splitTransaction.d.ts.map +1 -1
- package/lib/splitTransaction.js +12 -4
- package/lib/splitTransaction.js.map +1 -1
- package/lib-es/createTransaction.d.ts.map +1 -1
- package/lib-es/createTransaction.js +28 -18
- package/lib-es/createTransaction.js.map +1 -1
- package/lib-es/serializeTransaction.d.ts.map +1 -1
- package/lib-es/serializeTransaction.js +15 -0
- package/lib-es/serializeTransaction.js.map +1 -1
- package/lib-es/splitTransaction.d.ts.map +1 -1
- package/lib-es/splitTransaction.js +12 -4
- package/lib-es/splitTransaction.js.map +1 -1
- package/package.json +5 -5
- package/src/createTransaction.ts +29 -22
- package/src/serializeTransaction.ts +15 -1
- package/src/splitTransaction.ts +13 -8
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
@ledgerhq/hw-app-btc:build: cache hit, replaying output
|
|
1
|
+
@ledgerhq/hw-app-btc:build: cache hit, replaying output de38087a3a95709d
|
|
2
2
|
@ledgerhq/hw-app-btc:build:
|
|
3
|
-
@ledgerhq/hw-app-btc:build: > @ledgerhq/hw-app-btc@8.0.
|
|
3
|
+
@ledgerhq/hw-app-btc:build: > @ledgerhq/hw-app-btc@8.0.2 build /home/runner/work/ledger-live/ledger-live/libs/ledgerjs/packages/hw-app-btc
|
|
4
4
|
@ledgerhq/hw-app-btc:build: > tsc && tsc -m ES6 --outDir lib-es
|
|
5
5
|
@ledgerhq/hw-app-btc:build:
|
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
# @ledgerhq/hw-app-btc
|
|
2
2
|
|
|
3
|
-
## 8.0
|
|
3
|
+
## 8.1.0-next.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#836](https://github.com/LedgerHQ/ledger-live/pull/836) [`68a0b01efc`](https://github.com/LedgerHQ/ledger-live/commit/68a0b01efcfd481cb8fe71ec22a2fc7217f25ec9) Thanks [@hzheng-ledger](https://github.com/hzheng-ledger)! - Support zcash v5 format transaction
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies []:
|
|
12
|
+
- @ledgerhq/hw-transport@6.27.5-next.0
|
|
13
|
+
|
|
14
|
+
## 8.0.2
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- Updated dependencies []:
|
|
19
|
+
- @ledgerhq/hw-transport@6.27.4
|
|
20
|
+
|
|
21
|
+
## 8.0.2-next.0
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
6
24
|
|
|
7
25
|
- Updated dependencies []:
|
|
8
|
-
- @ledgerhq/hw-transport@6.27.4-
|
|
26
|
+
- @ledgerhq/hw-transport@6.27.4-next.0
|
|
9
27
|
|
|
10
28
|
## 8.0.1
|
|
11
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAC;AAY9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAW9B;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,CACX;QAAC,WAAW;QAAE,MAAM;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;KAAC,CAC5E,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC,CAAC;AACF,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAC;AAY9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAW9B;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,CACX;QAAC,WAAW;QAAE,MAAM;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;KAAC,CAC5E,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC,CAAC;AACF,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,CAmXjB"}
|
package/lib/createTransaction.js
CHANGED
|
@@ -83,7 +83,7 @@ var defaultsSignTransaction = {
|
|
|
83
83
|
};
|
|
84
84
|
function createTransaction(transport, arg) {
|
|
85
85
|
return __awaiter(this, void 0, void 0, function () {
|
|
86
|
-
var signTx, inputs, associatedKeysets, changePath, outputScriptHex, lockTime, sigHashType, segwit, initialTimestamp, additionals, expiryHeight, onDeviceStreaming, onDeviceSignatureGranted, onDeviceSignatureRequested, useTrustedInputForSegwit, a, e_1, notify, isDecred, isXST, startTime, sapling, bech32, useBip143, nullScript, nullPrevout, defaultVersion, trustedInputs, regularOutputs, signatures, publicKeys, firstRun, resuming, targetTransaction, getTrustedInputCall, outputScript, inputs_1, inputs_1_1, input, trustedInput, sequence, outputs, index, e_2_1, result_1, i, r, i, i, input, script, pseudoTX, pseudoTrustedInputs, signature, i, signatureSize, keySize, offset,
|
|
86
|
+
var signTx, inputs, associatedKeysets, changePath, outputScriptHex, lockTime, sigHashType, segwit, initialTimestamp, additionals, expiryHeight, onDeviceStreaming, onDeviceSignatureGranted, onDeviceSignatureRequested, useTrustedInputForSegwit, a, e_1, notify, isDecred, isZcash, isXST, startTime, sapling, bech32, useBip143, lockTimeBuffer, nullScript, nullPrevout, defaultVersion, trustedInputs, regularOutputs, signatures, publicKeys, firstRun, resuming, targetTransaction, getTrustedInputCall, outputScript, inputs_1, inputs_1_1, input, trustedInput, sequence, outputs, index, e_2_1, result_1, i, r, i, i, input, script, pseudoTX, pseudoTrustedInputs, signature, i, signatureSize, keySize, offset, result, witness, i, tmpScriptData, decredWitness_1;
|
|
87
87
|
var e_2, _a;
|
|
88
88
|
return __generator(this, function (_b) {
|
|
89
89
|
switch (_b.label) {
|
|
@@ -124,6 +124,7 @@ function createTransaction(transport, arg) {
|
|
|
124
124
|
});
|
|
125
125
|
};
|
|
126
126
|
isDecred = additionals.includes("decred");
|
|
127
|
+
isZcash = additionals.includes("zcash");
|
|
127
128
|
isXST = additionals.includes("stealthcoin");
|
|
128
129
|
startTime = Date.now();
|
|
129
130
|
sapling = additionals.includes("sapling");
|
|
@@ -134,11 +135,13 @@ function createTransaction(transport, arg) {
|
|
|
134
135
|
additionals.includes("gold") ||
|
|
135
136
|
additionals.includes("bip143"))) ||
|
|
136
137
|
(!!expiryHeight && !isDecred);
|
|
138
|
+
lockTimeBuffer = Buffer.alloc(4);
|
|
139
|
+
lockTimeBuffer.writeUInt32LE(lockTime, 0);
|
|
137
140
|
nullScript = Buffer.alloc(0);
|
|
138
141
|
nullPrevout = Buffer.alloc(0);
|
|
139
142
|
defaultVersion = Buffer.alloc(4);
|
|
140
143
|
!!expiryHeight && !isDecred
|
|
141
|
-
? defaultVersion.writeUInt32LE(sapling ? 0x80000004 : 0x80000003, 0)
|
|
144
|
+
? defaultVersion.writeUInt32LE(isZcash ? 0x80000005 : sapling ? 0x80000004 : 0x80000003, 0) // v5 format for zcash refer to https://zips.z.cash/zip-0225
|
|
142
145
|
: isXST
|
|
143
146
|
? defaultVersion.writeUInt32LE(2, 0)
|
|
144
147
|
: defaultVersion.writeUInt32LE(1, 0);
|
|
@@ -188,7 +191,13 @@ function createTransaction(transport, arg) {
|
|
|
188
191
|
regularOutputs.push(outputs[index]);
|
|
189
192
|
}
|
|
190
193
|
if (expiryHeight && !isDecred) {
|
|
191
|
-
targetTransaction.nVersionGroupId = Buffer.from(
|
|
194
|
+
targetTransaction.nVersionGroupId = Buffer.from(
|
|
195
|
+
// nVersionGroupId is 0x26A7270A for zcash from https://z.cash/upgrade/nu5/
|
|
196
|
+
isZcash
|
|
197
|
+
? [0x0a, 0x27, 0xa7, 0x26]
|
|
198
|
+
: sapling
|
|
199
|
+
? [0x85, 0x20, 0x2f, 0x89]
|
|
200
|
+
: [0x70, 0x82, 0xc4, 0x03]);
|
|
192
201
|
targetTransaction.nExpiryHeight = expiryHeight;
|
|
193
202
|
// For sapling : valueBalance (8), nShieldedSpend (1), nShieldedOutput (1), nJoinSplit (1)
|
|
194
203
|
// Overwinter : use nJoinSplit (1)
|
|
@@ -215,13 +224,13 @@ function createTransaction(transport, arg) {
|
|
|
215
224
|
finally { if (e_2) throw e_2.error; }
|
|
216
225
|
return [7 /*endfinally*/];
|
|
217
226
|
case 13:
|
|
218
|
-
targetTransaction.inputs = inputs.map(function (input) {
|
|
227
|
+
targetTransaction.inputs = inputs.map(function (input, idx) {
|
|
219
228
|
var sequence = Buffer.alloc(4);
|
|
220
229
|
sequence.writeUInt32LE(input.length >= 4 && typeof input[3] === "number"
|
|
221
230
|
? input[3]
|
|
222
231
|
: constants_1.DEFAULT_SEQUENCE, 0);
|
|
223
232
|
return {
|
|
224
|
-
script: nullScript,
|
|
233
|
+
script: isZcash ? regularOutputs[idx].script : nullScript,
|
|
225
234
|
prevout: nullPrevout,
|
|
226
235
|
sequence: sequence
|
|
227
236
|
};
|
|
@@ -356,8 +365,7 @@ function createTransaction(transport, arg) {
|
|
|
356
365
|
offset = useBip143 && !useTrustedInputForSegwit ? 0 : 4;
|
|
357
366
|
targetTransaction.inputs[i].prevout = trustedInputs[i].value.slice(offset, offset + 0x24);
|
|
358
367
|
}
|
|
359
|
-
|
|
360
|
-
lockTimeBuffer.writeUInt32LE(lockTime, 0);
|
|
368
|
+
targetTransaction.locktime = lockTimeBuffer;
|
|
361
369
|
result = Buffer.concat([
|
|
362
370
|
(0, serializeTransaction_1.serializeTransaction)(targetTransaction, false, targetTransaction.timestamp, additionals),
|
|
363
371
|
outputScript,
|
|
@@ -376,17 +384,16 @@ function createTransaction(transport, arg) {
|
|
|
376
384
|
}
|
|
377
385
|
result = Buffer.concat([result, witness]);
|
|
378
386
|
}
|
|
379
|
-
//
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
]);
|
|
387
|
+
// from to https://zips.z.cash/zip-0225, zcash is different with other coins, the lock_time and nExpiryHeight fields are before the inputs and outputs
|
|
388
|
+
if (!isZcash) {
|
|
389
|
+
result = Buffer.concat([result, lockTimeBuffer]);
|
|
390
|
+
if (expiryHeight) {
|
|
391
|
+
result = Buffer.concat([
|
|
392
|
+
result,
|
|
393
|
+
targetTransaction.nExpiryHeight || Buffer.alloc(0),
|
|
394
|
+
targetTransaction.extraData || Buffer.alloc(0),
|
|
395
|
+
]);
|
|
396
|
+
}
|
|
390
397
|
}
|
|
391
398
|
if (isDecred) {
|
|
392
399
|
decredWitness_1 = Buffer.from([targetTransaction.inputs.length]);
|
|
@@ -402,6 +409,9 @@ function createTransaction(transport, arg) {
|
|
|
402
409
|
});
|
|
403
410
|
result = Buffer.concat([result, decredWitness_1]);
|
|
404
411
|
}
|
|
412
|
+
if (isZcash) {
|
|
413
|
+
result = Buffer.concat([result, Buffer.from([0x00, 0x00, 0x00])]);
|
|
414
|
+
}
|
|
405
415
|
return [2 /*return*/, result.toString("hex")];
|
|
406
416
|
}
|
|
407
417
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAqC;AAErC,iDAAgD;AAChD,2DAA0D;AAE1D,qDAAoD;AACpD,2FAA0F;AAC1F,+DAA8D;AAC9D,iEAAgE;AAChE,yDAAwD;AACxD,qDAAoD;AACpD,iDAA8E;AAC9E,uDAAsD;AAEtD,yCASqB;AACrB,mFAAkF;AAElF,IAAM,uBAAuB,GAAG;IAC9B,QAAQ,EAAE,4BAAgB;IAC1B,WAAW,EAAE,uBAAW;IACxB,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,EAAE;IACf,iBAAiB,EAAE,UAAC,EAAE,IAAM,CAAC;IAC7B,wBAAwB,EAAE,cAAO,CAAC;IAClC,0BAA0B,EAAE,cAAO,CAAC;CACrC,CAAC;AA2BF,SAAsB,iBAAiB,CACrC,SAAoB,EACpB,GAAyB;;;;;;;oBAEnB,MAAM,yBAAQ,uBAAuB,GAAK,GAAG,CAAE,CAAC;oBAEpD,MAAM,GAaJ,MAAM,OAbF,EACN,iBAAiB,GAYf,MAAM,kBAZS,EACjB,UAAU,GAWR,MAAM,WAXE,EACV,eAAe,GAUb,MAAM,gBAVO,EACf,QAAQ,GASN,MAAM,SATA,EACR,WAAW,GAQT,MAAM,YARG,EACX,MAAM,GAOJ,MAAM,OAPF,EACN,gBAAgB,GAMd,MAAM,iBANQ,EAChB,WAAW,GAKT,MAAM,YALG,EACX,YAAY,GAIV,MAAM,aAJI,EACZ,iBAAiB,GAGf,MAAM,kBAHS,EACjB,wBAAwB,GAEtB,MAAM,yBAFgB,EACxB,0BAA0B,GACxB,MAAM,2BADkB,CACjB;oBACP,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;yBAE3D,CAAA,wBAAwB,KAAK,SAAS,CAAA,EAAtC,wBAAsC;;;;oBAE5B,qBAAM,IAAA,mCAAgB,EAAC,SAAS,CAAC,EAAA;;oBAArC,CAAC,GAAG,SAAiC;oBAC3C,wBAAwB,GAAG,IAAA,+DAA8B,EAAC,CAAC,CAAC,CAAC;;;;oBAE7D,IAAI,GAAC,CAAC,UAAU,KAAK,MAAM,EAAE;wBAC3B,wBAAwB,GAAG,KAAK,CAAC;qBAClC;yBAAM;wBACL,MAAM,GAAC,CAAC;qBACT;;;oBAQC,MAAM,GAAG,UAAC,IAAI,EAAE,CAAC;wBACb,IAAA,MAAM,GAAK,MAAM,OAAX,CAAY;wBAC1B,IAAI,MAAM,GAAG,CAAC;4BAAE,OAAO,CAAC,oFAAoF;wBAE5G,IAAM,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;wBAChC,IAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC;wBACzB,IAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;wBAC/B,iBAAiB,CAAC;4BAChB,QAAQ,UAAA;4BACR,KAAK,OAAA;4BACL,KAAK,OAAA;yBACN,CAAC,CAAC;oBACL,CAAC,CAAC;oBAEI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC1C,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACxC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC5C,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC1C,MAAM,GAAG,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAClD,SAAS,GACb,MAAM;wBACN,CAAC,CAAC,CAAC,WAAW;4BACZ,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC;gCAC1B,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAC5B,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACpC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAG1B,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvC,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACpC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACvC,CAAC,CAAC,YAAY,IAAI,CAAC,QAAQ;wBACzB,CAAC,CAAC,cAAc,CAAC,aAAa,CAC1B,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EACxD,CAAC,CACF,CAAC,4DAA4D;wBAChE,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;4BACpC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEjC,aAAa,GAAe,EAAE,CAAC;oBAC/B,cAAc,GAA6B,EAAE,CAAC;oBAC9C,UAAU,GAAa,EAAE,CAAC;oBAC1B,UAAU,GAAa,EAAE,CAAC;oBAC5B,QAAQ,GAAG,IAAI,CAAC;oBACd,QAAQ,GAAG,KAAK,CAAC;oBACjB,iBAAiB,GAAgB;wBACrC,MAAM,EAAE,EAAE;wBACV,OAAO,EAAE,cAAc;wBACvB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;qBAC3B,CAAC;oBACI,mBAAmB,GACvB,SAAS,IAAI,CAAC,wBAAwB;wBACpC,CAAC,CAAC,6CAAqB;wBACvB,CAAC,CAAC,iCAAe,CAAC;oBAChB,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;oBACzD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;;;oBAEO,WAAA,SAAA,MAAM,CAAA;;;;oBAAf,KAAK;yBACV,CAAC,QAAQ,EAAT,wBAAS;oBACU,qBAAM,mBAAmB,CAC5C,SAAS,EACT,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,EACR,WAAW,CACZ,EAAA;;oBALK,YAAY,GAAG,SAKpB;oBACD,IAAA,UAAG,EAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAAC,CAAC;oBACxC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,QAAQ,CAAC,aAAa,CACpB,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAC/C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;wBACV,CAAC,CAAC,4BAAgB,EACpB,CAAC,CACF,CAAC;oBACF,aAAa,CAAC,IAAI,CAAC;wBACjB,YAAY,EAAE,IAAI;wBAClB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;wBACvC,QAAQ,UAAA;qBACT,CAAC,CAAC;;;oBAGG,OAAO,GAAK,KAAK,CAAC,CAAC,CAAC,QAAb,CAAc;oBACvB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAEvB,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1C,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrC;oBAED,IAAI,YAAY,IAAI,CAAC,QAAQ,EAAE;wBAC7B,iBAAiB,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI;wBAC7C,2EAA2E;wBAC3E,OAAO;4BACL,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;4BAC1B,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;gCAC1B,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAC7B,CAAC;wBACF,iBAAiB,CAAC,aAAa,GAAG,YAAY,CAAC;wBAC/C,0FAA0F;wBAC1F,kCAAkC;wBAClC,iBAAiB,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CACvC,OAAO;4BACL,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;4BACpE,CAAC,CAAC,CAAC,IAAI,CAAC,CACX,CAAC;qBACH;yBAAM,IAAI,QAAQ,EAAE;wBACnB,iBAAiB,CAAC,aAAa,GAAG,YAAY,CAAC;qBAChD;;;;;;;;;;;;;;;;;oBAGH,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,GAAG;wBAC/C,IAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACjC,QAAQ,CAAC,aAAa,CACpB,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;4BAC/C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;4BACV,CAAC,CAAC,4BAAgB,EACpB,CAAC,CACF,CAAC;wBACF,OAAO;4BACL,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;4BACzD,OAAO,EAAE,WAAW;4BACpB,QAAQ,UAAA;yBACT,CAAC;oBACJ,CAAC,CAAC,CAAC;yBAEC,CAAC,QAAQ,EAAT,yBAAS;oBAEL,WAIA,EAAE,CAAC;oBAEA,CAAC,GAAG,CAAC;;;yBAAE,CAAA,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;oBACrB,qBAAM,IAAA,uCAAkB,EAAC,SAAS,EAAE;4BAC5C,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;yBAC3B,CAAC,EAAA;;oBAFI,CAAC,GAAG,SAER;oBACF,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjB,QAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;oBALkB,CAAC,EAAE,CAAA;;;oBAQtC,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,UAAU,CAAC,IAAI,CACb,IAAA,qCAAiB,EAAC,MAAM,CAAC,IAAI,CAAC,QAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAC3D,CAAC;qBACH;;;oBAGH,IAAI,gBAAgB,KAAK,SAAS,EAAE;wBAClC,iBAAiB,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC9C,iBAAiB,CAAC,SAAS,CAAC,aAAa,CACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,EAC9D,CAAC,CACF,CAAC;qBACH;oBAED,0BAA0B,EAAE,CAAC;yBAEzB,SAAS,EAAT,yBAAS;oBACX,mCAAmC;oBACnC,qBAAM,IAAA,uEAAkC,EACtC,SAAS,EACT,IAAI,EACJ,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,CAAC,CAAC,YAAY,EACd,WAAW,EACX,wBAAwB,CACzB,EAAA;;oBAVD,mCAAmC;oBACnC,SASC,CAAC;yBAEE,CAAA,CAAC,QAAQ,IAAI,UAAU,CAAA,EAAvB,yBAAuB;oBACzB,qBAAM,IAAA,2CAA2B,EAAC,SAAS,EAAE,UAAU,CAAC,EAAA;;oBAAxD,SAAwD,CAAC;;yBAG3D,qBAAM,IAAA,8BAAc,EAAC,SAAS,EAAE,YAAY,CAAC,EAAA;;oBAA7C,SAA6C,CAAC;;;yBAG5C,CAAA,CAAC,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAA,EAA3B,yBAA2B;oBAC7B,qBAAM,IAAA,iCAAe,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,uBAAW,EAAE,YAAY,CAAC,EAAA;;oBAAzE,SAAyE,CAAC;;;oBAInE,CAAC,GAAG,CAAC;;;yBAAE,CAAA,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;oBACzB,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBAClB,MAAM,GACV,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;wBACnD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;wBAC9B,CAAC,CAAC,CAAC,MAAM;4BACT,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM;4BAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gCACZ,MAAM,CAAC,IAAI,CAAC,CAAC,kBAAM,EAAE,sBAAU,EAAE,qBAAS,CAAC,CAAC;gCAC5C,IAAA,6BAAa,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gCAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,0BAAc,EAAE,uBAAW,CAAC,CAAC;6BAC3C,CAAC,CAAC;oBACH,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;oBAChD,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAE3E,IAAI,SAAS,EAAE;wBACb,QAAQ,CAAC,MAAM,GAAG,uBAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAE,MAAM,QAAA,IAAG,CAAC;qBACvD;yBAAM;wBACL,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;qBACpC;oBAED,qBAAM,IAAA,uEAAkC,EACtC,SAAS,EACT,CAAC,SAAS,IAAI,QAAQ,EACtB,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,CAAC,CAAC,YAAY,IAAI,CAAC,QAAQ,EAC3B,WAAW,EACX,wBAAwB,CACzB,EAAA;;oBATD,SASC,CAAC;yBAEE,CAAC,SAAS,EAAV,yBAAU;yBACR,CAAA,CAAC,QAAQ,IAAI,UAAU,CAAA,EAAvB,yBAAuB;oBACzB,qBAAM,IAAA,2CAA2B,EAAC,SAAS,EAAE,UAAU,CAAC,EAAA;;oBAAxD,SAAwD,CAAC;;yBAG3D,qBAAM,IAAA,8BAAc,EAAC,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,EAAA;;oBAA1D,SAA0D,CAAC;;;oBAG7D,IAAI,QAAQ,EAAE;wBACZ,wBAAwB,EAAE,CAAC;wBAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;qBACd;oBAEiB,qBAAM,IAAA,iCAAe,EACrC,SAAS,EACT,iBAAiB,CAAC,CAAC,CAAC,EACpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,CACZ,EAAA;;oBAPK,SAAS,GAAG,SAOjB;oBACD,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjB,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;oBAEhD,IAAI,QAAQ,EAAE;wBACZ,QAAQ,GAAG,KAAK,CAAC;qBAClB;;;oBA3DgC,CAAC,EAAE,CAAA;;;oBA8DtC,mCAAmC;oBACnC,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,IAAI,MAAM,EAAE;4BACV,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAE5C,IAAI,CAAC,MAAM,EAAE;gCACX,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oCACjD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;oCAC5B,IAAA,6BAAa,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iCAC7B,CAAC,CAAC;6BACJ;yBACF;6BAAM;4BACC,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAChC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAChC,aAAa,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BACxC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BAClC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gCACjD,aAAa;gCACb,UAAU,CAAC,CAAC,CAAC;gCACb,OAAO;gCACP,UAAU,CAAC,CAAC,CAAC;6BACd,CAAC,CAAC;yBACJ;wBAEK,MAAM,GAAG,SAAS,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9D,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAChE,MAAM,EACN,MAAM,GAAG,IAAI,CACd,CAAC;qBACH;oBACD,iBAAiB,CAAC,QAAQ,GAAG,cAAc,CAAC;oBACxC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;wBACzB,IAAA,2CAAoB,EAClB,iBAAiB,EACjB,KAAK,EACL,iBAAiB,CAAC,SAAS,EAC3B,WAAW,CACZ;wBACD,YAAY;qBACb,CAAC,CAAC;oBAEH,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE;wBACnB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAE9B,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAChC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gCAClC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gCACxB,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gCACnC,UAAU,CAAC,CAAC,CAAC;gCACb,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gCACnC,UAAU,CAAC,CAAC,CAAC;6BACd,CAAC,CAAC;4BACH,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;yBACnD;wBAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;qBAC3C;oBAED,sJAAsJ;oBACtJ,IAAI,CAAC,OAAO,EAAE;wBACZ,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;wBACjD,IAAI,YAAY,EAAE;4BAChB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gCACrB,MAAM;gCACN,iBAAiB,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gCAClD,iBAAiB,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;6BAC/C,CAAC,CAAC;yBACJ;qBACF;oBACD,IAAI,QAAQ,EAAE;wBACR,kBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnE,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,UAAU;4BAC/B,eAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gCAC5B,eAAa;gCACb,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gCAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gCACrC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gCACrC,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCACjE,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM;6BAC5C,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,eAAa,CAAC,CAAC,CAAC;qBACjD;oBACD,IAAI,OAAO,EAAE;wBACX,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnE;oBACD,sBAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC;;;;CAC/B;AAtXD,8CAsXC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeTransaction.d.ts","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;IAII;AACJ,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAgB5E;AACD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,OAAO,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,EAAO,
|
|
1
|
+
{"version":3,"file":"serializeTransaction.d.ts","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;IAII;AACJ,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAgB5E;AACD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,OAAO,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,EAAO,UA8D3B"}
|
|
@@ -27,6 +27,7 @@ exports.serializeTransactionOutputs = serializeTransactionOutputs;
|
|
|
27
27
|
function serializeTransaction(transaction, skipWitness, timestamp, additionals) {
|
|
28
28
|
if (additionals === void 0) { additionals = []; }
|
|
29
29
|
var isDecred = additionals.includes("decred");
|
|
30
|
+
var isZcash = additionals.includes("zcash");
|
|
30
31
|
var isBech32 = additionals.includes("bech32");
|
|
31
32
|
var inputBuffer = Buffer.alloc(0);
|
|
32
33
|
var useWitness = typeof transaction["witness"] != "undefined" && !skipWitness;
|
|
@@ -58,6 +59,20 @@ function serializeTransaction(transaction, skipWitness, timestamp, additionals)
|
|
|
58
59
|
transaction.extraData || Buffer.alloc(0),
|
|
59
60
|
]);
|
|
60
61
|
}
|
|
62
|
+
// from to https://zips.z.cash/zip-0225, zcash is different with other coins, the lock_time and nExpiryHeight fields are before the inputs and outputs
|
|
63
|
+
if (isZcash) {
|
|
64
|
+
return Buffer.concat([
|
|
65
|
+
transaction.version,
|
|
66
|
+
transaction.nVersionGroupId || Buffer.alloc(0),
|
|
67
|
+
Buffer.from([0xb4, 0xd0, 0xd6, 0xc2]),
|
|
68
|
+
transaction.locktime || Buffer.from([0x00, 0x00, 0x00, 0x00]),
|
|
69
|
+
transaction.nExpiryHeight || Buffer.from([0x00, 0x00, 0x00, 0x00]),
|
|
70
|
+
useWitness ? Buffer.from("0001", "hex") : Buffer.alloc(0),
|
|
71
|
+
(0, varint_1.createVarint)(transaction.inputs.length),
|
|
72
|
+
inputBuffer,
|
|
73
|
+
outputBuffer,
|
|
74
|
+
]);
|
|
75
|
+
}
|
|
61
76
|
return Buffer.concat([
|
|
62
77
|
transaction.version,
|
|
63
78
|
timestamp ? timestamp : Buffer.alloc(0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":";;;AACA,mCAAwC;AAExC;;;;IAII;AACJ,SAAgB,2BAA2B,CAAC,EAAwB;QAAtB,OAAO,aAAA;IACnD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,IAAA,qBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YACrB,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,YAAY;gBACZ,MAAM,CAAC,MAAM;gBACb,IAAA,qBAAY,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,MAAM,CAAC,MAAM;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAhBD,kEAgBC;AACD,SAAgB,oBAAoB,CAClC,WAAwB,EACxB,WAAoB,EACpB,SAAkB,EAClB,WAA0B;IAA1B,4BAAA,EAAA,gBAA0B;IAE1B,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,IAAM,UAAU,GACd,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC;IAC/D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QAC/B,WAAW;YACT,QAAQ,IAAI,QAAQ;gBAClB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACZ,WAAW;oBACX,KAAK,CAAC,OAAO;oBACb,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,KAAK,CAAC,QAAQ;iBACf,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACZ,WAAW;oBACX,KAAK,CAAC,OAAO;oBACb,IAAA,qBAAY,EAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;oBACjC,KAAK,CAAC,MAAM;oBACZ,KAAK,CAAC,QAAQ;iBACf,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,IAAI,YAAY,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAE5D,IACE,OAAO,WAAW,CAAC,OAAO,KAAK,WAAW;QAC1C,OAAO,WAAW,CAAC,QAAQ,KAAK,WAAW,EAC3C;QACA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,CAAC,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,WAAW,CAAC,QAAQ;YACpB,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC,CAAC,CAAC;KACJ;
|
|
1
|
+
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitTransaction.d.ts","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,SAAS,CAAC;AAGhF,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW,
|
|
1
|
+
{"version":3,"file":"splitTransaction.d.ts","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,SAAS,CAAC;AAGhF,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW,CA+Jb"}
|
package/lib/splitTransaction.js
CHANGED
|
@@ -17,12 +17,16 @@ function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp, hasEx
|
|
|
17
17
|
var nExpiryHeight = Buffer.alloc(0);
|
|
18
18
|
var nVersionGroupId = Buffer.alloc(0);
|
|
19
19
|
var extraData = Buffer.alloc(0);
|
|
20
|
+
var witnessScript, locktime;
|
|
20
21
|
var isDecred = additionals.includes("decred");
|
|
21
22
|
var isZencash = additionals.includes("zencash");
|
|
23
|
+
var isZcash = additionals.includes("zcash");
|
|
22
24
|
var transaction = Buffer.from(transactionHex, "hex");
|
|
23
25
|
var version = transaction.slice(offset, offset + 4);
|
|
24
26
|
var overwinter = version.equals(Buffer.from([0x03, 0x00, 0x00, 0x80])) ||
|
|
25
|
-
version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80]))
|
|
27
|
+
version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80])) ||
|
|
28
|
+
version.equals(Buffer.from([0x05, 0x00, 0x00, 0x80]));
|
|
29
|
+
var isZcashv5 = isZcash && version.equals(Buffer.from([0x05, 0x00, 0x00, 0x80]));
|
|
26
30
|
offset += 4;
|
|
27
31
|
if (!hasTimestamp &&
|
|
28
32
|
isSegwitSupported &&
|
|
@@ -40,6 +44,11 @@ function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp, hasEx
|
|
|
40
44
|
nVersionGroupId = transaction.slice(offset, 4 + offset);
|
|
41
45
|
offset += 4;
|
|
42
46
|
}
|
|
47
|
+
if (isZcashv5) {
|
|
48
|
+
locktime = transaction.slice(offset + 4, offset + 8);
|
|
49
|
+
nExpiryHeight = transaction.slice(offset + 8, offset + 12);
|
|
50
|
+
offset += 12;
|
|
51
|
+
}
|
|
43
52
|
var varint = (0, varint_1.getVarint)(transaction, offset);
|
|
44
53
|
var numberInputs = varint[0];
|
|
45
54
|
offset += varint[1];
|
|
@@ -88,16 +97,15 @@ function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp, hasEx
|
|
|
88
97
|
script: script
|
|
89
98
|
});
|
|
90
99
|
}
|
|
91
|
-
var witnessScript, locktime;
|
|
92
100
|
if (witness) {
|
|
93
101
|
witnessScript = transaction.slice(offset, -4);
|
|
94
102
|
locktime = transaction.slice(transaction.length - 4);
|
|
95
103
|
}
|
|
96
|
-
else {
|
|
104
|
+
else if (!isZcashv5) {
|
|
97
105
|
locktime = transaction.slice(offset, offset + 4);
|
|
98
106
|
}
|
|
99
107
|
offset += 4;
|
|
100
|
-
if (overwinter || isDecred) {
|
|
108
|
+
if ((overwinter || isDecred) && !isZcashv5) {
|
|
101
109
|
nExpiryHeight = transaction.slice(offset, offset + 4);
|
|
102
110
|
offset += 4;
|
|
103
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AAErC,mCAAqC;AACrC,iCAAiD;AACjD,SAAgB,gBAAgB,CAC9B,cAAsB,EACtB,iBAAqD,EACrD,YAAoB,EACpB,YAAoB,EACpB,WAA+B;IAH/B,kCAAA,EAAA,yBAAqD;IACrD,6BAAA,EAAA,oBAAoB;IACpB,6BAAA,EAAA,oBAAoB;IACpB,4BAAA,EAAA,gBAA+B;IAE/B,IAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,IAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,IAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACvD,IAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,IAAM,UAAU,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,CAAC,CAAC;IACZ,IACE,CAAC,YAAY;QACb,iBAAiB;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QAC7B,CAAC,SAAS,EACV;QACA,MAAM,IAAI,CAAC,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,YAAY,EAAE;QAChB,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,CAAC;KACb;IAED,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,CAAC;KACb;
|
|
1
|
+
{"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAC;AAY9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAW9B;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,CACX;QAAC,WAAW;QAAE,MAAM;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;KAAC,CAC5E,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC,CAAC;AACF,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"createTransaction.d.ts","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,SAAS,CAAC;AAY9D,YAAY,EAAE,aAAa,EAAE,CAAC;AAW9B;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IACjC,MAAM,EAAE,KAAK,CACX;QAAC,WAAW;QAAE,MAAM;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;QAAE,MAAM,GAAG,IAAI,GAAG,SAAS;KAAC,CAC5E,CAAC;IACF,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,IAAI,CAAC;IACX,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvC,CAAC;AACF,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC,CAmXjB"}
|
|
@@ -80,7 +80,7 @@ var defaultsSignTransaction = {
|
|
|
80
80
|
};
|
|
81
81
|
export function createTransaction(transport, arg) {
|
|
82
82
|
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
-
var signTx, inputs, associatedKeysets, changePath, outputScriptHex, lockTime, sigHashType, segwit, initialTimestamp, additionals, expiryHeight, onDeviceStreaming, onDeviceSignatureGranted, onDeviceSignatureRequested, useTrustedInputForSegwit, a, e_1, notify, isDecred, isXST, startTime, sapling, bech32, useBip143, nullScript, nullPrevout, defaultVersion, trustedInputs, regularOutputs, signatures, publicKeys, firstRun, resuming, targetTransaction, getTrustedInputCall, outputScript, inputs_1, inputs_1_1, input, trustedInput, sequence, outputs, index, e_2_1, result_1, i, r, i, i, input, script, pseudoTX, pseudoTrustedInputs, signature, i, signatureSize, keySize, offset,
|
|
83
|
+
var signTx, inputs, associatedKeysets, changePath, outputScriptHex, lockTime, sigHashType, segwit, initialTimestamp, additionals, expiryHeight, onDeviceStreaming, onDeviceSignatureGranted, onDeviceSignatureRequested, useTrustedInputForSegwit, a, e_1, notify, isDecred, isZcash, isXST, startTime, sapling, bech32, useBip143, lockTimeBuffer, nullScript, nullPrevout, defaultVersion, trustedInputs, regularOutputs, signatures, publicKeys, firstRun, resuming, targetTransaction, getTrustedInputCall, outputScript, inputs_1, inputs_1_1, input, trustedInput, sequence, outputs, index, e_2_1, result_1, i, r, i, i, input, script, pseudoTX, pseudoTrustedInputs, signature, i, signatureSize, keySize, offset, result, witness, i, tmpScriptData, decredWitness_1;
|
|
84
84
|
var e_2, _a;
|
|
85
85
|
return __generator(this, function (_b) {
|
|
86
86
|
switch (_b.label) {
|
|
@@ -121,6 +121,7 @@ export function createTransaction(transport, arg) {
|
|
|
121
121
|
});
|
|
122
122
|
};
|
|
123
123
|
isDecred = additionals.includes("decred");
|
|
124
|
+
isZcash = additionals.includes("zcash");
|
|
124
125
|
isXST = additionals.includes("stealthcoin");
|
|
125
126
|
startTime = Date.now();
|
|
126
127
|
sapling = additionals.includes("sapling");
|
|
@@ -131,11 +132,13 @@ export function createTransaction(transport, arg) {
|
|
|
131
132
|
additionals.includes("gold") ||
|
|
132
133
|
additionals.includes("bip143"))) ||
|
|
133
134
|
(!!expiryHeight && !isDecred);
|
|
135
|
+
lockTimeBuffer = Buffer.alloc(4);
|
|
136
|
+
lockTimeBuffer.writeUInt32LE(lockTime, 0);
|
|
134
137
|
nullScript = Buffer.alloc(0);
|
|
135
138
|
nullPrevout = Buffer.alloc(0);
|
|
136
139
|
defaultVersion = Buffer.alloc(4);
|
|
137
140
|
!!expiryHeight && !isDecred
|
|
138
|
-
? defaultVersion.writeUInt32LE(sapling ? 0x80000004 : 0x80000003, 0)
|
|
141
|
+
? defaultVersion.writeUInt32LE(isZcash ? 0x80000005 : sapling ? 0x80000004 : 0x80000003, 0) // v5 format for zcash refer to https://zips.z.cash/zip-0225
|
|
139
142
|
: isXST
|
|
140
143
|
? defaultVersion.writeUInt32LE(2, 0)
|
|
141
144
|
: defaultVersion.writeUInt32LE(1, 0);
|
|
@@ -185,7 +188,13 @@ export function createTransaction(transport, arg) {
|
|
|
185
188
|
regularOutputs.push(outputs[index]);
|
|
186
189
|
}
|
|
187
190
|
if (expiryHeight && !isDecred) {
|
|
188
|
-
targetTransaction.nVersionGroupId = Buffer.from(
|
|
191
|
+
targetTransaction.nVersionGroupId = Buffer.from(
|
|
192
|
+
// nVersionGroupId is 0x26A7270A for zcash from https://z.cash/upgrade/nu5/
|
|
193
|
+
isZcash
|
|
194
|
+
? [0x0a, 0x27, 0xa7, 0x26]
|
|
195
|
+
: sapling
|
|
196
|
+
? [0x85, 0x20, 0x2f, 0x89]
|
|
197
|
+
: [0x70, 0x82, 0xc4, 0x03]);
|
|
189
198
|
targetTransaction.nExpiryHeight = expiryHeight;
|
|
190
199
|
// For sapling : valueBalance (8), nShieldedSpend (1), nShieldedOutput (1), nJoinSplit (1)
|
|
191
200
|
// Overwinter : use nJoinSplit (1)
|
|
@@ -212,13 +221,13 @@ export function createTransaction(transport, arg) {
|
|
|
212
221
|
finally { if (e_2) throw e_2.error; }
|
|
213
222
|
return [7 /*endfinally*/];
|
|
214
223
|
case 13:
|
|
215
|
-
targetTransaction.inputs = inputs.map(function (input) {
|
|
224
|
+
targetTransaction.inputs = inputs.map(function (input, idx) {
|
|
216
225
|
var sequence = Buffer.alloc(4);
|
|
217
226
|
sequence.writeUInt32LE(input.length >= 4 && typeof input[3] === "number"
|
|
218
227
|
? input[3]
|
|
219
228
|
: DEFAULT_SEQUENCE, 0);
|
|
220
229
|
return {
|
|
221
|
-
script: nullScript,
|
|
230
|
+
script: isZcash ? regularOutputs[idx].script : nullScript,
|
|
222
231
|
prevout: nullPrevout,
|
|
223
232
|
sequence: sequence
|
|
224
233
|
};
|
|
@@ -353,8 +362,7 @@ export function createTransaction(transport, arg) {
|
|
|
353
362
|
offset = useBip143 && !useTrustedInputForSegwit ? 0 : 4;
|
|
354
363
|
targetTransaction.inputs[i].prevout = trustedInputs[i].value.slice(offset, offset + 0x24);
|
|
355
364
|
}
|
|
356
|
-
|
|
357
|
-
lockTimeBuffer.writeUInt32LE(lockTime, 0);
|
|
365
|
+
targetTransaction.locktime = lockTimeBuffer;
|
|
358
366
|
result = Buffer.concat([
|
|
359
367
|
serializeTransaction(targetTransaction, false, targetTransaction.timestamp, additionals),
|
|
360
368
|
outputScript,
|
|
@@ -373,17 +381,16 @@ export function createTransaction(transport, arg) {
|
|
|
373
381
|
}
|
|
374
382
|
result = Buffer.concat([result, witness]);
|
|
375
383
|
}
|
|
376
|
-
//
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
]);
|
|
384
|
+
// from to https://zips.z.cash/zip-0225, zcash is different with other coins, the lock_time and nExpiryHeight fields are before the inputs and outputs
|
|
385
|
+
if (!isZcash) {
|
|
386
|
+
result = Buffer.concat([result, lockTimeBuffer]);
|
|
387
|
+
if (expiryHeight) {
|
|
388
|
+
result = Buffer.concat([
|
|
389
|
+
result,
|
|
390
|
+
targetTransaction.nExpiryHeight || Buffer.alloc(0),
|
|
391
|
+
targetTransaction.extraData || Buffer.alloc(0),
|
|
392
|
+
]);
|
|
393
|
+
}
|
|
387
394
|
}
|
|
388
395
|
if (isDecred) {
|
|
389
396
|
decredWitness_1 = Buffer.from([targetTransaction.inputs.length]);
|
|
@@ -399,6 +406,9 @@ export function createTransaction(transport, arg) {
|
|
|
399
406
|
});
|
|
400
407
|
result = Buffer.concat([result, decredWitness_1]);
|
|
401
408
|
}
|
|
409
|
+
if (isZcash) {
|
|
410
|
+
result = Buffer.concat([result, Buffer.from([0x00, 0x00, 0x00])]);
|
|
411
|
+
}
|
|
402
412
|
return [2 /*return*/, result.toString("hex")];
|
|
403
413
|
}
|
|
404
414
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeTransaction.d.ts","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;IAII;AACJ,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAgB5E;AACD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,OAAO,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,EAAO,
|
|
1
|
+
{"version":3,"file":"serializeTransaction.d.ts","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C;;;;IAII;AACJ,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,MAAM,CAgB5E;AACD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,OAAO,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,GAAE,MAAM,EAAO,UA8D3B"}
|
|
@@ -23,6 +23,7 @@ export function serializeTransactionOutputs(_a) {
|
|
|
23
23
|
export function serializeTransaction(transaction, skipWitness, timestamp, additionals) {
|
|
24
24
|
if (additionals === void 0) { additionals = []; }
|
|
25
25
|
var isDecred = additionals.includes("decred");
|
|
26
|
+
var isZcash = additionals.includes("zcash");
|
|
26
27
|
var isBech32 = additionals.includes("bech32");
|
|
27
28
|
var inputBuffer = Buffer.alloc(0);
|
|
28
29
|
var useWitness = typeof transaction["witness"] != "undefined" && !skipWitness;
|
|
@@ -54,6 +55,20 @@ export function serializeTransaction(transaction, skipWitness, timestamp, additi
|
|
|
54
55
|
transaction.extraData || Buffer.alloc(0),
|
|
55
56
|
]);
|
|
56
57
|
}
|
|
58
|
+
// from to https://zips.z.cash/zip-0225, zcash is different with other coins, the lock_time and nExpiryHeight fields are before the inputs and outputs
|
|
59
|
+
if (isZcash) {
|
|
60
|
+
return Buffer.concat([
|
|
61
|
+
transaction.version,
|
|
62
|
+
transaction.nVersionGroupId || Buffer.alloc(0),
|
|
63
|
+
Buffer.from([0xb4, 0xd0, 0xd6, 0xc2]),
|
|
64
|
+
transaction.locktime || Buffer.from([0x00, 0x00, 0x00, 0x00]),
|
|
65
|
+
transaction.nExpiryHeight || Buffer.from([0x00, 0x00, 0x00, 0x00]),
|
|
66
|
+
useWitness ? Buffer.from("0001", "hex") : Buffer.alloc(0),
|
|
67
|
+
createVarint(transaction.inputs.length),
|
|
68
|
+
inputBuffer,
|
|
69
|
+
outputBuffer,
|
|
70
|
+
]);
|
|
71
|
+
}
|
|
57
72
|
return Buffer.concat([
|
|
58
73
|
transaction.version,
|
|
59
74
|
timestamp ? timestamp : Buffer.alloc(0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;IAII;AACJ,MAAM,UAAU,2BAA2B,CAAC,EAAwB;QAAtB,OAAO,aAAA;IACnD,IAAI,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;QAClC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM;YACrB,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC3B,YAAY;gBACZ,MAAM,CAAC,MAAM;gBACb,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAClC,MAAM,CAAC,MAAM;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AACD,MAAM,UAAU,oBAAoB,CAClC,WAAwB,EACxB,WAAoB,EACpB,SAAkB,EAClB,WAA0B;IAA1B,4BAAA,EAAA,gBAA0B;IAE1B,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,IAAM,UAAU,GACd,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC;IAC/D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;QAC/B,WAAW;YACT,QAAQ,IAAI,QAAQ;gBAClB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACZ,WAAW;oBACX,KAAK,CAAC,OAAO;oBACb,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnB,KAAK,CAAC,QAAQ;iBACf,CAAC;gBACJ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBACZ,WAAW;oBACX,KAAK,CAAC,OAAO;oBACb,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;oBACjC,KAAK,CAAC,MAAM;oBACZ,KAAK,CAAC,QAAQ;iBACf,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;IACH,IAAI,YAAY,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAE5D,IACE,OAAO,WAAW,CAAC,OAAO,KAAK,WAAW;QAC1C,OAAO,WAAW,CAAC,QAAQ,KAAK,WAAW,EAC3C;QACA,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,CAAC,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,WAAW,CAAC,QAAQ;YACpB,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACzC,CAAC,CAAC;KACJ;
|
|
1
|
+
{"version":3,"file":"serializeTransaction.js","sourceRoot":"","sources":["../src/serializeTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitTransaction.d.ts","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,SAAS,CAAC;AAGhF,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW,
|
|
1
|
+
{"version":3,"file":"splitTransaction.d.ts","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAuC,MAAM,SAAS,CAAC;AAGhF,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW,CA+Jb"}
|
|
@@ -14,12 +14,16 @@ export function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp
|
|
|
14
14
|
var nExpiryHeight = Buffer.alloc(0);
|
|
15
15
|
var nVersionGroupId = Buffer.alloc(0);
|
|
16
16
|
var extraData = Buffer.alloc(0);
|
|
17
|
+
var witnessScript, locktime;
|
|
17
18
|
var isDecred = additionals.includes("decred");
|
|
18
19
|
var isZencash = additionals.includes("zencash");
|
|
20
|
+
var isZcash = additionals.includes("zcash");
|
|
19
21
|
var transaction = Buffer.from(transactionHex, "hex");
|
|
20
22
|
var version = transaction.slice(offset, offset + 4);
|
|
21
23
|
var overwinter = version.equals(Buffer.from([0x03, 0x00, 0x00, 0x80])) ||
|
|
22
|
-
version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80]))
|
|
24
|
+
version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80])) ||
|
|
25
|
+
version.equals(Buffer.from([0x05, 0x00, 0x00, 0x80]));
|
|
26
|
+
var isZcashv5 = isZcash && version.equals(Buffer.from([0x05, 0x00, 0x00, 0x80]));
|
|
23
27
|
offset += 4;
|
|
24
28
|
if (!hasTimestamp &&
|
|
25
29
|
isSegwitSupported &&
|
|
@@ -37,6 +41,11 @@ export function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp
|
|
|
37
41
|
nVersionGroupId = transaction.slice(offset, 4 + offset);
|
|
38
42
|
offset += 4;
|
|
39
43
|
}
|
|
44
|
+
if (isZcashv5) {
|
|
45
|
+
locktime = transaction.slice(offset + 4, offset + 8);
|
|
46
|
+
nExpiryHeight = transaction.slice(offset + 8, offset + 12);
|
|
47
|
+
offset += 12;
|
|
48
|
+
}
|
|
40
49
|
var varint = getVarint(transaction, offset);
|
|
41
50
|
var numberInputs = varint[0];
|
|
42
51
|
offset += varint[1];
|
|
@@ -85,16 +94,15 @@ export function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp
|
|
|
85
94
|
script: script
|
|
86
95
|
});
|
|
87
96
|
}
|
|
88
|
-
var witnessScript, locktime;
|
|
89
97
|
if (witness) {
|
|
90
98
|
witnessScript = transaction.slice(offset, -4);
|
|
91
99
|
locktime = transaction.slice(transaction.length - 4);
|
|
92
100
|
}
|
|
93
|
-
else {
|
|
101
|
+
else if (!isZcashv5) {
|
|
94
102
|
locktime = transaction.slice(offset, offset + 4);
|
|
95
103
|
}
|
|
96
104
|
offset += 4;
|
|
97
|
-
if (overwinter || isDecred) {
|
|
105
|
+
if ((overwinter || isDecred) && !isZcashv5) {
|
|
98
106
|
nExpiryHeight = transaction.slice(offset, offset + 4);
|
|
99
107
|
offset += 4;
|
|
100
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,MAAM,UAAU,gBAAgB,CAC9B,cAAsB,EACtB,iBAAqD,EACrD,YAAoB,EACpB,YAAoB,EACpB,WAA+B;IAH/B,kCAAA,EAAA,yBAAqD;IACrD,6BAAA,EAAA,oBAAoB;IACpB,6BAAA,EAAA,oBAAoB;IACpB,4BAAA,EAAA,gBAA+B;IAE/B,IAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,IAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,IAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,IAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACvD,IAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,IAAM,UAAU,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,CAAC,CAAC;IACZ,IACE,CAAC,YAAY;QACb,iBAAiB;QACjB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QACzB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QAC7B,CAAC,SAAS,EACV;QACA,MAAM,IAAI,CAAC,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC;KAChB;IAED,IAAI,YAAY,EAAE;QAChB,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,CAAC;KACb;IAED,IAAI,UAAU,EAAE;QACd,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,CAAC;KACb;
|
|
1
|
+
{"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/hw-app-btc",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0-next.0",
|
|
4
4
|
"description": "Ledger Hardware Wallet Bitcoin Application API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Ledger",
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
},
|
|
70
70
|
"license": "Apache-2.0",
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@ledgerhq/hw-transport": "^6.27.
|
|
73
|
-
"@ledgerhq/logs": "^6.10.
|
|
72
|
+
"@ledgerhq/hw-transport": "^6.27.5-next.0",
|
|
73
|
+
"@ledgerhq/logs": "^6.10.0",
|
|
74
74
|
"bip32-path": "^0.4.2",
|
|
75
75
|
"bitcoinjs-lib": "^5.2.0",
|
|
76
76
|
"bs58": "^4.0.1",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"varuint-bitcoin": "1.1.2"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@ledgerhq/hw-transport-mocker": "^6.27.
|
|
87
|
-
"@ledgerhq/hw-transport-node-speculos": "^6.27.
|
|
86
|
+
"@ledgerhq/hw-transport-mocker": "^6.27.5-next.0",
|
|
87
|
+
"@ledgerhq/hw-transport-node-speculos": "^6.27.5-next.0",
|
|
88
88
|
"axios": "^0.25.0"
|
|
89
89
|
},
|
|
90
90
|
"gitHead": "dd0dea64b58e5a9125c8a422dcffd29e5ef6abec",
|
package/src/createTransaction.ts
CHANGED
|
@@ -113,6 +113,7 @@ export async function createTransaction(
|
|
|
113
113
|
};
|
|
114
114
|
|
|
115
115
|
const isDecred = additionals.includes("decred");
|
|
116
|
+
const isZcash = additionals.includes("zcash");
|
|
116
117
|
const isXST = additionals.includes("stealthcoin");
|
|
117
118
|
const startTime = Date.now();
|
|
118
119
|
const sapling = additionals.includes("sapling");
|
|
@@ -126,11 +127,16 @@ export async function createTransaction(
|
|
|
126
127
|
(!!expiryHeight && !isDecred);
|
|
127
128
|
// Inputs are provided as arrays of [transaction, output_index, optional redeem script, optional sequence]
|
|
128
129
|
// associatedKeysets are provided as arrays of [path]
|
|
130
|
+
const lockTimeBuffer = Buffer.alloc(4);
|
|
131
|
+
lockTimeBuffer.writeUInt32LE(lockTime, 0);
|
|
129
132
|
const nullScript = Buffer.alloc(0);
|
|
130
133
|
const nullPrevout = Buffer.alloc(0);
|
|
131
134
|
const defaultVersion = Buffer.alloc(4);
|
|
132
135
|
!!expiryHeight && !isDecred
|
|
133
|
-
? defaultVersion.writeUInt32LE(
|
|
136
|
+
? defaultVersion.writeUInt32LE(
|
|
137
|
+
isZcash ? 0x80000005 : sapling ? 0x80000004 : 0x80000003,
|
|
138
|
+
0
|
|
139
|
+
) // v5 format for zcash refer to https://zips.z.cash/zip-0225
|
|
134
140
|
: isXST
|
|
135
141
|
? defaultVersion.writeUInt32LE(2, 0)
|
|
136
142
|
: defaultVersion.writeUInt32LE(1, 0);
|
|
@@ -152,7 +158,6 @@ export async function createTransaction(
|
|
|
152
158
|
: getTrustedInput;
|
|
153
159
|
const outputScript = Buffer.from(outputScriptHex, "hex");
|
|
154
160
|
notify(0, 0);
|
|
155
|
-
|
|
156
161
|
// first pass on inputs to get trusted inputs
|
|
157
162
|
for (const input of inputs) {
|
|
158
163
|
if (!resuming) {
|
|
@@ -186,7 +191,12 @@ export async function createTransaction(
|
|
|
186
191
|
|
|
187
192
|
if (expiryHeight && !isDecred) {
|
|
188
193
|
targetTransaction.nVersionGroupId = Buffer.from(
|
|
189
|
-
|
|
194
|
+
// nVersionGroupId is 0x26A7270A for zcash from https://z.cash/upgrade/nu5/
|
|
195
|
+
isZcash
|
|
196
|
+
? [0x0a, 0x27, 0xa7, 0x26]
|
|
197
|
+
: sapling
|
|
198
|
+
? [0x85, 0x20, 0x2f, 0x89]
|
|
199
|
+
: [0x70, 0x82, 0xc4, 0x03]
|
|
190
200
|
);
|
|
191
201
|
targetTransaction.nExpiryHeight = expiryHeight;
|
|
192
202
|
// For sapling : valueBalance (8), nShieldedSpend (1), nShieldedOutput (1), nJoinSplit (1)
|
|
@@ -201,7 +211,7 @@ export async function createTransaction(
|
|
|
201
211
|
}
|
|
202
212
|
}
|
|
203
213
|
|
|
204
|
-
targetTransaction.inputs = inputs.map((input) => {
|
|
214
|
+
targetTransaction.inputs = inputs.map((input, idx) => {
|
|
205
215
|
const sequence = Buffer.alloc(4);
|
|
206
216
|
sequence.writeUInt32LE(
|
|
207
217
|
input.length >= 4 && typeof input[3] === "number"
|
|
@@ -210,7 +220,7 @@ export async function createTransaction(
|
|
|
210
220
|
0
|
|
211
221
|
);
|
|
212
222
|
return {
|
|
213
|
-
script: nullScript,
|
|
223
|
+
script: isZcash ? regularOutputs[idx].script : nullScript,
|
|
214
224
|
prevout: nullPrevout,
|
|
215
225
|
sequence,
|
|
216
226
|
};
|
|
@@ -366,9 +376,7 @@ export async function createTransaction(
|
|
|
366
376
|
offset + 0x24
|
|
367
377
|
);
|
|
368
378
|
}
|
|
369
|
-
|
|
370
|
-
const lockTimeBuffer = Buffer.alloc(4);
|
|
371
|
-
lockTimeBuffer.writeUInt32LE(lockTime, 0);
|
|
379
|
+
targetTransaction.locktime = lockTimeBuffer;
|
|
372
380
|
let result = Buffer.concat([
|
|
373
381
|
serializeTransaction(
|
|
374
382
|
targetTransaction,
|
|
@@ -396,20 +404,17 @@ export async function createTransaction(
|
|
|
396
404
|
result = Buffer.concat([result, witness]);
|
|
397
405
|
}
|
|
398
406
|
|
|
399
|
-
//
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
targetTransaction.extraData || Buffer.alloc(0),
|
|
410
|
-
]);
|
|
407
|
+
// from to https://zips.z.cash/zip-0225, zcash is different with other coins, the lock_time and nExpiryHeight fields are before the inputs and outputs
|
|
408
|
+
if (!isZcash) {
|
|
409
|
+
result = Buffer.concat([result, lockTimeBuffer]);
|
|
410
|
+
if (expiryHeight) {
|
|
411
|
+
result = Buffer.concat([
|
|
412
|
+
result,
|
|
413
|
+
targetTransaction.nExpiryHeight || Buffer.alloc(0),
|
|
414
|
+
targetTransaction.extraData || Buffer.alloc(0),
|
|
415
|
+
]);
|
|
416
|
+
}
|
|
411
417
|
}
|
|
412
|
-
|
|
413
418
|
if (isDecred) {
|
|
414
419
|
let decredWitness = Buffer.from([targetTransaction.inputs.length]);
|
|
415
420
|
inputs.forEach((input, inputIndex) => {
|
|
@@ -424,6 +429,8 @@ export async function createTransaction(
|
|
|
424
429
|
});
|
|
425
430
|
result = Buffer.concat([result, decredWitness]);
|
|
426
431
|
}
|
|
427
|
-
|
|
432
|
+
if (isZcash) {
|
|
433
|
+
result = Buffer.concat([result, Buffer.from([0x00, 0x00, 0x00])]);
|
|
434
|
+
}
|
|
428
435
|
return result.toString("hex");
|
|
429
436
|
}
|
|
@@ -30,6 +30,7 @@ export function serializeTransaction(
|
|
|
30
30
|
additionals: string[] = []
|
|
31
31
|
) {
|
|
32
32
|
const isDecred = additionals.includes("decred");
|
|
33
|
+
const isZcash = additionals.includes("zcash");
|
|
33
34
|
const isBech32 = additionals.includes("bech32");
|
|
34
35
|
let inputBuffer = Buffer.alloc(0);
|
|
35
36
|
const useWitness =
|
|
@@ -65,7 +66,20 @@ export function serializeTransaction(
|
|
|
65
66
|
transaction.extraData || Buffer.alloc(0),
|
|
66
67
|
]);
|
|
67
68
|
}
|
|
68
|
-
|
|
69
|
+
// from to https://zips.z.cash/zip-0225, zcash is different with other coins, the lock_time and nExpiryHeight fields are before the inputs and outputs
|
|
70
|
+
if (isZcash) {
|
|
71
|
+
return Buffer.concat([
|
|
72
|
+
transaction.version,
|
|
73
|
+
transaction.nVersionGroupId || Buffer.alloc(0),
|
|
74
|
+
Buffer.from([0xb4, 0xd0, 0xd6, 0xc2]), // Zcash Consensus Branch ID: 0xC2D6D0B4 refer to https://z.cash/upgrade/nu5/
|
|
75
|
+
transaction.locktime || Buffer.from([0x00, 0x00, 0x00, 0x00]),
|
|
76
|
+
transaction.nExpiryHeight || Buffer.from([0x00, 0x00, 0x00, 0x00]),
|
|
77
|
+
useWitness ? Buffer.from("0001", "hex") : Buffer.alloc(0),
|
|
78
|
+
createVarint(transaction.inputs.length),
|
|
79
|
+
inputBuffer,
|
|
80
|
+
outputBuffer,
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
69
83
|
return Buffer.concat([
|
|
70
84
|
transaction.version,
|
|
71
85
|
timestamp ? timestamp : Buffer.alloc(0),
|
package/src/splitTransaction.ts
CHANGED
|
@@ -17,13 +17,18 @@ export function splitTransaction(
|
|
|
17
17
|
let nExpiryHeight = Buffer.alloc(0);
|
|
18
18
|
let nVersionGroupId = Buffer.alloc(0);
|
|
19
19
|
let extraData = Buffer.alloc(0);
|
|
20
|
+
let witnessScript, locktime;
|
|
20
21
|
const isDecred = additionals.includes("decred");
|
|
21
22
|
const isZencash = additionals.includes("zencash");
|
|
23
|
+
const isZcash = additionals.includes("zcash");
|
|
22
24
|
const transaction = Buffer.from(transactionHex, "hex");
|
|
23
25
|
const version = transaction.slice(offset, offset + 4);
|
|
24
26
|
const overwinter =
|
|
25
27
|
version.equals(Buffer.from([0x03, 0x00, 0x00, 0x80])) ||
|
|
26
|
-
version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80]))
|
|
28
|
+
version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80])) ||
|
|
29
|
+
version.equals(Buffer.from([0x05, 0x00, 0x00, 0x80]));
|
|
30
|
+
const isZcashv5 =
|
|
31
|
+
isZcash && version.equals(Buffer.from([0x05, 0x00, 0x00, 0x80]));
|
|
27
32
|
offset += 4;
|
|
28
33
|
if (
|
|
29
34
|
!hasTimestamp &&
|
|
@@ -45,7 +50,11 @@ export function splitTransaction(
|
|
|
45
50
|
nVersionGroupId = transaction.slice(offset, 4 + offset);
|
|
46
51
|
offset += 4;
|
|
47
52
|
}
|
|
48
|
-
|
|
53
|
+
if (isZcashv5) {
|
|
54
|
+
locktime = transaction.slice(offset + 4, offset + 8);
|
|
55
|
+
nExpiryHeight = transaction.slice(offset + 8, offset + 12);
|
|
56
|
+
offset += 12;
|
|
57
|
+
}
|
|
49
58
|
let varint = getVarint(transaction, offset);
|
|
50
59
|
const numberInputs = varint[0];
|
|
51
60
|
offset += varint[1];
|
|
@@ -77,11 +86,9 @@ export function splitTransaction(
|
|
|
77
86
|
tree,
|
|
78
87
|
});
|
|
79
88
|
}
|
|
80
|
-
|
|
81
89
|
varint = getVarint(transaction, offset);
|
|
82
90
|
const numberOutputs = varint[0];
|
|
83
91
|
offset += varint[1];
|
|
84
|
-
|
|
85
92
|
for (let i = 0; i < numberOutputs; i++) {
|
|
86
93
|
const amount = transaction.slice(offset, offset + 8);
|
|
87
94
|
offset += 8;
|
|
@@ -101,18 +108,16 @@ export function splitTransaction(
|
|
|
101
108
|
});
|
|
102
109
|
}
|
|
103
110
|
|
|
104
|
-
let witnessScript, locktime;
|
|
105
|
-
|
|
106
111
|
if (witness) {
|
|
107
112
|
witnessScript = transaction.slice(offset, -4);
|
|
108
113
|
locktime = transaction.slice(transaction.length - 4);
|
|
109
|
-
} else {
|
|
114
|
+
} else if (!isZcashv5) {
|
|
110
115
|
locktime = transaction.slice(offset, offset + 4);
|
|
111
116
|
}
|
|
112
117
|
|
|
113
118
|
offset += 4;
|
|
114
119
|
|
|
115
|
-
if (overwinter || isDecred) {
|
|
120
|
+
if ((overwinter || isDecred) && !isZcashv5) {
|
|
116
121
|
nExpiryHeight = transaction.slice(offset, offset + 4);
|
|
117
122
|
offset += 4;
|
|
118
123
|
}
|