@ledgerhq/coin-solana 0.12.0 → 0.12.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 (104) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +14 -0
  3. package/lib/api/chain/index.js +15 -20
  4. package/lib/api/chain/index.js.map +1 -1
  5. package/lib/api/chain/program/parser.js +20 -5
  6. package/lib/api/chain/program/parser.js.map +1 -1
  7. package/lib/api/chain/stake-activation/rpc.js +40 -51
  8. package/lib/api/chain/stake-activation/rpc.js.map +1 -1
  9. package/lib/api/chain/web3.js +136 -211
  10. package/lib/api/chain/web3.js.map +1 -1
  11. package/lib/api/traced.js +1 -1
  12. package/lib/api/traced.js.map +1 -1
  13. package/lib/bridge/bridge.js +14 -24
  14. package/lib/bridge/bridge.js.map +1 -1
  15. package/lib/bridge/js.js +3 -3
  16. package/lib/bridge/js.js.map +1 -1
  17. package/lib/bridge.integration.test.js +133 -65
  18. package/lib/bridge.integration.test.js.map +1 -1
  19. package/lib/broadcast.js +3 -12
  20. package/lib/broadcast.js.map +1 -1
  21. package/lib/buildTransaction.js +33 -46
  22. package/lib/buildTransaction.js.map +1 -1
  23. package/lib/cli-transaction.js +50 -27
  24. package/lib/cli-transaction.js.map +1 -1
  25. package/lib/estimateMaxSpendable.js +11 -21
  26. package/lib/estimateMaxSpendable.js.map +1 -1
  27. package/lib/getTransactionStatus.js +2 -11
  28. package/lib/getTransactionStatus.js.map +1 -1
  29. package/lib/hw-getAddress.js +3 -12
  30. package/lib/hw-getAddress.js.map +1 -1
  31. package/lib/logic.js +3 -5
  32. package/lib/logic.js.map +1 -1
  33. package/lib/preload.js +20 -33
  34. package/lib/preload.js.map +1 -1
  35. package/lib/prepareTransaction.js +354 -382
  36. package/lib/prepareTransaction.js.map +1 -1
  37. package/lib/signOperation.js +98 -26
  38. package/lib/signOperation.js.map +1 -1
  39. package/lib/specs.js +11 -20
  40. package/lib/specs.js.map +1 -1
  41. package/lib/speculos-deviceActions.js +48 -72
  42. package/lib/speculos-deviceActions.js.map +1 -1
  43. package/lib/synchronization.js +66 -76
  44. package/lib/synchronization.js.map +1 -1
  45. package/lib/transaction.js +10 -2
  46. package/lib/transaction.js.map +1 -1
  47. package/lib/tx-fees.js +97 -76
  48. package/lib/tx-fees.js.map +1 -1
  49. package/lib/utils.js +16 -49
  50. package/lib/utils.js.map +1 -1
  51. package/lib/validator-app/index.js +26 -38
  52. package/lib/validator-app/index.js.map +1 -1
  53. package/lib-es/api/chain/index.js +15 -20
  54. package/lib-es/api/chain/index.js.map +1 -1
  55. package/lib-es/api/chain/program/parser.js +20 -5
  56. package/lib-es/api/chain/program/parser.js.map +1 -1
  57. package/lib-es/api/chain/stake-activation/rpc.js +40 -51
  58. package/lib-es/api/chain/stake-activation/rpc.js.map +1 -1
  59. package/lib-es/api/chain/web3.js +152 -227
  60. package/lib-es/api/chain/web3.js.map +1 -1
  61. package/lib-es/api/traced.js +1 -1
  62. package/lib-es/api/traced.js.map +1 -1
  63. package/lib-es/bridge/bridge.js +14 -24
  64. package/lib-es/bridge/bridge.js.map +1 -1
  65. package/lib-es/bridge/js.js +3 -3
  66. package/lib-es/bridge/js.js.map +1 -1
  67. package/lib-es/bridge.integration.test.js +133 -65
  68. package/lib-es/bridge.integration.test.js.map +1 -1
  69. package/lib-es/broadcast.js +3 -12
  70. package/lib-es/broadcast.js.map +1 -1
  71. package/lib-es/buildTransaction.js +33 -46
  72. package/lib-es/buildTransaction.js.map +1 -1
  73. package/lib-es/cli-transaction.js +50 -27
  74. package/lib-es/cli-transaction.js.map +1 -1
  75. package/lib-es/estimateMaxSpendable.js +11 -21
  76. package/lib-es/estimateMaxSpendable.js.map +1 -1
  77. package/lib-es/getTransactionStatus.js +2 -11
  78. package/lib-es/getTransactionStatus.js.map +1 -1
  79. package/lib-es/hw-getAddress.js +3 -12
  80. package/lib-es/hw-getAddress.js.map +1 -1
  81. package/lib-es/logic.js +3 -5
  82. package/lib-es/logic.js.map +1 -1
  83. package/lib-es/preload.js +20 -33
  84. package/lib-es/preload.js.map +1 -1
  85. package/lib-es/prepareTransaction.js +354 -382
  86. package/lib-es/prepareTransaction.js.map +1 -1
  87. package/lib-es/signOperation.js +98 -26
  88. package/lib-es/signOperation.js.map +1 -1
  89. package/lib-es/specs.js +11 -20
  90. package/lib-es/specs.js.map +1 -1
  91. package/lib-es/speculos-deviceActions.js +48 -72
  92. package/lib-es/speculos-deviceActions.js.map +1 -1
  93. package/lib-es/synchronization.js +66 -76
  94. package/lib-es/synchronization.js.map +1 -1
  95. package/lib-es/transaction.js +10 -2
  96. package/lib-es/transaction.js.map +1 -1
  97. package/lib-es/tx-fees.js +97 -76
  98. package/lib-es/tx-fees.js.map +1 -1
  99. package/lib-es/utils.js +16 -49
  100. package/lib-es/utils.js.map +1 -1
  101. package/lib-es/validator-app/index.js +26 -38
  102. package/lib-es/validator-app/index.js.map +1 -1
  103. package/package.json +3 -3
  104. package/tsconfig.json +3 -3
@@ -39,9 +39,8 @@ exports.acceptTransferTransaction = (0, specs_1.deviceActionFlow)({
39
39
  title: "Transfer",
40
40
  button: specs_1.SpeculosButton.RIGHT,
41
41
  expectedValue: ({ account, transaction }) => {
42
- var _a;
43
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
44
- if ((command === null || command === void 0 ? void 0 : command.kind) === "transfer") {
42
+ const command = transaction.model.commandDescriptor?.command;
43
+ if (command?.kind === "transfer") {
45
44
  return formatAmount(account.currency, command.amount);
46
45
  }
47
46
  throwUnexpectedTransaction();
@@ -51,9 +50,8 @@ exports.acceptTransferTransaction = (0, specs_1.deviceActionFlow)({
51
50
  title: "Recipient",
52
51
  button: specs_1.SpeculosButton.RIGHT,
53
52
  expectedValue: ({ transaction }) => {
54
- var _a;
55
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
56
- if ((command === null || command === void 0 ? void 0 : command.kind) === "transfer") {
53
+ const command = transaction.model.commandDescriptor?.command;
54
+ if (command?.kind === "transfer") {
57
55
  return ellipsis(command.recipient);
58
56
  }
59
57
  throwUnexpectedTransaction();
@@ -72,9 +70,8 @@ exports.acceptStakeCreateAccountTransaction = (0, specs_1.deviceActionFlow)({
72
70
  title: "Delegate from",
73
71
  button: specs_1.SpeculosButton.RIGHT,
74
72
  expectedValue: ({ transaction }) => {
75
- var _a;
76
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
77
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.createAccount") {
73
+ const command = transaction.model.commandDescriptor?.command;
74
+ if (command?.kind === "stake.createAccount") {
78
75
  return ellipsis(command.stakeAccAddress);
79
76
  }
80
77
  throwUnexpectedTransaction();
@@ -84,9 +81,8 @@ exports.acceptStakeCreateAccountTransaction = (0, specs_1.deviceActionFlow)({
84
81
  title: "Deposit",
85
82
  button: specs_1.SpeculosButton.RIGHT,
86
83
  expectedValue: ({ account, transaction }) => {
87
- var _a;
88
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
89
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.createAccount") {
84
+ const command = transaction.model.commandDescriptor?.command;
85
+ if (command?.kind === "stake.createAccount") {
90
86
  return formatAmount(account.currency, command.amount + command.stakeAccRentExemptAmount);
91
87
  }
92
88
  throwUnexpectedTransaction();
@@ -96,9 +92,8 @@ exports.acceptStakeCreateAccountTransaction = (0, specs_1.deviceActionFlow)({
96
92
  title: "New authority",
97
93
  button: specs_1.SpeculosButton.RIGHT,
98
94
  expectedValue: ({ transaction }) => {
99
- var _a;
100
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
101
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.createAccount") {
95
+ const command = transaction.model.commandDescriptor?.command;
96
+ if (command?.kind === "stake.createAccount") {
102
97
  return ellipsis(command.fromAccAddress);
103
98
  }
104
99
  throwUnexpectedTransaction();
@@ -108,9 +103,8 @@ exports.acceptStakeCreateAccountTransaction = (0, specs_1.deviceActionFlow)({
108
103
  title: "Vote account",
109
104
  button: specs_1.SpeculosButton.RIGHT,
110
105
  expectedValue: ({ transaction }) => {
111
- var _a;
112
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
113
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.createAccount") {
106
+ const command = transaction.model.commandDescriptor?.command;
107
+ if (command?.kind === "stake.createAccount") {
114
108
  return ellipsis(command.delegate.voteAccAddress);
115
109
  }
116
110
  throwUnexpectedTransaction();
@@ -129,9 +123,8 @@ exports.acceptStakeDelegateTransaction = (0, specs_1.deviceActionFlow)({
129
123
  title: "Delegate from",
130
124
  button: specs_1.SpeculosButton.RIGHT,
131
125
  expectedValue: ({ transaction }) => {
132
- var _a;
133
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
134
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.delegate") {
126
+ const command = transaction.model.commandDescriptor?.command;
127
+ if (command?.kind === "stake.delegate") {
135
128
  return ellipsis(command.stakeAccAddr);
136
129
  }
137
130
  throwUnexpectedTransaction();
@@ -141,9 +134,8 @@ exports.acceptStakeDelegateTransaction = (0, specs_1.deviceActionFlow)({
141
134
  title: "Vote account",
142
135
  button: specs_1.SpeculosButton.RIGHT,
143
136
  expectedValue: ({ transaction }) => {
144
- var _a;
145
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
146
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.delegate") {
137
+ const command = transaction.model.commandDescriptor?.command;
138
+ if (command?.kind === "stake.delegate") {
147
139
  return ellipsis(command.voteAccAddr);
148
140
  }
149
141
  throwUnexpectedTransaction();
@@ -162,9 +154,8 @@ exports.acceptStakeUndelegateTransaction = (0, specs_1.deviceActionFlow)({
162
154
  title: "Deactivate stake",
163
155
  button: specs_1.SpeculosButton.RIGHT,
164
156
  expectedValue: ({ transaction }) => {
165
- var _a;
166
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
167
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.undelegate") {
157
+ const command = transaction.model.commandDescriptor?.command;
158
+ if (command?.kind === "stake.undelegate") {
168
159
  return ellipsis(command.stakeAccAddr);
169
160
  }
170
161
  throwUnexpectedTransaction();
@@ -183,9 +174,8 @@ exports.acceptStakeWithdrawTransaction = (0, specs_1.deviceActionFlow)({
183
174
  title: "Stake withdraw",
184
175
  button: specs_1.SpeculosButton.RIGHT,
185
176
  expectedValue: ({ account, transaction }) => {
186
- var _a;
187
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
188
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.withdraw") {
177
+ const command = transaction.model.commandDescriptor?.command;
178
+ if (command?.kind === "stake.withdraw") {
189
179
  return formatAmount(account.currency, command.amount);
190
180
  }
191
181
  throwUnexpectedTransaction();
@@ -195,9 +185,8 @@ exports.acceptStakeWithdrawTransaction = (0, specs_1.deviceActionFlow)({
195
185
  title: "From",
196
186
  button: specs_1.SpeculosButton.RIGHT,
197
187
  expectedValue: ({ transaction }) => {
198
- var _a;
199
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
200
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.withdraw") {
188
+ const command = transaction.model.commandDescriptor?.command;
189
+ if (command?.kind === "stake.withdraw") {
201
190
  return ellipsis(command.stakeAccAddr);
202
191
  }
203
192
  throwUnexpectedTransaction();
@@ -207,9 +196,8 @@ exports.acceptStakeWithdrawTransaction = (0, specs_1.deviceActionFlow)({
207
196
  title: "To",
208
197
  button: specs_1.SpeculosButton.RIGHT,
209
198
  expectedValue: ({ transaction }) => {
210
- var _a;
211
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
212
- if ((command === null || command === void 0 ? void 0 : command.kind) === "stake.withdraw") {
199
+ const command = transaction.model.commandDescriptor?.command;
200
+ if (command?.kind === "stake.withdraw") {
213
201
  return ellipsis(command.toAccAddr);
214
202
  }
215
203
  throwUnexpectedTransaction();
@@ -228,9 +216,8 @@ exports.acceptTransferTokensTransaction = (0, specs_1.deviceActionFlow)({
228
216
  title: "Transfer tokens",
229
217
  button: specs_1.SpeculosButton.RIGHT,
230
218
  expectedValue: ({ account, transaction }) => {
231
- var _a;
232
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
233
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer" && transaction.subAccountId) {
219
+ const command = transaction.model.commandDescriptor?.command;
220
+ if (command?.kind === "token.transfer" && transaction.subAccountId) {
234
221
  const tokenCurrency = findTokenAccount(account, transaction.subAccountId).token;
235
222
  return formatTokenAmount(tokenCurrency, command.amount);
236
223
  }
@@ -241,9 +228,8 @@ exports.acceptTransferTokensTransaction = (0, specs_1.deviceActionFlow)({
241
228
  title: "Mint",
242
229
  button: specs_1.SpeculosButton.RIGHT,
243
230
  expectedValue: ({ transaction }) => {
244
- var _a;
245
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
246
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
231
+ const command = transaction.model.commandDescriptor?.command;
232
+ if (command?.kind === "token.transfer") {
247
233
  return ellipsis(command.mintAddress);
248
234
  }
249
235
  throwUnexpectedTransaction();
@@ -253,9 +239,8 @@ exports.acceptTransferTokensTransaction = (0, specs_1.deviceActionFlow)({
253
239
  title: "From",
254
240
  button: specs_1.SpeculosButton.RIGHT,
255
241
  expectedValue: ({ transaction }) => {
256
- var _a;
257
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
258
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
242
+ const command = transaction.model.commandDescriptor?.command;
243
+ if (command?.kind === "token.transfer") {
259
244
  return ellipsis(command.ownerAssociatedTokenAccountAddress);
260
245
  }
261
246
  throwUnexpectedTransaction();
@@ -265,9 +250,8 @@ exports.acceptTransferTokensTransaction = (0, specs_1.deviceActionFlow)({
265
250
  title: "To",
266
251
  button: specs_1.SpeculosButton.RIGHT,
267
252
  expectedValue: ({ transaction }) => {
268
- var _a;
269
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
270
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
253
+ const command = transaction.model.commandDescriptor?.command;
254
+ if (command?.kind === "token.transfer") {
271
255
  return ellipsis(command.recipientDescriptor.tokenAccAddress);
272
256
  }
273
257
  throwUnexpectedTransaction();
@@ -286,9 +270,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
286
270
  title: "Create token acct",
287
271
  button: specs_1.SpeculosButton.RIGHT,
288
272
  expectedValue: ({ transaction }) => {
289
- var _a;
290
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
291
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
273
+ const command = transaction.model.commandDescriptor?.command;
274
+ if (command?.kind === "token.transfer") {
292
275
  return ellipsis(command.recipientDescriptor.tokenAccAddress);
293
276
  }
294
277
  throwUnexpectedTransaction();
@@ -298,9 +281,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
298
281
  title: "From mint",
299
282
  button: specs_1.SpeculosButton.RIGHT,
300
283
  expectedValue: ({ transaction }) => {
301
- var _a;
302
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
303
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
284
+ const command = transaction.model.commandDescriptor?.command;
285
+ if (command?.kind === "token.transfer") {
304
286
  return ellipsis(command.mintAddress);
305
287
  }
306
288
  throwUnexpectedTransaction();
@@ -310,9 +292,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
310
292
  title: "Owned by",
311
293
  button: specs_1.SpeculosButton.RIGHT,
312
294
  expectedValue: ({ transaction }) => {
313
- var _a;
314
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
315
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
295
+ const command = transaction.model.commandDescriptor?.command;
296
+ if (command?.kind === "token.transfer") {
316
297
  return ellipsis(command.recipientDescriptor.walletAddress);
317
298
  }
318
299
  throwUnexpectedTransaction();
@@ -322,9 +303,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
322
303
  title: "Funded by",
323
304
  button: specs_1.SpeculosButton.RIGHT,
324
305
  expectedValue: ({ transaction }) => {
325
- var _a;
326
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
327
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
306
+ const command = transaction.model.commandDescriptor?.command;
307
+ if (command?.kind === "token.transfer") {
328
308
  return ellipsis(command.ownerAddress);
329
309
  }
330
310
  throwUnexpectedTransaction();
@@ -334,9 +314,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
334
314
  title: "Transfer tokens",
335
315
  button: specs_1.SpeculosButton.RIGHT,
336
316
  expectedValue: ({ account, transaction }) => {
337
- var _a;
338
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
339
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer" && transaction.subAccountId) {
317
+ const command = transaction.model.commandDescriptor?.command;
318
+ if (command?.kind === "token.transfer" && transaction.subAccountId) {
340
319
  const tokenCurrency = findTokenAccount(account, transaction.subAccountId).token;
341
320
  return formatTokenAmount(tokenCurrency, command.amount);
342
321
  }
@@ -347,9 +326,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
347
326
  title: "Mint",
348
327
  button: specs_1.SpeculosButton.RIGHT,
349
328
  expectedValue: ({ transaction }) => {
350
- var _a;
351
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
352
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
329
+ const command = transaction.model.commandDescriptor?.command;
330
+ if (command?.kind === "token.transfer") {
353
331
  return ellipsis(command.mintAddress);
354
332
  }
355
333
  throwUnexpectedTransaction();
@@ -359,9 +337,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
359
337
  title: "From",
360
338
  button: specs_1.SpeculosButton.RIGHT,
361
339
  expectedValue: ({ transaction }) => {
362
- var _a;
363
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
364
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
340
+ const command = transaction.model.commandDescriptor?.command;
341
+ if (command?.kind === "token.transfer") {
365
342
  return ellipsis(command.ownerAssociatedTokenAccountAddress);
366
343
  }
367
344
  throwUnexpectedTransaction();
@@ -371,9 +348,8 @@ exports.acceptTransferTokensWithATACreationTransaction = (0, specs_1.deviceActio
371
348
  title: "To",
372
349
  button: specs_1.SpeculosButton.RIGHT,
373
350
  expectedValue: ({ transaction }) => {
374
- var _a;
375
- const command = (_a = transaction.model.commandDescriptor) === null || _a === void 0 ? void 0 : _a.command;
376
- if ((command === null || command === void 0 ? void 0 : command.kind) === "token.transfer") {
351
+ const command = transaction.model.commandDescriptor?.command;
352
+ if (command?.kind === "token.transfer") {
377
353
  return ellipsis(command.recipientDescriptor.tokenAccAddress);
378
354
  }
379
355
  throwUnexpectedTransaction();
@@ -1 +1 @@
1
- {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speculos-deviceActions.js","sourceRoot":"","sources":["../src/speculos-deviceActions.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,4 @@
1
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
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -25,10 +16,9 @@ const program_1 = require("./api/chain/program");
25
16
  const web3_2 = require("./api/chain/web3");
26
17
  const utils_1 = require("./utils");
27
18
  const tx_fees_1 = require("./tx-fees");
28
- const getAccountShapeWithAPI = (info, api) => __awaiter(void 0, void 0, void 0, function* () {
29
- var _a, _b, _c, _d, _e, _f, _g;
19
+ const getAccountShapeWithAPI = async (info, api) => {
30
20
  const { address: mainAccAddress, initialAccount: mainInitialAcc, currency, derivationMode, } = info;
31
- const { blockHeight, balance: mainAccBalance, tokenAccounts: onChaintokenAccounts, stakes: onChainStakes, } = yield getAccount(mainAccAddress, api);
21
+ const { blockHeight, balance: mainAccBalance, tokenAccounts: onChaintokenAccounts, stakes: onChainStakes, } = await getAccount(mainAccAddress, api);
32
22
  const mainAccountId = (0, index_1.encodeAccountId)({
33
23
  type: "js",
34
24
  version: "2",
@@ -37,20 +27,20 @@ const getAccountShapeWithAPI = (info, api) => __awaiter(void 0, void 0, void 0,
37
27
  derivationMode,
38
28
  });
39
29
  const onChainTokenAccsByMint = (0, fp_1.pipe)(() => onChaintokenAccounts, (0, fp_1.groupBy)(({ info: { mint } }) => mint.toBase58()), v => new Map((0, fp_1.toPairs)(v)))();
40
- const subAccByMint = (0, fp_1.pipe)(() => { var _a; return (_a = mainInitialAcc === null || mainInitialAcc === void 0 ? void 0 : mainInitialAcc.subAccounts) !== null && _a !== void 0 ? _a : []; }, (0, fp_1.filter)((subAcc) => subAcc.type === "TokenAccount"), (0, fp_1.keyBy)(subAcc => subAcc.token.contractAddress), v => new Map((0, fp_1.toPairs)(v)))();
30
+ const subAccByMint = (0, fp_1.pipe)(() => mainInitialAcc?.subAccounts ?? [], (0, fp_1.filter)((subAcc) => subAcc.type === "TokenAccount"), (0, fp_1.keyBy)(subAcc => subAcc.token.contractAddress), v => new Map((0, fp_1.toPairs)(v)))();
41
31
  const nextSubAccs = [];
42
32
  for (const [mint, accs] of onChainTokenAccsByMint.entries()) {
43
33
  if (!(0, logic_1.tokenIsListedOnLedger)(currency.id, mint)) {
44
34
  continue;
45
35
  }
46
- const assocTokenAccAddress = yield api.findAssocTokenAccAddress(mainAccAddress, mint);
36
+ const assocTokenAccAddress = await api.findAssocTokenAccAddress(mainAccAddress, mint);
47
37
  const assocTokenAcc = accs.find(({ onChainAcc: { pubkey } }) => pubkey.toBase58() === assocTokenAccAddress);
48
38
  if (assocTokenAcc === undefined) {
49
39
  continue;
50
40
  }
51
41
  const subAcc = subAccByMint.get(mint);
52
- const lastSyncedTxSignature = (_b = (_a = subAcc === null || subAcc === void 0 ? void 0 : subAcc.operations) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.hash;
53
- const txs = yield (0, web3_1.getTransactions)(assocTokenAcc.onChainAcc.pubkey.toBase58(), lastSyncedTxSignature, api);
42
+ const lastSyncedTxSignature = subAcc?.operations?.[0]?.hash;
43
+ const txs = await (0, web3_1.getTransactions)(assocTokenAcc.onChainAcc.pubkey.toBase58(), lastSyncedTxSignature, api);
54
44
  const nextSubAcc = subAcc === undefined
55
45
  ? newSubAcc({
56
46
  currencyId: currency.id,
@@ -65,7 +55,7 @@ const getAccountShapeWithAPI = (info, api) => __awaiter(void 0, void 0, void 0,
65
55
  });
66
56
  nextSubAccs.push(nextSubAcc);
67
57
  }
68
- const { epoch } = yield api.getEpochInfo();
58
+ const { epoch } = await api.getEpochInfo();
69
59
  const stakes = onChainStakes.map(({ account, activation, reward }) => {
70
60
  const { info: { meta, stake }, } = account;
71
61
  const rentExemptReserve = account.info.meta.rentExemptReserve.toNumber();
@@ -104,26 +94,26 @@ const getAccountShapeWithAPI = (info, api) => __awaiter(void 0, void 0, void 0,
104
94
  };
105
95
  });
106
96
  const sortedStakes = (0, fp_1.flow)(() => stakes, (0, fp_1.sortBy)([
107
- stake => { var _a, _b; return -((_b = (_a = stake.delegation) === null || _a === void 0 ? void 0 : _a.stake) !== null && _b !== void 0 ? _b : 0); },
97
+ stake => -(stake.delegation?.stake ?? 0),
108
98
  stake => -stake.withdrawable,
109
99
  stake => -stake.stakeAccAddr,
110
100
  ]))();
111
- const mainAccountLastTxSignature = (_c = mainInitialAcc === null || mainInitialAcc === void 0 ? void 0 : mainInitialAcc.operations[0]) === null || _c === void 0 ? void 0 : _c.hash;
112
- const newMainAccTxs = yield (0, web3_1.getTransactions)(mainAccAddress, mainAccountLastTxSignature, api);
113
- const lastOpSeqNumber = (_f = (_e = (_d = mainInitialAcc === null || mainInitialAcc === void 0 ? void 0 : mainInitialAcc.operations) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.transactionSequenceNumber) !== null && _f !== void 0 ? _f : 0;
101
+ const mainAccountLastTxSignature = mainInitialAcc?.operations[0]?.hash;
102
+ const newMainAccTxs = await (0, web3_1.getTransactions)(mainAccAddress, mainAccountLastTxSignature, api);
103
+ const lastOpSeqNumber = mainInitialAcc?.operations?.[0]?.transactionSequenceNumber ?? 0;
114
104
  const newOpsCount = newMainAccTxs.length;
115
105
  const newMainAccOps = newMainAccTxs
116
106
  .map((tx, i) => txToMainAccOperation(tx, mainAccountId, mainAccAddress,
117
107
  // transactions are ordered by date (0'th - most recent tx)
118
108
  lastOpSeqNumber + newOpsCount - i))
119
109
  .filter((op) => op !== undefined);
120
- const mainAccTotalOperations = (0, jsHelpers_1.mergeOps)((_g = mainInitialAcc === null || mainInitialAcc === void 0 ? void 0 : mainInitialAcc.operations) !== null && _g !== void 0 ? _g : [], newMainAccOps);
110
+ const mainAccTotalOperations = (0, jsHelpers_1.mergeOps)(mainInitialAcc?.operations ?? [], newMainAccOps);
121
111
  const totalStakedBalance = (0, fp_1.sum)(stakes.map(s => s.stakeAccBalance));
122
- const mainAccountRentExempt = yield (0, web3_1.getAccountMinimumBalanceForRentExemption)(api, mainAccAddress);
112
+ const mainAccountRentExempt = await (0, web3_1.getAccountMinimumBalanceForRentExemption)(api, mainAccAddress);
123
113
  let unstakeReserve = 0;
124
114
  if (stakes.length > 0) {
125
- const undelegateFee = yield (0, tx_fees_1.estimateTxFee)(api, mainAccAddress, "stake.undelegate");
126
- const withdrawFee = yield (0, tx_fees_1.estimateTxFee)(api, mainAccAddress, "stake.withdraw");
115
+ const undelegateFee = await (0, tx_fees_1.estimateTxFee)(api, mainAccAddress, "stake.undelegate");
116
+ const withdrawFee = await (0, tx_fees_1.estimateTxFee)(api, mainAccAddress, "stake.withdraw");
127
117
  const activeStakes = stakes.filter(s => s.activation.state == "active" || s.activation.state == "activating");
128
118
  // "active" and "activating" stakes require "deactivating" + "withdrawing" steps
129
119
  // "inactive" and "deactivating" stakes require withdrawing only
@@ -143,12 +133,11 @@ const getAccountShapeWithAPI = (info, api) => __awaiter(void 0, void 0, void 0,
143
133
  },
144
134
  };
145
135
  return shape;
146
- });
136
+ };
147
137
  exports.getAccountShapeWithAPI = getAccountShapeWithAPI;
148
138
  function newSubAcc({ currencyId, mainAccountId, assocTokenAcc, txs, }) {
149
- var _a;
150
139
  const firstTx = txs[txs.length - 1];
151
- const creationDate = new Date(((_a = firstTx.info.blockTime) !== null && _a !== void 0 ? _a : Date.now() / 1000) * 1000);
140
+ const creationDate = new Date((firstTx.info.blockTime ?? Date.now() / 1000) * 1000);
152
141
  const mint = assocTokenAcc.info.mint.toBase58();
153
142
  const tokenCurrency = (0, cryptoassets_1.findTokenByAddressInCurrency)(mint, currencyId);
154
143
  if (!tokenCurrency) {
@@ -178,7 +167,13 @@ function patchedSubAcc({ subAcc, assocTokenAcc, txs, }) {
178
167
  const balance = new bignumber_js_1.default(assocTokenAcc.info.tokenAmount.amount);
179
168
  const newOps = (0, fp_1.compact)(txs.map(tx => txToTokenAccOperation(tx, assocTokenAcc, subAcc.id)));
180
169
  const totalOps = (0, jsHelpers_1.mergeOps)(subAcc.operations, newOps);
181
- return Object.assign(Object.assign({}, subAcc), { balance, spendableBalance: balance, operations: totalOps, state: assocTokenAcc.info.state });
170
+ return {
171
+ ...subAcc,
172
+ balance,
173
+ spendableBalance: balance,
174
+ operations: totalOps,
175
+ state: assocTokenAcc.info.state,
176
+ };
182
177
  }
183
178
  function txToMainAccOperation(tx, accountId, accountAddress, txSeqNumber) {
184
179
  if (!tx.info.blockTime || !tx.parsed.meta) {
@@ -234,7 +229,6 @@ function getOpValue(balanceDelta, opFee, opType) {
234
229
  }
235
230
  }
236
231
  function getOpExtra(tx, balanceDelta, opType) {
237
- var _a, _b, _c, _d;
238
232
  const extra = {};
239
233
  const { instructions } = tx.parsed.transaction.message;
240
234
  const parsedIxs = instructions
@@ -244,7 +238,7 @@ function getOpExtra(tx, balanceDelta, opType) {
244
238
  extra.memo = dropMemoLengthPrefixIfAny(tx.info.memo);
245
239
  }
246
240
  if (opType === "DELEGATE") {
247
- const delegateInfo = (_b = (_a = parsedIxs.find(ix => { var _a; return ix.program === "stake" && ((_a = ix.instruction) === null || _a === void 0 ? void 0 : _a.type) === "delegate"; })) === null || _a === void 0 ? void 0 : _a.instruction) === null || _b === void 0 ? void 0 : _b.info;
241
+ const delegateInfo = parsedIxs.find(ix => ix.program === "stake" && ix.instruction?.type === "delegate")?.instruction?.info;
248
242
  if (!delegateInfo)
249
243
  return extra;
250
244
  extra.stake = {
@@ -253,7 +247,7 @@ function getOpExtra(tx, balanceDelta, opType) {
253
247
  };
254
248
  }
255
249
  if (opType === "WITHDRAW_UNBONDED") {
256
- const withdrawInfo = (_d = (_c = parsedIxs.find(ix => { var _a; return ix.program === "stake" && ((_a = ix.instruction) === null || _a === void 0 ? void 0 : _a.type) === "withdraw"; })) === null || _c === void 0 ? void 0 : _c.instruction) === null || _d === void 0 ? void 0 : _d.info;
250
+ const withdrawInfo = parsedIxs.find(ix => ix.program === "stake" && ix.instruction?.type === "withdraw")?.instruction?.info;
257
251
  if (!withdrawInfo)
258
252
  return extra;
259
253
  extra.stake = {
@@ -264,7 +258,6 @@ function getOpExtra(tx, balanceDelta, opType) {
264
258
  return extra;
265
259
  }
266
260
  function txToTokenAccOperation(tx, assocTokenAcc, accountId) {
267
- var _a, _b;
268
261
  if (!tx.info.blockTime || !tx.parsed.meta) {
269
262
  return undefined;
270
263
  }
@@ -276,9 +269,9 @@ function txToTokenAccOperation(tx, assocTokenAcc, accountId) {
276
269
  return undefined;
277
270
  }
278
271
  const { preTokenBalances, postTokenBalances } = tx.parsed.meta;
279
- const preTokenBalance = preTokenBalances === null || preTokenBalances === void 0 ? void 0 : preTokenBalances.find(b => b.accountIndex === assocTokenAccIndex);
280
- const postTokenBalance = postTokenBalances === null || postTokenBalances === void 0 ? void 0 : postTokenBalances.find(b => b.accountIndex === assocTokenAccIndex);
281
- const delta = new bignumber_js_1.default((_a = postTokenBalance === null || postTokenBalance === void 0 ? void 0 : postTokenBalance.uiTokenAmount.amount) !== null && _a !== void 0 ? _a : 0).minus(new bignumber_js_1.default((_b = preTokenBalance === null || preTokenBalance === void 0 ? void 0 : preTokenBalance.uiTokenAmount.amount) !== null && _b !== void 0 ? _b : 0));
272
+ const preTokenBalance = preTokenBalances?.find(b => b.accountIndex === assocTokenAccIndex);
273
+ const postTokenBalance = postTokenBalances?.find(b => b.accountIndex === assocTokenAccIndex);
274
+ const delta = new bignumber_js_1.default(postTokenBalance?.uiTokenAmount.amount ?? 0).minus(new bignumber_js_1.default(preTokenBalance?.uiTokenAmount.amount ?? 0));
282
275
  const isFeePayer = accountOwnerIndex === 0;
283
276
  const txFee = new bignumber_js_1.default(tx.parsed.meta.fee);
284
277
  const opType = getTokenAccOperationType({ tx: tx.parsed.transaction, delta });
@@ -330,7 +323,7 @@ function getMainSendersRecipients(tx, opType, txFee, accountAddress) {
330
323
  }
331
324
  if (opType === "OPT_IN") {
332
325
  // Associated token account created
333
- const incomingTokens = (postTokenBalances === null || postTokenBalances === void 0 ? void 0 : postTokenBalances.filter(tokenBalance => tokenBalance.owner === accountAddress)) || [];
326
+ const incomingTokens = postTokenBalances?.filter(tokenBalance => tokenBalance.owner === accountAddress) || [];
334
327
  initialSendersRecipients.senders = incomingTokens.map(token => token.mint);
335
328
  initialSendersRecipients.recipients = incomingTokens.map(token => {
336
329
  return message.accountKeys[token.accountIndex].pubkey.toBase58();
@@ -414,16 +407,15 @@ function getTokenSendersRecipients(tx) {
414
407
  const accounts = tx.parsed.transaction.message.accountKeys;
415
408
  const { preTokenBalances, postTokenBalances } = tx.parsed.meta;
416
409
  return accounts.reduce((accum, account, i) => {
417
- var _a, _b;
418
- const preTokenBalance = preTokenBalances === null || preTokenBalances === void 0 ? void 0 : preTokenBalances.find(b => b.accountIndex === i);
419
- const postTokenBalance = postTokenBalances === null || postTokenBalances === void 0 ? void 0 : postTokenBalances.find(b => b.accountIndex === i);
410
+ const preTokenBalance = preTokenBalances?.find(b => b.accountIndex === i);
411
+ const postTokenBalance = postTokenBalances?.find(b => b.accountIndex === i);
420
412
  if (preTokenBalance || postTokenBalance) {
421
- const tokenDelta = new bignumber_js_1.default((_a = postTokenBalance === null || postTokenBalance === void 0 ? void 0 : postTokenBalance.uiTokenAmount.amount) !== null && _a !== void 0 ? _a : 0).minus(new bignumber_js_1.default((_b = preTokenBalance === null || preTokenBalance === void 0 ? void 0 : preTokenBalance.uiTokenAmount.amount) !== null && _b !== void 0 ? _b : 0));
413
+ const tokenDelta = new bignumber_js_1.default(postTokenBalance?.uiTokenAmount.amount ?? 0).minus(new bignumber_js_1.default(preTokenBalance?.uiTokenAmount.amount ?? 0));
422
414
  if (tokenDelta.lt(0)) {
423
- accum.senders.push((postTokenBalance === null || postTokenBalance === void 0 ? void 0 : postTokenBalance.owner) || account.pubkey.toBase58());
415
+ accum.senders.push(postTokenBalance?.owner || account.pubkey.toBase58());
424
416
  }
425
417
  else if (tokenDelta.gt(0)) {
426
- accum.recipients.push((postTokenBalance === null || postTokenBalance === void 0 ? void 0 : postTokenBalance.owner) || account.pubkey.toBase58());
418
+ accum.recipients.push(postTokenBalance?.owner || account.pubkey.toBase58());
427
419
  }
428
420
  }
429
421
  return accum;
@@ -468,40 +460,38 @@ function dropMemoLengthPrefixIfAny(memo) {
468
460
  }
469
461
  return memo;
470
462
  }
471
- function getAccount(address, api) {
472
- return __awaiter(this, void 0, void 0, function* () {
473
- const balanceLamportsWithContext = yield api.getBalanceAndContext(address);
474
- const tokenAccounts = yield api
475
- .getParsedTokenAccountsByOwner(address)
476
- .then(res => res.value)
477
- .then((0, fp_1.map)(web3_2.toTokenAccountWithInfo));
478
- const stakeAccountsRaw = [
479
- // ...(await api.getStakeAccountsByStakeAuth(address)),
480
- ...(yield api.getStakeAccountsByWithdrawAuth(address)),
481
- ];
482
- const stakeAccounts = (0, fp_1.flow)(() => stakeAccountsRaw, (0, fp_1.uniqBy)(acc => acc.pubkey.toBase58()), (0, fp_1.map)(web3_1.toStakeAccountWithInfo), fp_1.compact)();
483
- /*
484
- Ledger team still decides if we should show rewards
485
- const stakeRewards = await api.getInflationReward(
486
- stakeAccounts.map(({ onChainAcc }) => onChainAcc.pubkey.toBase58())
487
- );
488
- */
489
- const stakes = yield (0, utils_1.drainSeq)(stakeAccounts.map(account => () => __awaiter(this, void 0, void 0, function* () {
490
- return {
491
- account,
492
- activation: yield api.getStakeActivation(account.onChainAcc.pubkey.toBase58()),
493
- //reward: stakeRewards[idx],
494
- reward: null,
495
- };
496
- })));
497
- const balance = new bignumber_js_1.default(balanceLamportsWithContext.value);
498
- const blockHeight = balanceLamportsWithContext.context.slot;
463
+ async function getAccount(address, api) {
464
+ const balanceLamportsWithContext = await api.getBalanceAndContext(address);
465
+ const tokenAccounts = await api
466
+ .getParsedTokenAccountsByOwner(address)
467
+ .then(res => res.value)
468
+ .then((0, fp_1.map)(web3_2.toTokenAccountWithInfo));
469
+ const stakeAccountsRaw = [
470
+ // ...(await api.getStakeAccountsByStakeAuth(address)),
471
+ ...(await api.getStakeAccountsByWithdrawAuth(address)),
472
+ ];
473
+ const stakeAccounts = (0, fp_1.flow)(() => stakeAccountsRaw, (0, fp_1.uniqBy)(acc => acc.pubkey.toBase58()), (0, fp_1.map)(web3_1.toStakeAccountWithInfo), fp_1.compact)();
474
+ /*
475
+ Ledger team still decides if we should show rewards
476
+ const stakeRewards = await api.getInflationReward(
477
+ stakeAccounts.map(({ onChainAcc }) => onChainAcc.pubkey.toBase58())
478
+ );
479
+ */
480
+ const stakes = await (0, utils_1.drainSeq)(stakeAccounts.map(account => async () => {
499
481
  return {
500
- balance,
501
- blockHeight,
502
- tokenAccounts,
503
- stakes,
482
+ account,
483
+ activation: await api.getStakeActivation(account.onChainAcc.pubkey.toBase58()),
484
+ //reward: stakeRewards[idx],
485
+ reward: null,
504
486
  };
505
- });
487
+ }));
488
+ const balance = new bignumber_js_1.default(balanceLamportsWithContext.value);
489
+ const blockHeight = balanceLamportsWithContext.context.slot;
490
+ return {
491
+ balance,
492
+ blockHeight,
493
+ tokenAccounts,
494
+ stakes,
495
+ };
506
496
  }
507
497
  //# sourceMappingURL=synchronization.js.map