@ledgerhq/coin-casper 1.4.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.
Files changed (304) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.unimportedrc.json +49 -0
  3. package/CHANGELOG.md +15 -0
  4. package/LICENSE.txt +21 -0
  5. package/jest.config.js +8 -0
  6. package/lib/api/index.d.ts +11 -0
  7. package/lib/api/index.d.ts.map +1 -0
  8. package/lib/api/index.js +129 -0
  9. package/lib/api/index.js.map +1 -0
  10. package/lib/api/types.d.ts +105 -0
  11. package/lib/api/types.d.ts.map +1 -0
  12. package/lib/api/types.js +3 -0
  13. package/lib/api/types.js.map +1 -0
  14. package/lib/bridge/bridgeHelpers/accountShape.d.ts +3 -0
  15. package/lib/bridge/bridgeHelpers/accountShape.d.ts.map +1 -0
  16. package/lib/bridge/bridgeHelpers/accountShape.js +38 -0
  17. package/lib/bridge/bridgeHelpers/accountShape.js.map +1 -0
  18. package/lib/bridge/bridgeHelpers/addresses.d.ts +18 -0
  19. package/lib/bridge/bridgeHelpers/addresses.d.ts.map +1 -0
  20. package/lib/bridge/bridgeHelpers/addresses.js +83 -0
  21. package/lib/bridge/bridgeHelpers/addresses.js.map +1 -0
  22. package/lib/bridge/bridgeHelpers/fee.d.ts +3 -0
  23. package/lib/bridge/bridgeHelpers/fee.d.ts.map +1 -0
  24. package/lib/bridge/bridgeHelpers/fee.js +13 -0
  25. package/lib/bridge/bridgeHelpers/fee.js.map +1 -0
  26. package/lib/bridge/bridgeHelpers/transferId.d.ts +2 -0
  27. package/lib/bridge/bridgeHelpers/transferId.d.ts.map +1 -0
  28. package/lib/bridge/bridgeHelpers/transferId.js +14 -0
  29. package/lib/bridge/bridgeHelpers/transferId.js.map +1 -0
  30. package/lib/bridge/bridgeHelpers/txn.d.ts +9 -0
  31. package/lib/bridge/bridgeHelpers/txn.d.ts.map +1 -0
  32. package/lib/bridge/bridgeHelpers/txn.js +100 -0
  33. package/lib/bridge/bridgeHelpers/txn.js.map +1 -0
  34. package/lib/bridge/broadcast.d.ts +4 -0
  35. package/lib/bridge/broadcast.d.ts.map +1 -0
  36. package/lib/bridge/broadcast.js +15 -0
  37. package/lib/bridge/broadcast.js.map +1 -0
  38. package/lib/bridge/buildOptimisticOperation.d.ts +4 -0
  39. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
  40. package/lib/bridge/buildOptimisticOperation.js +27 -0
  41. package/lib/bridge/buildOptimisticOperation.js.map +1 -0
  42. package/lib/bridge/createTransaction.d.ts +4 -0
  43. package/lib/bridge/createTransaction.d.ts.map +1 -0
  44. package/lib/bridge/createTransaction.js +19 -0
  45. package/lib/bridge/createTransaction.js.map +1 -0
  46. package/lib/bridge/deviceTransactionConfig.d.ts +18 -0
  47. package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
  48. package/lib/bridge/deviceTransactionConfig.js +26 -0
  49. package/lib/bridge/deviceTransactionConfig.js.map +1 -0
  50. package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
  51. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  52. package/lib/bridge/estimateMaxSpendable.js +23 -0
  53. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  54. package/lib/bridge/getTransactionStatus.d.ts +4 -0
  55. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  56. package/lib/bridge/getTransactionStatus.js +75 -0
  57. package/lib/bridge/getTransactionStatus.js.map +1 -0
  58. package/lib/bridge/index.d.ts +8 -0
  59. package/lib/bridge/index.d.ts.map +1 -0
  60. package/lib/bridge/index.js +54 -0
  61. package/lib/bridge/index.js.map +1 -0
  62. package/lib/bridge/prepareTransaction.d.ts +4 -0
  63. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  64. package/lib/bridge/prepareTransaction.js +16 -0
  65. package/lib/bridge/prepareTransaction.js.map +1 -0
  66. package/lib/bridge/signOperation.d.ts +6 -0
  67. package/lib/bridge/signOperation.d.ts.map +1 -0
  68. package/lib/bridge/signOperation.js +47 -0
  69. package/lib/bridge/signOperation.js.map +1 -0
  70. package/lib/bridge/transaction.d.ts +14 -0
  71. package/lib/bridge/transaction.d.ts.map +1 -0
  72. package/lib/bridge/transaction.js +53 -0
  73. package/lib/bridge/transaction.js.map +1 -0
  74. package/lib/common-logic/index.d.ts +2 -0
  75. package/lib/common-logic/index.d.ts.map +1 -0
  76. package/lib/common-logic/index.js +13 -0
  77. package/lib/common-logic/index.js.map +1 -0
  78. package/lib/common-logic/utils.d.ts +14 -0
  79. package/lib/common-logic/utils.d.ts.map +1 -0
  80. package/lib/common-logic/utils.js +53 -0
  81. package/lib/common-logic/utils.js.map +1 -0
  82. package/lib/common-logic/utils.unit.test.d.ts +2 -0
  83. package/lib/common-logic/utils.unit.test.d.ts.map +1 -0
  84. package/lib/common-logic/utils.unit.test.js +50 -0
  85. package/lib/common-logic/utils.unit.test.js.map +1 -0
  86. package/lib/consts.d.ts +10 -0
  87. package/lib/consts.d.ts.map +1 -0
  88. package/lib/consts.js +18 -0
  89. package/lib/consts.js.map +1 -0
  90. package/lib/errors.d.ts +10 -0
  91. package/lib/errors.d.ts.map +1 -0
  92. package/lib/errors.js +8 -0
  93. package/lib/errors.js.map +1 -0
  94. package/lib/hw-signMessage.d.ts +23 -0
  95. package/lib/hw-signMessage.d.ts.map +1 -0
  96. package/lib/hw-signMessage.js +24 -0
  97. package/lib/hw-signMessage.js.map +1 -0
  98. package/lib/signer/getAddress.d.ts +6 -0
  99. package/lib/signer/getAddress.d.ts.map +1 -0
  100. package/lib/signer/getAddress.js +25 -0
  101. package/lib/signer/getAddress.js.map +1 -0
  102. package/lib/signer/index.d.ts +3 -0
  103. package/lib/signer/index.d.ts.map +1 -0
  104. package/lib/signer/index.js +8 -0
  105. package/lib/signer/index.js.map +1 -0
  106. package/lib/test/bot-specs.d.ts +7 -0
  107. package/lib/test/bot-specs.d.ts.map +1 -0
  108. package/lib/test/bot-specs.js +110 -0
  109. package/lib/test/bot-specs.js.map +1 -0
  110. package/lib/test/bridgeDatasetTest.d.ts +4 -0
  111. package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
  112. package/lib/test/bridgeDatasetTest.js +177 -0
  113. package/lib/test/bridgeDatasetTest.js.map +1 -0
  114. package/lib/test/cli.d.ts +15 -0
  115. package/lib/test/cli.d.ts.map +1 -0
  116. package/lib/test/cli.js +30 -0
  117. package/lib/test/cli.js.map +1 -0
  118. package/lib/test/index.d.ts +4 -0
  119. package/lib/test/index.d.ts.map +1 -0
  120. package/lib/test/index.js +20 -0
  121. package/lib/test/index.js.map +1 -0
  122. package/lib/test/speculos-deviceActions.d.ts +4 -0
  123. package/lib/test/speculos-deviceActions.d.ts.map +1 -0
  124. package/lib/test/speculos-deviceActions.js +53 -0
  125. package/lib/test/speculos-deviceActions.js.map +1 -0
  126. package/lib/types/common.d.ts +23 -0
  127. package/lib/types/common.d.ts.map +1 -0
  128. package/lib/types/common.js +3 -0
  129. package/lib/types/common.js.map +1 -0
  130. package/lib/types/index.d.ts +3 -0
  131. package/lib/types/index.d.ts.map +1 -0
  132. package/lib/types/index.js +19 -0
  133. package/lib/types/index.js.map +1 -0
  134. package/lib/types/signer.d.ts +21 -0
  135. package/lib/types/signer.d.ts.map +1 -0
  136. package/lib/types/signer.js +3 -0
  137. package/lib/types/signer.js.map +1 -0
  138. package/lib-es/api/index.d.ts +11 -0
  139. package/lib-es/api/index.d.ts.map +1 -0
  140. package/lib-es/api/index.js +118 -0
  141. package/lib-es/api/index.js.map +1 -0
  142. package/lib-es/api/types.d.ts +105 -0
  143. package/lib-es/api/types.d.ts.map +1 -0
  144. package/lib-es/api/types.js +2 -0
  145. package/lib-es/api/types.js.map +1 -0
  146. package/lib-es/bridge/bridgeHelpers/accountShape.d.ts +3 -0
  147. package/lib-es/bridge/bridgeHelpers/accountShape.d.ts.map +1 -0
  148. package/lib-es/bridge/bridgeHelpers/accountShape.js +31 -0
  149. package/lib-es/bridge/bridgeHelpers/accountShape.js.map +1 -0
  150. package/lib-es/bridge/bridgeHelpers/addresses.d.ts +18 -0
  151. package/lib-es/bridge/bridgeHelpers/addresses.d.ts.map +1 -0
  152. package/lib-es/bridge/bridgeHelpers/addresses.js +74 -0
  153. package/lib-es/bridge/bridgeHelpers/addresses.js.map +1 -0
  154. package/lib-es/bridge/bridgeHelpers/fee.d.ts +3 -0
  155. package/lib-es/bridge/bridgeHelpers/fee.d.ts.map +1 -0
  156. package/lib-es/bridge/bridgeHelpers/fee.js +6 -0
  157. package/lib-es/bridge/bridgeHelpers/fee.js.map +1 -0
  158. package/lib-es/bridge/bridgeHelpers/transferId.d.ts +2 -0
  159. package/lib-es/bridge/bridgeHelpers/transferId.d.ts.map +1 -0
  160. package/lib-es/bridge/bridgeHelpers/transferId.js +10 -0
  161. package/lib-es/bridge/bridgeHelpers/transferId.js.map +1 -0
  162. package/lib-es/bridge/bridgeHelpers/txn.d.ts +9 -0
  163. package/lib-es/bridge/bridgeHelpers/txn.d.ts.map +1 -0
  164. package/lib-es/bridge/bridgeHelpers/txn.js +91 -0
  165. package/lib-es/bridge/bridgeHelpers/txn.js.map +1 -0
  166. package/lib-es/bridge/broadcast.d.ts +4 -0
  167. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  168. package/lib-es/bridge/broadcast.js +11 -0
  169. package/lib-es/bridge/broadcast.js.map +1 -0
  170. package/lib-es/bridge/buildOptimisticOperation.d.ts +4 -0
  171. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
  172. package/lib-es/bridge/buildOptimisticOperation.js +23 -0
  173. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
  174. package/lib-es/bridge/createTransaction.d.ts +4 -0
  175. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  176. package/lib-es/bridge/createTransaction.js +12 -0
  177. package/lib-es/bridge/createTransaction.js.map +1 -0
  178. package/lib-es/bridge/deviceTransactionConfig.d.ts +18 -0
  179. package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
  180. package/lib-es/bridge/deviceTransactionConfig.js +24 -0
  181. package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
  182. package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
  183. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  184. package/lib-es/bridge/estimateMaxSpendable.js +16 -0
  185. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  186. package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
  187. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  188. package/lib-es/bridge/getTransactionStatus.js +68 -0
  189. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  190. package/lib-es/bridge/index.d.ts +8 -0
  191. package/lib-es/bridge/index.d.ts.map +1 -0
  192. package/lib-es/bridge/index.js +47 -0
  193. package/lib-es/bridge/index.js.map +1 -0
  194. package/lib-es/bridge/prepareTransaction.d.ts +4 -0
  195. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  196. package/lib-es/bridge/prepareTransaction.js +12 -0
  197. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  198. package/lib-es/bridge/signOperation.d.ts +6 -0
  199. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  200. package/lib-es/bridge/signOperation.js +43 -0
  201. package/lib-es/bridge/signOperation.js.map +1 -0
  202. package/lib-es/bridge/transaction.d.ts +14 -0
  203. package/lib-es/bridge/transaction.d.ts.map +1 -0
  204. package/lib-es/bridge/transaction.js +45 -0
  205. package/lib-es/bridge/transaction.js.map +1 -0
  206. package/lib-es/common-logic/index.d.ts +2 -0
  207. package/lib-es/common-logic/index.d.ts.map +1 -0
  208. package/lib-es/common-logic/index.js +2 -0
  209. package/lib-es/common-logic/index.js.map +1 -0
  210. package/lib-es/common-logic/utils.d.ts +14 -0
  211. package/lib-es/common-logic/utils.d.ts.map +1 -0
  212. package/lib-es/common-logic/utils.js +39 -0
  213. package/lib-es/common-logic/utils.js.map +1 -0
  214. package/lib-es/common-logic/utils.unit.test.d.ts +2 -0
  215. package/lib-es/common-logic/utils.unit.test.d.ts.map +1 -0
  216. package/lib-es/common-logic/utils.unit.test.js +48 -0
  217. package/lib-es/common-logic/utils.unit.test.js.map +1 -0
  218. package/lib-es/consts.d.ts +10 -0
  219. package/lib-es/consts.d.ts.map +1 -0
  220. package/lib-es/consts.js +15 -0
  221. package/lib-es/consts.js.map +1 -0
  222. package/lib-es/errors.d.ts +10 -0
  223. package/lib-es/errors.d.ts.map +1 -0
  224. package/lib-es/errors.js +5 -0
  225. package/lib-es/errors.js.map +1 -0
  226. package/lib-es/hw-signMessage.d.ts +23 -0
  227. package/lib-es/hw-signMessage.d.ts.map +1 -0
  228. package/lib-es/hw-signMessage.js +20 -0
  229. package/lib-es/hw-signMessage.js.map +1 -0
  230. package/lib-es/signer/getAddress.d.ts +6 -0
  231. package/lib-es/signer/getAddress.d.ts.map +1 -0
  232. package/lib-es/signer/getAddress.js +23 -0
  233. package/lib-es/signer/getAddress.js.map +1 -0
  234. package/lib-es/signer/index.d.ts +3 -0
  235. package/lib-es/signer/index.d.ts.map +1 -0
  236. package/lib-es/signer/index.js +3 -0
  237. package/lib-es/signer/index.js.map +1 -0
  238. package/lib-es/test/bot-specs.d.ts +7 -0
  239. package/lib-es/test/bot-specs.d.ts.map +1 -0
  240. package/lib-es/test/bot-specs.js +105 -0
  241. package/lib-es/test/bot-specs.js.map +1 -0
  242. package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
  243. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
  244. package/lib-es/test/bridgeDatasetTest.js +171 -0
  245. package/lib-es/test/bridgeDatasetTest.js.map +1 -0
  246. package/lib-es/test/cli.d.ts +15 -0
  247. package/lib-es/test/cli.d.ts.map +1 -0
  248. package/lib-es/test/cli.js +24 -0
  249. package/lib-es/test/cli.js.map +1 -0
  250. package/lib-es/test/index.d.ts +4 -0
  251. package/lib-es/test/index.d.ts.map +1 -0
  252. package/lib-es/test/index.js +4 -0
  253. package/lib-es/test/index.js.map +1 -0
  254. package/lib-es/test/speculos-deviceActions.d.ts +4 -0
  255. package/lib-es/test/speculos-deviceActions.d.ts.map +1 -0
  256. package/lib-es/test/speculos-deviceActions.js +50 -0
  257. package/lib-es/test/speculos-deviceActions.js.map +1 -0
  258. package/lib-es/types/common.d.ts +23 -0
  259. package/lib-es/types/common.d.ts.map +1 -0
  260. package/lib-es/types/common.js +2 -0
  261. package/lib-es/types/common.js.map +1 -0
  262. package/lib-es/types/index.d.ts +3 -0
  263. package/lib-es/types/index.d.ts.map +1 -0
  264. package/lib-es/types/index.js +3 -0
  265. package/lib-es/types/index.js.map +1 -0
  266. package/lib-es/types/signer.d.ts +21 -0
  267. package/lib-es/types/signer.d.ts.map +1 -0
  268. package/lib-es/types/signer.js +2 -0
  269. package/lib-es/types/signer.js.map +1 -0
  270. package/package.json +127 -0
  271. package/src/api/index.ts +166 -0
  272. package/src/api/types.ts +113 -0
  273. package/src/bridge/bridgeHelpers/accountShape.ts +39 -0
  274. package/src/bridge/bridgeHelpers/addresses.ts +94 -0
  275. package/src/bridge/bridgeHelpers/fee.ts +6 -0
  276. package/src/bridge/bridgeHelpers/transferId.ts +9 -0
  277. package/src/bridge/bridgeHelpers/txn.ts +121 -0
  278. package/src/bridge/broadcast.ts +18 -0
  279. package/src/bridge/buildOptimisticOperation.ts +31 -0
  280. package/src/bridge/createTransaction.ts +15 -0
  281. package/src/bridge/deviceTransactionConfig.ts +46 -0
  282. package/src/bridge/estimateMaxSpendable.ts +26 -0
  283. package/src/bridge/getTransactionStatus.ts +96 -0
  284. package/src/bridge/index.ts +65 -0
  285. package/src/bridge/prepareTransaction.ts +19 -0
  286. package/src/bridge/signOperation.ts +73 -0
  287. package/src/bridge/transaction.ts +61 -0
  288. package/src/common-logic/index.ts +10 -0
  289. package/src/common-logic/utils.ts +53 -0
  290. package/src/common-logic/utils.unit.test.ts +75 -0
  291. package/src/consts.ts +18 -0
  292. package/src/errors.ts +5 -0
  293. package/src/hw-signMessage.ts +30 -0
  294. package/src/signer/getAddress.ts +31 -0
  295. package/src/signer/index.ts +3 -0
  296. package/src/test/bot-specs.ts +127 -0
  297. package/src/test/bridgeDatasetTest.ts +178 -0
  298. package/src/test/cli.ts +36 -0
  299. package/src/test/index.ts +3 -0
  300. package/src/test/speculos-deviceActions.ts +54 -0
  301. package/src/types/common.ts +38 -0
  302. package/src/types/index.ts +2 -0
  303. package/src/types/signer.ts +20 -0
  304. package/tsconfig.json +15 -0
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fromTransactionRaw = exports.formatTransaction = void 0;
7
+ const formatters_1 = require("@ledgerhq/coin-framework/formatters");
8
+ const serialization_1 = require("@ledgerhq/coin-framework/serialization");
9
+ const index_1 = require("@ledgerhq/coin-framework/account/index");
10
+ const index_2 = require("@ledgerhq/coin-framework/currencies/index");
11
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
12
+ const formatTransaction = ({ recipient, useAllAmount, amount }, account) => `
13
+ SEND ${useAllAmount
14
+ ? "MAX"
15
+ : amount.isZero()
16
+ ? ""
17
+ : " " +
18
+ (0, index_2.formatCurrencyUnit)((0, index_1.getAccountCurrency)(account).units[0], amount, {
19
+ showCode: true,
20
+ disableRounding: true,
21
+ })}
22
+ TO ${recipient}`;
23
+ exports.formatTransaction = formatTransaction;
24
+ const fromTransactionRaw = (tr) => {
25
+ const common = (0, serialization_1.fromTransactionCommonRaw)(tr);
26
+ return {
27
+ ...common,
28
+ family: tr.family,
29
+ fees: new bignumber_js_1.default(tr.fees),
30
+ amount: new bignumber_js_1.default(tr.amount),
31
+ transferId: tr.transferId,
32
+ };
33
+ };
34
+ exports.fromTransactionRaw = fromTransactionRaw;
35
+ const toTransactionRaw = (t) => {
36
+ const common = (0, serialization_1.toTransactionCommonRaw)(t);
37
+ return {
38
+ ...common,
39
+ family: t.family,
40
+ amount: t.amount.toFixed(),
41
+ fees: t.fees.toString(),
42
+ transferId: t.transferId,
43
+ };
44
+ };
45
+ exports.default = {
46
+ formatTransaction: exports.formatTransaction,
47
+ fromTransactionRaw: exports.fromTransactionRaw,
48
+ toTransactionRaw,
49
+ fromTransactionStatusRaw: serialization_1.fromTransactionStatusRawCommon,
50
+ toTransactionStatusRaw: serialization_1.toTransactionStatusRawCommon,
51
+ formatTransactionStatus: formatters_1.formatTransactionStatus,
52
+ };
53
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":";;;;;;AACA,oEAA8E;AAC9E,0EAKgD;AAEhD,kEAA4E;AAC5E,qEAA+E;AAC/E,gEAAqC;AAE9B,MAAM,iBAAiB,GAAG,CAC/B,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAe,EAChD,OAAgB,EACR,EAAE,CAAC;OAEX,YAAY;IACV,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE;QACf,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,GAAG;YACH,IAAA,0BAAkB,EAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE;gBAC/D,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,IAAI;aACtB,CACT;KACK,SAAS,EAAE,CAAC;AAfJ,QAAA,iBAAiB,qBAeb;AAEV,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IACpE,MAAM,MAAM,GAAG,IAAA,wCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC,IAAI,CAAC;QAC5B,MAAM,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC,MAAM,CAAC;QAChC,UAAU,EAAE,EAAE,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAc,EAAkB,EAAE;IAC1D,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;QACvB,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe;IACb,iBAAiB,EAAjB,yBAAiB;IACjB,kBAAkB,EAAlB,0BAAkB;IAClB,gBAAgB;IAChB,wBAAwB,EAAxB,8CAAwB;IACxB,sBAAsB,EAAtB,4CAAsB;IACtB,uBAAuB,EAAvB,oCAAuB;CACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { isNoErrorReturnCode, getPath, isValidHex, isValidBase64, isError, methodToString, getBufferFromString, getRandomTransferID, } from "./utils";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common-logic/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,OAAO,EACP,UAAU,EACV,aAAa,EACb,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRandomTransferID = exports.getBufferFromString = exports.methodToString = exports.isError = exports.isValidBase64 = exports.isValidHex = exports.getPath = exports.isNoErrorReturnCode = void 0;
4
+ var utils_1 = require("./utils");
5
+ Object.defineProperty(exports, "isNoErrorReturnCode", { enumerable: true, get: function () { return utils_1.isNoErrorReturnCode; } });
6
+ Object.defineProperty(exports, "getPath", { enumerable: true, get: function () { return utils_1.getPath; } });
7
+ Object.defineProperty(exports, "isValidHex", { enumerable: true, get: function () { return utils_1.isValidHex; } });
8
+ Object.defineProperty(exports, "isValidBase64", { enumerable: true, get: function () { return utils_1.isValidBase64; } });
9
+ Object.defineProperty(exports, "isError", { enumerable: true, get: function () { return utils_1.isError; } });
10
+ Object.defineProperty(exports, "methodToString", { enumerable: true, get: function () { return utils_1.methodToString; } });
11
+ Object.defineProperty(exports, "getBufferFromString", { enumerable: true, get: function () { return utils_1.getBufferFromString; } });
12
+ Object.defineProperty(exports, "getRandomTransferID", { enumerable: true, get: function () { return utils_1.getRandomTransferID; } });
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common-logic/index.ts"],"names":[],"mappings":";;;AAAA,iCASiB;AARf,4GAAA,mBAAmB,OAAA;AACnB,gGAAA,OAAO,OAAA;AACP,mGAAA,UAAU,OAAA;AACV,sGAAA,aAAa,OAAA;AACb,gGAAA,OAAO,OAAA;AACP,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AACnB,4GAAA,mBAAmB,OAAA"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ export declare const isNoErrorReturnCode: (code: number) => boolean;
4
+ export declare const getPath: (path: string) => string;
5
+ export declare const isValidHex: (msg: string) => boolean;
6
+ export declare const isValidBase64: (msg: string) => boolean;
7
+ export declare const isError: (r: {
8
+ returnCode: number;
9
+ errorMessage: string;
10
+ }) => void;
11
+ export declare const methodToString: (method: number) => string;
12
+ export declare const getBufferFromString: (message: string) => Buffer;
13
+ export declare function getRandomTransferID(): string;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":";;AAOA,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,OAA0B,CAAC;AAE9E,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MACqB,CAAC;AAE7D,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,OAAmC,CAAC;AAC7E,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,OAAsC,CAAC;AAEnF,eAAO,MAAM,OAAO,MAAO;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,KAAG,IAEzE,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,MAO/C,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAa,MAAM,KAAG,MAUrD,CAAC;AAYF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getRandomTransferID = exports.getBufferFromString = exports.methodToString = exports.isError = exports.isValidBase64 = exports.isValidHex = exports.getPath = exports.isNoErrorReturnCode = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const validHexRegExp = new RegExp(/[0-9A-Fa-f]{6}/g);
9
+ const validBase64RegExp = new RegExp(/^(?:[A-Za-z\d+/]{4})*(?:[A-Za-z\d+/]{3}=|[A-Za-z\d+/]{2}==)?$/);
10
+ const isNoErrorReturnCode = (code) => code === 0x9000;
11
+ exports.isNoErrorReturnCode = isNoErrorReturnCode;
12
+ const getPath = (path) => path && path.substring(0, 2) !== "m/" ? `m/${path}` : path;
13
+ exports.getPath = getPath;
14
+ const isValidHex = (msg) => validHexRegExp.test(msg);
15
+ exports.isValidHex = isValidHex;
16
+ const isValidBase64 = (msg) => validBase64RegExp.test(msg);
17
+ exports.isValidBase64 = isValidBase64;
18
+ const isError = (r) => {
19
+ if (!(0, exports.isNoErrorReturnCode)(r.returnCode))
20
+ throw new Error(`${r.returnCode} - ${r.errorMessage}`);
21
+ };
22
+ exports.isError = isError;
23
+ const methodToString = (method) => {
24
+ switch (method) {
25
+ case 0:
26
+ return "Token transfer";
27
+ default:
28
+ return "Unknown";
29
+ }
30
+ };
31
+ exports.methodToString = methodToString;
32
+ const getBufferFromString = (message) => {
33
+ if ((0, exports.isValidHex)(message)) {
34
+ return Buffer.from(message, "hex");
35
+ }
36
+ if ((0, exports.isValidBase64)(message)) {
37
+ return Buffer.from(message, "base64");
38
+ }
39
+ return Buffer.from(message);
40
+ };
41
+ exports.getBufferFromString = getBufferFromString;
42
+ function randomIntFromInterval(min, max) {
43
+ const minBig = new bignumber_js_1.default(min);
44
+ const maxBig = new bignumber_js_1.default(max);
45
+ const random = bignumber_js_1.default.random().multipliedBy(maxBig.minus(minBig).plus(1)).plus(minBig);
46
+ const randomInt = random.integerValue(bignumber_js_1.default.ROUND_FLOOR);
47
+ return randomInt.toString();
48
+ }
49
+ function getRandomTransferID() {
50
+ return randomIntFromInterval(0, Number.MAX_SAFE_INTEGER);
51
+ }
52
+ exports.getRandomTransferID = getRandomTransferID;
53
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACrD,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,+DAA+D,CAChE,CAAC;AAEK,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;AAAjE,QAAA,mBAAmB,uBAA8C;AAEvE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAC9C,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AADhD,QAAA,OAAO,WACyC;AAEtD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAhE,QAAA,UAAU,cAAsD;AACtE,MAAM,aAAa,GAAG,CAAC,GAAW,EAAW,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAtE,QAAA,aAAa,iBAAyD;AAE5E,MAAM,OAAO,GAAG,CAAC,CAA+C,EAAQ,EAAE;IAC/E,IAAI,CAAC,IAAA,2BAAmB,EAAC,CAAC,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;AACjG,CAAC,CAAC;AAFW,QAAA,OAAO,WAElB;AAEK,MAAM,cAAc,GAAG,CAAC,MAAc,EAAU,EAAE;IACvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,CAAC;YACJ,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,cAAc,kBAOzB;AAEK,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC7D,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,IAAA,qBAAa,EAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAEF,SAAS,qBAAqB,CAAC,GAAW,EAAE,GAAW;IACrD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;IAElC,MAAM,MAAM,GAAG,sBAAS,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,sBAAS,CAAC,WAAW,CAAC,CAAC;IAE7D,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC3D,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utils.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.unit.test.d.ts","sourceRoot":"","sources":["../../src/common-logic/utils.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const casper_js_sdk_1 = require("casper-js-sdk");
4
+ const addresses_1 = require("../bridge/bridgeHelpers/addresses");
5
+ describe("Casper addresses", () => {
6
+ const pubKeys = {
7
+ // valid
8
+ validSecp256k1: "0203a17118ec0e64c4e4fdbdbee0ea14d118c9aaf08c6c81bbb776cae607ceb84ecb",
9
+ validEd25519: "016470ae57b0a3ad5a679d2e0422909bfb9ded445e20cbe6b4c9806f844c94d401",
10
+ validSecp256k1Checksum: "0203A17118eC0e64c4e4FdbDbEe0eA14D118C9aAf08C6c81bbB776Cae607cEB84EcB", // Checksummed
11
+ validEd25519Checksum: "016470AE57b0a3aD5A679d2e0422909Bfb9dEd445e20cbE6B4c9806f844c94d401", // Checksummed
12
+ // invalid
13
+ invalidSecp256k1: "0203A17118ec0e64c4e4fdbdbee0ea14d118c9aaf08c6c81bbc776cae607ceb84ecb",
14
+ invalidEd25519: "016470ae57b0a3ad5a679d2e0422909bfb9ded445e20cbe6b8c9806f844c94D401",
15
+ invalidAddresstype: "036470ae57b0a3ad5a679d2e0422909bfb9ded445e20cbe6b8c9806f844c94d401", // Invalid address type
16
+ invalidLength: "12345", // Invalid length
17
+ invalidCharacter: "xyz123", // Contains non-hex characters
18
+ invalidChecksum: "016470ae57b0a3ad5a679d2e0422909bfb9ded445e20cbe6b4c9806f844c94D400", // Invalid checksum
19
+ };
20
+ test("Check if valid addresses are valid", () => {
21
+ expect((0, addresses_1.isAddressValid)(pubKeys.validEd25519)).toBe(true);
22
+ expect((0, addresses_1.isAddressValid)(pubKeys.validSecp256k1)).toBe(true);
23
+ });
24
+ test("Check if invalid addresses are invalid", () => {
25
+ expect((0, addresses_1.isAddressValid)(pubKeys.invalidEd25519)).toBe(false);
26
+ expect((0, addresses_1.isAddressValid)(pubKeys.invalidSecp256k1)).toBe(false);
27
+ expect((0, addresses_1.isAddressValid)(pubKeys.invalidLength)).toBe(false);
28
+ expect((0, addresses_1.isAddressValid)(pubKeys.invalidCharacter)).toBe(false);
29
+ expect((0, addresses_1.isAddressValid)(pubKeys.invalidChecksum)).toBe(false);
30
+ });
31
+ test("Get the address from the publick key", () => {
32
+ /**
33
+ * Extracts the public key and key signature from a given Casper address.
34
+ *
35
+ * @param {string} address - The Casper address from which to extract the public key and key signature.
36
+ * @returns {{ pubkey: Buffer, keySig: CLPublicKeyTag }} An object containing the public key as a Buffer and the key signature as a CLPublicKeyTag.
37
+ */
38
+ function casperPubKeyFromAddress(address) {
39
+ const keySig = parseInt(address.slice(0, 2), 10);
40
+ const pubkeyHex = address.slice(2);
41
+ const pubkey = Buffer.from(pubkeyHex, "hex");
42
+ return { pubkey, keySig };
43
+ }
44
+ expect((0, addresses_1.casperAddressFromPubKey)(casperPubKeyFromAddress(pubKeys.validSecp256k1).pubkey, casper_js_sdk_1.CLPublicKeyTag.SECP256K1)).toBe(pubKeys.validSecp256k1);
45
+ expect((0, addresses_1.casperAddressFromPubKey)(casperPubKeyFromAddress(pubKeys.validSecp256k1Checksum).pubkey, casper_js_sdk_1.CLPublicKeyTag.SECP256K1)).toBe(pubKeys.validSecp256k1Checksum.toLowerCase());
46
+ expect((0, addresses_1.casperAddressFromPubKey)(casperPubKeyFromAddress(pubKeys.validEd25519).pubkey, casper_js_sdk_1.CLPublicKeyTag.ED25519)).toBe(pubKeys.validEd25519);
47
+ expect((0, addresses_1.casperAddressFromPubKey)(casperPubKeyFromAddress(pubKeys.validEd25519Checksum).pubkey, casper_js_sdk_1.CLPublicKeyTag.ED25519)).toBe(pubKeys.validEd25519Checksum.toLowerCase());
48
+ });
49
+ });
50
+ //# sourceMappingURL=utils.unit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.unit.test.js","sourceRoot":"","sources":["../../src/common-logic/utils.unit.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const CASPER_FEES_MOTES: number;
2
+ export declare const CASPER_FEES_CSPR = 0.1;
3
+ export declare const CASPER_MINIMUM_VALID_AMOUNT_MOTES: number;
4
+ export declare const CASPER_MINIMUM_VALID_AMOUNT_CSPR = 2.5;
5
+ export declare const CASPER_NETWORK = "casper";
6
+ export declare const CASPER_CHECKSUM_HEX_LEN = 32;
7
+ export declare const CASPER_MAX_TRANSFER_ID = "18446744073709551615";
8
+ export declare const MayBlockAccountError: Error;
9
+ export declare const InvalidMinimumAmountError: Error;
10
+ //# sourceMappingURL=consts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAC3C,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,iCAAiC,QAAY,CAAC;AAC3D,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,cAAc,WAAW,CAAC;AACvC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAE7D,eAAO,MAAM,oBAAoB,OAE/B,CAAC;AAEH,eAAO,MAAM,yBAAyB,OAEpC,CAAC"}
package/lib/consts.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvalidMinimumAmountError = exports.MayBlockAccountError = exports.CASPER_MAX_TRANSFER_ID = exports.CASPER_CHECKSUM_HEX_LEN = exports.CASPER_NETWORK = exports.CASPER_MINIMUM_VALID_AMOUNT_CSPR = exports.CASPER_MINIMUM_VALID_AMOUNT_MOTES = exports.CASPER_FEES_CSPR = exports.CASPER_FEES_MOTES = void 0;
4
+ const errors_1 = require("./errors");
5
+ exports.CASPER_FEES_MOTES = 0.1 * 1e9;
6
+ exports.CASPER_FEES_CSPR = 0.1;
7
+ exports.CASPER_MINIMUM_VALID_AMOUNT_MOTES = 2.5 * 1e9;
8
+ exports.CASPER_MINIMUM_VALID_AMOUNT_CSPR = 2.5;
9
+ exports.CASPER_NETWORK = "casper";
10
+ exports.CASPER_CHECKSUM_HEX_LEN = 32;
11
+ exports.CASPER_MAX_TRANSFER_ID = "18446744073709551615";
12
+ exports.MayBlockAccountError = new errors_1.MayBlockAccount("", {
13
+ minAmount: `${exports.CASPER_MINIMUM_VALID_AMOUNT_CSPR + exports.CASPER_FEES_CSPR} CSPR`,
14
+ });
15
+ exports.InvalidMinimumAmountError = new errors_1.InvalidMinimumAmount("", {
16
+ minAmount: `${exports.CASPER_MINIMUM_VALID_AMOUNT_CSPR} CSPR`,
17
+ });
18
+ //# sourceMappingURL=consts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AAAA,qCAAiE;AAEpD,QAAA,iBAAiB,GAAG,GAAG,GAAG,GAAG,CAAC;AAC9B,QAAA,gBAAgB,GAAG,GAAG,CAAC;AACvB,QAAA,iCAAiC,GAAG,GAAG,GAAG,GAAG,CAAC;AAC9C,QAAA,gCAAgC,GAAG,GAAG,CAAC;AACvC,QAAA,cAAc,GAAG,QAAQ,CAAC;AAC1B,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE7B,QAAA,sBAAsB,GAAG,sBAAsB,CAAC;AAEhD,QAAA,oBAAoB,GAAG,IAAI,wBAAe,CAAC,EAAE,EAAE;IAC1D,SAAS,EAAE,GAAG,wCAAgC,GAAG,wBAAgB,OAAO;CACzE,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,IAAI,6BAAoB,CAAC,EAAE,EAAE;IACpE,SAAS,EAAE,GAAG,wCAAgC,OAAO;CACtD,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare const CasperInvalidTransferId: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
2
+ [key: string]: unknown;
3
+ }>;
4
+ export declare const InvalidMinimumAmount: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
5
+ [key: string]: unknown;
6
+ }>;
7
+ export declare const MayBlockAccount: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
8
+ [key: string]: unknown;
9
+ }>;
10
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB;;EAAoD,CAAC;AACzF,eAAO,MAAM,oBAAoB;;EAAiD,CAAC;AACnF,eAAO,MAAM,eAAe;;EAA4C,CAAC"}
package/lib/errors.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MayBlockAccount = exports.InvalidMinimumAmount = exports.CasperInvalidTransferId = void 0;
4
+ const errors_1 = require("@ledgerhq/errors");
5
+ exports.CasperInvalidTransferId = (0, errors_1.createCustomErrorClass)("CasperInvalidTransferId");
6
+ exports.InvalidMinimumAmount = (0, errors_1.createCustomErrorClass)("InvalidMinimumAmount");
7
+ exports.MayBlockAccount = (0, errors_1.createCustomErrorClass)("MayBlockAccount");
8
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE7C,QAAA,uBAAuB,GAAG,IAAA,+BAAsB,EAAC,yBAAyB,CAAC,CAAC;AAC5E,QAAA,oBAAoB,GAAG,IAAA,+BAAsB,EAAC,sBAAsB,CAAC,CAAC;AACtE,QAAA,eAAe,GAAG,IAAA,+BAAsB,EAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { SignerContext } from "@ledgerhq/coin-framework/signer";
2
+ import { CasperSigner } from "./types";
3
+ import { Account, AnyMessage } from "@ledgerhq/types-live";
4
+ export declare const signMessage: (signerContext: SignerContext<CasperSigner>) => (deviceId: string, account: Account, { message }: AnyMessage) => Promise<{
5
+ rsv: {
6
+ r: string;
7
+ s: string;
8
+ v: number;
9
+ };
10
+ signature: string;
11
+ }>;
12
+ declare const _default: {
13
+ signMessage: (signerContext: SignerContext<CasperSigner>) => (deviceId: string, account: Account, { message }: AnyMessage) => Promise<{
14
+ rsv: {
15
+ r: string;
16
+ s: string;
17
+ v: number;
18
+ };
19
+ signature: string;
20
+ }>;
21
+ };
22
+ export default _default;
23
+ //# sourceMappingURL=hw-signMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-signMessage.d.ts","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE3D,eAAO,MAAM,WAAW,kBACN,cAAc,YAAY,CAAC,gBAC1B,MAAM,WAAW,OAAO,eAAe,UAAU;;;;;;;EAmBjE,CAAC;;;;;;;;;;;AAEJ,wBAA+B"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signMessage = void 0;
4
+ const logs_1 = require("@ledgerhq/logs");
5
+ const utils_1 = require("./common-logic/utils");
6
+ const signMessage = (signerContext) => async (deviceId, account, { message }) => {
7
+ (0, logs_1.log)("debug", "start signMessage process");
8
+ if (!message)
9
+ throw new Error(`Message cannot be empty`);
10
+ if (typeof message !== "string")
11
+ throw new Error(`Signing EIP712Message not supported`);
12
+ const r = await signerContext(deviceId, async (signer) => await signer.sign(account.freshAddressPath, (0, utils_1.getBufferFromString)(message)));
13
+ return {
14
+ rsv: {
15
+ r: Buffer.from(r.signature_compact.slice(0, 32)).toString("hex"),
16
+ s: Buffer.from(r.signature_compact.slice(32, 64)).toString("hex"),
17
+ v: parseInt(Buffer.from(r.signature_compact.slice(64, 65)).toString("hex"), 16),
18
+ },
19
+ signature: `0x${Buffer.from(r.signature_compact).toString("hex")}`,
20
+ };
21
+ };
22
+ exports.signMessage = signMessage;
23
+ exports.default = { signMessage: exports.signMessage };
24
+ //# sourceMappingURL=hw-signMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-signMessage.js","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC,gDAA2D;AAGpD,MAAM,WAAW,GACtB,CAAC,aAA0C,EAAE,EAAE,CAC/C,KAAK,EAAE,QAAgB,EAAE,OAAgB,EAAE,EAAE,OAAO,EAAc,EAAE,EAAE;IACpE,IAAA,UAAG,EAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACzD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAExF,MAAM,CAAC,GAAG,MAAM,aAAa,CAC3B,QAAQ,EACR,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAC,CAC1F,CAAC;IAEF,OAAO;QACL,GAAG,EAAE;YACH,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;YACjE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;SAChF;QACD,SAAS,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;KACnE,CAAC;AACJ,CAAC,CAAC;AArBS,QAAA,WAAW,eAqBpB;AAEJ,kBAAe,EAAE,WAAW,EAAX,mBAAW,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { GetAddressFn } from "@ledgerhq/coin-framework/bridge/getAddressWrapper";
2
+ import { SignerContext } from "@ledgerhq/coin-framework/signer";
3
+ import { CasperSigner } from "../types";
4
+ declare function resolver(signerContext: SignerContext<CasperSigner>): GetAddressFn;
5
+ export default resolver;
6
+ //# sourceMappingURL=getAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,iBAAS,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY,CAoB1E;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const logs_1 = require("@ledgerhq/logs");
4
+ const casper_js_sdk_1 = require("casper-js-sdk");
5
+ const addresses_1 = require("../bridge/bridgeHelpers/addresses");
6
+ function resolver(signerContext) {
7
+ return async (deviceId, { path, verify }) => {
8
+ (0, logs_1.log)("debug", "start getAddress process");
9
+ const { r } = await signerContext(deviceId, async (signer) => {
10
+ const r = verify
11
+ ? await signer.showAddressAndPubKey(path)
12
+ : await signer.getAddressAndPubKey(path);
13
+ return { r };
14
+ });
15
+ return {
16
+ path,
17
+ address: r.Address.length
18
+ ? r.Address.toString().toLowerCase()
19
+ : (0, addresses_1.casperAddressFromPubKey)(r.publicKey, casper_js_sdk_1.CLPublicKeyTag.SECP256K1),
20
+ publicKey: r.publicKey.toString("hex"),
21
+ };
22
+ };
23
+ }
24
+ exports.default = resolver;
25
+ //# sourceMappingURL=getAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../src/signer/getAddress.ts"],"names":[],"mappings":";;AAAA,yCAAqC;AAIrC,iDAA+C;AAC/C,iEAA4E;AAG5E,SAAS,QAAQ,CAAC,aAA0C;IAC1D,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,IAAA,UAAG,EAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAEzC,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACzD,MAAM,CAAC,GAAG,MAAM;gBACd,CAAC,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBACzC,CAAC,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAO,EAAE,CAAC,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;gBACvB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;gBACpC,CAAC,CAAC,IAAA,mCAAuB,EAAC,CAAC,CAAC,SAAS,EAAE,8BAAc,CAAC,SAAS,CAAC;YAClE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;SACvC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import resolver from "./getAddress";
2
+ export default resolver;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,cAAc,CAAC;AAEpC,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const getAddress_1 = __importDefault(require("./getAddress"));
7
+ exports.default = getAddress_1.default;
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/signer/index.ts"],"names":[],"mappings":";;;;;AAAA,8DAAoC;AAEpC,kBAAe,oBAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Transaction } from "../types";
2
+ import type { AppSpec } from "@ledgerhq/coin-framework/bot/types";
3
+ declare const _default: {
4
+ casperSpecs: AppSpec<Transaction>;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=bot-specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-specs.d.ts","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;;;;AAqHlE,wBAEE"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const invariant_1 = __importDefault(require("invariant"));
7
+ const devices_1 = require("@ledgerhq/devices");
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const expect_1 = __importDefault(require("expect"));
10
+ const currencies_1 = require("@ledgerhq/cryptoassets/currencies");
11
+ const specs_1 = require("@ledgerhq/coin-framework/bot/specs");
12
+ const speculos_deviceActions_1 = require("./speculos-deviceActions");
13
+ const consts_1 = require("../consts");
14
+ const common_logic_1 = require("../common-logic");
15
+ const MIN_SAFE = new bignumber_js_1.default(consts_1.CASPER_MINIMUM_VALID_AMOUNT_MOTES * 2);
16
+ const maxAccount = 6;
17
+ const casperSpecs = {
18
+ name: "Casper",
19
+ currency: (0, currencies_1.getCryptoCurrencyById)("casper"),
20
+ appQuery: {
21
+ model: devices_1.DeviceModelId.nanoSP,
22
+ appName: "Casper",
23
+ },
24
+ genericDeviceAction: speculos_deviceActions_1.acceptTransaction,
25
+ testTimeout: 6 * 60 * 1000,
26
+ minViableAmount: MIN_SAFE,
27
+ transactionCheck: ({ maxSpendable }) => {
28
+ (0, invariant_1.default)(maxSpendable.gt(MIN_SAFE), "balance is too low");
29
+ },
30
+ mutations: [
31
+ {
32
+ name: "Send ~50%",
33
+ feature: "send",
34
+ maxRun: 1,
35
+ testDestination: specs_1.genericTestDestination,
36
+ transaction: ({ account, siblings, bridge, maxSpendable }) => {
37
+ (0, invariant_1.default)(maxSpendable.gt(MIN_SAFE), "balance is too low");
38
+ const sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
39
+ const recipient = sibling.freshAddress;
40
+ const amount = maxSpendable.div(2).integerValue();
41
+ const transaction = bridge.createTransaction(account);
42
+ const updates = [
43
+ {
44
+ recipient,
45
+ },
46
+ { amount },
47
+ ];
48
+ if (Math.random() < 0.5) {
49
+ updates.push({
50
+ transferId: (0, common_logic_1.getRandomTransferID)(),
51
+ });
52
+ }
53
+ return {
54
+ transaction,
55
+ updates,
56
+ };
57
+ },
58
+ test: ({ accountBeforeTransaction, operation, account, transaction }) => {
59
+ (0, specs_1.botTest)("account spendable balance decreased with operation", () => (0, expect_1.default)(account.spendableBalance).toEqual(accountBeforeTransaction.spendableBalance.minus(operation.value)));
60
+ if (transaction.transferId) {
61
+ (0, specs_1.botTest)("operation transferId", () => (0, expect_1.default)(operation.extra).toMatchObject({
62
+ transferId: transaction.transferId,
63
+ }));
64
+ }
65
+ },
66
+ },
67
+ {
68
+ name: "Transfer Max",
69
+ feature: "sendMax",
70
+ maxRun: 1,
71
+ transaction: ({ account, siblings, bridge }) => {
72
+ const updates = [
73
+ {
74
+ recipient: (0, specs_1.pickSiblings)(siblings, maxAccount).freshAddress,
75
+ },
76
+ {
77
+ useAllAmount: true,
78
+ },
79
+ ];
80
+ if (Math.random() < 0.5) {
81
+ updates.push({
82
+ transferId: (0, common_logic_1.getRandomTransferID)(),
83
+ });
84
+ }
85
+ return {
86
+ transaction: bridge.createTransaction(account),
87
+ updates,
88
+ };
89
+ },
90
+ expectStatusWarnings: _ => {
91
+ return {
92
+ amount: consts_1.MayBlockAccountError,
93
+ };
94
+ },
95
+ testDestination: specs_1.genericTestDestination,
96
+ test: ({ account, transaction, operation }) => {
97
+ (0, specs_1.botTest)("account spendable balance is zero", () => (0, expect_1.default)(account.spendableBalance.toString()).toBe("0"));
98
+ if (transaction.transferId) {
99
+ (0, specs_1.botTest)("operation transferId", () => (0, expect_1.default)(operation.extra).toMatchObject({
100
+ transferId: transaction.transferId,
101
+ }));
102
+ }
103
+ },
104
+ },
105
+ ],
106
+ };
107
+ exports.default = {
108
+ casperSpecs,
109
+ };
110
+ //# sourceMappingURL=bot-specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot-specs.js","sourceRoot":"","sources":["../../src/test/bot-specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DatasetTest } from "@ledgerhq/types-live";
2
+ import type { Transaction } from "../types";
3
+ export declare const dataset: DatasetTest<Transaction>;
4
+ //# sourceMappingURL=bridgeDatasetTest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeDatasetTest.d.ts","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AA2K5C,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CAK5C,CAAC"}