@ledgerhq/live-common 21.30.1 → 21.31.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 (240) hide show
  1. package/lib/__tests__/test-helpers/setup.js +1 -0
  2. package/lib/__tests__/test-helpers/setup.js.map +1 -1
  3. package/lib/account/support.d.ts.map +1 -1
  4. package/lib/account/support.js.map +1 -1
  5. package/lib/bot/engine.js +1 -1
  6. package/lib/bot/engine.js.map +1 -1
  7. package/lib/bridge/jsHelpers.js +1 -1
  8. package/lib/data/icons/react/celo.d.ts +8 -0
  9. package/lib/data/icons/react/celo.d.ts.map +1 -0
  10. package/lib/data/icons/react/celo.js +32 -0
  11. package/lib/data/icons/react/celo.js.map +1 -0
  12. package/lib/data/icons/react/index.d.ts +1 -0
  13. package/lib/data/icons/react/index.d.ts.map +1 -1
  14. package/lib/data/icons/react/index.js +11 -8
  15. package/lib/data/icons/react/index.js.map +1 -1
  16. package/lib/data/icons/reactNative/celo.d.ts +8 -0
  17. package/lib/data/icons/reactNative/celo.d.ts.map +1 -0
  18. package/lib/data/icons/reactNative/celo.js +33 -0
  19. package/lib/data/icons/reactNative/celo.js.map +1 -0
  20. package/lib/data/icons/reactNative/index.d.ts +1 -0
  21. package/lib/data/icons/reactNative/index.d.ts.map +1 -1
  22. package/lib/data/icons/reactNative/index.js +11 -8
  23. package/lib/data/icons/reactNative/index.js.map +1 -1
  24. package/lib/env.d.ts +15 -5
  25. package/lib/env.d.ts.map +1 -1
  26. package/lib/env.js +10 -0
  27. package/lib/env.js.map +1 -1
  28. package/lib/env.react.d.ts +1 -1
  29. package/lib/env.react.d.ts.map +1 -1
  30. package/lib/families/celo/api/hubble.d.ts +8 -0
  31. package/lib/families/celo/api/hubble.d.ts.map +1 -0
  32. package/lib/families/celo/api/hubble.js +144 -0
  33. package/lib/families/celo/api/hubble.js.map +1 -0
  34. package/lib/families/celo/api/index.d.ts +2 -0
  35. package/lib/families/celo/api/index.d.ts.map +1 -0
  36. package/lib/families/celo/api/index.js +13 -0
  37. package/lib/families/celo/api/index.js.map +1 -0
  38. package/lib/families/celo/api/sdk.d.ts +3 -0
  39. package/lib/families/celo/api/sdk.d.ts.map +1 -0
  40. package/lib/families/celo/api/sdk.js +13 -0
  41. package/lib/families/celo/api/sdk.js.map +1 -0
  42. package/lib/families/celo/bridge/js.d.ts +8 -0
  43. package/lib/families/celo/bridge/js.d.ts.map +1 -0
  44. package/lib/families/celo/bridge/js.js +87 -0
  45. package/lib/families/celo/bridge/js.js.map +1 -0
  46. package/lib/families/celo/cli-transaction.d.ts +14 -0
  47. package/lib/families/celo/cli-transaction.d.ts.map +1 -0
  48. package/lib/families/celo/cli-transaction.js +37 -0
  49. package/lib/families/celo/cli-transaction.js.map +1 -0
  50. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts +5 -0
  51. package/lib/families/celo/datasets/celo.scanAccounts.1.d.ts.map +1 -0
  52. package/lib/families/celo/datasets/celo.scanAccounts.1.js +12 -0
  53. package/lib/families/celo/datasets/celo.scanAccounts.1.js.map +1 -0
  54. package/lib/families/celo/deviceTransactionConfig.d.ts +4 -0
  55. package/lib/families/celo/deviceTransactionConfig.d.ts.map +1 -0
  56. package/lib/families/celo/deviceTransactionConfig.js +16 -0
  57. package/lib/families/celo/deviceTransactionConfig.js.map +1 -0
  58. package/lib/families/celo/hw-app-celo.d.ts +19 -0
  59. package/lib/families/celo/hw-app-celo.d.ts.map +1 -0
  60. package/lib/families/celo/hw-app-celo.js +147 -0
  61. package/lib/families/celo/hw-app-celo.js.map +1 -0
  62. package/lib/families/celo/hw-getAddress.d.ts +2 -0
  63. package/lib/families/celo/hw-getAddress.d.ts.map +1 -0
  64. package/lib/families/celo/hw-getAddress.js +13 -0
  65. package/lib/families/celo/hw-getAddress.js.map +1 -0
  66. package/lib/families/celo/js-broadcast.d.ts +8 -0
  67. package/lib/families/celo/js-broadcast.d.ts.map +1 -0
  68. package/lib/families/celo/js-broadcast.js +58 -0
  69. package/lib/families/celo/js-broadcast.js.map +1 -0
  70. package/lib/families/celo/js-buildTransaction.d.ts +6 -0
  71. package/lib/families/celo/js-buildTransaction.d.ts.map +1 -0
  72. package/lib/families/celo/js-buildTransaction.js +89 -0
  73. package/lib/families/celo/js-buildTransaction.js.map +1 -0
  74. package/lib/families/celo/js-createTransaction.d.ts +4 -0
  75. package/lib/families/celo/js-createTransaction.d.ts.map +1 -0
  76. package/lib/families/celo/js-createTransaction.js +12 -0
  77. package/lib/families/celo/js-createTransaction.js.map +1 -0
  78. package/lib/families/celo/js-estimateMaxSpendable.d.ts +10 -0
  79. package/lib/families/celo/js-estimateMaxSpendable.d.ts.map +1 -0
  80. package/lib/families/celo/js-estimateMaxSpendable.js +77 -0
  81. package/lib/families/celo/js-estimateMaxSpendable.js.map +1 -0
  82. package/lib/families/celo/js-getFeesForTransaction.d.ts +8 -0
  83. package/lib/families/celo/js-getFeesForTransaction.d.ts.map +1 -0
  84. package/lib/families/celo/js-getFeesForTransaction.js +76 -0
  85. package/lib/families/celo/js-getFeesForTransaction.js.map +1 -0
  86. package/lib/families/celo/js-getTransactionStatus.d.ts +5 -0
  87. package/lib/families/celo/js-getTransactionStatus.d.ts.map +1 -0
  88. package/lib/families/celo/js-getTransactionStatus.js +86 -0
  89. package/lib/families/celo/js-getTransactionStatus.js.map +1 -0
  90. package/lib/families/celo/js-prepareTransaction.d.ts +5 -0
  91. package/lib/families/celo/js-prepareTransaction.d.ts.map +1 -0
  92. package/lib/families/celo/js-prepareTransaction.js +76 -0
  93. package/lib/families/celo/js-prepareTransaction.js.map +1 -0
  94. package/lib/families/celo/js-signOperation.d.ts +13 -0
  95. package/lib/families/celo/js-signOperation.d.ts.map +1 -0
  96. package/lib/families/celo/js-signOperation.js +150 -0
  97. package/lib/families/celo/js-signOperation.js.map +1 -0
  98. package/lib/families/celo/js-synchronisation.d.ts +10 -0
  99. package/lib/families/celo/js-synchronisation.d.ts.map +1 -0
  100. package/lib/families/celo/js-synchronisation.js +88 -0
  101. package/lib/families/celo/js-synchronisation.js.map +1 -0
  102. package/lib/families/celo/specs.d.ts +7 -0
  103. package/lib/families/celo/specs.d.ts.map +1 -0
  104. package/lib/families/celo/specs.js +56 -0
  105. package/lib/families/celo/specs.js.map +1 -0
  106. package/lib/families/celo/speculos-deviceActions.d.ts +7 -0
  107. package/lib/families/celo/speculos-deviceActions.d.ts.map +1 -0
  108. package/lib/families/celo/speculos-deviceActions.js +53 -0
  109. package/lib/families/celo/speculos-deviceActions.js.map +1 -0
  110. package/lib/families/celo/transaction.d.ts +11 -0
  111. package/lib/families/celo/transaction.d.ts.map +1 -0
  112. package/lib/families/celo/transaction.js +39 -0
  113. package/lib/families/celo/transaction.js.map +1 -0
  114. package/lib/families/celo/types.d.ts +16 -0
  115. package/lib/families/celo/types.d.ts.map +1 -0
  116. package/lib/families/celo/types.js +6 -0
  117. package/lib/families/celo/types.js.map +1 -0
  118. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.d.ts +1 -0
  119. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.d.ts.map +1 -1
  120. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.js +1 -0
  121. package/lib/families/ethereum/datasets/ethereum.scanAccounts.1.js.map +1 -1
  122. package/lib/families/ethereum/modules/erc1155.d.ts.map +1 -1
  123. package/lib/families/ethereum/modules/erc1155.js +8 -2
  124. package/lib/families/ethereum/modules/erc1155.js.map +1 -1
  125. package/lib/families/polkadot/cache.d.ts +1 -1
  126. package/lib/families/polkadot/cache.js +1 -1
  127. package/lib/featureFlags/FeatureToggle.d.ts +10 -0
  128. package/lib/featureFlags/FeatureToggle.d.ts.map +1 -0
  129. package/lib/featureFlags/FeatureToggle.js +17 -0
  130. package/lib/featureFlags/FeatureToggle.js.map +1 -0
  131. package/lib/featureFlags/defaultFeatures.d.ts +3 -0
  132. package/lib/featureFlags/defaultFeatures.d.ts.map +1 -0
  133. package/lib/featureFlags/defaultFeatures.js +9 -0
  134. package/lib/featureFlags/defaultFeatures.js.map +1 -0
  135. package/lib/featureFlags/index.d.ts +5 -0
  136. package/lib/featureFlags/index.d.ts.map +1 -0
  137. package/lib/featureFlags/index.js +17 -0
  138. package/lib/featureFlags/index.js.map +1 -0
  139. package/lib/featureFlags/provider.d.ts +13 -0
  140. package/lib/featureFlags/provider.d.ts.map +1 -0
  141. package/lib/featureFlags/provider.js +68 -0
  142. package/lib/featureFlags/provider.js.map +1 -0
  143. package/lib/featureFlags/types.d.ts +8 -0
  144. package/lib/featureFlags/types.d.ts.map +1 -0
  145. package/lib/featureFlags/types.js +3 -0
  146. package/lib/featureFlags/types.js.map +1 -0
  147. package/lib/featureFlags/useFeature.d.ts +3 -0
  148. package/lib/featureFlags/useFeature.d.ts.map +1 -0
  149. package/lib/featureFlags/useFeature.js +9 -0
  150. package/lib/featureFlags/useFeature.js.map +1 -0
  151. package/lib/generated/bridge/js.d.ts +4 -0
  152. package/lib/generated/bridge/js.d.ts.map +1 -1
  153. package/lib/generated/bridge/js.js +24 -22
  154. package/lib/generated/bridge/js.js.map +1 -1
  155. package/lib/generated/cli-transaction.d.ts +9 -0
  156. package/lib/generated/cli-transaction.d.ts.map +1 -1
  157. package/lib/generated/cli-transaction.js +24 -22
  158. package/lib/generated/cli-transaction.js.map +1 -1
  159. package/lib/generated/deviceTransactionConfig.d.ts +2 -0
  160. package/lib/generated/deviceTransactionConfig.d.ts.map +1 -1
  161. package/lib/generated/deviceTransactionConfig.js +22 -20
  162. package/lib/generated/deviceTransactionConfig.js.map +1 -1
  163. package/lib/generated/hw-getAddress.d.ts +1 -0
  164. package/lib/generated/hw-getAddress.d.ts.map +1 -1
  165. package/lib/generated/hw-getAddress.js +26 -24
  166. package/lib/generated/hw-getAddress.js.map +1 -1
  167. package/lib/generated/specs.d.ts +3 -0
  168. package/lib/generated/specs.d.ts.map +1 -1
  169. package/lib/generated/specs.js +24 -22
  170. package/lib/generated/specs.js.map +1 -1
  171. package/lib/generated/speculos-deviceActions.d.ts +3 -0
  172. package/lib/generated/speculos-deviceActions.d.ts.map +1 -1
  173. package/lib/generated/speculos-deviceActions.js +24 -22
  174. package/lib/generated/speculos-deviceActions.js.map +1 -1
  175. package/lib/generated/transaction.d.ts +5 -0
  176. package/lib/generated/transaction.d.ts.map +1 -1
  177. package/lib/generated/transaction.js +26 -24
  178. package/lib/generated/transaction.js.map +1 -1
  179. package/lib/generated/types.d.ts +12 -6
  180. package/lib/generated/types.d.ts.map +1 -1
  181. package/lib/generated/types.js +14 -12
  182. package/lib/generated/types.js.map +1 -1
  183. package/lib/types/index.d.ts +1 -0
  184. package/lib/types/index.d.ts.map +1 -1
  185. package/lib/types/index.js +1 -0
  186. package/lib/types/index.js.map +1 -1
  187. package/package.json +4 -1
  188. package/src/.DS_Store +0 -0
  189. package/src/{data/flags → __tests__}/.DS_Store +0 -0
  190. package/src/__tests__/__snapshots__/all.libcore.ts.snap +0 -33029
  191. package/src/__tests__/test-helpers/setup.ts +1 -0
  192. package/src/account/support.ts +1 -0
  193. package/src/bot/engine.ts +1 -1
  194. package/src/bridge/jsHelpers.ts +1 -1
  195. package/src/data/icons/react/celo.tsx +12 -0
  196. package/src/data/icons/react/index.tsx +1 -0
  197. package/src/data/icons/reactNative/celo.tsx +13 -0
  198. package/src/data/icons/reactNative/index.tsx +1 -0
  199. package/src/data/icons/svg/CELO.svg +5 -0
  200. package/src/env.ts +10 -0
  201. package/src/families/celo/api/hubble.ts +93 -0
  202. package/src/families/celo/api/index.ts +1 -0
  203. package/src/families/celo/api/sdk.ts +8 -0
  204. package/src/families/celo/bridge/js.ts +38 -0
  205. package/src/families/celo/cli-transaction.ts +41 -0
  206. package/src/families/celo/datasets/celo.scanAccounts.1.ts +20 -0
  207. package/src/families/celo/deviceTransactionConfig.ts +19 -0
  208. package/src/families/celo/hw-app-celo.ts +108 -0
  209. package/src/families/celo/hw-getAddress.ts +1 -0
  210. package/src/families/celo/js-broadcast.ts +12 -0
  211. package/src/families/celo/js-buildTransaction.ts +32 -0
  212. package/src/families/celo/js-createTransaction.ts +12 -0
  213. package/src/families/celo/js-estimateMaxSpendable.ts +28 -0
  214. package/src/families/celo/js-getFeesForTransaction.ts +38 -0
  215. package/src/families/celo/js-getTransactionStatus.ts +67 -0
  216. package/src/families/celo/js-prepareTransaction.ts +28 -0
  217. package/src/families/celo/js-signOperation.ts +149 -0
  218. package/src/families/celo/js-synchronisation.ts +40 -0
  219. package/src/families/celo/specs.ts +53 -0
  220. package/src/families/celo/speculos-deviceActions.ts +51 -0
  221. package/src/families/celo/transaction.ts +39 -0
  222. package/src/families/celo/types.ts +20 -0
  223. package/src/families/ethereum/datasets/ethereum.scanAccounts.1.ts +1 -0
  224. package/src/families/ethereum/modules/erc1155.ts +9 -0
  225. package/src/families/polkadot/cache.ts +1 -1
  226. package/src/featureFlags/FeatureToggle.tsx +24 -0
  227. package/src/featureFlags/defaultFeatures.ts +7 -0
  228. package/src/featureFlags/index.ts +4 -0
  229. package/src/featureFlags/provider.tsx +48 -0
  230. package/src/featureFlags/types.ts +9 -0
  231. package/src/featureFlags/useFeature.ts +8 -0
  232. package/src/generated/bridge/js.ts +3 -0
  233. package/src/generated/cli-transaction.ts +3 -0
  234. package/src/generated/deviceTransactionConfig.ts +3 -0
  235. package/src/generated/hw-getAddress.ts +3 -0
  236. package/src/generated/specs.ts +3 -0
  237. package/src/generated/speculos-deviceActions.ts +3 -0
  238. package/src/generated/transaction.ts +3 -0
  239. package/src/generated/types.ts +14 -0
  240. package/src/types/index.ts +1 -0
@@ -0,0 +1,150 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ var bignumber_js_1 = require("bignumber.js");
43
+ var rxjs_1 = require("rxjs");
44
+ var errors_1 = require("@ledgerhq/errors");
45
+ var operation_1 = require("../../operation");
46
+ var hw_app_celo_1 = require("./hw-app-celo");
47
+ var js_buildTransaction_1 = __importDefault(require("./js-buildTransaction"));
48
+ var wallet_base_1 = require("@celo/wallet-base");
49
+ var tokens_1 = require("@celo/wallet-ledger/lib/tokens");
50
+ var deviceAccess_1 = require("../../hw/deviceAccess");
51
+ var buildOptimisticOperation = function (account, transaction, fee) {
52
+ var type = "OUT";
53
+ var value = new bignumber_js_1.BigNumber(transaction.amount).plus(fee);
54
+ var operation = {
55
+ id: (0, operation_1.encodeOperationId)(account.id, "", type),
56
+ hash: "",
57
+ type: type,
58
+ value: value,
59
+ fee: fee,
60
+ blockHash: null,
61
+ blockHeight: null,
62
+ senders: [account.freshAddress],
63
+ recipients: [transaction.recipient].filter(Boolean),
64
+ accountId: account.id,
65
+ date: new Date(),
66
+ extra: { additionalField: transaction.amount }
67
+ };
68
+ return operation;
69
+ };
70
+ var trimLeading0x = function (input) {
71
+ return input.startsWith("0x") ? input.slice(2) : input;
72
+ };
73
+ var parseSigningResponse = function (response, chainId) {
74
+ // EIP155
75
+ var sigV = parseInt(response.v, 16);
76
+ var eip155V = chainId * 2 + 35;
77
+ if (sigV !== eip155V && (sigV & eip155V) !== sigV) {
78
+ eip155V += 1;
79
+ }
80
+ return {
81
+ s: Buffer.from(response.s, "hex"),
82
+ v: eip155V,
83
+ r: Buffer.from(response.r, "hex")
84
+ };
85
+ };
86
+ /**
87
+ * Sign Transaction with Ledger hardware
88
+ */
89
+ var signOperation = function (_a) {
90
+ var account = _a.account, deviceId = _a.deviceId, transaction = _a.transaction;
91
+ return (0, deviceAccess_1.withDevice)(deviceId)(function (transport) {
92
+ return new rxjs_1.Observable(function (o) {
93
+ var cancelled;
94
+ function main() {
95
+ var _a;
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var celo, unsignedTransaction, chainId, to, rlpEncodedTransaction, tokenInfo, response, signature, encodedTransaction, operation;
98
+ return __generator(this, function (_b) {
99
+ switch (_b.label) {
100
+ case 0:
101
+ if (!transaction.fees) {
102
+ throw new errors_1.FeeNotLoaded();
103
+ }
104
+ celo = new hw_app_celo_1.CeloApp(transport);
105
+ return [4 /*yield*/, (0, js_buildTransaction_1["default"])(account, transaction)];
106
+ case 1:
107
+ unsignedTransaction = _b.sent();
108
+ chainId = unsignedTransaction.chainId, to = unsignedTransaction.to;
109
+ rlpEncodedTransaction = (0, wallet_base_1.rlpEncodedTx)(unsignedTransaction);
110
+ tokenInfo = (0, tokens_1.tokenInfoByAddressAndChainId)(to, chainId);
111
+ if (!tokenInfo) return [3 /*break*/, 3];
112
+ return [4 /*yield*/, celo.provideERC20TokenInformation(tokenInfo)];
113
+ case 2:
114
+ _b.sent();
115
+ _b.label = 3;
116
+ case 3:
117
+ o.next({ type: "device-signature-requested" });
118
+ return [4 /*yield*/, celo.signTransaction(account.freshAddressPath, trimLeading0x(rlpEncodedTransaction.rlpEncode))];
119
+ case 4:
120
+ response = _b.sent();
121
+ if (cancelled)
122
+ return [2 /*return*/];
123
+ signature = parseSigningResponse(response, chainId);
124
+ o.next({ type: "device-signature-granted" });
125
+ return [4 /*yield*/, (0, wallet_base_1.encodeTransaction)(rlpEncodedTransaction, signature)];
126
+ case 5:
127
+ encodedTransaction = _b.sent();
128
+ operation = buildOptimisticOperation(account, transaction, (_a = transaction.fees) !== null && _a !== void 0 ? _a : new bignumber_js_1.BigNumber(0));
129
+ o.next({
130
+ type: "signed",
131
+ signedOperation: {
132
+ operation: operation,
133
+ signature: encodedTransaction.raw,
134
+ expirationDate: null
135
+ }
136
+ });
137
+ return [2 /*return*/];
138
+ }
139
+ });
140
+ });
141
+ }
142
+ main().then(function () { return o.complete(); }, function (e) { return o.error(e); });
143
+ return function () {
144
+ cancelled = true;
145
+ };
146
+ });
147
+ });
148
+ };
149
+ exports["default"] = signOperation;
150
+ //# sourceMappingURL=js-signOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-signOperation.js","sourceRoot":"","sources":["../../../src/families/celo/js-signOperation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Account } from "../../types";
2
+ export declare const scanAccounts: (arg0: {
3
+ currency: import("@ledgerhq/cryptoassets/lib/types").CryptoCurrency;
4
+ deviceId: string;
5
+ scheme?: "" | "ethM" | "ethMM" | "bch_on_bitcoin_segwit" | "legacy_on_bch" | "vertcoin_128" | "vertcoin_128_segwit" | "etcM" | "aeternity" | "tezbox" | "tezosbip44h" | "galleonL" | "tezboxL" | "taproot" | "native_segwit" | "segwit" | "segwit_on_legacy" | "legacy_on_segwit" | "legacy_on_native_segwit" | "segwit_unsplit" | "sep5" | "unsplit" | "polkadotbip44" | "filecoin" | "solanaMain" | "solanaSub" | null | undefined;
6
+ syncConfig: import("../../types").SyncConfig;
7
+ preferredNewAccountScheme?: "" | "ethM" | "ethMM" | "bch_on_bitcoin_segwit" | "legacy_on_bch" | "vertcoin_128" | "vertcoin_128_segwit" | "etcM" | "aeternity" | "tezbox" | "tezosbip44h" | "galleonL" | "tezboxL" | "taproot" | "native_segwit" | "segwit" | "segwit_on_legacy" | "legacy_on_segwit" | "legacy_on_native_segwit" | "segwit_unsplit" | "sep5" | "unsplit" | "polkadotbip44" | "filecoin" | "solanaMain" | "solanaSub" | undefined;
8
+ }) => import("rxjs").Observable<import("../../types").ScanAccountEvent>;
9
+ export declare const sync: (initialAccount: Account, syncConfig: import("../../types").SyncConfig) => import("rxjs").Observable<(arg0: Account) => Account>;
10
+ //# sourceMappingURL=js-synchronisation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-synchronisation.d.ts","sourceRoot":"","sources":["../../../src/families/celo/js-synchronisation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAsC3C,eAAO,MAAM,YAAY;;;;;;uEAAoC,CAAC;AAC9D,eAAO,MAAM,IAAI,kIAAsC,CAAC"}
@@ -0,0 +1,88 @@
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
+ exports.__esModule = true;
50
+ exports.sync = exports.scanAccounts = void 0;
51
+ var account_1 = require("../../account");
52
+ var jsHelpers_1 = require("../../bridge/jsHelpers");
53
+ var api_1 = require("./api");
54
+ var getAccountShape = function (info) { return __awaiter(void 0, void 0, void 0, function () {
55
+ var address, currency, initialAccount, derivationMode, oldOperations, accountId, _a, blockHeight, balance, spendableBalance, newOperations, operations, shape;
56
+ return __generator(this, function (_b) {
57
+ switch (_b.label) {
58
+ case 0:
59
+ address = info.address, currency = info.currency, initialAccount = info.initialAccount, derivationMode = info.derivationMode;
60
+ oldOperations = (initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.operations) || [];
61
+ accountId = (0, account_1.encodeAccountId)({
62
+ type: "js",
63
+ version: "2",
64
+ currencyId: currency.id,
65
+ xpubOrAddress: address,
66
+ derivationMode: derivationMode
67
+ });
68
+ return [4 /*yield*/, (0, api_1.getAccountDetails)(address, accountId)];
69
+ case 1:
70
+ _a = _b.sent(), blockHeight = _a.blockHeight, balance = _a.balance, spendableBalance = _a.spendableBalance, newOperations = _a.operations;
71
+ operations = (0, jsHelpers_1.mergeOps)(oldOperations, newOperations);
72
+ shape = {
73
+ id: accountId,
74
+ balance: balance,
75
+ spendableBalance: spendableBalance,
76
+ operationsCount: operations.length,
77
+ blockHeight: blockHeight
78
+ };
79
+ return [2 /*return*/, __assign(__assign({}, shape), { operations: operations })];
80
+ }
81
+ });
82
+ }); };
83
+ var postSync = function (_initial, parent) {
84
+ return parent;
85
+ };
86
+ exports.scanAccounts = (0, jsHelpers_1.makeScanAccounts)(getAccountShape);
87
+ exports.sync = (0, jsHelpers_1.makeSync)(getAccountShape, postSync);
88
+ //# sourceMappingURL=js-synchronisation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-synchronisation.js","sourceRoot":"","sources":["../../../src/families/celo/js-synchronisation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAAgD;AAEhD,oDAA8E;AAC9E,6BAA0C;AAE1C,IAAM,eAAe,GAAoB,UAAO,IAAI;;;;;gBAC1C,OAAO,GAA+C,IAAI,QAAnD,EAAE,QAAQ,GAAqC,IAAI,SAAzC,EAAE,cAAc,GAAqB,IAAI,eAAzB,EAAE,cAAc,GAAK,IAAI,eAAT,CAAU;gBAC7D,aAAa,GAAG,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,KAAI,EAAE,CAAC;gBAEjD,SAAS,GAAG,IAAA,yBAAe,EAAC;oBAChC,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,GAAG;oBACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;oBACvB,aAAa,EAAE,OAAO;oBACtB,cAAc,gBAAA;iBACf,CAAC,CAAC;gBAMC,qBAAM,IAAA,uBAAiB,EAAC,OAAO,EAAE,SAAS,CAAC,EAAA;;gBALzC,KAKF,SAA2C,EAJ7C,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,gBAAgB,sBAAA,EACJ,aAAa,gBAAA;gBAErB,UAAU,GAAG,IAAA,oBAAQ,EAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBACpD,KAAK,GAAG;oBACZ,EAAE,EAAE,SAAS;oBACb,OAAO,SAAA;oBACP,gBAAgB,kBAAA;oBAChB,eAAe,EAAE,UAAU,CAAC,MAAM;oBAClC,WAAW,aAAA;iBACZ,CAAC;gBACF,4CAAY,KAAK,KAAE,UAAU,YAAA,KAAG;;;KACjC,CAAC;AAEF,IAAM,QAAQ,GAAG,UAAC,QAAiB,EAAE,MAAe;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,4BAAgB,EAAC,eAAe,CAAC,CAAC;AACjD,QAAA,IAAI,GAAG,IAAA,oBAAQ,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Transaction } from "./types";
2
+ import type { AppSpec } from "../../bot/types";
3
+ declare const _default: {
4
+ celo: AppSpec<Transaction>;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/celo/specs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;;;;AA8C/C,wBAEE"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var invariant_1 = __importDefault(require("invariant"));
7
+ var currencies_1 = require("../../currencies");
8
+ var specs_1 = require("../../bot/specs");
9
+ var devices_1 = require("@ledgerhq/devices");
10
+ var currency = (0, currencies_1.getCryptoCurrencyById)("celo");
11
+ var minimalAmount = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.001");
12
+ var maxAccount = 3;
13
+ var celo = {
14
+ name: "Celo",
15
+ currency: currency,
16
+ appQuery: {
17
+ model: devices_1.DeviceModelId.nanoS,
18
+ appName: "Celo"
19
+ },
20
+ testTimeout: 2 * 60 * 1000,
21
+ mutations: [
22
+ {
23
+ name: "move 50% to another account",
24
+ maxRun: 2,
25
+ transaction: function (_a) {
26
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
27
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "balance is too low");
28
+ var sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
29
+ var recipient = sibling.freshAddress;
30
+ var amount = maxSpendable.div(2).integerValue();
31
+ return {
32
+ transaction: bridge.createTransaction(account),
33
+ updates: [{ recipient: recipient }, { amount: amount }]
34
+ };
35
+ }
36
+ },
37
+ {
38
+ name: "send max to another account",
39
+ maxRun: 1,
40
+ transaction: function (_a) {
41
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
42
+ (0, invariant_1["default"])(maxSpendable.gt(minimalAmount), "balance is too low");
43
+ var sibling = (0, specs_1.pickSiblings)(siblings, maxAccount);
44
+ var recipient = sibling.freshAddress;
45
+ return {
46
+ transaction: bridge.createTransaction(account),
47
+ updates: [{ recipient: recipient }, { useAllAmount: true }]
48
+ };
49
+ }
50
+ },
51
+ ]
52
+ };
53
+ exports["default"] = {
54
+ celo: celo
55
+ };
56
+ //# sourceMappingURL=specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/families/celo/specs.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAElC,+CAA4E;AAC5E,yCAA+C;AAE/C,6CAAkD;AAElD,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,MAAM,CAAC,CAAC;AAC/C,IAAM,aAAa,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpE,IAAM,UAAU,GAAG,CAAC,CAAC;AAErB,IAAM,IAAI,GAAyB;IACjC,IAAI,EAAE,MAAM;IACZ,QAAQ,UAAA;IACR,QAAQ,EAAE;QACR,KAAK,EAAE,uBAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,MAAM;KAChB;IACD,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC1B,SAAS,EAAE;QACT;YACE,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,UAAC,EAA2C;oBAAzC,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;gBACrD,IAAA,sBAAS,EAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAChE,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnD,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBACvC,IAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;gBAClD,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAC9C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC;iBACrC,CAAC;YACJ,CAAC;SACF;QACD;YACE,IAAI,EAAE,6BAA6B;YACnC,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,UAAC,EAA2C;oBAAzC,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;gBACrD,IAAA,sBAAS,EAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAChE,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACnD,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBACvC,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAC9C,OAAO,EAAE,CAAC,EAAE,SAAS,WAAA,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iBACjD,CAAC;YACJ,CAAC;SACF;KACF;CACF,CAAC;AAEF,qBAAe;IACb,IAAI,MAAA;CACL,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DeviceAction } from "../../bot/types";
2
+ import type { Transaction } from "./types";
3
+ declare const _default: {
4
+ acceptTransaction: DeviceAction<Transaction, any>;
5
+ };
6
+ export default _default;
7
+ //# sourceMappingURL=speculos-deviceActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;;;;AA+C3C,wBAEE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var specs_1 = require("../../bot/specs");
4
+ var currencies_1 = require("../../currencies");
5
+ var acceptTransaction = (0, specs_1.deviceActionFlow)({
6
+ steps: [
7
+ {
8
+ title: "Review",
9
+ button: "Rr"
10
+ },
11
+ {
12
+ title: "Amount",
13
+ button: "Rr",
14
+ expectedValue: function (_a) {
15
+ var account = _a.account, status = _a.status;
16
+ var formattedValue = "CELO " +
17
+ (0, currencies_1.formatCurrencyUnit)(account.unit, status.amount, {
18
+ disableRounding: true
19
+ });
20
+ if (!formattedValue.includes(".")) {
21
+ // if the value is pure integer, in the app it will automatically add an .0
22
+ return formattedValue + ".0";
23
+ }
24
+ return formattedValue;
25
+ }
26
+ },
27
+ {
28
+ title: "Address",
29
+ button: "Rr",
30
+ expectedValue: function (_a) {
31
+ var transaction = _a.transaction;
32
+ return transaction.recipient;
33
+ }
34
+ },
35
+ {
36
+ title: "Max Fees",
37
+ button: "Rr",
38
+ expectedValue: function () { return "CELO"; }
39
+ },
40
+ {
41
+ title: "No Gateway Fee",
42
+ button: "Rr"
43
+ },
44
+ {
45
+ title: "Accept",
46
+ button: "LRlr"
47
+ },
48
+ ]
49
+ });
50
+ exports["default"] = {
51
+ acceptTransaction: acceptTransaction
52
+ };
53
+ //# sourceMappingURL=speculos-deviceActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/celo/speculos-deviceActions.ts"],"names":[],"mappings":";;AAEA,yCAAmD;AACnD,+CAAsD;AACtD,IAAM,iBAAiB,GAAmC,IAAA,wBAAgB,EAAC;IACzE,KAAK,EAAE;QACL;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,IAAM,cAAc,GAClB,OAAO;oBACP,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;wBAC9C,eAAe,EAAE,IAAI;qBACtB,CAAC,CAAC;gBAEL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACjC,2EAA2E;oBAC3E,OAAO,cAAc,GAAG,IAAI,CAAC;iBAC9B;gBAED,OAAO,cAAc,CAAC;YACxB,CAAC;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM;SAC5B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAC,CAAC;AACH,qBAAe;IACb,iBAAiB,mBAAA;CAClB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Transaction, TransactionRaw } from "./types";
2
+ import type { Account } from "../../types";
3
+ export declare const formatTransaction: (t: Transaction, account: Account) => string;
4
+ export declare const toTransactionRaw: (t: Transaction) => TransactionRaw;
5
+ declare const _default: {
6
+ formatTransaction: (t: Transaction, account: Account) => string;
7
+ fromTransactionRaw: (tr: TransactionRaw) => Transaction;
8
+ toTransactionRaw: (t: Transaction) => TransactionRaw;
9
+ };
10
+ export default _default;
11
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/celo/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,iBAAiB,MAAO,WAAW,WAAW,OAAO,KAAG,MAKnD,CAAC;AAWnB,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cAOjD,CAAC;;;;;;AAEF,wBAIE"}
@@ -0,0 +1,39 @@
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
+ exports.__esModule = true;
14
+ exports.toTransactionRaw = exports.formatTransaction = void 0;
15
+ var bignumber_js_1 = require("bignumber.js");
16
+ var common_1 = require("../../transaction/common");
17
+ var account_1 = require("../../account");
18
+ var currencies_1 = require("../../currencies");
19
+ var formatTransaction = function (t, account) { return "\nSEND ".concat((0, currencies_1.formatCurrencyUnit)((0, account_1.getAccountUnit)(account), t.amount, {
20
+ showCode: true,
21
+ disableRounding: true
22
+ }), "\nTO ").concat(t.recipient); };
23
+ exports.formatTransaction = formatTransaction;
24
+ var fromTransactionRaw = function (tr) {
25
+ var common = (0, common_1.fromTransactionCommonRaw)(tr);
26
+ return __assign(__assign({}, common), { family: tr.family, fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null });
27
+ };
28
+ var toTransactionRaw = function (t) {
29
+ var _a;
30
+ var common = (0, common_1.toTransactionCommonRaw)(t);
31
+ return __assign(__assign({}, common), { family: t.family, fees: ((_a = t.fees) === null || _a === void 0 ? void 0 : _a.toString()) || null });
32
+ };
33
+ exports.toTransactionRaw = toTransactionRaw;
34
+ exports["default"] = {
35
+ formatTransaction: exports.formatTransaction,
36
+ fromTransactionRaw: fromTransactionRaw,
37
+ toTransactionRaw: exports.toTransactionRaw
38
+ };
39
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/celo/transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6CAAyC;AACzC,mDAGkC;AAElC,yCAA+C;AAC/C,+CAAsD;AAC/C,IAAM,iBAAiB,GAAG,UAAC,CAAc,EAAE,OAAgB,IAAa,OAAA,iBACxE,IAAA,+BAAkB,EAAC,IAAA,wBAAc,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3D,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,IAAI;CACtB,CAAC,kBACG,CAAC,CAAC,SAAS,CAAE,EAL6D,CAK7D,CAAC;AALN,QAAA,iBAAiB,qBAKX;AAEnB,IAAM,kBAAkB,GAAG,UAAC,EAAkB;IAC5C,IAAM,MAAM,GAAG,IAAA,iCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,6BACK,MAAM,KACT,MAAM,EAAE,EAAE,CAAC,MAAM,EACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAC7C;AACJ,CAAC,CAAC;AAEK,IAAM,gBAAgB,GAAG,UAAC,CAAc;;IAC7C,IAAM,MAAM,GAAG,IAAA,+BAAsB,EAAC,CAAC,CAAC,CAAC;IACzC,6BACK,MAAM,KACT,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,IAAI,EAAE,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,QAAQ,EAAE,KAAI,IAAI,IAChC;AACJ,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF,qBAAe;IACb,iBAAiB,2BAAA;IACjB,kBAAkB,oBAAA;IAClB,gBAAgB,0BAAA;CACjB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ import type { TransactionCommon, TransactionCommonRaw } from "../../types/transaction";
3
+ export declare type Transaction = TransactionCommon & {
4
+ family: "celo";
5
+ fees: BigNumber | null | undefined;
6
+ };
7
+ export declare type TransactionRaw = TransactionCommonRaw & {
8
+ family: "celo";
9
+ fees: string | null | undefined;
10
+ };
11
+ export declare type CoreStatics = Record<string, never>;
12
+ export declare type CoreAccountSpecifics = Record<string, never>;
13
+ export declare type CoreOperationSpecifics = Record<string, never>;
14
+ export declare type CoreCurrencySpecifics = Record<string, never>;
15
+ export declare const reflect: (_declare: any) => void;
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/families/celo/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AAEjC,oBAAY,WAAW,GAAG,iBAAiB,GAAG;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;CACpC,CAAC;AACF,oBAAY,cAAc,GAAG,oBAAoB,GAAG;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,oBAAY,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChD,oBAAY,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACzD,oBAAY,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,oBAAY,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC1D,eAAO,MAAM,OAAO,aAAc,GAAG,SAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.reflect = void 0;
4
+ var reflect = function (_declare) { };
5
+ exports.reflect = reflect;
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/families/celo/types.ts"],"names":[],"mappings":";;;AAmBO,IAAM,OAAO,GAAG,UAAC,QAAa,IAAM,CAAC,CAAC;AAAhC,QAAA,OAAO,WAAyB"}
@@ -1,5 +1,6 @@
1
1
  declare const _default: {
2
2
  name: string;
3
+ unstableAccounts: boolean;
3
4
  apdus: string;
4
5
  };
5
6
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.scanAccounts.1.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/datasets/ethereum.scanAccounts.1.ts"],"names":[],"mappings":";;;;AAAA,wBA8CE"}
1
+ {"version":3,"file":"ethereum.scanAccounts.1.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/datasets/ethereum.scanAccounts.1.ts"],"names":[],"mappings":";;;;;AAAA,wBA+CE"}
@@ -2,6 +2,7 @@
2
2
  exports.__esModule = true;
3
3
  exports["default"] = {
4
4
  name: "ethereum seed 1",
5
+ unstableAccounts: true,
5
6
  apdus: "\n => e00200000d038000002c8000003c80000000\n <= 410469877df9567b58e6ef8f6cf1fb8a8e1bf28a327dee31b183a6b9cd1f3da063af0924506a9912793ef31e41df19f8653fa31bb1fecc32d2e41abdddb22ccb621028373561453661383832363036353137343345356546433033373937313136413335363539663638359000\n => e002000011048000002c8000003c8000000000000000\n <= 4104b7577f404537d1e934a8d2a1fd2552a7f399928b5af0aad714acc17b36865b3f5d1843d6a580c737c051656ac35978283a388a759911d289e9994071247d167528356466304333363936343142384166336337653961653037364535343636654636373833313943649000\n => e002000011048000002c8000003c8000000000000001\n <= 4104bee21a16156c645d0150e262c40648b9fd938c6462efe3adf9051efe077d30b356c86b8bc8a182e58cdc514e6d0c2670f6626d34f78220187e2d279d661d23f628446336313732383838343733383239324134373236353042624133653936433261344638383739369000\n => e002000011048000002c8000003c8000000000000002\n <= 410467f77bf213f0de5fd7ae7ac2ca2b6f7ad6cacecbb8688acd0bcf0fcc5b7b58512fe786639619b9f4a513061dd0355590ec5b7d2c4d934c43a37778920bf07e1a28623262344230413836384543326530613162326533314131304142414130393365463032386544389000\n => e002000011048000002c8000003c8000000000000003\n <= 4104dcce479cd733a7972cea67f0b5bf92d786a1e62a9afe5e50ddd2f7f7c8c1aaff89e28b236f5f1e75c702c3c0116de49dde6b32f06f66937f0b190bdd730bd84e28613563334139333430364465323733666639386244443343653935314232653431423137436443469000\n => e002000011048000002c8000003c8000000000000004\n <= 4104b60582b8ea13540e5292396949f9d2ed23d9ec4344e2463e9fe7fa36c12372da03a0427c48d653dd59abfcbb7628b323076415f1fd53bc601b8071d82ddd635528393945363561463136626644393139303246623638394163373938343338633042464334373439359000\n => e002000011048000002c8000003c8000000000000005\n <= 4104126bf90b475158cb8c947dbe47d9ecdff88c34c96c7b7f4fc17a05257dff1024c089fd51f657fa7f5b1041d23bc67d46cd0dd4df86c5318f653486199313e18f28663736394533463933663831313733653836333365354461653646433031426262443163634230389000\n => e002000011048000002c8000003c8000000000000006\n <= 4104dc7934183510e92e07136e9192da7d5bbd4c3a757b4d9bdf8dcca9baabdf8efddfad24ef74e8a0db52d9e4171516665ff6e4cd152273f460627933df3ced177828463439386638653139323342653437633335343932376445334332313661633341453734666535619000\n => e002000011048000002c8000003c8000000000000007\n <= 4104b7664a7012f69cee691362377df6d8558b0acfe1541dbf95af90e919d6867ac9d46b3b0b42e98fe8543c15ae501fed3d85869fd0310d9804faed0d07ae3b871628353932393338336336626631624439666533383462423665363162394232413230416637434361429000\n => e002000011048000002c8000003c8000000000000008\n <= 41045cdb8bc99d890837444698a53d9c18d22c6159e0727e051fee54e7299318282d3fe882b4aa133e7e15529e90b824b4f83ea5242b3ad4651c7d9cca12c796e45428634339303838363541443934303634623733433739663235393861373966393843654544364446619000\n => e002000011048000002c8000003c8000000000000009\n <= 4104720ec99d2297e627e239764e519be6900d06fc3d9145e306daeace60944c3c6dc14e74f24d27fc98278c0c07de821bae71ed5c95e9a7b95538637e817763609128373731663039424535353143386346393734426141426336373365324232323132643637383236469000\n => e002000011048000002c8000003c800000000000000a\n <= 41043a98496a4115f61e264bd74ba1ea661729ccfa239e72318ecbd307fb747d2032be5e308e435b24417320a95b719d60b7740b0bf297f926b414b4d3b44d903a9f28384138383238373537353662333831336262613844644631376634304232363064423232466334379000\n => e002000011048000002c8000003c800000000000000b\n <= 41040f3a6497cdef24c68b895a0d8a9f8b54e16ee84e4905a24236a242a82a900e068cb72ad71f52b57dfa41e00090cd035d1a4205dbe3982ac88189c743edb856a828646431344537456135384533384343316134653737386265663338323831664139413134353232419000\n => e002000015058000002c8000003c800000000000000000000001\n <= 41040374fb34926a57e184cdd3438109021b3169a9c74ffe726d1abc7a187fa9440a11f071b96f72c8e9e0ea1f82dc2180166bd8c7bae9401cdd3d2466a40e1755ca28304536613732456439323243323338394466303365383666354537394261374336344535343933379000\n => e002000015058000002c8000003c800000000000000000000000\n <= 410478f6d00bc3be349f69a8b88b3957d569d7ed44d27d0824988107ba1a6117cfcefc22b03b9be870ddadb643eeda4357761d44419cfbdccb19701be086780ff71128304533463062623935313646303166324333346332354530393537353138623861433934313463359000\n => e002000015058000002c8000003c800000010000000000000000\n <= 4104c20d717f7652a279588b267457c051e387fbeb8648b730cd3daeaa8fa3774f37ab535ab9bd024b87776b77b3409546a0b64e1b14828ea43891b4200318fc90fd28363637463942453934613432343538636235334133413636353131446361313962333937373338649000\n => e002000015058000002c8000003c800000020000000000000000\n <= 4104e788111a6c0254ec8184453383d2d8b18c8e0b86d1fea93c2691a9bc6240572f24129a634155d1291228a1721fc88737f75e51bb7575ccc69937d649c1422ea028386639353530323931314338316135454332626134623831356564326432433565316338383932359000\n => e002000015058000002c8000003c800000030000000000000000\n <= 4104ffd79641446518c675ad32e6434a2aba9e7c426200bc336d78222cbec00d2c8aa7a8c685084f450870e2a801049795ba051f8b3a878a586158697d6bd4ce0b6d28386261343131303566464135343531306362394436376362334137323632344434303532634130389000\n => e002000015058000002c8000003c800000040000000000000000\n <= 4104602f7c0f3f73a914b3dd83e8bb6f11f3dc8ea1d2c7308fa4f8d9d2000a4419eec324393f4cf191e83f3adc64de9388f5979664c6d6dac4c23c0566d7aabbddfa28366233343933464531383145413238336530333335653544384437363865323132326243366331389000\n => e002000015058000002c8000003c800000050000000000000000\n <= 410484f94dfa2c52fee4f8b37b578b0087de88ee282cb788a56af1eabd7711ddd37e6da1c9eada59926b7828d7e12db21c443ed0a2ca4521561806d3175407a557c128323546456139343435344664334137413138443935383131463565346562353733633163434334329000\n => e002000015058000002c8000003c800000060000000000000000\n <= 4104e7c7f373d0a568554b5372b68f6e697aee3947c053ee5d882afba2f2c9a44273768b2e61b01de519b0c1f365e23aea5e3d041a40a347a125e202a2d7d7ef596828624636373337664138373538463134443838376531646633323442423431363136334533366436319000\n "
6
7
  };
7
8
  //# sourceMappingURL=ethereum.scanAccounts.1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum.scanAccounts.1.js","sourceRoot":"","sources":["../../../../src/families/ethereum/datasets/ethereum.scanAccounts.1.ts"],"names":[],"mappings":";;AAAA,qBAAe;IACb,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,wzLA2CJ;CACJ,CAAC"}
1
+ {"version":3,"file":"ethereum.scanAccounts.1.js","sourceRoot":"","sources":["../../../../src/families/ethereum/datasets/ethereum.scanAccounts.1.ts"],"names":[],"mappings":";;AAAA,qBAAe;IACb,IAAI,EAAE,iBAAiB;IACvB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAAE,wzLA2CJ;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"erc1155.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc1155.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,UAAU,CAAC;AAQxD,oBAAY,KAAK,GAAG,kBAAkB,CAAC;AA2IvC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAE3C,CAAC"}
1
+ {"version":3,"file":"erc1155.d.ts","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc1155.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,UAAU,CAAC;AAWxD,oBAAY,KAAK,GAAG,kBAAkB,CAAC;AAiJvC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAE3C,CAAC"}
@@ -25,6 +25,7 @@ var erc721_1 = require("./erc721");
25
25
  var notOwnedNft = (0, errors_1.createCustomErrorClass)("NotOwnedNft");
26
26
  var notEnoughNftOwned = (0, errors_1.createCustomErrorClass)("NotEnoughNftOwned");
27
27
  var notTokenIdsProvided = (0, errors_1.createCustomErrorClass)("NotTokenIdsProvided");
28
+ var quantityNeedsToBePositive = (0, errors_1.createCustomErrorClass)("QuantityNeedsToBePositive");
28
29
  var erc1155Transfer = {
29
30
  /**
30
31
  * Tx data is filled during the buildEthereumTx
@@ -40,7 +41,7 @@ var erc1155Transfer = {
40
41
  * Tx status is filled after the buildEthereumTx
41
42
  */
42
43
  fillTransactionStatus: function (a, t, result) {
43
- var _a;
44
+ var _a, _b;
44
45
  (0, transaction_1.validateRecipient)(a.currency, t.recipient, result);
45
46
  if (!result.errors.recipient) {
46
47
  result.totalSpent = result.estimatedFees;
@@ -48,7 +49,12 @@ var erc1155Transfer = {
48
49
  if (result.estimatedFees.gt(a.spendableBalance)) {
49
50
  result.errors.amount = new errors_1.NotEnoughBalanceInParentAccount();
50
51
  }
51
- var enoughTokensOwned = ((_a = t.tokenIds) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, tokenId, index) {
52
+ (_a = t.quantities) === null || _a === void 0 ? void 0 : _a.forEach(function (quantity) {
53
+ if (quantity.isLessThan(1)) {
54
+ result.errors.amount = new quantityNeedsToBePositive();
55
+ }
56
+ });
57
+ var enoughTokensOwned = ((_b = t.tokenIds) === null || _b === void 0 ? void 0 : _b.reduce(function (acc, tokenId, index) {
52
58
  var _a, _b;
53
59
  if (acc instanceof Error) {
54
60
  return acc;
@@ -1 +1 @@
1
- {"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc1155.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../../src/families/ethereum/modules/erc1155.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import type { Transaction } from "./types";
14
14
  */
15
15
  export declare const getTransactionParams: CacheRes<Array<void>, Record<string, any>>;
16
16
  /**
17
- * Cache the payment info (fee estimate), with a hash deending on fees-changing transaction params and tx size.
17
+ * Cache the payment info (fee estimate), with a hash depending on fees-changing transaction params and tx size.
18
18
  *
19
19
  * @param {Account} arg1.a
20
20
  * @param {Transaction} arg1.t
@@ -92,7 +92,7 @@ exports.getTransactionParams = (0, cache_1.makeLRUCache)(function () { return __
92
92
  maxAge: 5 * 60 * 1000
93
93
  });
94
94
  /**
95
- * Cache the payment info (fee estimate), with a hash deending on fees-changing transaction params and tx size.
95
+ * Cache the payment info (fee estimate), with a hash depending on fees-changing transaction params and tx size.
96
96
  *
97
97
  * @param {Account} arg1.a
98
98
  * @param {Transaction} arg1.t