@ledgerhq/live-common 24.1.0 → 25.0.0-next.1

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 (235) hide show
  1. package/lib/apps/support.js +1 -1
  2. package/lib/apps/support.js.map +1 -1
  3. package/lib/bot/index.d.ts.map +1 -1
  4. package/lib/bot/index.js +4 -2
  5. package/lib/bot/index.js.map +1 -1
  6. package/lib/bot/specs.d.ts +1 -0
  7. package/lib/bot/specs.d.ts.map +1 -1
  8. package/lib/bot/specs.js +6 -1
  9. package/lib/bot/specs.js.map +1 -1
  10. package/lib/currencies/support.d.ts +1 -1
  11. package/lib/currencies/support.d.ts.map +1 -1
  12. package/lib/env.d.ts +15 -5
  13. package/lib/env.d.ts.map +1 -1
  14. package/lib/env.js +10 -0
  15. package/lib/env.js.map +1 -1
  16. package/lib/env.react.d.ts +1 -1
  17. package/lib/env.react.d.ts.map +1 -1
  18. package/lib/errors.d.ts +101 -306
  19. package/lib/errors.d.ts.map +1 -1
  20. package/lib/errors.js +3 -4
  21. package/lib/errors.js.map +1 -1
  22. package/lib/errors.test.d.ts +2 -0
  23. package/lib/errors.test.d.ts.map +1 -0
  24. package/lib/errors.test.js +20 -0
  25. package/lib/errors.test.js.map +1 -0
  26. package/lib/exchange/swap/utils/index.test.js +2 -2
  27. package/lib/exchange/swap/utils/index.test.js.map +1 -1
  28. package/lib/families/bitcoin/datasets/bitcoin.d.ts.map +1 -1
  29. package/lib/families/bitcoin/datasets/bitcoin.js +2 -4
  30. package/lib/families/bitcoin/datasets/bitcoin.js.map +1 -1
  31. package/lib/families/bitcoin/descriptor.d.ts.map +1 -1
  32. package/lib/families/bitcoin/descriptor.js +3 -1
  33. package/lib/families/bitcoin/descriptor.js.map +1 -1
  34. package/lib/families/bitcoin/errors.d.ts +1 -3
  35. package/lib/families/bitcoin/errors.d.ts.map +1 -1
  36. package/lib/families/bitcoin/exchange.js +1 -1
  37. package/lib/families/bitcoin/exchange.js.map +1 -1
  38. package/lib/families/bitcoin/hw-getAddress.d.ts +1 -1
  39. package/lib/families/bitcoin/hw-getAddress.d.ts.map +1 -1
  40. package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
  41. package/lib/families/bitcoin/js-synchronisation.js +20 -2
  42. package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
  43. package/lib/families/bitcoin/wallet-btc/storage/index.d.ts +0 -36
  44. package/lib/families/bitcoin/wallet-btc/storage/index.d.ts.map +1 -1
  45. package/lib/families/bitcoin/wallet-btc/storage/index.js +14 -14
  46. package/lib/families/bitcoin/wallet-btc/storage/index.js.map +1 -1
  47. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts +1 -0
  48. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts.map +1 -1
  49. package/lib/families/bitcoin/xpub.txs.loadExport.unit.test.d.ts +2 -0
  50. package/lib/families/bitcoin/xpub.txs.loadExport.unit.test.d.ts.map +1 -0
  51. package/lib/families/bitcoin/xpub.txs.loadExport.unit.test.js +146 -0
  52. package/lib/families/bitcoin/xpub.txs.loadExport.unit.test.js.map +1 -0
  53. package/lib/families/cardano/errors.d.ts +1 -3
  54. package/lib/families/cardano/errors.d.ts.map +1 -1
  55. package/lib/families/crypto_org/errors.d.ts +3 -9
  56. package/lib/families/crypto_org/errors.d.ts.map +1 -1
  57. package/lib/families/ethereum/exchange.js +1 -1
  58. package/lib/families/ethereum/exchange.js.map +1 -1
  59. package/lib/families/ethereum/modules/index.d.ts +1 -1
  60. package/lib/families/ethereum/modules/index.d.ts.map +1 -1
  61. package/lib/families/ethereum/signOperation.js +2 -2
  62. package/lib/families/ethereum/signOperation.js.map +1 -1
  63. package/lib/families/ethereum/specs.d.ts +1 -1
  64. package/lib/families/ethereum/specs.js +5 -5
  65. package/lib/families/ethereum/specs.js.map +1 -1
  66. package/lib/families/polkadot/errors.d.ts +12 -36
  67. package/lib/families/polkadot/errors.d.ts.map +1 -1
  68. package/lib/families/ripple/exchange.js +1 -1
  69. package/lib/families/ripple/exchange.js.map +1 -1
  70. package/lib/families/solana/api/chain/instruction/token/types.d.ts +3 -3
  71. package/lib/families/solana/errors.d.ts +20 -60
  72. package/lib/families/solana/errors.d.ts.map +1 -1
  73. package/lib/families/stellar/api/horizon.d.ts +29 -7
  74. package/lib/families/stellar/api/horizon.d.ts.map +1 -1
  75. package/lib/families/stellar/api/horizon.js +114 -58
  76. package/lib/families/stellar/api/horizon.js.map +1 -1
  77. package/lib/families/stellar/api/index.d.ts +1 -1
  78. package/lib/families/stellar/api/index.d.ts.map +1 -1
  79. package/lib/families/stellar/api/index.js +5 -1
  80. package/lib/families/stellar/api/index.js.map +1 -1
  81. package/lib/families/stellar/bridge/mock.d.ts.map +1 -1
  82. package/lib/families/stellar/bridge/mock.js +4 -1
  83. package/lib/families/stellar/bridge/mock.js.map +1 -1
  84. package/lib/families/stellar/bridge.integration.test.js +12 -4
  85. package/lib/families/stellar/bridge.integration.test.js.map +1 -1
  86. package/lib/families/stellar/cli-transaction.d.ts +3 -1
  87. package/lib/families/stellar/cli-transaction.d.ts.map +1 -1
  88. package/lib/families/stellar/cli-transaction.js +48 -2
  89. package/lib/families/stellar/cli-transaction.js.map +1 -1
  90. package/lib/families/stellar/deviceTransactionConfig.d.ts +7 -1
  91. package/lib/families/stellar/deviceTransactionConfig.d.ts.map +1 -1
  92. package/lib/families/stellar/deviceTransactionConfig.js +12 -1
  93. package/lib/families/stellar/deviceTransactionConfig.js.map +1 -1
  94. package/lib/families/stellar/errors.d.ts +12 -0
  95. package/lib/families/stellar/errors.d.ts.map +1 -0
  96. package/lib/families/stellar/errors.js +16 -0
  97. package/lib/families/stellar/errors.js.map +1 -0
  98. package/lib/families/stellar/exchange.js +1 -1
  99. package/lib/families/stellar/exchange.js.map +1 -1
  100. package/lib/families/stellar/js-buildTransaction.d.ts.map +1 -1
  101. package/lib/families/stellar/js-buildTransaction.js +34 -16
  102. package/lib/families/stellar/js-buildTransaction.js.map +1 -1
  103. package/lib/families/stellar/js-createTransaction.d.ts.map +1 -1
  104. package/lib/families/stellar/js-createTransaction.js +4 -1
  105. package/lib/families/stellar/js-createTransaction.js.map +1 -1
  106. package/lib/families/stellar/js-estimateMaxSpendable.js +2 -1
  107. package/lib/families/stellar/js-estimateMaxSpendable.js.map +1 -1
  108. package/lib/families/stellar/js-getTransactionStatus.d.ts.map +1 -1
  109. package/lib/families/stellar/js-getTransactionStatus.js +127 -57
  110. package/lib/families/stellar/js-getTransactionStatus.js.map +1 -1
  111. package/lib/families/stellar/js-prepareTransaction.d.ts.map +1 -1
  112. package/lib/families/stellar/js-prepareTransaction.js +25 -7
  113. package/lib/families/stellar/js-prepareTransaction.js.map +1 -1
  114. package/lib/families/stellar/js-signOperation.d.ts.map +1 -1
  115. package/lib/families/stellar/js-signOperation.js +33 -6
  116. package/lib/families/stellar/js-signOperation.js.map +1 -1
  117. package/lib/families/stellar/js-synchronization.d.ts +1 -1
  118. package/lib/families/stellar/js-synchronization.d.ts.map +1 -1
  119. package/lib/families/stellar/js-synchronization.js +42 -16
  120. package/lib/families/stellar/js-synchronization.js.map +1 -1
  121. package/lib/families/stellar/logic.d.ts +21 -14
  122. package/lib/families/stellar/logic.d.ts.map +1 -1
  123. package/lib/families/stellar/logic.js +158 -57
  124. package/lib/families/stellar/logic.js.map +1 -1
  125. package/lib/families/stellar/specs.d.ts.map +1 -1
  126. package/lib/families/stellar/specs.js +182 -7
  127. package/lib/families/stellar/specs.js.map +1 -1
  128. package/lib/families/stellar/speculos-deviceActions.d.ts.map +1 -1
  129. package/lib/families/stellar/speculos-deviceActions.js +60 -28
  130. package/lib/families/stellar/speculos-deviceActions.js.map +1 -1
  131. package/lib/families/stellar/tokens.d.ts +11 -0
  132. package/lib/families/stellar/tokens.d.ts.map +1 -0
  133. package/lib/families/stellar/tokens.js +82 -0
  134. package/lib/families/stellar/tokens.js.map +1 -0
  135. package/lib/families/stellar/transaction.d.ts +2 -2
  136. package/lib/families/stellar/transaction.d.ts.map +1 -1
  137. package/lib/families/stellar/transaction.js +32 -6
  138. package/lib/families/stellar/transaction.js.map +1 -1
  139. package/lib/families/stellar/types.d.ts +45 -0
  140. package/lib/families/stellar/types.d.ts.map +1 -1
  141. package/lib/families/stellar/types.js +7 -1
  142. package/lib/families/stellar/types.js.map +1 -1
  143. package/lib/families/tezos/exchange.js +1 -1
  144. package/lib/families/tezos/exchange.js.map +1 -1
  145. package/lib/generated/cli-transaction.d.ts +1 -0
  146. package/lib/generated/cli-transaction.d.ts.map +1 -1
  147. package/lib/generated/specs.d.ts +1 -1
  148. package/lib/generated/transaction.d.ts +1 -1
  149. package/lib/hw/signMessage/index.d.ts +4 -3
  150. package/lib/hw/signMessage/index.d.ts.map +1 -1
  151. package/lib/hw/signMessage/index.js +25 -11
  152. package/lib/hw/signMessage/index.js.map +1 -1
  153. package/lib/hw/signMessage/index.test.d.ts +2 -0
  154. package/lib/hw/signMessage/index.test.d.ts.map +1 -0
  155. package/lib/hw/signMessage/index.test.js +126 -0
  156. package/lib/hw/signMessage/index.test.js.map +1 -0
  157. package/lib/load/speculos.d.ts.map +1 -1
  158. package/lib/load/speculos.js +1 -3
  159. package/lib/load/speculos.js.map +1 -1
  160. package/lib/mock/Btc.d.ts +1 -1
  161. package/lib/mock/Btc.d.ts.map +1 -1
  162. package/lib/performance.d.ts +10 -0
  163. package/lib/performance.d.ts.map +1 -0
  164. package/lib/performance.js +72 -0
  165. package/lib/performance.js.map +1 -0
  166. package/lib/performance.test.d.ts +2 -0
  167. package/lib/performance.test.d.ts.map +1 -0
  168. package/lib/performance.test.js +28 -0
  169. package/lib/performance.test.js.map +1 -0
  170. package/lib/platform/providers/RemoteLiveAppProvider/api/index.d.ts.map +1 -1
  171. package/lib/platform/providers/RemoteLiveAppProvider/api/index.js +28 -0
  172. package/lib/platform/providers/RemoteLiveAppProvider/api/index.js.map +1 -1
  173. package/lib/platform/providers/RemoteLiveAppProvider/api/mock.json +0 -31
  174. package/lib/types/currencies.d.ts +1 -1
  175. package/lib/types/currencies.d.ts.map +1 -1
  176. package/lib/walletconnect/Provider.d.ts.map +1 -1
  177. package/lib/walletconnect/Provider.js +1 -3
  178. package/lib/walletconnect/Provider.js.map +1 -1
  179. package/package.json +71 -19
  180. package/src/apps/support.ts +1 -1
  181. package/src/bot/index.ts +3 -1
  182. package/src/bot/specs.ts +7 -1
  183. package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +34 -6
  184. package/src/currencies/support.ts +1 -1
  185. package/src/env.ts +10 -0
  186. package/src/errors.test.ts +21 -0
  187. package/src/errors.ts +1 -6
  188. package/src/exchange/swap/utils/index.test.ts +1 -1
  189. package/src/families/bitcoin/datasets/bitcoin.ts +0 -2
  190. package/src/families/bitcoin/descriptor.ts +4 -1
  191. package/src/families/bitcoin/exchange.ts +1 -1
  192. package/src/families/bitcoin/hw-getAddress.ts +1 -1
  193. package/src/families/bitcoin/js-synchronisation.ts +23 -1
  194. package/src/families/bitcoin/wallet-btc/storage/index.ts +17 -31
  195. package/src/families/bitcoin/wallet-btc/storage/types.ts +1 -0
  196. package/src/families/bitcoin/wallet-btc/wallet.ts +1 -1
  197. package/src/families/bitcoin/xpub.txs.loadExport.unit.test.ts +101 -0
  198. package/src/families/ethereum/exchange.ts +1 -1
  199. package/src/families/ethereum/modules/index.ts +1 -1
  200. package/src/families/ethereum/signOperation.ts +2 -2
  201. package/src/families/ethereum/specs.ts +5 -5
  202. package/src/families/ripple/exchange.ts +1 -1
  203. package/src/families/stellar/__snapshots__/bridge.integration.test.ts.snap +765 -339
  204. package/src/families/stellar/api/horizon.ts +115 -33
  205. package/src/families/stellar/api/index.ts +4 -0
  206. package/src/families/stellar/bridge/mock.ts +3 -0
  207. package/src/families/stellar/bridge.integration.test.ts +10 -2
  208. package/src/families/stellar/cli-transaction.ts +75 -2
  209. package/src/families/stellar/deviceTransactionConfig.ts +22 -0
  210. package/src/families/stellar/errors.ts +34 -0
  211. package/src/families/stellar/exchange.ts +1 -1
  212. package/src/families/stellar/js-buildTransaction.ts +56 -16
  213. package/src/families/stellar/js-createTransaction.ts +3 -0
  214. package/src/families/stellar/js-estimateMaxSpendable.ts +1 -1
  215. package/src/families/stellar/js-getTransactionStatus.ts +152 -60
  216. package/src/families/stellar/js-prepareTransaction.ts +4 -3
  217. package/src/families/stellar/js-signOperation.ts +37 -6
  218. package/src/families/stellar/js-synchronization.ts +53 -11
  219. package/src/families/stellar/logic.ts +198 -62
  220. package/src/families/stellar/specs.ts +227 -8
  221. package/src/families/stellar/speculos-deviceActions.ts +66 -22
  222. package/src/families/stellar/tokens.ts +118 -0
  223. package/src/families/stellar/transaction.ts +31 -3
  224. package/src/families/stellar/types.ts +52 -0
  225. package/src/families/tezos/exchange.ts +1 -1
  226. package/src/hw/signMessage/index.test.ts +128 -0
  227. package/src/hw/signMessage/index.ts +37 -15
  228. package/src/load/speculos.ts +1 -3
  229. package/src/mock/Btc.ts +1 -1
  230. package/src/performance.test.ts +26 -0
  231. package/src/performance.ts +61 -0
  232. package/src/platform/providers/RemoteLiveAppProvider/api/index.ts +6 -0
  233. package/src/platform/providers/RemoteLiveAppProvider/api/mock.json +1 -32
  234. package/src/types/currencies.ts +1 -1
  235. package/src/walletconnect/Provider.tsx +4 -5
@@ -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":"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"}
@@ -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"}
@@ -3,26 +3,40 @@ exports.__esModule = true;
3
3
  var currencies_1 = require("../../currencies");
4
4
  var specs_1 = require("../../bot/specs");
5
5
  var expectedAmount = function (_a) {
6
- var account = _a.account, status = _a.status;
7
- return (0, currencies_1.formatCurrencyUnit)(account.unit, status.amount, {
6
+ var account = _a.account, status = _a.status, transaction = _a.transaction;
7
+ if (transaction.assetCode && transaction.assetIssuer) {
8
+ var amount = (0, currencies_1.formatCurrencyUnit)(account.unit, status.amount, {
9
+ disableRounding: true,
10
+ useGrouping: false
11
+ });
12
+ return "".concat(amount, " ").concat(transaction.assetCode, "@").concat(truncateAddress(transaction.assetIssuer, 3, 4));
13
+ }
14
+ return ((0, currencies_1.formatCurrencyUnit)(account.unit, status.amount, {
8
15
  disableRounding: true,
9
16
  useGrouping: false
10
- }) + " XLM";
17
+ }) + " XLM");
18
+ };
19
+ var truncateAddress = function (stellarAddress, start, end) {
20
+ if (start === void 0) { start = 6; }
21
+ if (end === void 0) { end = 6; }
22
+ return "".concat(stellarAddress.slice(0, start), "..").concat(stellarAddress.slice(-end));
11
23
  };
12
24
  var acceptTransaction = (0, specs_1.deviceActionFlow)({
13
25
  steps: [
14
26
  {
15
- title: "Starting Balance",
16
- button: "Rr",
17
- expectedValue: expectedAmount
27
+ title: "Review",
28
+ button: "Rr"
18
29
  },
19
30
  {
20
- title: "Send",
31
+ title: "Memo Text",
21
32
  button: "Rr",
22
- expectedValue: expectedAmount
33
+ expectedValue: function (_a) {
34
+ var transaction = _a.transaction;
35
+ return transaction.memoValue || "";
36
+ }
23
37
  },
24
38
  {
25
- title: "Fee",
39
+ title: "Max Fee",
26
40
  button: "Rr",
27
41
  expectedValue: function (_a) {
28
42
  var account = _a.account, status = _a.status;
@@ -32,53 +46,71 @@ var acceptTransaction = (0, specs_1.deviceActionFlow)({
32
46
  }
33
47
  },
34
48
  {
35
- title: "Destination",
49
+ title: "Sequence Num",
50
+ button: "Rr"
51
+ },
52
+ {
53
+ title: "Tx Source",
36
54
  button: "Rr",
37
55
  expectedValue: function (_a) {
38
- var transaction = _a.transaction;
39
- return transaction.recipient;
56
+ var account = _a.account;
57
+ return truncateAddress(account.freshAddress);
40
58
  }
41
59
  },
60
+ {
61
+ title: "Operation Type",
62
+ button: "Rr"
63
+ },
64
+ {
65
+ title: "Change Trust",
66
+ button: "Rr",
67
+ expectedValue: function (_a) {
68
+ var transaction = _a.transaction;
69
+ return "".concat(transaction.assetCode || "", "@").concat(truncateAddress(transaction.assetIssuer || "", 3, 4));
70
+ },
71
+ maxY: 5
72
+ },
42
73
  {
43
74
  title: "Create Account",
44
75
  button: "Rr",
45
76
  expectedValue: function (_a) {
46
77
  var transaction = _a.transaction;
47
78
  return transaction.recipient;
48
- }
79
+ },
80
+ maxY: 5
49
81
  },
50
82
  {
51
- title: "Memo",
83
+ title: "Send",
84
+ button: "Rr",
85
+ expectedValue: expectedAmount
86
+ },
87
+ {
88
+ title: "Destination",
52
89
  button: "Rr",
53
90
  expectedValue: function (_a) {
54
91
  var transaction = _a.transaction;
55
- return transaction.memoValue || "[none]";
92
+ return transaction.recipient;
56
93
  }
57
94
  },
58
95
  {
59
- title: "Network",
60
- button: "Rr",
61
- expectedValue: function () { return "Public"; }
96
+ title: "Finalize",
97
+ button: "LRlr"
62
98
  },
63
99
  {
64
- title: "Time Bounds",
100
+ title: "Starting Balance",
65
101
  button: "Rr"
66
102
  },
67
103
  {
68
- title: "Tx Source",
69
- button: "Rr",
70
- expectedValue: function (_a) {
71
- var account = _a.account;
72
- return account.freshAddress;
73
- }
104
+ title: "Network",
105
+ button: "Rr"
74
106
  },
75
107
  {
76
- title: "Review",
108
+ title: "Valid Before (UTC)",
77
109
  button: "Rr"
78
110
  },
79
111
  {
80
- title: "Finalize",
81
- button: "LRlr"
112
+ title: "Valid After (UTC)",
113
+ button: "Rr"
82
114
  },
83
115
  ]
84
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/stellar/speculos-deviceActions.ts"],"names":[],"mappings":";;AAEA,+CAAsD;AACtD,yCAAmD;AAEnD,IAAM,cAAc,GAAG,UAAC,EAAmB;QAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;IACvC,OAAA,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE;QAC9C,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,KAAK;KACnB,CAAC,GAAG,MAAM;AAHX,CAGW,CAAC;AAEd,IAAM,iBAAiB,GAAmC,IAAA,wBAAgB,EAAC;IACzE,KAAK,EAAE;QACL;YACE,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,cAAc;SAC9B;QACD;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,cAAc;SAC9B;QACD;YACE,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAmB;oBAAjB,OAAO,aAAA,EAAE,MAAM,YAAA;gBAC/B,OAAA,IAAA,+BAAkB,EAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE;oBACrD,eAAe,EAAE,IAAI;iBACtB,CAAC,GAAG,MAAM;YAFX,CAEW;SACd;QACD;YACE,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS;YAArB,CAAqB;SAC1D;QACD;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAe;oBAAb,WAAW,iBAAA;gBAAO,OAAA,WAAW,CAAC,SAAS,IAAI,QAAQ;YAAjC,CAAiC;SACtE;QACD;YACE,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,cAAM,OAAA,QAAQ,EAAR,CAAQ;SAC9B;QACD;YACE,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,UAAC,EAAW;oBAAT,OAAO,aAAA;gBAAO,OAAA,OAAO,CAAC,YAAY;YAApB,CAAoB;SACrD;QACD;YACE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,IAAI;SACb;QACD;YACE,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,MAAM;SACf;KACF;CACF,CAAC,CAAC;AACH,qBAAe;IACb,iBAAiB,mBAAA;CAClB,CAAC"}
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../../../src/families/stellar/speculos-deviceActions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { TokenAccount, Operation, CryptoCurrency, SyncConfig } from "../../types";
2
+ import type { BalanceAsset } from "./types";
3
+ export declare const getAssetIdFromTokenId: (tokenId: string) => string;
4
+ export declare const buildSubAccounts: ({ currency, accountId, assets, syncConfig, operations, }: {
5
+ currency: CryptoCurrency;
6
+ accountId: string;
7
+ assets: BalanceAsset[];
8
+ syncConfig: SyncConfig;
9
+ operations: Operation[];
10
+ }) => TokenAccount[] | undefined;
11
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/tokens.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,YAAY,EAEZ,SAAS,EACT,cAAc,EACd,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,eAAO,MAAM,qBAAqB,YAAa,MAAM,KAAG,MACjC,CAAC;AAyDxB,eAAO,MAAM,gBAAgB;cAOjB,cAAc;eACb,MAAM;YACT,YAAY,EAAE;gBACV,UAAU;gBACV,SAAS,EAAE;MACrB,YAAY,EAAE,GAAG,SA8BpB,CAAC"}
@@ -0,0 +1,82 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ exports.__esModule = true;
17
+ exports.buildSubAccounts = exports.getAssetIdFromTokenId = void 0;
18
+ var bignumber_js_1 = __importDefault(require("bignumber.js"));
19
+ var account_1 = require("../../account");
20
+ var currencies_1 = require("../../currencies");
21
+ var operation_1 = require("../../operation");
22
+ var getAssetIdFromTokenId = function (tokenId) {
23
+ return tokenId.split("/")[2];
24
+ };
25
+ exports.getAssetIdFromTokenId = getAssetIdFromTokenId;
26
+ var getAssetIdFromAsset = function (asset) {
27
+ return "".concat(asset.asset_code, ":").concat(asset.asset_issuer);
28
+ };
29
+ var buildStellarTokenAccount = function (_a) {
30
+ var parentAccountId = _a.parentAccountId, stellarAsset = _a.stellarAsset, token = _a.token, operations = _a.operations;
31
+ var assetId = (0, exports.getAssetIdFromTokenId)(token.id);
32
+ var id = "".concat(parentAccountId, "+").concat(assetId);
33
+ var balance = (0, currencies_1.parseCurrencyUnit)(token.units[0], stellarAsset.balance || "0");
34
+ var reservedBalance = new bignumber_js_1["default"](stellarAsset.balance).minus(stellarAsset.buying_liabilities || 0);
35
+ var spendableBalance = (0, currencies_1.parseCurrencyUnit)(token.units[0], reservedBalance.toString());
36
+ return {
37
+ type: "TokenAccount",
38
+ id: id,
39
+ parentId: parentAccountId,
40
+ starred: false,
41
+ token: token,
42
+ operationsCount: operations.length,
43
+ operations: operations.map(function (op) {
44
+ var _a;
45
+ return (__assign(__assign({}, op), { id: (0, operation_1.encodeOperationId)(id, op.hash, op.extra.ledgerOpType), accountId: id, type: op.extra.ledgerOpType, value: (_a = new bignumber_js_1["default"](op.extra.assetAmount)) !== null && _a !== void 0 ? _a : op.value }));
46
+ }),
47
+ pendingOperations: [],
48
+ balance: balance,
49
+ spendableBalance: spendableBalance,
50
+ swapHistory: [],
51
+ creationDate: operations.length > 0
52
+ ? operations[operations.length - 1].date
53
+ : new Date(),
54
+ balanceHistoryCache: account_1.emptyHistoryCache
55
+ };
56
+ };
57
+ var buildSubAccounts = function (_a) {
58
+ var currency = _a.currency, accountId = _a.accountId, assets = _a.assets, syncConfig = _a.syncConfig, operations = _a.operations;
59
+ var _b = syncConfig.blacklistedTokenIds, blacklistedTokenIds = _b === void 0 ? [] : _b;
60
+ var allTokens = (0, currencies_1.listTokensForCryptoCurrency)(currency);
61
+ if (allTokens.length === 0 || assets.length === 0) {
62
+ return undefined;
63
+ }
64
+ var tokenAccounts = [];
65
+ assets.map(function (asset) {
66
+ var token = (0, currencies_1.findTokenById)("stellar/asset/".concat(getAssetIdFromAsset(asset)));
67
+ if (token && !blacklistedTokenIds.includes(token.id)) {
68
+ tokenAccounts.push(buildStellarTokenAccount({
69
+ parentAccountId: accountId,
70
+ stellarAsset: asset,
71
+ token: token,
72
+ operations: operations.filter(function (op) {
73
+ return op.extra.assetCode === asset.asset_code &&
74
+ op.extra.assetIssuer === asset.asset_issuer;
75
+ })
76
+ }));
77
+ }
78
+ });
79
+ return tokenAccounts;
80
+ };
81
+ exports.buildSubAccounts = buildSubAccounts;
82
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/families/stellar/tokens.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { Transaction, TransactionRaw } from "./types";
2
2
  import type { Account } from "../../types";
3
- export declare const formatTransaction: ({ amount, recipient, fees, memoValue, useAllAmount }: Transaction, account: Account) => string;
3
+ export declare const formatTransaction: ({ amount, recipient, fees, memoValue, useAllAmount, subAccountId, }: Transaction, mainAccount: Account) => string;
4
4
  declare const _default: {
5
- formatTransaction: ({ amount, recipient, fees, memoValue, useAllAmount }: Transaction, account: Account) => string;
5
+ formatTransaction: ({ amount, recipient, fees, memoValue, useAllAmount, subAccountId, }: Transaction, mainAccount: Account) => string;
6
6
  fromTransactionRaw: (tr: TransactionRaw) => Transaction;
7
7
  toTransactionRaw: (t: Transaction) => TransactionRaw;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,iBAAiB,yDAC0B,WAAW,WACxD,OAAO,KACf,MAiB8C,CAAC;;;;;;AAsClD,wBAIE"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/families/stellar/transaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,iBAAiB,wEAQzB,WAAW,eACD,OAAO,KACnB,MAwBF,CAAC;;;;;;AAmDF,wBAIE"}
@@ -10,14 +10,34 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __read = (this && this.__read) || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o), r, ar = [], e;
17
+ try {
18
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
+ }
20
+ catch (error) { e = { error: error }; }
21
+ finally {
22
+ try {
23
+ if (r && !r.done && (m = i["return"])) m.call(i);
24
+ }
25
+ finally { if (e) throw e.error; }
26
+ }
27
+ return ar;
28
+ };
13
29
  exports.__esModule = true;
14
30
  exports.formatTransaction = void 0;
15
31
  var bignumber_js_1 = require("bignumber.js");
32
+ var logic_1 = require("./logic");
16
33
  var common_1 = require("../../transaction/common");
17
34
  var account_1 = require("../../account");
18
35
  var currencies_1 = require("../../currencies");
19
- var formatTransaction = function (_a, account) {
20
- var amount = _a.amount, recipient = _a.recipient, fees = _a.fees, memoValue = _a.memoValue, useAllAmount = _a.useAllAmount;
36
+ var formatTransaction = function (_a, mainAccount) {
37
+ var amount = _a.amount, recipient = _a.recipient, fees = _a.fees, memoValue = _a.memoValue, useAllAmount = _a.useAllAmount, subAccountId = _a.subAccountId;
38
+ var account = (subAccountId &&
39
+ (mainAccount.subAccounts || []).find(function (a) { return a.id === subAccountId; })) ||
40
+ mainAccount;
21
41
  return "\n SEND ".concat(useAllAmount
22
42
  ? "MAX"
23
43
  : (0, currencies_1.formatCurrencyUnit)((0, account_1.getAccountUnit)(account), amount, {
@@ -34,20 +54,26 @@ exports.formatTransaction = formatTransaction;
34
54
  var fromTransactionRaw = function (tr) {
35
55
  var common = (0, common_1.fromTransactionCommonRaw)(tr);
36
56
  var networkInfo = tr.networkInfo;
57
+ var _a = __read((0, logic_1.getAssetCodeIssuer)(tr), 2), assetCode = _a[0], assetIssuer = _a[1];
37
58
  return __assign(__assign({}, common), { family: tr.family, fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null, baseReserve: tr.baseReserve ? new bignumber_js_1.BigNumber(tr.baseReserve) : null, memoValue: tr.memoValue ? tr.memoValue : null, memoType: tr.memoType ? tr.memoType : null, networkInfo: networkInfo && {
38
59
  family: networkInfo.family,
39
60
  fees: new bignumber_js_1.BigNumber(networkInfo.fees),
40
- baseReserve: new bignumber_js_1.BigNumber(networkInfo.baseReserve)
41
- } });
61
+ baseFee: new bignumber_js_1.BigNumber(networkInfo.baseFee),
62
+ baseReserve: new bignumber_js_1.BigNumber(networkInfo.baseReserve),
63
+ networkCongestionLevel: networkInfo.networkCongestionLevel
64
+ }, mode: tr.mode, assetCode: assetCode, assetIssuer: assetIssuer });
42
65
  };
43
66
  var toTransactionRaw = function (t) {
44
67
  var common = (0, common_1.toTransactionCommonRaw)(t);
45
68
  var networkInfo = t.networkInfo;
69
+ var _a = __read((0, logic_1.getAssetCodeIssuer)(t), 2), assetCode = _a[0], assetIssuer = _a[1];
46
70
  return __assign(__assign({}, common), { family: t.family, fees: t.fees ? t.fees.toString() : null, baseReserve: t.baseReserve ? t.baseReserve.toString() : null, memoValue: t.memoValue ? t.memoValue.toString() : null, memoType: t.memoType ? t.memoType.toString() : null, networkInfo: networkInfo && {
47
71
  family: networkInfo.family,
48
72
  fees: networkInfo.fees.toString(),
49
- baseReserve: networkInfo.baseReserve.toString()
50
- } });
73
+ baseFee: networkInfo.baseFee.toString(),
74
+ baseReserve: networkInfo.baseReserve.toString(),
75
+ networkCongestionLevel: networkInfo.networkCongestionLevel
76
+ }, mode: t.mode, assetCode: assetCode, assetIssuer: assetIssuer });
51
77
  };
52
78
  exports["default"] = {
53
79
  formatTransaction: exports.formatTransaction,
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/stellar/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/families/stellar/transaction.ts"],"names":[],"mappings":"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"}