@ledgerhq/hw-app-btc 6.24.1 → 6.24.2-monorepo.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/.turbo/turbo-build.log +1 -0
  2. package/CHANGELOG.md +10 -0
  3. package/jest.config.ts +6 -0
  4. package/package.json +15 -6
  5. package/src/bip32.ts +5 -3
  6. package/src/getTrustedInput.ts +2 -8
  7. package/src/newops/appClient.ts +8 -4
  8. package/src/newops/psbtv2.ts +13 -9
  9. package/LICENSE +0 -202
  10. package/lib/Btc.d.ts +0 -149
  11. package/lib/Btc.d.ts.map +0 -1
  12. package/lib/Btc.js +0 -353
  13. package/lib/Btc.js.map +0 -1
  14. package/lib/BtcNew.d.ts +0 -122
  15. package/lib/BtcNew.d.ts.map +0 -1
  16. package/lib/BtcNew.js +0 -451
  17. package/lib/BtcNew.js.map +0 -1
  18. package/lib/BtcOld.d.ts +0 -120
  19. package/lib/BtcOld.d.ts.map +0 -1
  20. package/lib/BtcOld.js +0 -263
  21. package/lib/BtcOld.js.map +0 -1
  22. package/lib/bip32.d.ts +0 -13
  23. package/lib/bip32.d.ts.map +0 -1
  24. package/lib/bip32.js +0 -57
  25. package/lib/bip32.js.map +0 -1
  26. package/lib/buffertools.d.ts +0 -30
  27. package/lib/buffertools.d.ts.map +0 -1
  28. package/lib/buffertools.js +0 -132
  29. package/lib/buffertools.js.map +0 -1
  30. package/lib/compressPublicKey.d.ts +0 -3
  31. package/lib/compressPublicKey.d.ts.map +0 -1
  32. package/lib/compressPublicKey.js +0 -11
  33. package/lib/compressPublicKey.js.map +0 -1
  34. package/lib/constants.d.ts +0 -13
  35. package/lib/constants.d.ts.map +0 -1
  36. package/lib/constants.js +0 -17
  37. package/lib/constants.js.map +0 -1
  38. package/lib/createTransaction.d.ts +0 -35
  39. package/lib/createTransaction.d.ts.map +0 -1
  40. package/lib/createTransaction.js +0 -411
  41. package/lib/createTransaction.js.map +0 -1
  42. package/lib/debug.d.ts +0 -4
  43. package/lib/debug.d.ts.map +0 -1
  44. package/lib/debug.js +0 -45
  45. package/lib/debug.js.map +0 -1
  46. package/lib/finalizeInput.d.ts +0 -5
  47. package/lib/finalizeInput.d.ts.map +0 -1
  48. package/lib/finalizeInput.js +0 -81
  49. package/lib/finalizeInput.js.map +0 -1
  50. package/lib/getAppAndVersion.d.ts +0 -9
  51. package/lib/getAppAndVersion.d.ts.map +0 -1
  52. package/lib/getAppAndVersion.js +0 -69
  53. package/lib/getAppAndVersion.js.map +0 -1
  54. package/lib/getTrustedInput.d.ts +0 -6
  55. package/lib/getTrustedInput.d.ts.map +0 -1
  56. package/lib/getTrustedInput.js +0 -275
  57. package/lib/getTrustedInput.js.map +0 -1
  58. package/lib/getTrustedInputBIP143.d.ts +0 -4
  59. package/lib/getTrustedInputBIP143.d.ts.map +0 -1
  60. package/lib/getTrustedInputBIP143.js +0 -34
  61. package/lib/getTrustedInputBIP143.js.map +0 -1
  62. package/lib/getWalletPublicKey.d.ts +0 -15
  63. package/lib/getWalletPublicKey.d.ts.map +0 -1
  64. package/lib/getWalletPublicKey.js +0 -93
  65. package/lib/getWalletPublicKey.js.map +0 -1
  66. package/lib/hashPublicKey.d.ts +0 -3
  67. package/lib/hashPublicKey.d.ts.map +0 -1
  68. package/lib/hashPublicKey.js +0 -13
  69. package/lib/hashPublicKey.js.map +0 -1
  70. package/lib/index.d.ts +0 -3
  71. package/lib/index.d.ts.map +0 -1
  72. package/lib/index.js +0 -8
  73. package/lib/index.js.map +0 -1
  74. package/lib/newops/accounttype.d.ts +0 -110
  75. package/lib/newops/accounttype.d.ts.map +0 -1
  76. package/lib/newops/accounttype.js +0 -236
  77. package/lib/newops/accounttype.js.map +0 -1
  78. package/lib/newops/appClient.d.ts +0 -18
  79. package/lib/newops/appClient.d.ts.map +0 -1
  80. package/lib/newops/appClient.js +0 -246
  81. package/lib/newops/appClient.js.map +0 -1
  82. package/lib/newops/clientCommands.d.ts +0 -77
  83. package/lib/newops/clientCommands.d.ts.map +0 -1
  84. package/lib/newops/clientCommands.js +0 -353
  85. package/lib/newops/clientCommands.js.map +0 -1
  86. package/lib/newops/merkelizedPsbt.d.ts +0 -26
  87. package/lib/newops/merkelizedPsbt.d.ts.map +0 -1
  88. package/lib/newops/merkelizedPsbt.js +0 -102
  89. package/lib/newops/merkelizedPsbt.js.map +0 -1
  90. package/lib/newops/merkle.d.ts +0 -34
  91. package/lib/newops/merkle.d.ts.map +0 -1
  92. package/lib/newops/merkle.js +0 -138
  93. package/lib/newops/merkle.js.map +0 -1
  94. package/lib/newops/merkleMap.d.ts +0 -25
  95. package/lib/newops/merkleMap.d.ts.map +0 -1
  96. package/lib/newops/merkleMap.js +0 -47
  97. package/lib/newops/merkleMap.js.map +0 -1
  98. package/lib/newops/policy.d.ts +0 -22
  99. package/lib/newops/policy.d.ts.map +0 -1
  100. package/lib/newops/policy.js +0 -48
  101. package/lib/newops/policy.js.map +0 -1
  102. package/lib/newops/psbtExtractor.d.ts +0 -10
  103. package/lib/newops/psbtExtractor.d.ts.map +0 -1
  104. package/lib/newops/psbtExtractor.js +0 -42
  105. package/lib/newops/psbtExtractor.js.map +0 -1
  106. package/lib/newops/psbtFinalizer.d.ts +0 -17
  107. package/lib/newops/psbtFinalizer.d.ts.map +0 -1
  108. package/lib/newops/psbtFinalizer.js +0 -135
  109. package/lib/newops/psbtFinalizer.js.map +0 -1
  110. package/lib/newops/psbtv2.d.ts +0 -149
  111. package/lib/newops/psbtv2.d.ts.map +0 -1
  112. package/lib/newops/psbtv2.js +0 -506
  113. package/lib/newops/psbtv2.js.map +0 -1
  114. package/lib/serializeTransaction.d.ts +0 -10
  115. package/lib/serializeTransaction.d.ts.map +0 -1
  116. package/lib/serializeTransaction.js +0 -72
  117. package/lib/serializeTransaction.js.map +0 -1
  118. package/lib/shouldUseTrustedInputForSegwit.d.ts +0 -5
  119. package/lib/shouldUseTrustedInputForSegwit.d.ts.map +0 -1
  120. package/lib/shouldUseTrustedInputForSegwit.js +0 -17
  121. package/lib/shouldUseTrustedInputForSegwit.js.map +0 -1
  122. package/lib/signMessage.d.ts +0 -10
  123. package/lib/signMessage.d.ts.map +0 -1
  124. package/lib/signMessage.js +0 -118
  125. package/lib/signMessage.js.map +0 -1
  126. package/lib/signP2SHTransaction.d.ts +0 -21
  127. package/lib/signP2SHTransaction.d.ts.map +0 -1
  128. package/lib/signP2SHTransaction.js +0 -208
  129. package/lib/signP2SHTransaction.js.map +0 -1
  130. package/lib/signTransaction.d.ts +0 -4
  131. package/lib/signTransaction.d.ts.map +0 -1
  132. package/lib/signTransaction.js +0 -36
  133. package/lib/signTransaction.js.map +0 -1
  134. package/lib/splitTransaction.d.ts +0 -3
  135. package/lib/splitTransaction.d.ts.map +0 -1
  136. package/lib/splitTransaction.js +0 -142
  137. package/lib/splitTransaction.js.map +0 -1
  138. package/lib/startUntrustedHashTransactionInput.d.ts +0 -9
  139. package/lib/startUntrustedHashTransactionInput.d.ts.map +0 -1
  140. package/lib/startUntrustedHashTransactionInput.js +0 -197
  141. package/lib/startUntrustedHashTransactionInput.js.map +0 -1
  142. package/lib/types.d.ts +0 -34
  143. package/lib/types.d.ts.map +0 -1
  144. package/lib/types.js +0 -3
  145. package/lib/types.js.map +0 -1
  146. package/lib/varint.d.ts +0 -4
  147. package/lib/varint.d.ts.map +0 -1
  148. package/lib/varint.js +0 -45
  149. package/lib/varint.js.map +0 -1
  150. package/lib-es/Btc.d.ts +0 -149
  151. package/lib-es/Btc.d.ts.map +0 -1
  152. package/lib-es/Btc.js +0 -329
  153. package/lib-es/Btc.js.map +0 -1
  154. package/lib-es/BtcNew.d.ts +0 -122
  155. package/lib-es/BtcNew.d.ts.map +0 -1
  156. package/lib-es/BtcNew.js +0 -444
  157. package/lib-es/BtcNew.js.map +0 -1
  158. package/lib-es/BtcOld.d.ts +0 -120
  159. package/lib-es/BtcOld.d.ts.map +0 -1
  160. package/lib-es/BtcOld.js +0 -258
  161. package/lib-es/BtcOld.js.map +0 -1
  162. package/lib-es/bip32.d.ts +0 -13
  163. package/lib-es/bip32.d.ts.map +0 -1
  164. package/lib-es/bip32.js +0 -44
  165. package/lib-es/bip32.js.map +0 -1
  166. package/lib-es/buffertools.d.ts +0 -30
  167. package/lib-es/buffertools.d.ts.map +0 -1
  168. package/lib-es/buffertools.js +0 -124
  169. package/lib-es/buffertools.js.map +0 -1
  170. package/lib-es/compressPublicKey.d.ts +0 -3
  171. package/lib-es/compressPublicKey.d.ts.map +0 -1
  172. package/lib-es/compressPublicKey.js +0 -7
  173. package/lib-es/compressPublicKey.js.map +0 -1
  174. package/lib-es/constants.d.ts +0 -13
  175. package/lib-es/constants.d.ts.map +0 -1
  176. package/lib-es/constants.js +0 -14
  177. package/lib-es/constants.js.map +0 -1
  178. package/lib-es/createTransaction.d.ts +0 -35
  179. package/lib-es/createTransaction.d.ts.map +0 -1
  180. package/lib-es/createTransaction.js +0 -407
  181. package/lib-es/createTransaction.js.map +0 -1
  182. package/lib-es/debug.d.ts +0 -4
  183. package/lib-es/debug.d.ts.map +0 -1
  184. package/lib-es/debug.js +0 -40
  185. package/lib-es/debug.js.map +0 -1
  186. package/lib-es/finalizeInput.d.ts +0 -5
  187. package/lib-es/finalizeInput.d.ts.map +0 -1
  188. package/lib-es/finalizeInput.js +0 -76
  189. package/lib-es/finalizeInput.js.map +0 -1
  190. package/lib-es/getAppAndVersion.d.ts +0 -9
  191. package/lib-es/getAppAndVersion.d.ts.map +0 -1
  192. package/lib-es/getAppAndVersion.js +0 -62
  193. package/lib-es/getAppAndVersion.js.map +0 -1
  194. package/lib-es/getTrustedInput.d.ts +0 -6
  195. package/lib-es/getTrustedInput.d.ts.map +0 -1
  196. package/lib-es/getTrustedInput.js +0 -267
  197. package/lib-es/getTrustedInput.js.map +0 -1
  198. package/lib-es/getTrustedInputBIP143.d.ts +0 -4
  199. package/lib-es/getTrustedInputBIP143.d.ts.map +0 -1
  200. package/lib-es/getTrustedInputBIP143.js +0 -27
  201. package/lib-es/getTrustedInputBIP143.js.map +0 -1
  202. package/lib-es/getWalletPublicKey.d.ts +0 -15
  203. package/lib-es/getWalletPublicKey.d.ts.map +0 -1
  204. package/lib-es/getWalletPublicKey.js +0 -89
  205. package/lib-es/getWalletPublicKey.js.map +0 -1
  206. package/lib-es/hashPublicKey.d.ts +0 -3
  207. package/lib-es/hashPublicKey.d.ts.map +0 -1
  208. package/lib-es/hashPublicKey.js +0 -6
  209. package/lib-es/hashPublicKey.js.map +0 -1
  210. package/lib-es/index.d.ts +0 -3
  211. package/lib-es/index.d.ts.map +0 -1
  212. package/lib-es/index.js +0 -3
  213. package/lib-es/index.js.map +0 -1
  214. package/lib-es/newops/accounttype.d.ts +0 -110
  215. package/lib-es/newops/accounttype.d.ts.map +0 -1
  216. package/lib-es/newops/accounttype.js +0 -233
  217. package/lib-es/newops/accounttype.js.map +0 -1
  218. package/lib-es/newops/appClient.d.ts +0 -18
  219. package/lib-es/newops/appClient.d.ts.map +0 -1
  220. package/lib-es/newops/appClient.js +0 -243
  221. package/lib-es/newops/appClient.js.map +0 -1
  222. package/lib-es/newops/clientCommands.d.ts +0 -77
  223. package/lib-es/newops/clientCommands.d.ts.map +0 -1
  224. package/lib-es/newops/clientCommands.js +0 -350
  225. package/lib-es/newops/clientCommands.js.map +0 -1
  226. package/lib-es/newops/merkelizedPsbt.d.ts +0 -26
  227. package/lib-es/newops/merkelizedPsbt.d.ts.map +0 -1
  228. package/lib-es/newops/merkelizedPsbt.js +0 -99
  229. package/lib-es/newops/merkelizedPsbt.js.map +0 -1
  230. package/lib-es/newops/merkle.d.ts +0 -34
  231. package/lib-es/newops/merkle.d.ts.map +0 -1
  232. package/lib-es/newops/merkle.js +0 -134
  233. package/lib-es/newops/merkle.js.map +0 -1
  234. package/lib-es/newops/merkleMap.d.ts +0 -25
  235. package/lib-es/newops/merkleMap.d.ts.map +0 -1
  236. package/lib-es/newops/merkleMap.js +0 -44
  237. package/lib-es/newops/merkleMap.js.map +0 -1
  238. package/lib-es/newops/policy.d.ts +0 -22
  239. package/lib-es/newops/policy.d.ts.map +0 -1
  240. package/lib-es/newops/policy.js +0 -44
  241. package/lib-es/newops/policy.js.map +0 -1
  242. package/lib-es/newops/psbtExtractor.d.ts +0 -10
  243. package/lib-es/newops/psbtExtractor.d.ts.map +0 -1
  244. package/lib-es/newops/psbtExtractor.js +0 -38
  245. package/lib-es/newops/psbtExtractor.js.map +0 -1
  246. package/lib-es/newops/psbtFinalizer.d.ts +0 -17
  247. package/lib-es/newops/psbtFinalizer.d.ts.map +0 -1
  248. package/lib-es/newops/psbtFinalizer.js +0 -131
  249. package/lib-es/newops/psbtFinalizer.js.map +0 -1
  250. package/lib-es/newops/psbtv2.d.ts +0 -149
  251. package/lib-es/newops/psbtv2.d.ts.map +0 -1
  252. package/lib-es/newops/psbtv2.js +0 -503
  253. package/lib-es/newops/psbtv2.js.map +0 -1
  254. package/lib-es/serializeTransaction.d.ts +0 -10
  255. package/lib-es/serializeTransaction.d.ts.map +0 -1
  256. package/lib-es/serializeTransaction.js +0 -67
  257. package/lib-es/serializeTransaction.js.map +0 -1
  258. package/lib-es/shouldUseTrustedInputForSegwit.d.ts +0 -5
  259. package/lib-es/shouldUseTrustedInputForSegwit.d.ts.map +0 -1
  260. package/lib-es/shouldUseTrustedInputForSegwit.js +0 -10
  261. package/lib-es/shouldUseTrustedInputForSegwit.js.map +0 -1
  262. package/lib-es/signMessage.d.ts +0 -10
  263. package/lib-es/signMessage.d.ts.map +0 -1
  264. package/lib-es/signMessage.js +0 -111
  265. package/lib-es/signMessage.js.map +0 -1
  266. package/lib-es/signP2SHTransaction.d.ts +0 -21
  267. package/lib-es/signP2SHTransaction.d.ts.map +0 -1
  268. package/lib-es/signP2SHTransaction.js +0 -204
  269. package/lib-es/signP2SHTransaction.js.map +0 -1
  270. package/lib-es/signTransaction.d.ts +0 -4
  271. package/lib-es/signTransaction.d.ts.map +0 -1
  272. package/lib-es/signTransaction.js +0 -32
  273. package/lib-es/signTransaction.js.map +0 -1
  274. package/lib-es/splitTransaction.d.ts +0 -3
  275. package/lib-es/splitTransaction.d.ts.map +0 -1
  276. package/lib-es/splitTransaction.js +0 -138
  277. package/lib-es/splitTransaction.js.map +0 -1
  278. package/lib-es/startUntrustedHashTransactionInput.d.ts +0 -9
  279. package/lib-es/startUntrustedHashTransactionInput.d.ts.map +0 -1
  280. package/lib-es/startUntrustedHashTransactionInput.js +0 -192
  281. package/lib-es/startUntrustedHashTransactionInput.js.map +0 -1
  282. package/lib-es/types.d.ts +0 -34
  283. package/lib-es/types.d.ts.map +0 -1
  284. package/lib-es/types.js +0 -2
  285. package/lib-es/types.js.map +0 -1
  286. package/lib-es/varint.d.ts +0 -4
  287. package/lib-es/varint.d.ts.map +0 -1
  288. package/lib-es/varint.js +0 -40
  289. package/lib-es/varint.js.map +0 -1
@@ -1,411 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __values = (this && this.__values) || function(o) {
50
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
51
- if (m) return m.call(o);
52
- if (o && typeof o.length === "number") return {
53
- next: function () {
54
- if (o && i >= o.length) o = void 0;
55
- return { value: o && o[i++], done: !o };
56
- }
57
- };
58
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
59
- };
60
- exports.__esModule = true;
61
- exports.createTransaction = void 0;
62
- var logs_1 = require("@ledgerhq/logs");
63
- var hashPublicKey_1 = require("./hashPublicKey");
64
- var getWalletPublicKey_1 = require("./getWalletPublicKey");
65
- var getTrustedInput_1 = require("./getTrustedInput");
66
- var startUntrustedHashTransactionInput_1 = require("./startUntrustedHashTransactionInput");
67
- var serializeTransaction_1 = require("./serializeTransaction");
68
- var getTrustedInputBIP143_1 = require("./getTrustedInputBIP143");
69
- var compressPublicKey_1 = require("./compressPublicKey");
70
- var signTransaction_1 = require("./signTransaction");
71
- var finalizeInput_1 = require("./finalizeInput");
72
- var getAppAndVersion_1 = require("./getAppAndVersion");
73
- var constants_1 = require("./constants");
74
- var shouldUseTrustedInputForSegwit_1 = require("./shouldUseTrustedInputForSegwit");
75
- var defaultsSignTransaction = {
76
- lockTime: constants_1.DEFAULT_LOCKTIME,
77
- sigHashType: constants_1.SIGHASH_ALL,
78
- segwit: false,
79
- additionals: [],
80
- onDeviceStreaming: function (_e) { },
81
- onDeviceSignatureGranted: function () { },
82
- onDeviceSignatureRequested: function () { }
83
- };
84
- function createTransaction(transport, arg) {
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, lockTimeBuffer, result, witness, i, tmpScriptData, decredWitness_1;
87
- var e_2, _a;
88
- return __generator(this, function (_b) {
89
- switch (_b.label) {
90
- case 0:
91
- signTx = __assign(__assign({}, defaultsSignTransaction), arg);
92
- inputs = signTx.inputs, associatedKeysets = signTx.associatedKeysets, changePath = signTx.changePath, outputScriptHex = signTx.outputScriptHex, lockTime = signTx.lockTime, sigHashType = signTx.sigHashType, segwit = signTx.segwit, initialTimestamp = signTx.initialTimestamp, additionals = signTx.additionals, expiryHeight = signTx.expiryHeight, onDeviceStreaming = signTx.onDeviceStreaming, onDeviceSignatureGranted = signTx.onDeviceSignatureGranted, onDeviceSignatureRequested = signTx.onDeviceSignatureRequested;
93
- useTrustedInputForSegwit = signTx.useTrustedInputForSegwit;
94
- if (!(useTrustedInputForSegwit === undefined)) return [3 /*break*/, 4];
95
- _b.label = 1;
96
- case 1:
97
- _b.trys.push([1, 3, , 4]);
98
- return [4 /*yield*/, (0, getAppAndVersion_1.getAppAndVersion)(transport)];
99
- case 2:
100
- a = _b.sent();
101
- useTrustedInputForSegwit = (0, shouldUseTrustedInputForSegwit_1.shouldUseTrustedInputForSegwit)(a);
102
- return [3 /*break*/, 4];
103
- case 3:
104
- e_1 = _b.sent();
105
- if (e_1.statusCode === 0x6d00) {
106
- useTrustedInputForSegwit = false;
107
- }
108
- else {
109
- throw e_1;
110
- }
111
- return [3 /*break*/, 4];
112
- case 4:
113
- notify = function (loop, i) {
114
- var length = inputs.length;
115
- if (length < 3)
116
- return; // there is not enough significant event to worth notifying (aka just use a spinner)
117
- var index = length * loop + i;
118
- var total = 2 * length;
119
- var progress = index / total;
120
- onDeviceStreaming({
121
- progress: progress,
122
- total: total,
123
- index: index
124
- });
125
- };
126
- isDecred = additionals.includes("decred");
127
- isXST = additionals.includes("stealthcoin");
128
- startTime = Date.now();
129
- sapling = additionals.includes("sapling");
130
- bech32 = segwit && additionals.includes("bech32");
131
- useBip143 = segwit ||
132
- (!!additionals &&
133
- (additionals.includes("abc") ||
134
- additionals.includes("gold") ||
135
- additionals.includes("bip143"))) ||
136
- (!!expiryHeight && !isDecred);
137
- nullScript = Buffer.alloc(0);
138
- nullPrevout = Buffer.alloc(0);
139
- defaultVersion = Buffer.alloc(4);
140
- !!expiryHeight && !isDecred
141
- ? defaultVersion.writeUInt32LE(sapling ? 0x80000004 : 0x80000003, 0)
142
- : isXST
143
- ? defaultVersion.writeUInt32LE(2, 0)
144
- : defaultVersion.writeUInt32LE(1, 0);
145
- trustedInputs = [];
146
- regularOutputs = [];
147
- signatures = [];
148
- publicKeys = [];
149
- firstRun = true;
150
- resuming = false;
151
- targetTransaction = {
152
- inputs: [],
153
- version: defaultVersion,
154
- timestamp: Buffer.alloc(0)
155
- };
156
- getTrustedInputCall = useBip143 && !useTrustedInputForSegwit
157
- ? getTrustedInputBIP143_1.getTrustedInputBIP143
158
- : getTrustedInput_1.getTrustedInput;
159
- outputScript = Buffer.from(outputScriptHex, "hex");
160
- notify(0, 0);
161
- _b.label = 5;
162
- case 5:
163
- _b.trys.push([5, 11, 12, 13]);
164
- inputs_1 = __values(inputs), inputs_1_1 = inputs_1.next();
165
- _b.label = 6;
166
- case 6:
167
- if (!!inputs_1_1.done) return [3 /*break*/, 10];
168
- input = inputs_1_1.value;
169
- if (!!resuming) return [3 /*break*/, 8];
170
- return [4 /*yield*/, getTrustedInputCall(transport, input[1], input[0], additionals)];
171
- case 7:
172
- trustedInput = _b.sent();
173
- (0, logs_1.log)("hw", "got trustedInput=" + trustedInput);
174
- sequence = Buffer.alloc(4);
175
- sequence.writeUInt32LE(input.length >= 4 && typeof input[3] === "number"
176
- ? input[3]
177
- : constants_1.DEFAULT_SEQUENCE, 0);
178
- trustedInputs.push({
179
- trustedInput: true,
180
- value: Buffer.from(trustedInput, "hex"),
181
- sequence: sequence
182
- });
183
- _b.label = 8;
184
- case 8:
185
- outputs = input[0].outputs;
186
- index = input[1];
187
- if (outputs && index <= outputs.length - 1) {
188
- regularOutputs.push(outputs[index]);
189
- }
190
- if (expiryHeight && !isDecred) {
191
- targetTransaction.nVersionGroupId = Buffer.from(sapling ? [0x85, 0x20, 0x2f, 0x89] : [0x70, 0x82, 0xc4, 0x03]);
192
- targetTransaction.nExpiryHeight = expiryHeight;
193
- // For sapling : valueBalance (8), nShieldedSpend (1), nShieldedOutput (1), nJoinSplit (1)
194
- // Overwinter : use nJoinSplit (1)
195
- targetTransaction.extraData = Buffer.from(sapling
196
- ? [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
197
- : [0x00]);
198
- }
199
- else if (isDecred) {
200
- targetTransaction.nExpiryHeight = expiryHeight;
201
- }
202
- _b.label = 9;
203
- case 9:
204
- inputs_1_1 = inputs_1.next();
205
- return [3 /*break*/, 6];
206
- case 10: return [3 /*break*/, 13];
207
- case 11:
208
- e_2_1 = _b.sent();
209
- e_2 = { error: e_2_1 };
210
- return [3 /*break*/, 13];
211
- case 12:
212
- try {
213
- if (inputs_1_1 && !inputs_1_1.done && (_a = inputs_1["return"])) _a.call(inputs_1);
214
- }
215
- finally { if (e_2) throw e_2.error; }
216
- return [7 /*endfinally*/];
217
- case 13:
218
- targetTransaction.inputs = inputs.map(function (input) {
219
- var sequence = Buffer.alloc(4);
220
- sequence.writeUInt32LE(input.length >= 4 && typeof input[3] === "number"
221
- ? input[3]
222
- : constants_1.DEFAULT_SEQUENCE, 0);
223
- return {
224
- script: nullScript,
225
- prevout: nullPrevout,
226
- sequence: sequence
227
- };
228
- });
229
- if (!!resuming) return [3 /*break*/, 18];
230
- result_1 = [];
231
- i = 0;
232
- _b.label = 14;
233
- case 14:
234
- if (!(i < inputs.length)) return [3 /*break*/, 17];
235
- return [4 /*yield*/, (0, getWalletPublicKey_1.getWalletPublicKey)(transport, {
236
- path: associatedKeysets[i]
237
- })];
238
- case 15:
239
- r = _b.sent();
240
- notify(0, i + 1);
241
- result_1.push(r);
242
- _b.label = 16;
243
- case 16:
244
- i++;
245
- return [3 /*break*/, 14];
246
- case 17:
247
- for (i = 0; i < result_1.length; i++) {
248
- publicKeys.push((0, compressPublicKey_1.compressPublicKey)(Buffer.from(result_1[i].publicKey, "hex")));
249
- }
250
- _b.label = 18;
251
- case 18:
252
- if (initialTimestamp !== undefined) {
253
- targetTransaction.timestamp = Buffer.alloc(4);
254
- targetTransaction.timestamp.writeUInt32LE(Math.floor(initialTimestamp + (Date.now() - startTime) / 1000), 0);
255
- }
256
- onDeviceSignatureRequested();
257
- if (!useBip143) return [3 /*break*/, 23];
258
- // Do the first run with all inputs
259
- return [4 /*yield*/, (0, startUntrustedHashTransactionInput_1.startUntrustedHashTransactionInput)(transport, true, targetTransaction, trustedInputs, true, !!expiryHeight, additionals, useTrustedInputForSegwit)];
260
- case 19:
261
- // Do the first run with all inputs
262
- _b.sent();
263
- if (!(!resuming && changePath)) return [3 /*break*/, 21];
264
- return [4 /*yield*/, (0, finalizeInput_1.provideOutputFullChangePath)(transport, changePath)];
265
- case 20:
266
- _b.sent();
267
- _b.label = 21;
268
- case 21: return [4 /*yield*/, (0, finalizeInput_1.hashOutputFull)(transport, outputScript)];
269
- case 22:
270
- _b.sent();
271
- _b.label = 23;
272
- case 23:
273
- if (!(!!expiryHeight && !isDecred)) return [3 /*break*/, 25];
274
- return [4 /*yield*/, (0, signTransaction_1.signTransaction)(transport, "", lockTime, constants_1.SIGHASH_ALL, expiryHeight)];
275
- case 24:
276
- _b.sent();
277
- _b.label = 25;
278
- case 25:
279
- i = 0;
280
- _b.label = 26;
281
- case 26:
282
- if (!(i < inputs.length)) return [3 /*break*/, 34];
283
- input = inputs[i];
284
- script = inputs[i].length >= 3 && typeof input[2] === "string"
285
- ? Buffer.from(input[2], "hex")
286
- : !segwit
287
- ? regularOutputs[i].script
288
- : Buffer.concat([
289
- Buffer.from([constants_1.OP_DUP, constants_1.OP_HASH160, constants_1.HASH_SIZE]),
290
- (0, hashPublicKey_1.hashPublicKey)(publicKeys[i]),
291
- Buffer.from([constants_1.OP_EQUALVERIFY, constants_1.OP_CHECKSIG]),
292
- ]);
293
- pseudoTX = Object.assign({}, targetTransaction);
294
- pseudoTrustedInputs = useBip143 ? [trustedInputs[i]] : trustedInputs;
295
- if (useBip143) {
296
- pseudoTX.inputs = [__assign(__assign({}, pseudoTX.inputs[i]), { script: script })];
297
- }
298
- else {
299
- pseudoTX.inputs[i].script = script;
300
- }
301
- return [4 /*yield*/, (0, startUntrustedHashTransactionInput_1.startUntrustedHashTransactionInput)(transport, !useBip143 && firstRun, pseudoTX, pseudoTrustedInputs, useBip143, !!expiryHeight && !isDecred, additionals, useTrustedInputForSegwit)];
302
- case 27:
303
- _b.sent();
304
- if (!!useBip143) return [3 /*break*/, 31];
305
- if (!(!resuming && changePath)) return [3 /*break*/, 29];
306
- return [4 /*yield*/, (0, finalizeInput_1.provideOutputFullChangePath)(transport, changePath)];
307
- case 28:
308
- _b.sent();
309
- _b.label = 29;
310
- case 29: return [4 /*yield*/, (0, finalizeInput_1.hashOutputFull)(transport, outputScript, additionals)];
311
- case 30:
312
- _b.sent();
313
- _b.label = 31;
314
- case 31:
315
- if (firstRun) {
316
- onDeviceSignatureGranted();
317
- notify(1, 0);
318
- }
319
- return [4 /*yield*/, (0, signTransaction_1.signTransaction)(transport, associatedKeysets[i], lockTime, sigHashType, expiryHeight, additionals)];
320
- case 32:
321
- signature = _b.sent();
322
- notify(1, i + 1);
323
- signatures.push(signature);
324
- targetTransaction.inputs[i].script = nullScript;
325
- if (firstRun) {
326
- firstRun = false;
327
- }
328
- _b.label = 33;
329
- case 33:
330
- i++;
331
- return [3 /*break*/, 26];
332
- case 34:
333
- // Populate the final input scripts
334
- for (i = 0; i < inputs.length; i++) {
335
- if (segwit) {
336
- targetTransaction.witness = Buffer.alloc(0);
337
- if (!bech32) {
338
- targetTransaction.inputs[i].script = Buffer.concat([
339
- Buffer.from("160014", "hex"),
340
- (0, hashPublicKey_1.hashPublicKey)(publicKeys[i]),
341
- ]);
342
- }
343
- }
344
- else {
345
- signatureSize = Buffer.alloc(1);
346
- keySize = Buffer.alloc(1);
347
- signatureSize[0] = signatures[i].length;
348
- keySize[0] = publicKeys[i].length;
349
- targetTransaction.inputs[i].script = Buffer.concat([
350
- signatureSize,
351
- signatures[i],
352
- keySize,
353
- publicKeys[i],
354
- ]);
355
- }
356
- offset = useBip143 && !useTrustedInputForSegwit ? 0 : 4;
357
- targetTransaction.inputs[i].prevout = trustedInputs[i].value.slice(offset, offset + 0x24);
358
- }
359
- lockTimeBuffer = Buffer.alloc(4);
360
- lockTimeBuffer.writeUInt32LE(lockTime, 0);
361
- result = Buffer.concat([
362
- (0, serializeTransaction_1.serializeTransaction)(targetTransaction, false, targetTransaction.timestamp, additionals),
363
- outputScript,
364
- ]);
365
- if (segwit && !isDecred) {
366
- witness = Buffer.alloc(0);
367
- for (i = 0; i < inputs.length; i++) {
368
- tmpScriptData = Buffer.concat([
369
- Buffer.from("02", "hex"),
370
- Buffer.from([signatures[i].length]),
371
- signatures[i],
372
- Buffer.from([publicKeys[i].length]),
373
- publicKeys[i],
374
- ]);
375
- witness = Buffer.concat([witness, tmpScriptData]);
376
- }
377
- result = Buffer.concat([result, witness]);
378
- }
379
- // FIXME: In ZEC or KMD sapling lockTime is serialized before expiryHeight.
380
- // expiryHeight is used only in overwinter/sapling so I moved lockTimeBuffer here
381
- // and it should not break other coins because expiryHeight is false for them.
382
- // Don't know about Decred though.
383
- result = Buffer.concat([result, lockTimeBuffer]);
384
- if (expiryHeight) {
385
- result = Buffer.concat([
386
- result,
387
- targetTransaction.nExpiryHeight || Buffer.alloc(0),
388
- targetTransaction.extraData || Buffer.alloc(0),
389
- ]);
390
- }
391
- if (isDecred) {
392
- decredWitness_1 = Buffer.from([targetTransaction.inputs.length]);
393
- inputs.forEach(function (input, inputIndex) {
394
- decredWitness_1 = Buffer.concat([
395
- decredWitness_1,
396
- Buffer.from([0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]),
397
- Buffer.from([0x00, 0x00, 0x00, 0x00]),
398
- Buffer.from([0xff, 0xff, 0xff, 0xff]),
399
- Buffer.from([targetTransaction.inputs[inputIndex].script.length]),
400
- targetTransaction.inputs[inputIndex].script,
401
- ]);
402
- });
403
- result = Buffer.concat([result, decredWitness_1]);
404
- }
405
- return [2 /*return*/, result.toString("hex")];
406
- }
407
- });
408
- });
409
- }
410
- exports.createTransaction = createTransaction;
411
- //# sourceMappingURL=createTransaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createTransaction.js","sourceRoot":"","sources":["../src/createTransaction.ts"],"names":[],"mappings":"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"}
package/lib/debug.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import type { Transaction } from "./types";
2
- export declare function formatTransactionDebug(transaction: Transaction): string;
3
- export declare function displayTransactionDebug(transaction: Transaction): void;
4
- //# sourceMappingURL=debug.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,CAwCvE;AACD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAEtE"}
package/lib/debug.js DELETED
@@ -1,45 +0,0 @@
1
- "use strict";
2
- exports.__esModule = true;
3
- exports.displayTransactionDebug = exports.formatTransactionDebug = void 0;
4
- function formatTransactionDebug(transaction) {
5
- var str = "TX";
6
- str += " version " + transaction.version.toString("hex");
7
- if (transaction.locktime) {
8
- str += " locktime " + transaction.locktime.toString("hex");
9
- }
10
- if (transaction.witness) {
11
- str += " witness " + transaction.witness.toString("hex");
12
- }
13
- if (transaction.timestamp) {
14
- str += " timestamp " + transaction.timestamp.toString("hex");
15
- }
16
- if (transaction.nVersionGroupId) {
17
- str += " nVersionGroupId " + transaction.nVersionGroupId.toString("hex");
18
- }
19
- if (transaction.nExpiryHeight) {
20
- str += " nExpiryHeight " + transaction.nExpiryHeight.toString("hex");
21
- }
22
- if (transaction.extraData) {
23
- str += " extraData " + transaction.extraData.toString("hex");
24
- }
25
- transaction.inputs.forEach(function (_a, i) {
26
- var prevout = _a.prevout, script = _a.script, sequence = _a.sequence;
27
- str += "\ninput ".concat(i, ":");
28
- str += " prevout ".concat(prevout.toString("hex"));
29
- str += " script ".concat(script.toString("hex"));
30
- str += " sequence ".concat(sequence.toString("hex"));
31
- });
32
- (transaction.outputs || []).forEach(function (_a, i) {
33
- var amount = _a.amount, script = _a.script;
34
- str += "\noutput ".concat(i, ":");
35
- str += " amount ".concat(amount.toString("hex"));
36
- str += " script ".concat(script.toString("hex"));
37
- });
38
- return str;
39
- }
40
- exports.formatTransactionDebug = formatTransactionDebug;
41
- function displayTransactionDebug(transaction) {
42
- console.log(formatTransactionDebug(transaction));
43
- }
44
- exports.displayTransactionDebug = displayTransactionDebug;
45
- //# sourceMappingURL=debug.js.map
package/lib/debug.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":";;;AACA,SAAgB,sBAAsB,CAAC,WAAwB;IAC7D,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,GAAG,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAI,WAAW,CAAC,QAAQ,EAAE;QACxB,GAAG,IAAI,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC5D;IAED,IAAI,WAAW,CAAC,OAAO,EAAE;QACvB,GAAG,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1D;IAED,IAAI,WAAW,CAAC,SAAS,EAAE;QACzB,GAAG,IAAI,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9D;IAED,IAAI,WAAW,CAAC,eAAe,EAAE;QAC/B,GAAG,IAAI,mBAAmB,GAAG,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1E;IAED,IAAI,WAAW,CAAC,aAAa,EAAE;QAC7B,GAAG,IAAI,iBAAiB,GAAG,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtE;IAED,IAAI,WAAW,CAAC,SAAS,EAAE;QACzB,GAAG,IAAI,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9D;IAED,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,EAA6B,EAAE,CAAC;YAA9B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,QAAQ,cAAA;QACrD,GAAG,IAAI,kBAAW,CAAC,MAAG,CAAC;QACvB,GAAG,IAAI,mBAAY,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,CAAC;QAC7C,GAAG,IAAI,kBAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,CAAC;QAC3C,GAAG,IAAI,oBAAa,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAC,EAAkB,EAAE,CAAC;YAAnB,MAAM,YAAA,EAAE,MAAM,YAAA;QACnD,GAAG,IAAI,mBAAY,CAAC,MAAG,CAAC;QACxB,GAAG,IAAI,kBAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,CAAC;QAC3C,GAAG,IAAI,kBAAW,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAxCD,wDAwCC;AACD,SAAgB,uBAAuB,CAAC,WAAwB;IAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,0DAEC"}
@@ -1,5 +0,0 @@
1
- /// <reference types="node" />
2
- import Transport from "@ledgerhq/hw-transport";
3
- export declare function provideOutputFullChangePath(transport: Transport, path: string): Promise<Buffer>;
4
- export declare function hashOutputFull(transport: Transport, outputScript: Buffer, additionals?: Array<string>): Promise<Buffer | void>;
5
- //# sourceMappingURL=finalizeInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finalizeInput.d.ts","sourceRoot":"","sources":["../src/finalizeInput.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAG/C,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAGjB;AACD,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- exports.__esModule = true;
39
- exports.hashOutputFull = exports.provideOutputFullChangePath = void 0;
40
- var bip32_1 = require("./bip32");
41
- var constants_1 = require("./constants");
42
- function provideOutputFullChangePath(transport, path) {
43
- var buffer = (0, bip32_1.bip32asBuffer)(path);
44
- return transport.send(0xe0, 0x4a, 0xff, 0x00, buffer);
45
- }
46
- exports.provideOutputFullChangePath = provideOutputFullChangePath;
47
- function hashOutputFull(transport, outputScript, additionals) {
48
- if (additionals === void 0) { additionals = []; }
49
- return __awaiter(this, void 0, void 0, function () {
50
- var offset, p1, isDecred, blockSize, p1_1, data;
51
- return __generator(this, function (_a) {
52
- switch (_a.label) {
53
- case 0:
54
- offset = 0;
55
- p1 = Number(0x80);
56
- isDecred = additionals.includes("decred");
57
- ///WARNING: Decred works only with one call (without chunking)
58
- //TODO: test without this for Decred
59
- if (isDecred) {
60
- return [2 /*return*/, transport.send(0xe0, 0x4a, p1, 0x00, outputScript)];
61
- }
62
- _a.label = 1;
63
- case 1:
64
- if (!(offset < outputScript.length)) return [3 /*break*/, 3];
65
- blockSize = offset + constants_1.MAX_SCRIPT_BLOCK >= outputScript.length
66
- ? outputScript.length - offset
67
- : constants_1.MAX_SCRIPT_BLOCK;
68
- p1_1 = offset + blockSize === outputScript.length ? 0x80 : 0x00;
69
- data = outputScript.slice(offset, offset + blockSize);
70
- return [4 /*yield*/, transport.send(0xe0, 0x4a, p1_1, 0x00, data)];
71
- case 2:
72
- _a.sent();
73
- offset += blockSize;
74
- return [3 /*break*/, 1];
75
- case 3: return [2 /*return*/];
76
- }
77
- });
78
- });
79
- }
80
- exports.hashOutputFull = hashOutputFull;
81
- //# sourceMappingURL=finalizeInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finalizeInput.js","sourceRoot":"","sources":["../src/finalizeInput.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAAwC;AACxC,yCAA+C;AAC/C,SAAgB,2BAA2B,CACzC,SAAoB,EACpB,IAAY;IAEZ,IAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,CAAC;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAND,kEAMC;AACD,SAAsB,cAAc,CAClC,SAAoB,EACpB,YAAoB,EACpB,WAA+B;IAA/B,4BAAA,EAAA,gBAA+B;;;;;;oBAE3B,MAAM,GAAG,CAAC,CAAC;oBACT,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClB,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAEhD,8DAA8D;oBAC9D,oCAAoC;oBACpC,IAAI,QAAQ,EAAE;wBACZ,sBAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,EAAC;qBAC3D;;;yBAEM,CAAA,MAAM,GAAG,YAAY,CAAC,MAAM,CAAA;oBAC3B,SAAS,GACb,MAAM,GAAG,4BAAgB,IAAI,YAAY,CAAC,MAAM;wBAC9C,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,MAAM;wBAC9B,CAAC,CAAC,4BAAgB,CAAC;oBACjB,OAAK,MAAM,GAAG,SAAS,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9D,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;oBAC5D,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAA;;oBAAhD,SAAgD,CAAC;oBACjD,MAAM,IAAI,SAAS,CAAC;;;;;;CAEvB;AAzBD,wCAyBC"}
@@ -1,9 +0,0 @@
1
- /// <reference types="node" />
2
- import Transport from "@ledgerhq/hw-transport";
3
- export declare type AppAndVersion = {
4
- name: string;
5
- version: string;
6
- flags: number | Buffer;
7
- };
8
- export declare const getAppAndVersion: (transport: Transport) => Promise<AppAndVersion>;
9
- //# sourceMappingURL=getAppAndVersion.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAppAndVersion.d.ts","sourceRoot":"","sources":["../src/getAppAndVersion.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,KACnB,QAAQ,aAAa,CAgBvB,CAAC"}