@ledgerhq/hw-app-btc 6.21.0 → 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 (290) hide show
  1. package/.turbo/turbo-build.log +1 -0
  2. package/CHANGELOG.md +10 -0
  3. package/README.md +4 -4
  4. package/jest.config.ts +6 -0
  5. package/package.json +15 -6
  6. package/src/bip32.ts +5 -3
  7. package/src/getTrustedInput.ts +2 -8
  8. package/src/newops/appClient.ts +8 -4
  9. package/src/newops/psbtv2.ts +13 -9
  10. package/LICENSE +0 -202
  11. package/lib/Btc.d.ts +0 -149
  12. package/lib/Btc.d.ts.map +0 -1
  13. package/lib/Btc.js +0 -353
  14. package/lib/Btc.js.map +0 -1
  15. package/lib/BtcNew.d.ts +0 -122
  16. package/lib/BtcNew.d.ts.map +0 -1
  17. package/lib/BtcNew.js +0 -451
  18. package/lib/BtcNew.js.map +0 -1
  19. package/lib/BtcOld.d.ts +0 -120
  20. package/lib/BtcOld.d.ts.map +0 -1
  21. package/lib/BtcOld.js +0 -263
  22. package/lib/BtcOld.js.map +0 -1
  23. package/lib/bip32.d.ts +0 -13
  24. package/lib/bip32.d.ts.map +0 -1
  25. package/lib/bip32.js +0 -57
  26. package/lib/bip32.js.map +0 -1
  27. package/lib/buffertools.d.ts +0 -30
  28. package/lib/buffertools.d.ts.map +0 -1
  29. package/lib/buffertools.js +0 -132
  30. package/lib/buffertools.js.map +0 -1
  31. package/lib/compressPublicKey.d.ts +0 -3
  32. package/lib/compressPublicKey.d.ts.map +0 -1
  33. package/lib/compressPublicKey.js +0 -11
  34. package/lib/compressPublicKey.js.map +0 -1
  35. package/lib/constants.d.ts +0 -13
  36. package/lib/constants.d.ts.map +0 -1
  37. package/lib/constants.js +0 -17
  38. package/lib/constants.js.map +0 -1
  39. package/lib/createTransaction.d.ts +0 -35
  40. package/lib/createTransaction.d.ts.map +0 -1
  41. package/lib/createTransaction.js +0 -411
  42. package/lib/createTransaction.js.map +0 -1
  43. package/lib/debug.d.ts +0 -4
  44. package/lib/debug.d.ts.map +0 -1
  45. package/lib/debug.js +0 -45
  46. package/lib/debug.js.map +0 -1
  47. package/lib/finalizeInput.d.ts +0 -5
  48. package/lib/finalizeInput.d.ts.map +0 -1
  49. package/lib/finalizeInput.js +0 -81
  50. package/lib/finalizeInput.js.map +0 -1
  51. package/lib/getAppAndVersion.d.ts +0 -9
  52. package/lib/getAppAndVersion.d.ts.map +0 -1
  53. package/lib/getAppAndVersion.js +0 -69
  54. package/lib/getAppAndVersion.js.map +0 -1
  55. package/lib/getTrustedInput.d.ts +0 -6
  56. package/lib/getTrustedInput.d.ts.map +0 -1
  57. package/lib/getTrustedInput.js +0 -275
  58. package/lib/getTrustedInput.js.map +0 -1
  59. package/lib/getTrustedInputBIP143.d.ts +0 -4
  60. package/lib/getTrustedInputBIP143.d.ts.map +0 -1
  61. package/lib/getTrustedInputBIP143.js +0 -34
  62. package/lib/getTrustedInputBIP143.js.map +0 -1
  63. package/lib/getWalletPublicKey.d.ts +0 -15
  64. package/lib/getWalletPublicKey.d.ts.map +0 -1
  65. package/lib/getWalletPublicKey.js +0 -93
  66. package/lib/getWalletPublicKey.js.map +0 -1
  67. package/lib/hashPublicKey.d.ts +0 -3
  68. package/lib/hashPublicKey.d.ts.map +0 -1
  69. package/lib/hashPublicKey.js +0 -13
  70. package/lib/hashPublicKey.js.map +0 -1
  71. package/lib/index.d.ts +0 -3
  72. package/lib/index.d.ts.map +0 -1
  73. package/lib/index.js +0 -8
  74. package/lib/index.js.map +0 -1
  75. package/lib/newops/accounttype.d.ts +0 -110
  76. package/lib/newops/accounttype.d.ts.map +0 -1
  77. package/lib/newops/accounttype.js +0 -236
  78. package/lib/newops/accounttype.js.map +0 -1
  79. package/lib/newops/appClient.d.ts +0 -18
  80. package/lib/newops/appClient.d.ts.map +0 -1
  81. package/lib/newops/appClient.js +0 -246
  82. package/lib/newops/appClient.js.map +0 -1
  83. package/lib/newops/clientCommands.d.ts +0 -77
  84. package/lib/newops/clientCommands.d.ts.map +0 -1
  85. package/lib/newops/clientCommands.js +0 -353
  86. package/lib/newops/clientCommands.js.map +0 -1
  87. package/lib/newops/merkelizedPsbt.d.ts +0 -26
  88. package/lib/newops/merkelizedPsbt.d.ts.map +0 -1
  89. package/lib/newops/merkelizedPsbt.js +0 -102
  90. package/lib/newops/merkelizedPsbt.js.map +0 -1
  91. package/lib/newops/merkle.d.ts +0 -34
  92. package/lib/newops/merkle.d.ts.map +0 -1
  93. package/lib/newops/merkle.js +0 -138
  94. package/lib/newops/merkle.js.map +0 -1
  95. package/lib/newops/merkleMap.d.ts +0 -25
  96. package/lib/newops/merkleMap.d.ts.map +0 -1
  97. package/lib/newops/merkleMap.js +0 -47
  98. package/lib/newops/merkleMap.js.map +0 -1
  99. package/lib/newops/policy.d.ts +0 -22
  100. package/lib/newops/policy.d.ts.map +0 -1
  101. package/lib/newops/policy.js +0 -48
  102. package/lib/newops/policy.js.map +0 -1
  103. package/lib/newops/psbtExtractor.d.ts +0 -10
  104. package/lib/newops/psbtExtractor.d.ts.map +0 -1
  105. package/lib/newops/psbtExtractor.js +0 -42
  106. package/lib/newops/psbtExtractor.js.map +0 -1
  107. package/lib/newops/psbtFinalizer.d.ts +0 -17
  108. package/lib/newops/psbtFinalizer.d.ts.map +0 -1
  109. package/lib/newops/psbtFinalizer.js +0 -135
  110. package/lib/newops/psbtFinalizer.js.map +0 -1
  111. package/lib/newops/psbtv2.d.ts +0 -149
  112. package/lib/newops/psbtv2.d.ts.map +0 -1
  113. package/lib/newops/psbtv2.js +0 -506
  114. package/lib/newops/psbtv2.js.map +0 -1
  115. package/lib/serializeTransaction.d.ts +0 -10
  116. package/lib/serializeTransaction.d.ts.map +0 -1
  117. package/lib/serializeTransaction.js +0 -72
  118. package/lib/serializeTransaction.js.map +0 -1
  119. package/lib/shouldUseTrustedInputForSegwit.d.ts +0 -5
  120. package/lib/shouldUseTrustedInputForSegwit.d.ts.map +0 -1
  121. package/lib/shouldUseTrustedInputForSegwit.js +0 -17
  122. package/lib/shouldUseTrustedInputForSegwit.js.map +0 -1
  123. package/lib/signMessage.d.ts +0 -10
  124. package/lib/signMessage.d.ts.map +0 -1
  125. package/lib/signMessage.js +0 -118
  126. package/lib/signMessage.js.map +0 -1
  127. package/lib/signP2SHTransaction.d.ts +0 -21
  128. package/lib/signP2SHTransaction.d.ts.map +0 -1
  129. package/lib/signP2SHTransaction.js +0 -208
  130. package/lib/signP2SHTransaction.js.map +0 -1
  131. package/lib/signTransaction.d.ts +0 -4
  132. package/lib/signTransaction.d.ts.map +0 -1
  133. package/lib/signTransaction.js +0 -36
  134. package/lib/signTransaction.js.map +0 -1
  135. package/lib/splitTransaction.d.ts +0 -3
  136. package/lib/splitTransaction.d.ts.map +0 -1
  137. package/lib/splitTransaction.js +0 -142
  138. package/lib/splitTransaction.js.map +0 -1
  139. package/lib/startUntrustedHashTransactionInput.d.ts +0 -9
  140. package/lib/startUntrustedHashTransactionInput.d.ts.map +0 -1
  141. package/lib/startUntrustedHashTransactionInput.js +0 -197
  142. package/lib/startUntrustedHashTransactionInput.js.map +0 -1
  143. package/lib/types.d.ts +0 -34
  144. package/lib/types.d.ts.map +0 -1
  145. package/lib/types.js +0 -3
  146. package/lib/types.js.map +0 -1
  147. package/lib/varint.d.ts +0 -4
  148. package/lib/varint.d.ts.map +0 -1
  149. package/lib/varint.js +0 -45
  150. package/lib/varint.js.map +0 -1
  151. package/lib-es/Btc.d.ts +0 -149
  152. package/lib-es/Btc.d.ts.map +0 -1
  153. package/lib-es/Btc.js +0 -329
  154. package/lib-es/Btc.js.map +0 -1
  155. package/lib-es/BtcNew.d.ts +0 -122
  156. package/lib-es/BtcNew.d.ts.map +0 -1
  157. package/lib-es/BtcNew.js +0 -444
  158. package/lib-es/BtcNew.js.map +0 -1
  159. package/lib-es/BtcOld.d.ts +0 -120
  160. package/lib-es/BtcOld.d.ts.map +0 -1
  161. package/lib-es/BtcOld.js +0 -258
  162. package/lib-es/BtcOld.js.map +0 -1
  163. package/lib-es/bip32.d.ts +0 -13
  164. package/lib-es/bip32.d.ts.map +0 -1
  165. package/lib-es/bip32.js +0 -44
  166. package/lib-es/bip32.js.map +0 -1
  167. package/lib-es/buffertools.d.ts +0 -30
  168. package/lib-es/buffertools.d.ts.map +0 -1
  169. package/lib-es/buffertools.js +0 -124
  170. package/lib-es/buffertools.js.map +0 -1
  171. package/lib-es/compressPublicKey.d.ts +0 -3
  172. package/lib-es/compressPublicKey.d.ts.map +0 -1
  173. package/lib-es/compressPublicKey.js +0 -7
  174. package/lib-es/compressPublicKey.js.map +0 -1
  175. package/lib-es/constants.d.ts +0 -13
  176. package/lib-es/constants.d.ts.map +0 -1
  177. package/lib-es/constants.js +0 -14
  178. package/lib-es/constants.js.map +0 -1
  179. package/lib-es/createTransaction.d.ts +0 -35
  180. package/lib-es/createTransaction.d.ts.map +0 -1
  181. package/lib-es/createTransaction.js +0 -407
  182. package/lib-es/createTransaction.js.map +0 -1
  183. package/lib-es/debug.d.ts +0 -4
  184. package/lib-es/debug.d.ts.map +0 -1
  185. package/lib-es/debug.js +0 -40
  186. package/lib-es/debug.js.map +0 -1
  187. package/lib-es/finalizeInput.d.ts +0 -5
  188. package/lib-es/finalizeInput.d.ts.map +0 -1
  189. package/lib-es/finalizeInput.js +0 -76
  190. package/lib-es/finalizeInput.js.map +0 -1
  191. package/lib-es/getAppAndVersion.d.ts +0 -9
  192. package/lib-es/getAppAndVersion.d.ts.map +0 -1
  193. package/lib-es/getAppAndVersion.js +0 -62
  194. package/lib-es/getAppAndVersion.js.map +0 -1
  195. package/lib-es/getTrustedInput.d.ts +0 -6
  196. package/lib-es/getTrustedInput.d.ts.map +0 -1
  197. package/lib-es/getTrustedInput.js +0 -267
  198. package/lib-es/getTrustedInput.js.map +0 -1
  199. package/lib-es/getTrustedInputBIP143.d.ts +0 -4
  200. package/lib-es/getTrustedInputBIP143.d.ts.map +0 -1
  201. package/lib-es/getTrustedInputBIP143.js +0 -27
  202. package/lib-es/getTrustedInputBIP143.js.map +0 -1
  203. package/lib-es/getWalletPublicKey.d.ts +0 -15
  204. package/lib-es/getWalletPublicKey.d.ts.map +0 -1
  205. package/lib-es/getWalletPublicKey.js +0 -89
  206. package/lib-es/getWalletPublicKey.js.map +0 -1
  207. package/lib-es/hashPublicKey.d.ts +0 -3
  208. package/lib-es/hashPublicKey.d.ts.map +0 -1
  209. package/lib-es/hashPublicKey.js +0 -6
  210. package/lib-es/hashPublicKey.js.map +0 -1
  211. package/lib-es/index.d.ts +0 -3
  212. package/lib-es/index.d.ts.map +0 -1
  213. package/lib-es/index.js +0 -3
  214. package/lib-es/index.js.map +0 -1
  215. package/lib-es/newops/accounttype.d.ts +0 -110
  216. package/lib-es/newops/accounttype.d.ts.map +0 -1
  217. package/lib-es/newops/accounttype.js +0 -233
  218. package/lib-es/newops/accounttype.js.map +0 -1
  219. package/lib-es/newops/appClient.d.ts +0 -18
  220. package/lib-es/newops/appClient.d.ts.map +0 -1
  221. package/lib-es/newops/appClient.js +0 -243
  222. package/lib-es/newops/appClient.js.map +0 -1
  223. package/lib-es/newops/clientCommands.d.ts +0 -77
  224. package/lib-es/newops/clientCommands.d.ts.map +0 -1
  225. package/lib-es/newops/clientCommands.js +0 -350
  226. package/lib-es/newops/clientCommands.js.map +0 -1
  227. package/lib-es/newops/merkelizedPsbt.d.ts +0 -26
  228. package/lib-es/newops/merkelizedPsbt.d.ts.map +0 -1
  229. package/lib-es/newops/merkelizedPsbt.js +0 -99
  230. package/lib-es/newops/merkelizedPsbt.js.map +0 -1
  231. package/lib-es/newops/merkle.d.ts +0 -34
  232. package/lib-es/newops/merkle.d.ts.map +0 -1
  233. package/lib-es/newops/merkle.js +0 -134
  234. package/lib-es/newops/merkle.js.map +0 -1
  235. package/lib-es/newops/merkleMap.d.ts +0 -25
  236. package/lib-es/newops/merkleMap.d.ts.map +0 -1
  237. package/lib-es/newops/merkleMap.js +0 -44
  238. package/lib-es/newops/merkleMap.js.map +0 -1
  239. package/lib-es/newops/policy.d.ts +0 -22
  240. package/lib-es/newops/policy.d.ts.map +0 -1
  241. package/lib-es/newops/policy.js +0 -44
  242. package/lib-es/newops/policy.js.map +0 -1
  243. package/lib-es/newops/psbtExtractor.d.ts +0 -10
  244. package/lib-es/newops/psbtExtractor.d.ts.map +0 -1
  245. package/lib-es/newops/psbtExtractor.js +0 -38
  246. package/lib-es/newops/psbtExtractor.js.map +0 -1
  247. package/lib-es/newops/psbtFinalizer.d.ts +0 -17
  248. package/lib-es/newops/psbtFinalizer.d.ts.map +0 -1
  249. package/lib-es/newops/psbtFinalizer.js +0 -131
  250. package/lib-es/newops/psbtFinalizer.js.map +0 -1
  251. package/lib-es/newops/psbtv2.d.ts +0 -149
  252. package/lib-es/newops/psbtv2.d.ts.map +0 -1
  253. package/lib-es/newops/psbtv2.js +0 -503
  254. package/lib-es/newops/psbtv2.js.map +0 -1
  255. package/lib-es/serializeTransaction.d.ts +0 -10
  256. package/lib-es/serializeTransaction.d.ts.map +0 -1
  257. package/lib-es/serializeTransaction.js +0 -67
  258. package/lib-es/serializeTransaction.js.map +0 -1
  259. package/lib-es/shouldUseTrustedInputForSegwit.d.ts +0 -5
  260. package/lib-es/shouldUseTrustedInputForSegwit.d.ts.map +0 -1
  261. package/lib-es/shouldUseTrustedInputForSegwit.js +0 -10
  262. package/lib-es/shouldUseTrustedInputForSegwit.js.map +0 -1
  263. package/lib-es/signMessage.d.ts +0 -10
  264. package/lib-es/signMessage.d.ts.map +0 -1
  265. package/lib-es/signMessage.js +0 -111
  266. package/lib-es/signMessage.js.map +0 -1
  267. package/lib-es/signP2SHTransaction.d.ts +0 -21
  268. package/lib-es/signP2SHTransaction.d.ts.map +0 -1
  269. package/lib-es/signP2SHTransaction.js +0 -204
  270. package/lib-es/signP2SHTransaction.js.map +0 -1
  271. package/lib-es/signTransaction.d.ts +0 -4
  272. package/lib-es/signTransaction.d.ts.map +0 -1
  273. package/lib-es/signTransaction.js +0 -32
  274. package/lib-es/signTransaction.js.map +0 -1
  275. package/lib-es/splitTransaction.d.ts +0 -3
  276. package/lib-es/splitTransaction.d.ts.map +0 -1
  277. package/lib-es/splitTransaction.js +0 -138
  278. package/lib-es/splitTransaction.js.map +0 -1
  279. package/lib-es/startUntrustedHashTransactionInput.d.ts +0 -9
  280. package/lib-es/startUntrustedHashTransactionInput.d.ts.map +0 -1
  281. package/lib-es/startUntrustedHashTransactionInput.js +0 -192
  282. package/lib-es/startUntrustedHashTransactionInput.js.map +0 -1
  283. package/lib-es/types.d.ts +0 -34
  284. package/lib-es/types.d.ts.map +0 -1
  285. package/lib-es/types.js +0 -2
  286. package/lib-es/types.js.map +0 -1
  287. package/lib-es/varint.d.ts +0 -4
  288. package/lib-es/varint.d.ts.map +0 -1
  289. package/lib-es/varint.js +0 -40
  290. package/lib-es/varint.js.map +0 -1
@@ -1,138 +0,0 @@
1
- import { log } from "@ledgerhq/logs";
2
- import { getVarint } from "./varint";
3
- import { formatTransactionDebug } from "./debug";
4
- export function splitTransaction(transactionHex, isSegwitSupported, hasTimestamp, hasExtraData, additionals) {
5
- if (isSegwitSupported === void 0) { isSegwitSupported = false; }
6
- if (hasTimestamp === void 0) { hasTimestamp = false; }
7
- if (hasExtraData === void 0) { hasExtraData = false; }
8
- if (additionals === void 0) { additionals = []; }
9
- var inputs = [];
10
- var outputs = [];
11
- var witness = false;
12
- var offset = 0;
13
- var timestamp = Buffer.alloc(0);
14
- var nExpiryHeight = Buffer.alloc(0);
15
- var nVersionGroupId = Buffer.alloc(0);
16
- var extraData = Buffer.alloc(0);
17
- var isDecred = additionals.includes("decred");
18
- var transaction = Buffer.from(transactionHex, "hex");
19
- var version = transaction.slice(offset, offset + 4);
20
- var overwinter = version.equals(Buffer.from([0x03, 0x00, 0x00, 0x80])) ||
21
- version.equals(Buffer.from([0x04, 0x00, 0x00, 0x80]));
22
- offset += 4;
23
- if (!hasTimestamp &&
24
- isSegwitSupported &&
25
- transaction[offset] === 0 &&
26
- transaction[offset + 1] !== 0) {
27
- offset += 2;
28
- witness = true;
29
- }
30
- if (hasTimestamp) {
31
- timestamp = transaction.slice(offset, 4 + offset);
32
- offset += 4;
33
- }
34
- if (overwinter) {
35
- nVersionGroupId = transaction.slice(offset, 4 + offset);
36
- offset += 4;
37
- }
38
- var varint = getVarint(transaction, offset);
39
- var numberInputs = varint[0];
40
- offset += varint[1];
41
- for (var i = 0; i < numberInputs; i++) {
42
- var prevout = transaction.slice(offset, offset + 36);
43
- offset += 36;
44
- var script = Buffer.alloc(0);
45
- var tree = Buffer.alloc(0);
46
- //No script for decred, it has a witness
47
- if (!isDecred) {
48
- varint = getVarint(transaction, offset);
49
- offset += varint[1];
50
- script = transaction.slice(offset, offset + varint[0]);
51
- offset += varint[0];
52
- }
53
- else {
54
- //Tree field
55
- tree = transaction.slice(offset, offset + 1);
56
- offset += 1;
57
- }
58
- var sequence = transaction.slice(offset, offset + 4);
59
- offset += 4;
60
- inputs.push({
61
- prevout: prevout,
62
- script: script,
63
- sequence: sequence,
64
- tree: tree
65
- });
66
- }
67
- varint = getVarint(transaction, offset);
68
- var numberOutputs = varint[0];
69
- offset += varint[1];
70
- for (var i = 0; i < numberOutputs; i++) {
71
- var amount = transaction.slice(offset, offset + 8);
72
- offset += 8;
73
- if (isDecred) {
74
- //Script version
75
- offset += 2;
76
- }
77
- varint = getVarint(transaction, offset);
78
- offset += varint[1];
79
- var script = transaction.slice(offset, offset + varint[0]);
80
- offset += varint[0];
81
- outputs.push({
82
- amount: amount,
83
- script: script
84
- });
85
- }
86
- var witnessScript, locktime;
87
- if (witness) {
88
- witnessScript = transaction.slice(offset, -4);
89
- locktime = transaction.slice(transaction.length - 4);
90
- }
91
- else {
92
- locktime = transaction.slice(offset, offset + 4);
93
- }
94
- offset += 4;
95
- if (overwinter || isDecred) {
96
- nExpiryHeight = transaction.slice(offset, offset + 4);
97
- offset += 4;
98
- }
99
- if (hasExtraData) {
100
- extraData = transaction.slice(offset);
101
- }
102
- //Get witnesses for Decred
103
- if (isDecred) {
104
- varint = getVarint(transaction, offset);
105
- offset += varint[1];
106
- if (varint[0] !== numberInputs) {
107
- throw new Error("splitTransaction: incoherent number of witnesses");
108
- }
109
- for (var i = 0; i < numberInputs; i++) {
110
- //amount
111
- offset += 8;
112
- //block height
113
- offset += 4;
114
- //block index
115
- offset += 4;
116
- //Script size
117
- varint = getVarint(transaction, offset);
118
- offset += varint[1];
119
- var script = transaction.slice(offset, offset + varint[0]);
120
- offset += varint[0];
121
- inputs[i].script = script;
122
- }
123
- }
124
- var t = {
125
- version: version,
126
- inputs: inputs,
127
- outputs: outputs,
128
- locktime: locktime,
129
- witness: witnessScript,
130
- timestamp: timestamp,
131
- nVersionGroupId: nVersionGroupId,
132
- nExpiryHeight: nExpiryHeight,
133
- extraData: extraData
134
- };
135
- log("btc", "splitTransaction ".concat(transactionHex, ":\n").concat(formatTransactionDebug(t)));
136
- return t;
137
- }
138
- //# sourceMappingURL=splitTransaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitTransaction.js","sourceRoot":"","sources":["../src/splitTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /// <reference types="node" />
2
- import type Transport from "@ledgerhq/hw-transport";
3
- import type { Transaction } from "./types";
4
- export declare function startUntrustedHashTransactionInputRaw(transport: Transport, newTransaction: boolean, firstRound: boolean, transactionData: Buffer, bip143?: boolean, overwinter?: boolean, additionals?: Array<string>): Promise<Buffer>;
5
- export declare function startUntrustedHashTransactionInput(transport: Transport, newTransaction: boolean, transaction: Transaction, inputs: Array<{
6
- trustedInput: boolean;
7
- value: Buffer;
8
- }>, bip143?: boolean, overwinter?: boolean, additionals?: Array<string>, useTrustedInputForSegwit?: boolean): Promise<any>;
9
- //# sourceMappingURL=startUntrustedHashTransactionInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"startUntrustedHashTransactionInput.d.ts","sourceRoot":"","sources":["../src/startUntrustedHashTransactionInput.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,wBAAgB,qCAAqC,CACnD,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,OAAO,EACvB,UAAU,EAAE,OAAO,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,UAAQ,EACd,UAAU,UAAQ,EAClB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AACD,wBAAsB,kCAAkC,CACtD,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,KAAK,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,EACF,MAAM,UAAQ,EACd,UAAU,UAAQ,EAClB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,EAC/B,wBAAwB,UAAQ,GAC/B,OAAO,CAAC,GAAG,CAAC,CA6Fd"}
@@ -1,192 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- 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;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- var __values = (this && this.__values) || function(o) {
38
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
39
- if (m) return m.call(o);
40
- if (o && typeof o.length === "number") return {
41
- next: function () {
42
- if (o && i >= o.length) o = void 0;
43
- return { value: o && o[i++], done: !o };
44
- }
45
- };
46
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
47
- };
48
- import { createVarint } from "./varint";
49
- import { MAX_SCRIPT_BLOCK } from "./constants";
50
- export function startUntrustedHashTransactionInputRaw(transport, newTransaction, firstRound, transactionData, bip143, overwinter, additionals) {
51
- if (bip143 === void 0) { bip143 = false; }
52
- if (overwinter === void 0) { overwinter = false; }
53
- if (additionals === void 0) { additionals = []; }
54
- var p2 = additionals.includes("cashaddr")
55
- ? 0x03
56
- : bip143
57
- ? additionals.includes("sapling")
58
- ? 0x05
59
- : overwinter
60
- ? 0x04
61
- : 0x02
62
- : 0x00;
63
- return transport.send(0xe0, 0x44, firstRound ? 0x00 : 0x80, newTransaction ? p2 : 0x80, transactionData);
64
- }
65
- export function startUntrustedHashTransactionInput(transport, newTransaction, transaction, inputs, bip143, overwinter, additionals, useTrustedInputForSegwit) {
66
- if (bip143 === void 0) { bip143 = false; }
67
- if (overwinter === void 0) { overwinter = false; }
68
- if (additionals === void 0) { additionals = []; }
69
- if (useTrustedInputForSegwit === void 0) { useTrustedInputForSegwit = false; }
70
- return __awaiter(this, void 0, void 0, function () {
71
- var data, i, isDecred, _a, _b, input, prefix, inputValue, scriptBlocks, offset, blockSize, scriptBlocks_1, scriptBlocks_1_1, scriptBlock, e_1_1, e_2_1;
72
- var e_2, _c, e_1, _d;
73
- return __generator(this, function (_e) {
74
- switch (_e.label) {
75
- case 0:
76
- data = Buffer.concat([
77
- transaction.version,
78
- transaction.timestamp || Buffer.alloc(0),
79
- transaction.nVersionGroupId || Buffer.alloc(0),
80
- createVarint(transaction.inputs.length),
81
- ]);
82
- return [4 /*yield*/, startUntrustedHashTransactionInputRaw(transport, newTransaction, true, data, bip143, overwinter, additionals)];
83
- case 1:
84
- _e.sent();
85
- i = 0;
86
- isDecred = additionals.includes("decred");
87
- _e.label = 2;
88
- case 2:
89
- _e.trys.push([2, 15, 16, 17]);
90
- _a = __values(transaction.inputs), _b = _a.next();
91
- _e.label = 3;
92
- case 3:
93
- if (!!_b.done) return [3 /*break*/, 14];
94
- input = _b.value;
95
- prefix = void 0;
96
- inputValue = inputs[i].value;
97
- if (bip143) {
98
- if (useTrustedInputForSegwit && inputs[i].trustedInput) {
99
- prefix = Buffer.from([0x01, inputValue.length]);
100
- }
101
- else {
102
- prefix = Buffer.from([0x02]);
103
- }
104
- }
105
- else {
106
- if (inputs[i].trustedInput) {
107
- prefix = Buffer.from([0x01, inputs[i].value.length]);
108
- }
109
- else {
110
- prefix = Buffer.from([0x00]);
111
- }
112
- }
113
- data = Buffer.concat([
114
- prefix,
115
- inputValue,
116
- isDecred ? Buffer.from([0x00]) : Buffer.alloc(0),
117
- createVarint(input.script.length),
118
- ]);
119
- return [4 /*yield*/, startUntrustedHashTransactionInputRaw(transport, newTransaction, false, data, bip143, overwinter, additionals)];
120
- case 4:
121
- _e.sent();
122
- scriptBlocks = [];
123
- offset = 0;
124
- if (input.script.length === 0) {
125
- scriptBlocks.push(input.sequence);
126
- }
127
- else {
128
- while (offset !== input.script.length) {
129
- blockSize = input.script.length - offset > MAX_SCRIPT_BLOCK
130
- ? MAX_SCRIPT_BLOCK
131
- : input.script.length - offset;
132
- if (offset + blockSize !== input.script.length) {
133
- scriptBlocks.push(input.script.slice(offset, offset + blockSize));
134
- }
135
- else {
136
- scriptBlocks.push(Buffer.concat([
137
- input.script.slice(offset, offset + blockSize),
138
- input.sequence,
139
- ]));
140
- }
141
- offset += blockSize;
142
- }
143
- }
144
- _e.label = 5;
145
- case 5:
146
- _e.trys.push([5, 10, 11, 12]);
147
- scriptBlocks_1 = (e_1 = void 0, __values(scriptBlocks)), scriptBlocks_1_1 = scriptBlocks_1.next();
148
- _e.label = 6;
149
- case 6:
150
- if (!!scriptBlocks_1_1.done) return [3 /*break*/, 9];
151
- scriptBlock = scriptBlocks_1_1.value;
152
- return [4 /*yield*/, startUntrustedHashTransactionInputRaw(transport, newTransaction, false, scriptBlock, bip143, overwinter, additionals)];
153
- case 7:
154
- _e.sent();
155
- _e.label = 8;
156
- case 8:
157
- scriptBlocks_1_1 = scriptBlocks_1.next();
158
- return [3 /*break*/, 6];
159
- case 9: return [3 /*break*/, 12];
160
- case 10:
161
- e_1_1 = _e.sent();
162
- e_1 = { error: e_1_1 };
163
- return [3 /*break*/, 12];
164
- case 11:
165
- try {
166
- if (scriptBlocks_1_1 && !scriptBlocks_1_1.done && (_d = scriptBlocks_1["return"])) _d.call(scriptBlocks_1);
167
- }
168
- finally { if (e_1) throw e_1.error; }
169
- return [7 /*endfinally*/];
170
- case 12:
171
- i++;
172
- _e.label = 13;
173
- case 13:
174
- _b = _a.next();
175
- return [3 /*break*/, 3];
176
- case 14: return [3 /*break*/, 17];
177
- case 15:
178
- e_2_1 = _e.sent();
179
- e_2 = { error: e_2_1 };
180
- return [3 /*break*/, 17];
181
- case 16:
182
- try {
183
- if (_b && !_b.done && (_c = _a["return"])) _c.call(_a);
184
- }
185
- finally { if (e_2) throw e_2.error; }
186
- return [7 /*endfinally*/];
187
- case 17: return [2 /*return*/];
188
- }
189
- });
190
- });
191
- }
192
- //# sourceMappingURL=startUntrustedHashTransactionInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"startUntrustedHashTransactionInput.js","sourceRoot":"","sources":["../src/startUntrustedHashTransactionInput.ts"],"names":[],"mappings":"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"}
package/lib-es/types.d.ts DELETED
@@ -1,34 +0,0 @@
1
- /// <reference types="node" />
2
- /**
3
- */
4
- export interface TransactionInput {
5
- prevout: Buffer;
6
- script: Buffer;
7
- sequence: Buffer;
8
- tree?: Buffer;
9
- }
10
- /**
11
- */
12
- export interface TransactionOutput {
13
- amount: Buffer;
14
- script: Buffer;
15
- }
16
- /**
17
- */
18
- export interface Transaction {
19
- version: Buffer;
20
- inputs: TransactionInput[];
21
- outputs?: TransactionOutput[];
22
- locktime?: Buffer;
23
- witness?: Buffer;
24
- timestamp?: Buffer;
25
- nVersionGroupId?: Buffer;
26
- nExpiryHeight?: Buffer;
27
- extraData?: Buffer;
28
- }
29
- export interface TrustedInput {
30
- trustedInput: boolean;
31
- value: Buffer;
32
- sequence: Buffer;
33
- }
34
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;GACG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;GACG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;GACG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB"}
package/lib-es/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- /// <reference types="node" />
2
- export declare function getVarint(data: Buffer, offset: number): [number, number];
3
- export declare function createVarint(value: number): Buffer;
4
- //# sourceMappingURL=varint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"varint.d.ts","sourceRoot":"","sources":["../src/varint.ts"],"names":[],"mappings":";AAAA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAoBxE;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBlD"}
package/lib-es/varint.js DELETED
@@ -1,40 +0,0 @@
1
- export function getVarint(data, offset) {
2
- if (data[offset] < 0xfd) {
3
- return [data[offset], 1];
4
- }
5
- if (data[offset] === 0xfd) {
6
- return [(data[offset + 2] << 8) + data[offset + 1], 3];
7
- }
8
- if (data[offset] === 0xfe) {
9
- return [
10
- (data[offset + 4] << 24) +
11
- (data[offset + 3] << 16) +
12
- (data[offset + 2] << 8) +
13
- data[offset + 1],
14
- 5,
15
- ];
16
- }
17
- throw new Error("getVarint called with unexpected parameters");
18
- }
19
- export function createVarint(value) {
20
- if (value < 0xfd) {
21
- var buffer_1 = Buffer.alloc(1);
22
- buffer_1[0] = value;
23
- return buffer_1;
24
- }
25
- if (value <= 0xffff) {
26
- var buffer_2 = Buffer.alloc(3);
27
- buffer_2[0] = 0xfd;
28
- buffer_2[1] = value & 0xff;
29
- buffer_2[2] = (value >> 8) & 0xff;
30
- return buffer_2;
31
- }
32
- var buffer = Buffer.alloc(5);
33
- buffer[0] = 0xfe;
34
- buffer[1] = value & 0xff;
35
- buffer[2] = (value >> 8) & 0xff;
36
- buffer[3] = (value >> 16) & 0xff;
37
- buffer[4] = (value >> 24) & 0xff;
38
- return buffer;
39
- }
40
- //# sourceMappingURL=varint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"varint.js","sourceRoot":"","sources":["../src/varint.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,MAAc;IACpD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE;QACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1B;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxD;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,OAAO;YACL,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAClB,CAAC;SACF,CAAC;KACH;IAED,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;AACjE,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,KAAK,GAAG,IAAI,EAAE;QAChB,IAAM,QAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAClB,OAAO,QAAM,CAAC;KACf;IAED,IAAI,KAAK,IAAI,MAAM,EAAE;QACnB,IAAM,QAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,QAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjB,QAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;QACzB,QAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAChC,OAAO,QAAM,CAAC;KACf;IAED,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACjB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC"}