@ledgerhq/live-common 25.0.0-next.0 → 25.0.0-next.3

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 (209) hide show
  1. package/lib/__tests__/accounts/importAccounts.js +1 -1
  2. package/lib/__tests__/test-helpers/setup.js +1 -1
  3. package/lib/account/helpers.d.ts +5 -1
  4. package/lib/account/helpers.d.ts.map +1 -1
  5. package/lib/account/helpers.js +28 -1
  6. package/lib/account/helpers.js.map +1 -1
  7. package/lib/apps/filtering.test.js +1 -1
  8. package/lib/bot/specs.d.ts +1 -0
  9. package/lib/bot/specs.d.ts.map +1 -1
  10. package/lib/bot/specs.js +6 -1
  11. package/lib/bot/specs.js.map +1 -1
  12. package/lib/countervalues/api/api.d.ts.map +1 -1
  13. package/lib/countervalues/api/api.js +25 -13
  14. package/lib/countervalues/api/api.js.map +1 -1
  15. package/lib/countervalues/logic.d.ts.map +1 -1
  16. package/lib/countervalues/logic.integration.test.d.ts +1 -1
  17. package/lib/countervalues/logic.integration.test.d.ts.map +1 -1
  18. package/lib/countervalues/logic.integration.test.js +78 -2
  19. package/lib/countervalues/logic.integration.test.js.map +1 -1
  20. package/lib/countervalues/logic.js +5 -1
  21. package/lib/countervalues/logic.js.map +1 -1
  22. package/lib/countervalues/modules/index.d.ts +1 -1
  23. package/lib/countervalues/modules/index.d.ts.map +1 -1
  24. package/lib/countervalues/modules/index.js +3 -1
  25. package/lib/countervalues/modules/index.js.map +1 -1
  26. package/lib/countervalues/types.d.ts +1 -0
  27. package/lib/countervalues/types.d.ts.map +1 -1
  28. package/lib/currencies/helpers.d.ts +9 -0
  29. package/lib/currencies/helpers.d.ts.map +1 -0
  30. package/lib/currencies/helpers.js +78 -0
  31. package/lib/currencies/helpers.js.map +1 -0
  32. package/lib/currencies/helpers.test.d.ts +2 -0
  33. package/lib/currencies/helpers.test.d.ts.map +1 -0
  34. package/lib/currencies/helpers.test.js +20 -0
  35. package/lib/currencies/helpers.test.js.map +1 -0
  36. package/lib/currencies/index.d.ts +1 -0
  37. package/lib/currencies/index.d.ts.map +1 -1
  38. package/lib/currencies/index.js +1 -0
  39. package/lib/currencies/index.js.map +1 -1
  40. package/lib/currencies/react.d.ts +4 -0
  41. package/lib/currencies/react.d.ts.map +1 -0
  42. package/lib/currencies/react.js +16 -0
  43. package/lib/currencies/react.js.map +1 -0
  44. package/lib/env.d.ts +10 -5
  45. package/lib/env.d.ts.map +1 -1
  46. package/lib/env.js +5 -0
  47. package/lib/env.js.map +1 -1
  48. package/lib/env.react.d.ts +1 -1
  49. package/lib/env.react.d.ts.map +1 -1
  50. package/lib/errors.d.ts +1 -2
  51. package/lib/errors.d.ts.map +1 -1
  52. package/lib/errors.js +3 -4
  53. package/lib/errors.js.map +1 -1
  54. package/lib/families/solana/api/chain/instruction/token/types.d.ts +3 -3
  55. package/lib/families/stellar/api/horizon.d.ts +29 -7
  56. package/lib/families/stellar/api/horizon.d.ts.map +1 -1
  57. package/lib/families/stellar/api/horizon.js +114 -58
  58. package/lib/families/stellar/api/horizon.js.map +1 -1
  59. package/lib/families/stellar/api/index.d.ts +1 -1
  60. package/lib/families/stellar/api/index.d.ts.map +1 -1
  61. package/lib/families/stellar/api/index.js +5 -1
  62. package/lib/families/stellar/api/index.js.map +1 -1
  63. package/lib/families/stellar/bridge/mock.d.ts.map +1 -1
  64. package/lib/families/stellar/bridge/mock.js +4 -1
  65. package/lib/families/stellar/bridge/mock.js.map +1 -1
  66. package/lib/families/stellar/bridge.integration.test.js +12 -4
  67. package/lib/families/stellar/bridge.integration.test.js.map +1 -1
  68. package/lib/families/stellar/cli-transaction.d.ts +3 -1
  69. package/lib/families/stellar/cli-transaction.d.ts.map +1 -1
  70. package/lib/families/stellar/cli-transaction.js +48 -2
  71. package/lib/families/stellar/cli-transaction.js.map +1 -1
  72. package/lib/families/stellar/deviceTransactionConfig.d.ts +7 -1
  73. package/lib/families/stellar/deviceTransactionConfig.d.ts.map +1 -1
  74. package/lib/families/stellar/deviceTransactionConfig.js +12 -1
  75. package/lib/families/stellar/deviceTransactionConfig.js.map +1 -1
  76. package/lib/families/stellar/errors.d.ts +12 -0
  77. package/lib/families/stellar/errors.d.ts.map +1 -0
  78. package/lib/families/stellar/errors.js +16 -0
  79. package/lib/families/stellar/errors.js.map +1 -0
  80. package/lib/families/stellar/js-buildTransaction.d.ts.map +1 -1
  81. package/lib/families/stellar/js-buildTransaction.js +34 -16
  82. package/lib/families/stellar/js-buildTransaction.js.map +1 -1
  83. package/lib/families/stellar/js-createTransaction.d.ts.map +1 -1
  84. package/lib/families/stellar/js-createTransaction.js +4 -1
  85. package/lib/families/stellar/js-createTransaction.js.map +1 -1
  86. package/lib/families/stellar/js-estimateMaxSpendable.js +2 -1
  87. package/lib/families/stellar/js-estimateMaxSpendable.js.map +1 -1
  88. package/lib/families/stellar/js-getTransactionStatus.d.ts.map +1 -1
  89. package/lib/families/stellar/js-getTransactionStatus.js +127 -57
  90. package/lib/families/stellar/js-getTransactionStatus.js.map +1 -1
  91. package/lib/families/stellar/js-prepareTransaction.d.ts.map +1 -1
  92. package/lib/families/stellar/js-prepareTransaction.js +25 -7
  93. package/lib/families/stellar/js-prepareTransaction.js.map +1 -1
  94. package/lib/families/stellar/js-signOperation.d.ts.map +1 -1
  95. package/lib/families/stellar/js-signOperation.js +33 -6
  96. package/lib/families/stellar/js-signOperation.js.map +1 -1
  97. package/lib/families/stellar/js-synchronization.d.ts +1 -1
  98. package/lib/families/stellar/js-synchronization.d.ts.map +1 -1
  99. package/lib/families/stellar/js-synchronization.js +42 -16
  100. package/lib/families/stellar/js-synchronization.js.map +1 -1
  101. package/lib/families/stellar/logic.d.ts +21 -14
  102. package/lib/families/stellar/logic.d.ts.map +1 -1
  103. package/lib/families/stellar/logic.js +158 -57
  104. package/lib/families/stellar/logic.js.map +1 -1
  105. package/lib/families/stellar/specs.d.ts.map +1 -1
  106. package/lib/families/stellar/specs.js +182 -7
  107. package/lib/families/stellar/specs.js.map +1 -1
  108. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  109. package/lib/families/stellar/speculos-deviceActions.js +60 -28
  110. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  111. package/lib/families/stellar/tokens.d.ts +11 -0
  112. package/lib/families/stellar/tokens.d.ts.map +1 -0
  113. package/lib/families/stellar/tokens.js +82 -0
  114. package/lib/families/stellar/tokens.js.map +1 -0
  115. package/lib/families/stellar/transaction.d.ts +2 -2
  116. package/lib/families/stellar/transaction.d.ts.map +1 -1
  117. package/lib/families/stellar/transaction.js +32 -6
  118. package/lib/families/stellar/transaction.js.map +1 -1
  119. package/lib/families/stellar/types.d.ts +45 -0
  120. package/lib/families/stellar/types.d.ts.map +1 -1
  121. package/lib/families/stellar/types.js +7 -1
  122. package/lib/families/stellar/types.js.map +1 -1
  123. package/lib/generated/cli-transaction.d.ts +1 -0
  124. package/lib/generated/cli-transaction.d.ts.map +1 -1
  125. package/lib/generated/transaction.d.ts +1 -1
  126. package/lib/platform/PlatformAppProvider/api/api.mock.js +11 -11
  127. package/lib/platform/PlatformAppProvider/api/api.mock.js.map +1 -1
  128. package/lib/platform/PlatformAppProvider/helpers.d.ts +0 -7
  129. package/lib/platform/PlatformAppProvider/helpers.d.ts.map +1 -1
  130. package/lib/platform/PlatformAppProvider/helpers.js +1 -29
  131. package/lib/platform/PlatformAppProvider/helpers.js.map +1 -1
  132. package/lib/platform/converters.d.ts +4 -4
  133. package/lib/platform/converters.d.ts.map +1 -1
  134. package/lib/platform/converters.js +40 -2
  135. package/lib/platform/converters.js.map +1 -1
  136. package/lib/platform/filters.d.ts +18 -0
  137. package/lib/platform/filters.d.ts.map +1 -0
  138. package/lib/platform/filters.js +63 -0
  139. package/lib/platform/filters.js.map +1 -0
  140. package/lib/platform/helpers.d.ts +7 -0
  141. package/lib/platform/helpers.d.ts.map +1 -0
  142. package/lib/platform/helpers.js +22 -0
  143. package/lib/platform/helpers.js.map +1 -0
  144. package/lib/platform/logic.d.ts +1 -5
  145. package/lib/platform/logic.d.ts.map +1 -1
  146. package/lib/platform/logic.js +1 -18
  147. package/lib/platform/logic.js.map +1 -1
  148. package/lib/platform/providers/RemoteLiveAppProvider/api/mock.json +87 -246
  149. package/lib/platform/react.d.ts +11 -0
  150. package/lib/platform/react.d.ts.map +1 -0
  151. package/lib/platform/react.js +61 -0
  152. package/lib/platform/react.js.map +1 -0
  153. package/lib/platform/types.d.ts +8 -2
  154. package/lib/platform/types.d.ts.map +1 -1
  155. package/lib/platform/types.js +15 -0
  156. package/lib/platform/types.js.map +1 -1
  157. package/lib/platform/version.test.js +1 -1
  158. package/lib/walletconnect/walletconnect.test.js +0 -2
  159. package/lib/walletconnect/walletconnect.test.js.map +1 -1
  160. package/package.json +5 -4
  161. package/src/__tests__/accounts/importAccounts.ts +1 -1
  162. package/src/__tests__/test-helpers/setup.ts +1 -1
  163. package/src/account/helpers.ts +51 -0
  164. package/src/apps/filtering.test.ts +1 -1
  165. package/src/bot/specs.ts +7 -1
  166. package/src/countervalues/api/api.ts +25 -8
  167. package/src/countervalues/logic.integration.test.ts +71 -1
  168. package/src/countervalues/logic.ts +3 -1
  169. package/src/countervalues/modules/index.ts +3 -1
  170. package/src/countervalues/types.ts +2 -0
  171. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +1 -0
  172. package/src/currencies/helpers.test.ts +21 -0
  173. package/src/currencies/helpers.ts +69 -0
  174. package/src/currencies/index.ts +1 -0
  175. package/src/currencies/react.ts +16 -0
  176. package/src/env.ts +5 -0
  177. package/src/errors.ts +1 -6
  178. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +765 -339
  179. package/src/families/stellar/api/horizon.ts +115 -33
  180. package/src/families/stellar/api/index.ts +4 -0
  181. package/src/families/stellar/bridge/mock.ts +3 -0
  182. package/src/families/stellar/bridge.integration.test.ts +10 -2
  183. package/src/families/stellar/cli-transaction.ts +75 -2
  184. package/src/families/stellar/deviceTransactionConfig.ts +22 -0
  185. package/src/families/stellar/errors.ts +34 -0
  186. package/src/families/stellar/js-buildTransaction.ts +56 -16
  187. package/src/families/stellar/js-createTransaction.ts +3 -0
  188. package/src/families/stellar/js-estimateMaxSpendable.ts +1 -1
  189. package/src/families/stellar/js-getTransactionStatus.ts +152 -60
  190. package/src/families/stellar/js-prepareTransaction.ts +4 -3
  191. package/src/families/stellar/js-signOperation.ts +37 -6
  192. package/src/families/stellar/js-synchronization.ts +53 -11
  193. package/src/families/stellar/logic.ts +198 -62
  194. package/src/families/stellar/specs.ts +227 -8
  195. package/src/families/stellar/speculos-deviceActions.ts +66 -22
  196. package/src/families/stellar/tokens.ts +118 -0
  197. package/src/families/stellar/transaction.ts +31 -3
  198. package/src/families/stellar/types.ts +52 -0
  199. package/src/platform/PlatformAppProvider/api/api.mock.ts +11 -11
  200. package/src/platform/PlatformAppProvider/helpers.ts +0 -48
  201. package/src/platform/converters.ts +60 -6
  202. package/src/platform/filters.ts +102 -0
  203. package/src/platform/helpers.ts +33 -0
  204. package/src/platform/logic.ts +1 -20
  205. package/src/platform/providers/RemoteLiveAppProvider/api/mock.json +87 -246
  206. package/src/platform/react.ts +93 -0
  207. package/src/platform/types.ts +23 -1
  208. package/src/platform/version.test.ts +1 -1
  209. package/src/walletconnect/walletconnect.test.ts +0 -3
@@ -35,38 +35,104 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __read = (this && this.__read) || function (o, n) {
39
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
40
+ if (!m) return o;
41
+ var i = m.call(o), r, ar = [], e;
42
+ try {
43
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
+ }
45
+ catch (error) { e = { error: error }; }
46
+ finally {
47
+ try {
48
+ if (r && !r.done && (m = i["return"])) m.call(i);
49
+ }
50
+ finally { if (e) throw e.error; }
51
+ }
52
+ return ar;
53
+ };
54
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
55
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
56
+ if (ar || !(i in from)) {
57
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
58
+ ar[i] = from[i];
59
+ }
60
+ }
61
+ return to.concat(ar || Array.prototype.slice.call(from));
62
+ };
38
63
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
64
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
65
  };
41
66
  exports.__esModule = true;
42
- exports.rawOperationsToOperations = exports.addressExists = exports.isAddressValid = exports.isAccountMultiSign = exports.isMemoValid = exports.checkRecipientExist = exports.formatOperation = exports.getOperationType = exports.getAccountSpendableBalance = void 0;
67
+ exports.rawOperationsToOperations = exports.recipientAccount = exports.getRecipientAccount = exports.isAddressValid = exports.isAccountMultiSign = exports.isMemoValid = exports.formatOperation = exports.getAssetCodeIssuer = exports.getOperationType = exports.getReservedBalance = exports.getBalanceId = exports.getAmountValue = exports.getAccountSpendableBalance = void 0;
43
68
  var bignumber_js_1 = require("bignumber.js");
44
69
  var stellar_sdk_1 = __importDefault(require("stellar-sdk"));
70
+ var account_1 = require("../../account");
45
71
  var cache_1 = require("../../cache");
46
72
  var api_1 = require("./api");
47
73
  var currencies_1 = require("../../currencies");
48
74
  var operation_1 = require("../../operation");
49
75
  var currency = (0, currencies_1.getCryptoCurrencyById)("stellar");
50
76
  var getMinimumBalance = function (account) {
51
- var baseReserve = 0.5;
52
- var numberOfEntries = account.subentry_count;
53
- var minimumBalance = (2 + numberOfEntries) * baseReserve;
54
- return (0, currencies_1.parseCurrencyUnit)(currency.units[0], minimumBalance.toString());
77
+ return (0, currencies_1.parseCurrencyUnit)(currency.units[0], (0, exports.getReservedBalance)(account).toString());
55
78
  };
56
79
  var getAccountSpendableBalance = function (balance, account) { return __awaiter(void 0, void 0, void 0, function () {
57
- var minimumBalance, baseFee;
80
+ var minimumBalance, recommendedFee;
58
81
  return __generator(this, function (_a) {
59
82
  switch (_a.label) {
60
83
  case 0:
61
84
  minimumBalance = getMinimumBalance(account);
62
85
  return [4 /*yield*/, (0, api_1.fetchBaseFee)()];
63
86
  case 1:
64
- baseFee = _a.sent();
65
- return [2 /*return*/, bignumber_js_1.BigNumber.max(balance.minus(minimumBalance).minus(baseFee), 0)];
87
+ recommendedFee = (_a.sent()).recommendedFee;
88
+ return [2 /*return*/, bignumber_js_1.BigNumber.max(balance.minus(minimumBalance).minus(recommendedFee), 0)];
66
89
  }
67
90
  });
68
91
  }); };
69
92
  exports.getAccountSpendableBalance = getAccountSpendableBalance;
93
+ var getAmountValue = function (account, transaction, fees) {
94
+ // Asset
95
+ if (transaction.subAccountId) {
96
+ var asset = (0, account_1.findSubAccountById)(account, transaction.subAccountId);
97
+ return transaction.useAllAmount
98
+ ? new bignumber_js_1.BigNumber(asset.spendableBalance)
99
+ : transaction.amount;
100
+ }
101
+ // Native
102
+ return transaction.useAllAmount && transaction.networkInfo
103
+ ? bignumber_js_1.BigNumber.max(account.spendableBalance.minus(fees), 0)
104
+ : transaction.amount;
105
+ };
106
+ exports.getAmountValue = getAmountValue;
107
+ var getBalanceId = function (balance) {
108
+ switch (balance.asset_type) {
109
+ case "native":
110
+ return "native";
111
+ case "liquidity_pool_shares":
112
+ return balance.liquidity_pool_id || null;
113
+ case "credit_alphanum4":
114
+ case "credit_alphanum12":
115
+ return "".concat(balance.asset_code, ":").concat(balance.asset_issuer);
116
+ default:
117
+ return null;
118
+ }
119
+ };
120
+ exports.getBalanceId = getBalanceId;
121
+ var getReservedBalance = function (account) {
122
+ var _a;
123
+ var numOfSponsoringEntries = Number(account.num_sponsoring);
124
+ var numOfSponsoredEntries = Number(account.num_sponsored);
125
+ var nativeAsset = (_a = account.balances) === null || _a === void 0 ? void 0 : _a.find(function (b) { return b.asset_type === "native"; });
126
+ var amountInOffers = new bignumber_js_1.BigNumber((nativeAsset === null || nativeAsset === void 0 ? void 0 : nativeAsset.buying_liabilities) || 0);
127
+ var numOfEntries = new bignumber_js_1.BigNumber(account.subentry_count);
128
+ return new bignumber_js_1.BigNumber(api_1.BASE_RESERVE_MIN_COUNT)
129
+ .plus(numOfEntries)
130
+ .plus(numOfSponsoringEntries)
131
+ .minus(numOfSponsoredEntries)
132
+ .times(api_1.BASE_RESERVE)
133
+ .plus(amountInOffers);
134
+ };
135
+ exports.getReservedBalance = getReservedBalance;
70
136
  var getOperationType = function (operation, addr) {
71
137
  switch (operation.type) {
72
138
  case "create_account":
@@ -77,9 +143,16 @@ var getOperationType = function (operation, addr) {
77
143
  }
78
144
  return "IN";
79
145
  case "path_payment_strict_send":
146
+ if (operation.to === addr)
147
+ return "IN";
80
148
  return "OUT";
81
149
  case "path_payment_strict_receive":
82
150
  return "IN";
151
+ case "change_trust":
152
+ if (new bignumber_js_1.BigNumber(operation.limit).eq(0)) {
153
+ return "OPT_OUT";
154
+ }
155
+ return "OPT_IN";
83
156
  default:
84
157
  if (operation.source_account === addr) {
85
158
  return "OUT";
@@ -88,11 +161,21 @@ var getOperationType = function (operation, addr) {
88
161
  }
89
162
  };
90
163
  exports.getOperationType = getOperationType;
164
+ var getAssetCodeIssuer = function (tr) {
165
+ if (tr.subAccountId) {
166
+ var assetString = tr.subAccountId.split("+")[1];
167
+ return assetString.split(":");
168
+ }
169
+ return [tr.assetCode || "", tr.assetIssuer || ""];
170
+ };
171
+ exports.getAssetCodeIssuer = getAssetCodeIssuer;
91
172
  var getRecipients = function (operation) {
92
173
  switch (operation.type) {
93
174
  case "create_account":
94
175
  return [operation.account];
95
176
  case "payment":
177
+ return [operation.to_muxed || operation.to];
178
+ case "path_payment_strict_send":
96
179
  return [operation.to];
97
180
  default:
98
181
  return [];
@@ -117,22 +200,30 @@ var formatOperation = function (rawOperation, accountId, addr) { return __awaite
117
200
  id: (0, operation_1.encodeOperationId)(accountId, rawOperation.transaction_hash, type),
118
201
  accountId: accountId,
119
202
  fee: new bignumber_js_1.BigNumber(transaction.fee_charged),
120
- value: value,
121
- type: type,
203
+ value: (rawOperation === null || rawOperation === void 0 ? void 0 : rawOperation.asset_code)
204
+ ? new bignumber_js_1.BigNumber(transaction.fee_charged)
205
+ : value,
206
+ // Using type NONE to hide asset operations from the main account (show them
207
+ // only on sub-account)
208
+ type: (rawOperation === null || rawOperation === void 0 ? void 0 : rawOperation.asset_code) && !["OPT_IN", "OPT_OUT"].includes(type)
209
+ ? "NONE"
210
+ : type,
122
211
  hash: rawOperation.transaction_hash,
123
212
  blockHeight: transaction.ledger_attr,
124
213
  date: new Date(rawOperation.created_at),
125
214
  senders: [rawOperation.source_account],
126
215
  recipients: recipients,
127
216
  transactionSequenceNumber: Number(transaction.source_account_sequence),
128
- // @ts-expect-error check transaction_successful property
129
217
  hasFailed: !rawOperation.transaction_successful,
130
218
  blockHash: null,
131
- extra: memo
132
- ? {
133
- memo: memo
134
- }
135
- : {}
219
+ extra: {
220
+ pagingToken: rawOperation.paging_token,
221
+ assetCode: rawOperation === null || rawOperation === void 0 ? void 0 : rawOperation.asset_code,
222
+ assetIssuer: rawOperation === null || rawOperation === void 0 ? void 0 : rawOperation.asset_issuer,
223
+ assetAmount: (rawOperation === null || rawOperation === void 0 ? void 0 : rawOperation.asset_code) ? value.toString() : undefined,
224
+ ledgerOpType: type,
225
+ memo: memo
226
+ }
136
227
  };
137
228
  return [2 /*return*/, operation];
138
229
  }
@@ -141,7 +232,6 @@ var formatOperation = function (rawOperation, accountId, addr) { return __awaite
141
232
  exports.formatOperation = formatOperation;
142
233
  var getValue = function (operation, transaction, type) {
143
234
  var value = new bignumber_js_1.BigNumber(0);
144
- // @ts-expect-error check transaction_successful property
145
235
  if (!operation.transaction_successful) {
146
236
  return type === "IN" ? value : new bignumber_js_1.BigNumber(transaction.fee_charged || 0);
147
237
  }
@@ -155,32 +245,11 @@ var getValue = function (operation, transaction, type) {
155
245
  case "payment":
156
246
  case "path_payment_strict_send":
157
247
  case "path_payment_strict_receive":
158
- value =
159
- operation.asset_type === "native"
160
- ? (0, currencies_1.parseCurrencyUnit)(currency.units[0], operation.amount)
161
- : new bignumber_js_1.BigNumber(0);
162
- if (type === "OUT") {
163
- value = value.plus(transaction.fee_charged);
164
- }
165
- return value;
248
+ return (0, currencies_1.parseCurrencyUnit)(currency.units[0], operation.amount);
166
249
  default:
167
250
  return type !== "IN" ? new bignumber_js_1.BigNumber(transaction.fee_charged) : value;
168
251
  }
169
252
  };
170
- // TODO: Move to cache.js
171
- exports.checkRecipientExist = (0, cache_1.makeLRUCache)(function (_a) {
172
- var recipient = _a.recipient;
173
- return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_b) {
174
- switch (_b.label) {
175
- case 0: return [4 /*yield*/, (0, exports.addressExists)(recipient)];
176
- case 1: return [2 /*return*/, _b.sent()];
177
- }
178
- }); });
179
- }, function (extract) { return extract.recipient; }, {
180
- max: 300,
181
- maxAge: 5 * 60
182
- } // 5 minutes
183
- );
184
253
  var isMemoValid = function (memoType, memoValue) {
185
254
  switch (memoType) {
186
255
  case "MEMO_TEXT":
@@ -224,46 +293,78 @@ var isAddressValid = function (address) {
224
293
  if (!address)
225
294
  return false;
226
295
  try {
227
- return stellar_sdk_1["default"].StrKey.isValidEd25519PublicKey(address);
296
+ return (stellar_sdk_1["default"].StrKey.isValidEd25519PublicKey(address) ||
297
+ stellar_sdk_1["default"].StrKey.isValidMed25519PublicKey(address));
228
298
  }
229
299
  catch (err) {
230
300
  return false;
231
301
  }
232
302
  };
233
303
  exports.isAddressValid = isAddressValid;
234
- /**
235
- * Checks if the current account exists on the stellar Network. If it doesn't the account needs
236
- * to be activated by sending an account creation operation with an amount of at least the base reserve.
237
- *
238
- * @param {*} address
239
- */
240
- var addressExists = function (address) { return __awaiter(void 0, void 0, void 0, function () {
241
- var account;
304
+ exports.getRecipientAccount = (0, cache_1.makeLRUCache)(function (_a) {
305
+ var recipient = _a.recipient;
306
+ return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_b) {
307
+ switch (_b.label) {
308
+ case 0: return [4 /*yield*/, (0, exports.recipientAccount)(recipient)];
309
+ case 1: return [2 /*return*/, _b.sent()];
310
+ }
311
+ }); });
312
+ }, function (extract) { return extract.recipient; }, {
313
+ max: 300,
314
+ maxAge: 5 * 60
315
+ } // 5 minutes
316
+ );
317
+ var recipientAccount = function (address) { return __awaiter(void 0, void 0, void 0, function () {
318
+ var accountAddress, isMuxedAccount, muxedAccount, account;
242
319
  return __generator(this, function (_a) {
243
320
  switch (_a.label) {
244
- case 0: return [4 /*yield*/, (0, api_1.loadAccount)(address)];
321
+ case 0:
322
+ if (!address) {
323
+ return [2 /*return*/, null];
324
+ }
325
+ accountAddress = address;
326
+ isMuxedAccount = Boolean(stellar_sdk_1["default"].StrKey.isValidMed25519PublicKey(address));
327
+ if (isMuxedAccount) {
328
+ muxedAccount = new stellar_sdk_1["default"].MuxedAccount.fromAddress(address, "0");
329
+ accountAddress = muxedAccount.baseAccount().accountId();
330
+ }
331
+ return [4 /*yield*/, (0, api_1.loadAccount)(accountAddress)];
245
332
  case 1:
246
333
  account = _a.sent();
247
- return [2 /*return*/, !!account];
334
+ if (!account) {
335
+ return [2 /*return*/, null];
336
+ }
337
+ return [2 /*return*/, {
338
+ id: account.id,
339
+ isMuxedAccount: isMuxedAccount,
340
+ assetIds: account.balances.reduce(function (allAssets, balance) {
341
+ return __spreadArray(__spreadArray([], __read(allAssets), false), [(0, exports.getBalanceId)(balance)], false);
342
+ }, [])
343
+ }];
248
344
  }
249
345
  });
250
346
  }); };
251
- exports.addressExists = addressExists;
347
+ exports.recipientAccount = recipientAccount;
252
348
  var rawOperationsToOperations = function (operations, addr, accountId) { return __awaiter(void 0, void 0, void 0, function () {
349
+ var supportedOperationTypes;
253
350
  return __generator(this, function (_a) {
351
+ supportedOperationTypes = [
352
+ "create_account",
353
+ "payment",
354
+ "path_payment_strict_send",
355
+ "path_payment_strict_receive",
356
+ "change_trust",
357
+ ];
254
358
  return [2 /*return*/, Promise.all(operations
255
359
  .filter(function (operation) {
256
- return (
257
- // @ts-expect-error check from property
258
- operation.from === addr ||
259
- // @ts-expect-error check to property
360
+ return (operation.from === addr ||
260
361
  operation.to === addr ||
261
- // @ts-expect-error check funder property
262
362
  operation.funder === addr ||
263
- // @ts-expect-error check account property
264
363
  operation.account === addr ||
364
+ operation.trustor === addr ||
265
365
  operation.source_account === addr);
266
366
  })
367
+ .filter(function (operation) { return supportedOperationTypes.includes(operation.type); })
267
368
  .map(function (operation) { return (0, exports.formatOperation)(operation, accountId, addr); }))];
268
369
  });
269
370
  }); };
@@ -1 +1 @@
1
- {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../src/families/stellar/logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../src/families/stellar/logic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/specs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;;;;AAkE/C,wBAEE"}
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/specs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAO3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;;;;AAwR/C,wBAEE"}
@@ -5,12 +5,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  exports.__esModule = true;
6
6
  var expect_1 = __importDefault(require("expect"));
7
7
  var invariant_1 = __importDefault(require("invariant"));
8
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
8
9
  var currencies_1 = require("../../currencies");
9
10
  var specs_1 = require("../../bot/specs");
10
11
  var devices_1 = require("@ledgerhq/devices");
11
12
  var currency = (0, currencies_1.getCryptoCurrencyById)("stellar");
12
13
  var minAmountCutoff = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.1");
13
- var reserve = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "1");
14
+ var reserve = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "1.5");
15
+ var MAX_FEE = 5000;
16
+ var USDC_CODE = "USDC";
17
+ var USDC_ISSUER = "GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN";
18
+ var USDC_ASSET_ID = "".concat(USDC_CODE, ":").concat(USDC_ISSUER);
19
+ var MIN_ASSET_BALANCE = (0, currencies_1.parseCurrencyUnit)(currency.units[0], "0.01");
20
+ var findAssetUSDC = function (subAccounts) {
21
+ return (subAccounts || []).find(function (s) { return s.id.endsWith(USDC_ASSET_ID); });
22
+ };
14
23
  var stellar = {
15
24
  name: "Stellar",
16
25
  currency: currency,
@@ -18,27 +27,85 @@ var stellar = {
18
27
  model: devices_1.DeviceModelId.nanoS,
19
28
  appName: "Stellar"
20
29
  },
30
+ testTimeout: 2 * 60 * 1000,
21
31
  mutations: [
22
32
  {
23
- name: "move ~50%",
33
+ name: "move ~50% XLM",
24
34
  maxRun: 2,
25
35
  transaction: function (_a) {
26
36
  var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
27
- (0, invariant_1["default"])(maxSpendable.gt(minAmountCutoff), "balance is too low");
37
+ (0, invariant_1["default"])(maxSpendable.gt(minAmountCutoff), "XLM balance is too low");
28
38
  var transaction = bridge.createTransaction(account);
29
39
  var sibling = (0, specs_1.pickSiblings)(siblings, 4);
30
40
  var recipient = sibling.freshAddress;
31
41
  var amount = maxSpendable.div(1.9 + 0.2 * Math.random()).integerValue();
32
42
  if (!sibling.used && amount.lt(reserve)) {
33
- (0, invariant_1["default"])(maxSpendable.gt(reserve.plus(minAmountCutoff)), "not enough funds to send to new account");
43
+ (0, invariant_1["default"])(maxSpendable.gt(reserve.plus(minAmountCutoff)), "not enough XLM funds to send to new account");
34
44
  amount = reserve;
35
45
  }
36
46
  var updates = [
47
+ {
48
+ recipient: recipient,
49
+ // Setting higher max fee here to make sure transaction doesn't
50
+ // time out.
51
+ fees: new bignumber_js_1["default"](MAX_FEE)
52
+ },
37
53
  {
38
54
  amount: amount
39
55
  },
56
+ ];
57
+ if (Math.random() < 0.5) {
58
+ updates.push({
59
+ memoType: "MEMO_TEXT",
60
+ memoValue: "Ledger Live"
61
+ });
62
+ }
63
+ return {
64
+ transaction: transaction,
65
+ updates: updates
66
+ };
67
+ },
68
+ test: function (_a) {
69
+ var account = _a.account, accountBeforeTransaction = _a.accountBeforeTransaction, operation = _a.operation, transaction = _a.transaction;
70
+ // We don't know what the final fee will be until after the tx is
71
+ // submitted. Using higher max fee to make sure tx doesn't time out.
72
+ (0, expect_1["default"])(account.balance.toNumber()).toBeLessThanOrEqual(accountBeforeTransaction.balance.minus(operation.value).toNumber());
73
+ if (transaction.memoValue) {
74
+ (0, expect_1["default"])(operation.extra).toMatchObject({
75
+ memo: transaction.memoValue
76
+ });
77
+ }
78
+ var getType = function () {
79
+ switch (transaction.mode) {
80
+ case "send":
81
+ return "send";
82
+ case "changeTrust":
83
+ return /change_trust/;
84
+ default:
85
+ return "";
86
+ }
87
+ };
88
+ (0, expect_1["default"])(transaction.mode).toMatch(getType());
89
+ }
90
+ },
91
+ {
92
+ name: "Send max XLM",
93
+ maxRun: 2,
94
+ transaction: function (_a) {
95
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
96
+ (0, invariant_1["default"])(maxSpendable.gt(minAmountCutoff), "XLM balance is too low");
97
+ var transaction = bridge.createTransaction(account);
98
+ var sibling = (0, specs_1.pickSiblings)(siblings, 4);
99
+ var recipient = sibling.freshAddress;
100
+ var updates = [
40
101
  {
41
- recipient: recipient
102
+ recipient: recipient,
103
+ // Setting higher max fee here to make sure transaction doesn't
104
+ // time out.
105
+ fees: new bignumber_js_1["default"](MAX_FEE)
106
+ },
107
+ {
108
+ useAllAmount: true
42
109
  },
43
110
  ];
44
111
  if (Math.random() < 0.5) {
@@ -54,9 +121,117 @@ var stellar = {
54
121
  },
55
122
  test: function (_a) {
56
123
  var account = _a.account, accountBeforeTransaction = _a.accountBeforeTransaction, operation = _a.operation, transaction = _a.transaction;
57
- (0, expect_1["default"])(account.balance.toString()).toBe(accountBeforeTransaction.balance.minus(operation.value).toString());
124
+ // We don't know what the final fee will be until after the tx is
125
+ // submitted. Using higher max fee to make sure tx doesn't time out.
126
+ (0, expect_1["default"])(account.balance.toNumber()).toBeLessThanOrEqual(accountBeforeTransaction.balance.minus(operation.value).toNumber());
127
+ if (transaction.memoValue) {
128
+ (0, expect_1["default"])(operation.extra).toMatchObject({
129
+ memo: transaction.memoValue
130
+ });
131
+ }
132
+ var getType = function () {
133
+ switch (transaction.mode) {
134
+ case "send":
135
+ return "send";
136
+ case "changeTrust":
137
+ return /change_trust/;
138
+ default:
139
+ return "";
140
+ }
141
+ };
142
+ (0, expect_1["default"])(transaction.mode).toMatch(getType());
143
+ }
144
+ },
145
+ {
146
+ name: "add USDC asset",
147
+ maxRun: 1,
148
+ transaction: function (_a) {
149
+ var account = _a.account, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
150
+ (0, invariant_1["default"])(maxSpendable.gt(reserve), "XLM balance is too low 1");
151
+ (0, invariant_1["default"])(account.subAccounts && !findAssetUSDC(account.subAccounts), "already have subaccounts");
152
+ var assetUSDC = findAssetUSDC((0, currencies_1.listTokensForCryptoCurrency)(account.currency));
153
+ (0, invariant_1["default"])(assetUSDC, "USDC asset not found");
154
+ var transaction = bridge.createTransaction(account);
155
+ var updates = [
156
+ {
157
+ mode: "changeTrust",
158
+ // Setting higher max fee here to make sure transaction doesn't
159
+ // time out.
160
+ fees: new bignumber_js_1["default"](MAX_FEE)
161
+ },
162
+ {
163
+ assetCode: USDC_CODE,
164
+ assetIssuer: USDC_ISSUER
165
+ },
166
+ ];
167
+ return {
168
+ transaction: transaction,
169
+ updates: updates
170
+ };
171
+ },
172
+ test: function (_a) {
173
+ var _b;
174
+ var account = _a.account;
175
+ var assetId = "".concat(USDC_CODE, ":").concat(USDC_ISSUER);
176
+ var hasAsset = (_b = account.subAccounts) === null || _b === void 0 ? void 0 : _b.find(function (a) {
177
+ return a.id.endsWith(assetId);
178
+ });
179
+ (0, expect_1["default"])(hasAsset).toBeTruthy();
180
+ }
181
+ },
182
+ {
183
+ name: "move ~50% USDC asset",
184
+ maxRun: 1,
185
+ transaction: function (_a) {
186
+ var account = _a.account, siblings = _a.siblings, bridge = _a.bridge, maxSpendable = _a.maxSpendable;
187
+ (0, invariant_1["default"])(maxSpendable.gt(minAmountCutoff), "XLM balance is too low");
188
+ var usdcSubAccount = findAssetUSDC(account === null || account === void 0 ? void 0 : account.subAccounts);
189
+ (0, invariant_1["default"])(usdcSubAccount, "USDC asset not found");
190
+ (0, invariant_1["default"])(usdcSubAccount === null || usdcSubAccount === void 0 ? void 0 : usdcSubAccount.balance.gt(MIN_ASSET_BALANCE), "USDC balance is too low");
191
+ var siblingWithAssetUSDC = siblings.find(function (s) {
192
+ return findAssetUSDC(s.subAccounts);
193
+ });
194
+ (0, invariant_1["default"])(siblingWithAssetUSDC, "No siblings with USDC asset");
195
+ if (!usdcSubAccount || !siblingWithAssetUSDC) {
196
+ throw new Error("No USDC asset or sibling with USDC asset");
197
+ }
198
+ var transaction = bridge.createTransaction(account);
199
+ var recipient = siblingWithAssetUSDC.freshAddress;
200
+ var amount = usdcSubAccount.balance
201
+ .div(1.9 + 0.2 * Math.random())
202
+ .integerValue();
203
+ var updates = [
204
+ {
205
+ recipient: recipient
206
+ },
207
+ {
208
+ subAccountId: usdcSubAccount.id
209
+ },
210
+ {
211
+ amount: amount,
212
+ // Setting higher max fee here to make sure transaction doesn't
213
+ // time out.
214
+ fees: new bignumber_js_1["default"](MAX_FEE)
215
+ },
216
+ ];
217
+ if (Math.random() < 0.5) {
218
+ updates.push({
219
+ memoType: "MEMO_TEXT",
220
+ memoValue: "Ledger Live"
221
+ });
222
+ }
223
+ return {
224
+ transaction: transaction,
225
+ updates: updates
226
+ };
227
+ },
228
+ test: function (_a) {
229
+ var account = _a.account, accountBeforeTransaction = _a.accountBeforeTransaction, operation = _a.operation, transaction = _a.transaction, status = _a.status;
230
+ var asset = findAssetUSDC(account === null || account === void 0 ? void 0 : account.subAccounts);
231
+ var assetBeforeTx = findAssetUSDC(accountBeforeTransaction === null || accountBeforeTransaction === void 0 ? void 0 : accountBeforeTransaction.subAccounts);
232
+ (0, expect_1["default"])(asset === null || asset === void 0 ? void 0 : asset.balance.toString()).toBe(assetBeforeTx === null || assetBeforeTx === void 0 ? void 0 : assetBeforeTx.balance.minus(status.amount).toString());
58
233
  if (transaction.memoValue) {
59
- (0, expect_1["default"])(operation.extra).toEqual({
234
+ (0, expect_1["default"])(operation.extra).toMatchObject({
60
235
  memo: transaction.memoValue
61
236
  });
62
237
  }
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/families/stellar/specs.ts"],"names":[],"mappings":";;;;;AAAA,kDAA4B;AAC5B,wDAAkC;AAElC,+CAA4E;AAC5E,yCAA+C;AAE/C,6CAAkD;AAClD,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,SAAS,CAAC,CAAC;AAClD,IAAM,eAAe,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpE,IAAM,OAAO,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1D,IAAM,OAAO,GAAyB;IACpC,IAAI,EAAE,SAAS;IACf,QAAQ,UAAA;IACR,QAAQ,EAAE;QACR,KAAK,EAAE,uBAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,SAAS;KACnB;IACD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,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,eAAe,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBAClE,IAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBACvC,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;gBAExE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;oBACvC,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAC9C,yCAAyC,CAC1C,CAAC;oBACF,MAAM,GAAG,OAAO,CAAC;iBAClB;gBAED,IAAM,OAAO,GAAgC;oBAC3C;wBACE,MAAM,QAAA;qBACP;oBACD;wBACE,SAAS,WAAA;qBACV;iBACF,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,aAAa;qBACzB,CAAC,CAAC;iBACJ;gBAED,OAAO;oBACL,WAAW,aAAA;oBACX,OAAO,SAAA;iBACR,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,UAAC,EAA6D;oBAA3D,OAAO,aAAA,EAAE,wBAAwB,8BAAA,EAAE,SAAS,eAAA,EAAE,WAAW,iBAAA;gBAChE,IAAA,mBAAM,EAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACrC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CACnE,CAAC;gBAEF,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,IAAA,mBAAM,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;wBAC9B,IAAI,EAAE,WAAW,CAAC,SAAS;qBAC5B,CAAC,CAAC;iBACJ;YACH,CAAC;SACF;KACF;CACF,CAAC;AACF,qBAAe;IACb,OAAO,SAAA;CACR,CAAC"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/families/stellar/specs.ts"],"names":[],"mappings":";;;;;AAAA,kDAA4B;AAC5B,wDAAkC;AAClC,8DAAqC;AAErC,+CAI0B;AAC1B,yCAA+C;AAE/C,6CAAkD;AAGlD,IAAM,QAAQ,GAAG,IAAA,kCAAqB,EAAC,SAAS,CAAC,CAAC;AAClD,IAAM,eAAe,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpE,IAAM,OAAO,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAE5D,IAAM,OAAO,GAAG,IAAI,CAAC;AACrB,IAAM,SAAS,GAAG,MAAM,CAAC;AACzB,IAAM,WAAW,GAAG,0DAA0D,CAAC;AAC/E,IAAM,aAAa,GAAG,UAAG,SAAS,cAAI,WAAW,CAAE,CAAC;AACpD,IAAM,iBAAiB,GAAG,IAAA,8BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAEvE,IAAM,aAAa,GAAG,UAA2B,WAAiB;IAChE,OAAA,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAA5B,CAA4B,CAAC;AAA7D,CAA6D,CAAC;AAEhE,IAAM,OAAO,GAAyB;IACpC,IAAI,EAAE,SAAS;IACf,QAAQ,UAAA;IACR,QAAQ,EAAE;QACR,KAAK,EAAE,uBAAa,CAAC,KAAK;QAC1B,OAAO,EAAE,SAAS;KACnB;IACD,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;IAC1B,SAAS,EAAE;QACT;YACE,IAAI,EAAE,eAAe;YACrB,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,eAAe,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBAEtE,IAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBACvC,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;gBAExE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;oBACvC,IAAA,sBAAS,EACP,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAC9C,6CAA6C,CAC9C,CAAC;oBACF,MAAM,GAAG,OAAO,CAAC;iBAClB;gBAED,IAAM,OAAO,GAAgC;oBAC3C;wBACE,SAAS,WAAA;wBACT,+DAA+D;wBAC/D,YAAY;wBACZ,IAAI,EAAE,IAAI,yBAAS,CAAC,OAAO,CAAC;qBAC7B;oBACD;wBACE,MAAM,QAAA;qBACP;iBACF,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,aAAa;qBACzB,CAAC,CAAC;iBACJ;gBAED,OAAO;oBACL,WAAW,aAAA;oBACX,OAAO,SAAA;iBACR,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,UAAC,EAA6D;oBAA3D,OAAO,aAAA,EAAE,wBAAwB,8BAAA,EAAE,SAAS,eAAA,EAAE,WAAW,iBAAA;gBAChE,iEAAiE;gBACjE,oEAAoE;gBACpE,IAAA,mBAAM,EAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,mBAAmB,CACpD,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CACnE,CAAC;gBAEF,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,IAAA,mBAAM,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;wBACpC,IAAI,EAAE,WAAW,CAAC,SAAS;qBAC5B,CAAC,CAAC;iBACJ;gBAED,IAAM,OAAO,GAAG;oBACd,QAAQ,WAAW,CAAC,IAAI,EAAE;wBACxB,KAAK,MAAM;4BACT,OAAO,MAAM,CAAC;wBAChB,KAAK,aAAa;4BAChB,OAAO,cAAc,CAAC;wBACxB;4BACE,OAAO,EAAE,CAAC;qBACb;gBACH,CAAC,CAAC;gBAEF,IAAA,mBAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,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,eAAe,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBAEtE,IAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAM,OAAO,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1C,IAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;gBAEvC,IAAM,OAAO,GAAgC;oBAC3C;wBACE,SAAS,WAAA;wBACT,+DAA+D;wBAC/D,YAAY;wBACZ,IAAI,EAAE,IAAI,yBAAS,CAAC,OAAO,CAAC;qBAC7B;oBACD;wBACE,YAAY,EAAE,IAAI;qBACnB;iBACF,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,aAAa;qBACzB,CAAC,CAAC;iBACJ;gBAED,OAAO;oBACL,WAAW,aAAA;oBACX,OAAO,SAAA;iBACR,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,UAAC,EAA6D;oBAA3D,OAAO,aAAA,EAAE,wBAAwB,8BAAA,EAAE,SAAS,eAAA,EAAE,WAAW,iBAAA;gBAChE,iEAAiE;gBACjE,oEAAoE;gBACpE,IAAA,mBAAM,EAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,mBAAmB,CACpD,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CACnE,CAAC;gBAEF,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,IAAA,mBAAM,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;wBACpC,IAAI,EAAE,WAAW,CAAC,SAAS;qBAC5B,CAAC,CAAC;iBACJ;gBAED,IAAM,OAAO,GAAG;oBACd,QAAQ,WAAW,CAAC,IAAI,EAAE;wBACxB,KAAK,MAAM;4BACT,OAAO,MAAM,CAAC;wBAChB,KAAK,aAAa;4BAChB,OAAO,cAAc,CAAC;wBACxB;4BACE,OAAO,EAAE,CAAC;qBACb;gBACH,CAAC,CAAC;gBAEF,IAAA,mBAAM,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;SACF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,UAAC,EAAiC;oBAA/B,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,YAAY,kBAAA;gBAC3C,IAAA,sBAAS,EAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,0BAA0B,CAAC,CAAC;gBAChE,IAAA,sBAAS,EACP,OAAO,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,EAC1D,0BAA0B,CAC3B,CAAC;gBACF,IAAM,SAAS,GAAG,aAAa,CAC7B,IAAA,wCAA2B,EAAC,OAAO,CAAC,QAAQ,CAAC,CAC9C,CAAC;gBACF,IAAA,sBAAS,EAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;gBAE7C,IAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAEtD,IAAM,OAAO,GAAgC;oBAC3C;wBACE,IAAI,EAAE,aAAa;wBACnB,+DAA+D;wBAC/D,YAAY;wBACZ,IAAI,EAAE,IAAI,yBAAS,CAAC,OAAO,CAAC;qBAC7B;oBACD;wBACE,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,WAAW;qBACzB;iBACF,CAAC;gBAEF,OAAO;oBACL,WAAW,aAAA;oBACX,OAAO,SAAA;iBACR,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,UAAC,EAAW;;oBAAT,OAAO,aAAA;gBACd,IAAM,OAAO,GAAG,UAAG,SAAS,cAAI,WAAW,CAAE,CAAC;gBAC9C,IAAM,QAAQ,GAAG,MAAA,OAAO,CAAC,WAAW,0CAAE,IAAI,CAAC,UAAC,CAAC;oBAC3C,OAAA,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAtB,CAAsB,CACvB,CAAC;gBACF,IAAA,mBAAM,EAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YAChC,CAAC;SACF;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,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,eAAe,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBAEtE,IAAM,cAAc,GAAG,aAAa,CAAa,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC,CAAC;gBAEvE,IAAA,sBAAS,EAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;gBAClD,IAAA,sBAAS,EACP,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,EAC7C,yBAAyB,CAC1B,CAAC;gBAEF,IAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC;oBAC3C,OAAA,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;gBAA5B,CAA4B,CAC7B,CAAC;gBACF,IAAA,sBAAS,EAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;gBAE/D,IAAI,CAAC,cAAc,IAAI,CAAC,oBAAoB,EAAE;oBAC5C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;iBAC7D;gBAED,IAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtD,IAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC;gBACpD,IAAM,MAAM,GAAG,cAAc,CAAC,OAAO;qBAClC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;qBAC9B,YAAY,EAAE,CAAC;gBAElB,IAAM,OAAO,GAAgC;oBAC3C;wBACE,SAAS,WAAA;qBACV;oBACD;wBACE,YAAY,EAAE,cAAc,CAAC,EAAE;qBAChC;oBACD;wBACE,MAAM,QAAA;wBACN,+DAA+D;wBAC/D,YAAY;wBACZ,IAAI,EAAE,IAAI,yBAAS,CAAC,OAAO,CAAC;qBAC7B;iBACF,CAAC;gBAEF,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;oBACvB,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ,EAAE,WAAW;wBACrB,SAAS,EAAE,aAAa;qBACzB,CAAC,CAAC;iBACJ;gBAED,OAAO;oBACL,WAAW,aAAA;oBACX,OAAO,SAAA;iBACR,CAAC;YACJ,CAAC;YACD,IAAI,EAAE,UAAC,EAMN;oBALC,OAAO,aAAA,EACP,wBAAwB,8BAAA,EACxB,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,MAAM,YAAA;gBAEN,IAAM,KAAK,GAAG,aAAa,CAAa,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC,CAAC;gBAC9D,IAAM,aAAa,GAAG,aAAa,CACjC,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,WAAW,CACtC,CAAC;gBAEF,IAAA,mBAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CACpC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CACvD,CAAC;gBAEF,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,IAAA,mBAAM,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;wBACpC,IAAI,EAAE,WAAW,CAAC,SAAS;qBAC5B,CAAC,CAAC;iBACJ;YACH,CAAC;SACF;KACF;CACF,CAAC;AACF,qBAAe;IACb,OAAO,SAAA;CACR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;;;;AAqE3C,wBAEE"}
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;;;;AAiH3C,wBAEE"}