@ledgerhq/coin-ton 0.5.2 → 0.5.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 (124) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +14 -0
  3. package/lib/__tests__/fixtures/api.fixtures.d.ts +1 -1
  4. package/lib/__tests__/fixtures/api.fixtures.d.ts.map +1 -1
  5. package/lib/__tests__/fixtures/common.fixtures.js +4 -1
  6. package/lib/__tests__/fixtures/common.fixtures.js.map +1 -1
  7. package/lib/__tests__/integration/bridge.integration.test.js +2 -3
  8. package/lib/__tests__/integration/bridge.integration.test.js.map +1 -1
  9. package/lib/__tests__/unit/api.unit.test.js +18 -27
  10. package/lib/__tests__/unit/api.unit.test.js.map +1 -1
  11. package/lib/__tests__/unit/broadcast.unit.test.js +10 -13
  12. package/lib/__tests__/unit/broadcast.unit.test.js.map +1 -1
  13. package/lib/__tests__/unit/createTransaction.unit.test.js +2 -11
  14. package/lib/__tests__/unit/createTransaction.unit.test.js.map +1 -1
  15. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js +19 -22
  16. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js.map +1 -1
  17. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js +6 -15
  18. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js.map +1 -1
  19. package/lib/__tests__/unit/getTransactionStatus.unit.test.js +58 -48
  20. package/lib/__tests__/unit/getTransactionStatus.unit.test.js.map +1 -1
  21. package/lib/__tests__/unit/hw-getAddress.unit.test.js +12 -25
  22. package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +1 -1
  23. package/lib/__tests__/unit/prepareTransaction.unit.test.js +46 -34
  24. package/lib/__tests__/unit/prepareTransaction.unit.test.js.map +1 -1
  25. package/lib/__tests__/unit/signOperation.unit.test.js +11 -22
  26. package/lib/__tests__/unit/signOperation.unit.test.js.map +1 -1
  27. package/lib/__tests__/unit/txn.unit.test.js +32 -39
  28. package/lib/__tests__/unit/txn.unit.test.js.map +1 -1
  29. package/lib/__tests__/unit/utils.unit.test.js +22 -8
  30. package/lib/__tests__/unit/utils.unit.test.js.map +1 -1
  31. package/lib/bridge/bridgeHelpers/api.js +65 -88
  32. package/lib/bridge/bridgeHelpers/api.js.map +1 -1
  33. package/lib/bridge/bridgeHelpers/txn.js +52 -66
  34. package/lib/bridge/bridgeHelpers/txn.js.map +1 -1
  35. package/lib/bridge/js.js +1 -10
  36. package/lib/bridge/js.js.map +1 -1
  37. package/lib/broadcast.js +3 -12
  38. package/lib/broadcast.js.map +1 -1
  39. package/lib/cli-transaction.js +6 -1
  40. package/lib/cli-transaction.js.map +1 -1
  41. package/lib/config.js +1 -1
  42. package/lib/config.js.map +1 -1
  43. package/lib/estimateMaxSpendable.js +7 -16
  44. package/lib/estimateMaxSpendable.js.map +1 -1
  45. package/lib/getTransactionStatus.js +14 -18
  46. package/lib/getTransactionStatus.js.map +1 -1
  47. package/lib/hw-getAddress.js +6 -15
  48. package/lib/hw-getAddress.js.map +1 -1
  49. package/lib/hw-signMessage.js +3 -12
  50. package/lib/hw-signMessage.js.map +1 -1
  51. package/lib/prepareTransaction.js +5 -15
  52. package/lib/prepareTransaction.js.map +1 -1
  53. package/lib/signOperation.js +23 -35
  54. package/lib/signOperation.js.map +1 -1
  55. package/lib/specs.js +12 -18
  56. package/lib/specs.js.map +1 -1
  57. package/lib/synchronisation.js +46 -55
  58. package/lib/synchronisation.js.map +1 -1
  59. package/lib/transaction.js +13 -2
  60. package/lib/transaction.js.map +1 -1
  61. package/lib/utils.js +11 -20
  62. package/lib/utils.js.map +1 -1
  63. package/lib-es/__tests__/fixtures/api.fixtures.d.ts +1 -1
  64. package/lib-es/__tests__/fixtures/api.fixtures.d.ts.map +1 -1
  65. package/lib-es/__tests__/fixtures/common.fixtures.js +4 -1
  66. package/lib-es/__tests__/fixtures/common.fixtures.js.map +1 -1
  67. package/lib-es/__tests__/integration/bridge.integration.test.js +2 -3
  68. package/lib-es/__tests__/integration/bridge.integration.test.js.map +1 -1
  69. package/lib-es/__tests__/unit/api.unit.test.js +18 -27
  70. package/lib-es/__tests__/unit/api.unit.test.js.map +1 -1
  71. package/lib-es/__tests__/unit/broadcast.unit.test.js +10 -13
  72. package/lib-es/__tests__/unit/broadcast.unit.test.js.map +1 -1
  73. package/lib-es/__tests__/unit/createTransaction.unit.test.js +2 -11
  74. package/lib-es/__tests__/unit/createTransaction.unit.test.js.map +1 -1
  75. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js +19 -22
  76. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js.map +1 -1
  77. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js +6 -15
  78. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js.map +1 -1
  79. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js +58 -48
  80. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js.map +1 -1
  81. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js +12 -25
  82. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +1 -1
  83. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js +46 -34
  84. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js.map +1 -1
  85. package/lib-es/__tests__/unit/signOperation.unit.test.js +11 -22
  86. package/lib-es/__tests__/unit/signOperation.unit.test.js.map +1 -1
  87. package/lib-es/__tests__/unit/txn.unit.test.js +32 -39
  88. package/lib-es/__tests__/unit/txn.unit.test.js.map +1 -1
  89. package/lib-es/__tests__/unit/utils.unit.test.js +22 -8
  90. package/lib-es/__tests__/unit/utils.unit.test.js.map +1 -1
  91. package/lib-es/bridge/bridgeHelpers/api.js +65 -88
  92. package/lib-es/bridge/bridgeHelpers/api.js.map +1 -1
  93. package/lib-es/bridge/bridgeHelpers/txn.js +52 -66
  94. package/lib-es/bridge/bridgeHelpers/txn.js.map +1 -1
  95. package/lib-es/bridge/js.js +1 -10
  96. package/lib-es/bridge/js.js.map +1 -1
  97. package/lib-es/broadcast.js +3 -12
  98. package/lib-es/broadcast.js.map +1 -1
  99. package/lib-es/cli-transaction.js +6 -1
  100. package/lib-es/cli-transaction.js.map +1 -1
  101. package/lib-es/config.js +1 -1
  102. package/lib-es/config.js.map +1 -1
  103. package/lib-es/estimateMaxSpendable.js +7 -16
  104. package/lib-es/estimateMaxSpendable.js.map +1 -1
  105. package/lib-es/getTransactionStatus.js +14 -18
  106. package/lib-es/getTransactionStatus.js.map +1 -1
  107. package/lib-es/hw-getAddress.js +6 -15
  108. package/lib-es/hw-getAddress.js.map +1 -1
  109. package/lib-es/hw-signMessage.js +3 -12
  110. package/lib-es/hw-signMessage.js.map +1 -1
  111. package/lib-es/prepareTransaction.js +5 -15
  112. package/lib-es/prepareTransaction.js.map +1 -1
  113. package/lib-es/signOperation.js +23 -35
  114. package/lib-es/signOperation.js.map +1 -1
  115. package/lib-es/specs.js +12 -18
  116. package/lib-es/specs.js.map +1 -1
  117. package/lib-es/synchronisation.js +46 -55
  118. package/lib-es/synchronisation.js.map +1 -1
  119. package/lib-es/transaction.js +13 -2
  120. package/lib-es/transaction.js.map +1 -1
  121. package/lib-es/utils.js +11 -20
  122. package/lib-es/utils.js.map +1 -1
  123. package/package.json +4 -4
  124. package/tsconfig.json +0 -1
@@ -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
  };
@@ -59,16 +50,15 @@ const validateSender = (account) => {
59
50
  return [errors];
60
51
  };
61
52
  const validateAmount = (account, transaction, totalSpent) => {
62
- var _a;
63
53
  const errors = {};
64
54
  const warnings = {};
65
- const subAccount = (0, index_1.findSubAccountById)(account, (_a = transaction.subAccountId) !== null && _a !== void 0 ? _a : "");
55
+ const subAccount = (0, index_1.findSubAccountById)(account, transaction.subAccountId ?? "");
66
56
  const tokenTransfer = Boolean(subAccount && (0, index_1.isTokenAccount)(subAccount));
67
57
  // if no amount or 0
68
58
  if (!transaction.amount || transaction.amount.isZero()) {
69
59
  errors.amount = new errors_1.AmountRequired(); // "Amount required"
70
60
  }
71
- else if (totalSpent.isGreaterThan(tokenTransfer && subAccount ? subAccount === null || subAccount === void 0 ? void 0 : subAccount.spendableBalance : account.balance)) {
61
+ else if (totalSpent.isGreaterThan(tokenTransfer && subAccount ? subAccount?.spendableBalance : account.balance)) {
72
62
  // if not enough to make the transaction
73
63
  errors.amount = new errors_1.NotEnoughBalance(); // "Sorry, insufficient funds"
74
64
  }
@@ -97,9 +87,8 @@ const validateComment = (transaction) => {
97
87
  }
98
88
  return [errors];
99
89
  };
100
- const getTransactionStatus = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
101
- var _a;
102
- const subAccount = (0, index_1.findSubAccountById)(account, (_a = transaction.subAccountId) !== null && _a !== void 0 ? _a : "");
90
+ const getTransactionStatus = async (account, transaction) => {
91
+ const subAccount = (0, index_1.findSubAccountById)(account, transaction.subAccountId ?? "");
103
92
  const tokenTransfer = Boolean(subAccount && (0, index_1.isTokenAccount)(subAccount));
104
93
  const totalSpent = tokenTransfer ? transaction.amount : transaction.amount.plus(transaction.fees);
105
94
  // Recipient related errors and warnings
@@ -110,8 +99,15 @@ const getTransactionStatus = (account, transaction) => __awaiter(void 0, void 0,
110
99
  const [amountErr, amountWarn] = validateAmount(account, transaction, totalSpent);
111
100
  // Transaction related errors and warnings
112
101
  const [transactionErr] = validateComment(transaction);
113
- const errors = Object.assign(Object.assign(Object.assign(Object.assign({}, recipientErr), senderErr), amountErr), transactionErr);
114
- const warnings = Object.assign({}, amountWarn);
102
+ const errors = {
103
+ ...recipientErr,
104
+ ...senderErr,
105
+ ...amountErr,
106
+ ...transactionErr,
107
+ };
108
+ const warnings = {
109
+ ...amountWarn,
110
+ };
115
111
  return {
116
112
  amount: transaction.amount,
117
113
  errors,
@@ -119,7 +115,7 @@ const getTransactionStatus = (account, transaction) => __awaiter(void 0, void 0,
119
115
  estimatedFees: transaction.fees,
120
116
  totalSpent,
121
117
  };
122
- });
118
+ };
123
119
  exports.getTransactionStatus = getTransactionStatus;
124
120
  exports.default = exports.getTransactionStatus;
125
121
  //# sourceMappingURL=getTransactionStatus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,14 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const utils_1 = require("./utils");
13
4
  const resolver = (signerContext) => {
14
- return (deviceId_1, _a) => __awaiter(void 0, [deviceId_1, _a], void 0, function* (deviceId, { path, verify }) {
5
+ return async (deviceId, { path, verify }) => {
15
6
  const ledgerPath = (0, utils_1.getLedgerTonPath)(path);
16
- const sig = yield signerContext(deviceId, (signer) => __awaiter(void 0, void 0, void 0, function* () {
7
+ const sig = await signerContext(deviceId, async (signer) => {
17
8
  return verify
18
- ? yield signer.validateAddress(ledgerPath, { bounceable: false })
19
- : yield signer.getAddress(ledgerPath, { bounceable: false });
20
- }));
9
+ ? await signer.validateAddress(ledgerPath, { bounceable: false })
10
+ : await signer.getAddress(ledgerPath, { bounceable: false });
11
+ });
21
12
  if (!sig.address || !sig.publicKey.length)
22
13
  throw Error(`[ton] Response is empty ${sig.address} ${sig.publicKey}`);
23
14
  return {
@@ -25,7 +16,7 @@ const resolver = (signerContext) => {
25
16
  publicKey: sig.publicKey.toString("hex"),
26
17
  path,
27
18
  };
28
- });
19
+ };
29
20
  };
30
21
  exports.default = resolver;
31
22
  //# sourceMappingURL=hw-getAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hw-getAddress.js","sourceRoot":"","sources":["../src/hw-getAddress.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,mCAA2C;AAE3C,MAAM,QAAQ,GAAG,CAAC,aAAuC,EAAgB,EAAE;IACzE,OAAO,iBAA8D,EAAE,wDAAzD,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB;QACjE,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAM,MAAM,EAAC,EAAE;YACvD,OAAO,MAAM;gBACX,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBACjE,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;YACvC,MAAM,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAEzE,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxC,IAAI;SACL,CAAC;IACJ,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"hw-getAddress.js","sourceRoot":"","sources":["../src/hw-getAddress.ts"],"names":[],"mappings":";;AAIA,mCAA2C;AAE3C,MAAM,QAAQ,GAAG,CAAC,aAAuC,EAAgB,EAAE;IACzE,OAAO,KAAK,EAAE,QAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAqB,EAAE,EAAE;QACrE,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YACvD,OAAO,MAAM;gBACX,CAAC,CAAC,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;gBACjE,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM;YACvC,MAAM,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAEzE,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxC,IAAI;SACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -1,22 +1,13 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.signMessage = void 0;
13
4
  const utils_1 = require("./utils");
14
- const signMessage = (signerContext) => (deviceId_1, account_1, _a) => __awaiter(void 0, [deviceId_1, account_1, _a], void 0, function* (deviceId, account, { message }) {
5
+ const signMessage = (signerContext) => async (deviceId, account, { message }) => {
15
6
  if (typeof message !== "string")
16
7
  throw new Error("Invalid message value");
17
8
  const parsedMessage = JSON.parse(message);
18
9
  const ledgerPath = (0, utils_1.getLedgerTonPath)(account.freshAddressPath);
19
- const sig = yield signerContext(deviceId, signer => signer.signTransaction(ledgerPath, parsedMessage));
10
+ const sig = await signerContext(deviceId, signer => signer.signTransaction(ledgerPath, parsedMessage));
20
11
  if (!sig) {
21
12
  throw new Error("No signature");
22
13
  }
@@ -28,6 +19,6 @@ const signMessage = (signerContext) => (deviceId_1, account_1, _a) => __awaiter(
28
19
  },
29
20
  signature: sig.toString(),
30
21
  };
31
- });
22
+ };
32
23
  exports.signMessage = signMessage;
33
24
  //# sourceMappingURL=hw-signMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hw-signMessage.js","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,mCAA2C;AAEpC,MAAM,WAAW,GACtB,CAAC,aAAuC,EAAE,EAAE,CAC5C,4BAAoE,EAAE,mEAA/D,QAAgB,EAAE,OAAgB,EAAE,EAAE,OAAO,EAAc;IAChE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE1E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9D,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACjD,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,aAA+B,CAAC,CACpE,CAAC;IAEF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,GAAG,EAAE;YACH,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,CAAC;SACL;QACD,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE;KAC1B,CAAC;AACJ,CAAC,CAAA,CAAC;AAxBS,QAAA,WAAW,eAwBpB"}
1
+ {"version":3,"file":"hw-signMessage.js","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":";;;AAIA,mCAA2C;AAEpC,MAAM,WAAW,GACtB,CAAC,aAAuC,EAAE,EAAE,CAC5C,KAAK,EAAE,QAAgB,EAAE,OAAgB,EAAE,EAAE,OAAO,EAAc,EAAE,EAAE;IACpE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAE1E,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9D,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CACjD,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,aAA+B,CAAC,CACpE,CAAC;IAEF,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,OAAO;QACL,GAAG,EAAE;YACH,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,EAAE;YACL,CAAC,EAAE,CAAC;SACL;QACD,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE;KAC1B,CAAC;AACJ,CAAC,CAAC;AAxBS,QAAA,WAAW,eAwBpB"}
@@ -1,24 +1,14 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const index_1 = require("@ledgerhq/coin-framework/account/index");
13
4
  const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
14
5
  const api_1 = require("./bridge/bridgeHelpers/api");
15
6
  const utils_1 = require("./utils");
16
- const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
17
- var _a;
18
- const accountInfo = yield (0, api_1.fetchAccountInfo)(account.freshAddress);
19
- const subAccount = (0, index_1.findSubAccountById)(account, (_a = transaction.subAccountId) !== null && _a !== void 0 ? _a : "");
7
+ const prepareTransaction = async (account, transaction) => {
8
+ const accountInfo = await (0, api_1.fetchAccountInfo)(account.freshAddress);
9
+ const subAccount = (0, index_1.findSubAccountById)(account, transaction.subAccountId ?? "");
20
10
  const simpleTx = (0, utils_1.buildTonTransaction)(transaction, accountInfo.seqno, account);
21
- const fees = yield (0, utils_1.getTonEstimatedFees)(account, accountInfo.status === "uninit", simpleTx);
11
+ const fees = await (0, utils_1.getTonEstimatedFees)(account, accountInfo.status === "uninit", simpleTx);
22
12
  let amount;
23
13
  if (transaction.useAllAmount) {
24
14
  amount = subAccount ? subAccount.spendableBalance : account.spendableBalance.minus(fees);
@@ -27,6 +17,6 @@ const prepareTransaction = (account, transaction) => __awaiter(void 0, void 0, v
27
17
  amount = transaction.amount;
28
18
  }
29
19
  return (0, jsHelpers_1.updateTransaction)(transaction, { fees, amount });
30
- });
20
+ };
31
21
  exports.default = prepareTransaction;
32
22
  //# sourceMappingURL=prepareTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../src/prepareTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,kEAA4E;AAC5E,yEAA8E;AAE9E,oDAA8D;AAE9D,mCAAmE;AAEnE,MAAM,kBAAkB,GAA8D,CACpF,OAAgB,EAChB,WAAwB,EACF,EAAE;;IACxB,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAgB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,0BAAkB,EAAC,OAAO,EAAE,MAAA,WAAW,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE3F,IAAI,MAAM,CAAC;IACX,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,IAAA,6BAAiB,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAA,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"prepareTransaction.js","sourceRoot":"","sources":["../src/prepareTransaction.ts"],"names":[],"mappings":";;AAAA,kEAA4E;AAC5E,yEAA8E;AAE9E,oDAA8D;AAE9D,mCAAmE;AAEnE,MAAM,kBAAkB,GAA8D,KAAK,EACzF,OAAgB,EAChB,WAAwB,EACF,EAAE;IACxB,MAAM,WAAW,GAAG,MAAM,IAAA,sBAAgB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,0BAAkB,EAAC,OAAO,EAAE,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAmB,EAAC,OAAO,EAAE,WAAW,CAAC,MAAM,KAAK,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE3F,IAAI,MAAM,CAAC;IACX,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3F,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,IAAA,6BAAiB,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,kBAAe,kBAAkB,CAAC"}
@@ -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
  };
@@ -22,11 +13,10 @@ const api_1 = require("./bridge/bridgeHelpers/api");
22
13
  const constants_1 = require("./constants");
23
14
  const utils_1 = require("./utils");
24
15
  const packTransaction = (account, needsInit, signature) => {
25
- var _a;
26
16
  const { address } = core_1.Address.parseFriendly(account.freshAddress);
27
17
  let init = null;
28
18
  if (needsInit) {
29
- if (((_a = account.xpub) === null || _a === void 0 ? void 0 : _a.length) !== 64)
19
+ if (account.xpub?.length !== 64)
30
20
  throw Error("[ton] xpub can't be found");
31
21
  const wallet = ton_1.WalletContractV4.create({
32
22
  workchain: 0,
@@ -42,29 +32,27 @@ const packTransaction = (account, needsInit, signature) => {
42
32
  */
43
33
  const buildSignOperation = (signerContext) => ({ account, transaction, deviceId, }) => new rxjs_1.Observable(o => {
44
34
  let cancelled = false;
45
- function main() {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const address = account.freshAddress;
48
- const accountInfo = yield (0, api_1.fetchAccountInfo)(address);
49
- const tonTx = (0, utils_1.buildTonTransaction)(transaction, accountInfo.seqno, account);
50
- const ledgerPath = (0, utils_1.getLedgerTonPath)(account.freshAddressPath);
51
- o.next({ type: "device-signature-requested" });
52
- const sig = yield signerContext(deviceId, signer => signer.signTransaction(ledgerPath, tonTx));
53
- if (cancelled)
54
- return;
55
- o.next({ type: "device-signature-granted" });
56
- if (!sig) {
57
- throw new Error("No signature");
58
- }
59
- const signature = packTransaction(account, accountInfo.status === "uninit", sig);
60
- const operation = (0, exports.buildOptimisticOperation)(account, transaction);
61
- o.next({
62
- type: "signed",
63
- signedOperation: {
64
- operation,
65
- signature,
66
- },
67
- });
35
+ async function main() {
36
+ const address = account.freshAddress;
37
+ const accountInfo = await (0, api_1.fetchAccountInfo)(address);
38
+ const tonTx = (0, utils_1.buildTonTransaction)(transaction, accountInfo.seqno, account);
39
+ const ledgerPath = (0, utils_1.getLedgerTonPath)(account.freshAddressPath);
40
+ o.next({ type: "device-signature-requested" });
41
+ const sig = await signerContext(deviceId, signer => signer.signTransaction(ledgerPath, tonTx));
42
+ if (cancelled)
43
+ return;
44
+ o.next({ type: "device-signature-granted" });
45
+ if (!sig) {
46
+ throw new Error("No signature");
47
+ }
48
+ const signature = packTransaction(account, accountInfo.status === "uninit", sig);
49
+ const operation = (0, exports.buildOptimisticOperation)(account, transaction);
50
+ o.next({
51
+ type: "signed",
52
+ signedOperation: {
53
+ operation,
54
+ signature,
55
+ },
68
56
  });
69
57
  }
70
58
  main().then(() => o.complete(), e => o.error(e));
@@ -76,7 +64,7 @@ exports.buildSignOperation = buildSignOperation;
76
64
  const buildOptimisticOperation = (account, transaction) => {
77
65
  const { recipient, amount, fees, comment, useAllAmount, subAccountId } = transaction;
78
66
  const { id: accountId } = account;
79
- const subAccount = (0, index_1.findSubAccountById)(account, subAccountId !== null && subAccountId !== void 0 ? subAccountId : "");
67
+ const subAccount = (0, index_1.findSubAccountById)(account, subAccountId ?? "");
80
68
  const tokenTransfer = Boolean(subAccount && (0, index_1.isTokenAccount)(subAccount));
81
69
  const value = tokenTransfer
82
70
  ? (0, bignumber_js_1.default)((0, core_1.toNano)(constants_1.TOKEN_TRANSFER_MAX_FEE).toString())
@@ -1 +1 @@
1
- {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../src/signOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../src/signOperation.ts"],"names":[],"mappings":"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"}
package/lib/specs.js CHANGED
@@ -14,21 +14,17 @@ const speculos_deviceActions_1 = require("./speculos-deviceActions");
14
14
  const utils_1 = require("./utils");
15
15
  const MIN_SAFE = new bignumber_js_1.default(1.5e7); // approx two txs' fees (0.015 TON)
16
16
  const testDestination = ({ destination, destinationBeforeTransaction, sendingOperation, }) => {
17
- var _a;
18
17
  const amount = sendingOperation.value;
19
18
  const inOp = destination.operations.find(op => op.hash === sendingOperation.hash && op.type === "IN");
20
- const inFees = (_a = inOp === null || inOp === void 0 ? void 0 : inOp.fee) !== null && _a !== void 0 ? _a : (0, bignumber_js_1.default)(0);
19
+ const inFees = inOp?.fee ?? (0, bignumber_js_1.default)(0);
21
20
  (0, specs_1.botTest)("account balance increased with transaction amount", () => (0, expect_1.default)(destination.balance.toString()).toBe(destinationBeforeTransaction.balance.plus(amount).minus(inFees).toString()));
22
- (0, specs_1.botTest)("operation amount is consistent with sendingOperation", () => {
23
- var _a;
24
- return (0, expect_1.default)({
25
- type: inOp === null || inOp === void 0 ? void 0 : inOp.type,
26
- amount: (_a = inOp === null || inOp === void 0 ? void 0 : inOp.value) === null || _a === void 0 ? void 0 : _a.toString(),
27
- }).toMatchObject({
28
- type: "IN",
29
- amount: amount.toString(),
30
- });
31
- });
21
+ (0, specs_1.botTest)("operation amount is consistent with sendingOperation", () => (0, expect_1.default)({
22
+ type: inOp?.type,
23
+ amount: inOp?.value?.toString(),
24
+ }).toMatchObject({
25
+ type: "IN",
26
+ amount: amount.toString(),
27
+ }));
32
28
  };
33
29
  exports.testDestination = testDestination;
34
30
  const tonSpecs = {
@@ -105,9 +101,8 @@ const tonSpecs = {
105
101
  maxRun: 1,
106
102
  deviceAction: (0, speculos_deviceActions_1.generateDeviceActionFlow)(utils_1.BotScenario.TOKEN_TRANSFER),
107
103
  transaction: ({ account, bridge, maxSpendable, siblings }) => {
108
- var _a;
109
104
  (0, invariant_1.default)(maxSpendable.gt(0), "Spendable balance is too low");
110
- const subAccount = (_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.find(a => a.type === "TokenAccount" && a.spendableBalance.gt(0));
105
+ const subAccount = account.subAccounts?.find(a => a.type === "TokenAccount" && a.spendableBalance.gt(0));
111
106
  const recipient = siblings[0].freshAddress;
112
107
  (0, invariant_1.default)(subAccount && subAccount.type === "TokenAccount", "no subAccount with jUSDT");
113
108
  const amount = subAccount.balance.div(1.9 + 0.2 * Math.random()).integerValue();
@@ -130,11 +125,10 @@ const tonSpecs = {
130
125
  };
131
126
  },
132
127
  test: ({ account, accountBeforeTransaction, operation, transaction, status }) => {
133
- var _a, _b;
134
128
  const subAccountId = transaction.subAccountId;
135
- const subAccount = (_a = account.subAccounts) === null || _a === void 0 ? void 0 : _a.find(sa => sa.id === subAccountId);
136
- const subAccountBeforeTransaction = (_b = accountBeforeTransaction.subAccounts) === null || _b === void 0 ? void 0 : _b.find(sa => sa.id === subAccountId);
137
- (0, specs_1.botTest)("subAccount balance moved with the tx status amount", () => (0, expect_1.default)(subAccount === null || subAccount === void 0 ? void 0 : subAccount.balance.toString()).toBe(subAccountBeforeTransaction === null || subAccountBeforeTransaction === void 0 ? void 0 : subAccountBeforeTransaction.balance.minus(status.amount).toString()));
129
+ const subAccount = account.subAccounts?.find(sa => sa.id === subAccountId);
130
+ const subAccountBeforeTransaction = accountBeforeTransaction.subAccounts?.find(sa => sa.id === subAccountId);
131
+ (0, specs_1.botTest)("subAccount balance moved with the tx status amount", () => (0, expect_1.default)(subAccount?.balance.toString()).toBe(subAccountBeforeTransaction?.balance.minus(status.amount).toString()));
138
132
  (0, specs_1.botTest)("operation comment", () => (0, expect_1.default)(operation.extra).toMatchObject({
139
133
  comment: transaction.comment,
140
134
  }));
package/lib/specs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"specs.js","sourceRoot":"","sources":["../src/specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"specs.js","sourceRoot":"","sources":["../src/specs.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
  };
@@ -22,11 +13,10 @@ const flatMap_1 = __importDefault(require("lodash/flatMap"));
22
13
  const api_1 = require("./bridge/bridgeHelpers/api");
23
14
  const txn_1 = require("./bridge/bridgeHelpers/txn");
24
15
  const logic_1 = require("./logic");
25
- const getAccountShape = (info_1, _a) => __awaiter(void 0, [info_1, _a], void 0, function* (info, { blacklistedTokenIds }) {
26
- var _b;
16
+ const getAccountShape = async (info, { blacklistedTokenIds }) => {
27
17
  const { address, rest, currency, derivationMode, initialAccount } = info;
28
- const publicKey = reconciliatePubkey(rest === null || rest === void 0 ? void 0 : rest.publicKey, initialAccount);
29
- const blockHeight = yield (0, api_1.fetchLastBlockNumber)();
18
+ const publicKey = reconciliatePubkey(rest?.publicKey, initialAccount);
19
+ const blockHeight = await (0, api_1.fetchLastBlockNumber)();
30
20
  const accountId = (0, index_1.encodeAccountId)({
31
21
  type: "js",
32
22
  version: "2",
@@ -35,32 +25,32 @@ const getAccountShape = (info_1, _a) => __awaiter(void 0, [info_1, _a], void 0,
35
25
  derivationMode,
36
26
  });
37
27
  (0, logs_1.log)("debug", `Generation account shape for ${address}`);
38
- const syncHash = (0, logic_1.getSyncHash)(currency, blacklistedTokenIds !== null && blacklistedTokenIds !== void 0 ? blacklistedTokenIds : []);
39
- const shouldSyncFromScratch = syncHash !== (initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.syncHash);
28
+ const syncHash = (0, logic_1.getSyncHash)(currency, blacklistedTokenIds ?? []);
29
+ const shouldSyncFromScratch = syncHash !== initialAccount?.syncHash;
40
30
  const newTxs = { transactions: [], address_book: {} };
41
31
  const newJettonTxs = [];
42
- const oldOps = ((_b = initialAccount === null || initialAccount === void 0 ? void 0 : initialAccount.operations) !== null && _b !== void 0 ? _b : []);
43
- const { last_transaction_lt, balance } = yield (0, api_1.fetchAccountInfo)(address);
32
+ const oldOps = (initialAccount?.operations ?? []);
33
+ const { last_transaction_lt, balance } = await (0, api_1.fetchAccountInfo)(address);
44
34
  // if last_transaction_lt is empty, then there are no transactions in account (as well in token accounts)
45
35
  if (last_transaction_lt != null) {
46
36
  if (oldOps.length === 0 || shouldSyncFromScratch) {
47
- const [tmpTxs, tmpJettonTxs] = yield Promise.all([
37
+ const [tmpTxs, tmpJettonTxs] = await Promise.all([
48
38
  (0, txn_1.getTransactions)(address),
49
39
  (0, txn_1.getJettonTransfers)(address),
50
40
  ]);
51
41
  newTxs.transactions.push(...tmpTxs.transactions);
52
- newTxs.address_book = Object.assign(Object.assign({}, newTxs.address_book), tmpTxs.address_book);
42
+ newTxs.address_book = { ...newTxs.address_book, ...tmpTxs.address_book };
53
43
  newJettonTxs.push(...tmpJettonTxs);
54
44
  }
55
45
  else {
56
46
  // if they are the same, we have no new ops (including tokens)
57
47
  if (oldOps[0].extra.lt !== last_transaction_lt) {
58
- const [tmpTxs, tmpJettonTxs] = yield Promise.all([
48
+ const [tmpTxs, tmpJettonTxs] = await Promise.all([
59
49
  (0, txn_1.getTransactions)(address, oldOps[0].extra.lt),
60
50
  (0, txn_1.getJettonTransfers)(address, oldOps[0].extra.lt),
61
51
  ]);
62
52
  newTxs.transactions.push(...tmpTxs.transactions);
63
- newTxs.address_book = Object.assign(Object.assign({}, newTxs.address_book), tmpTxs.address_book);
53
+ newTxs.address_book = { ...newTxs.address_book, ...tmpTxs.address_book };
64
54
  newJettonTxs.push(...tmpJettonTxs);
65
55
  }
66
56
  }
@@ -68,7 +58,7 @@ const getAccountShape = (info_1, _a) => __awaiter(void 0, [info_1, _a], void 0,
68
58
  const newOps = (0, flatMap_1.default)(newTxs.transactions, (0, txn_1.mapTxToOps)(accountId, address, newTxs.address_book));
69
59
  const newJettonOps = (0, flatMap_1.default)(newJettonTxs, (0, txn_1.mapJettonTxToOps)(accountId, address, newTxs.address_book));
70
60
  const operations = shouldSyncFromScratch ? newOps : (0, jsHelpers_1.mergeOps)(oldOps, newOps);
71
- const subAccounts = yield getSubAccounts(info, accountId, newJettonOps, blacklistedTokenIds, shouldSyncFromScratch);
61
+ const subAccounts = await getSubAccounts(info, accountId, newJettonOps, blacklistedTokenIds, shouldSyncFromScratch);
72
62
  const toReturn = {
73
63
  id: accountId,
74
64
  balance: new bignumber_js_1.default(balance),
@@ -81,19 +71,18 @@ const getAccountShape = (info_1, _a) => __awaiter(void 0, [info_1, _a], void 0,
81
71
  lastSyncDate: new Date(),
82
72
  };
83
73
  return toReturn;
84
- });
74
+ };
85
75
  exports.getAccountShape = getAccountShape;
86
- const getSubAccountShape = (info, parentId, token, ops, shouldSyncFromScratch) => __awaiter(void 0, void 0, void 0, function* () {
87
- var _c, _d, _e;
76
+ const getSubAccountShape = async (info, parentId, token, ops, shouldSyncFromScratch) => {
88
77
  const tokenAccountId = (0, index_1.encodeTokenAccountId)(parentId, token);
89
- const walletsInfo = yield (0, api_1.fetchJettonWallets)({
78
+ const walletsInfo = await (0, api_1.fetchJettonWallets)({
90
79
  address: info.address,
91
80
  jettonMaster: token.contractAddress,
92
81
  });
93
82
  if (walletsInfo.length !== 1)
94
83
  throw new Error("[ton] unexpected api response");
95
84
  const { balance, address: jettonWalletAddress } = walletsInfo[0];
96
- const oldOps = (_e = (_d = (_c = info.initialAccount) === null || _c === void 0 ? void 0 : _c.subAccounts) === null || _d === void 0 ? void 0 : _d.find(a => a.id === tokenAccountId)) === null || _e === void 0 ? void 0 : _e.operations;
85
+ const oldOps = info.initialAccount?.subAccounts?.find(a => a.id === tokenAccountId)?.operations;
97
86
  const operations = !oldOps || shouldSyncFromScratch ? ops : (0, jsHelpers_1.mergeOps)(oldOps, ops);
98
87
  const maybeExistingSubAccount = info.initialAccount &&
99
88
  info.initialAccount.subAccounts &&
@@ -102,7 +91,7 @@ const getSubAccountShape = (info, parentId, token, ops, shouldSyncFromScratch) =
102
91
  type: "TokenAccount",
103
92
  id: tokenAccountId,
104
93
  parentId,
105
- token: Object.assign(Object.assign({}, token), { contractAddress: jettonWalletAddress }), // the contract address is replaced for the jetton wallet address, it will be use for the token transfer
94
+ token: { ...token, contractAddress: jettonWalletAddress }, // the contract address is replaced for the jetton wallet address, it will be use for the token transfer
106
95
  balance: new bignumber_js_1.default(balance),
107
96
  spendableBalance: new bignumber_js_1.default(balance),
108
97
  operations,
@@ -112,29 +101,25 @@ const getSubAccountShape = (info, parentId, token, ops, shouldSyncFromScratch) =
112
101
  balanceHistoryCache: index_1.emptyHistoryCache, // calculated in the jsHelpers
113
102
  swapHistory: [],
114
103
  };
115
- });
116
- function getSubAccounts(info_2, accountId_1, newOps_1) {
117
- return __awaiter(this, arguments, void 0, function* (info, accountId, newOps, blacklistedTokenIds = [], shouldSyncFromScratch) {
118
- const opsPerToken = newOps.reduce((acc, op) => {
119
- var _a;
120
- const { accountId: tokenAccountId } = (0, operation_1.decodeOperationId)(op.id);
121
- const { token } = (0, index_1.decodeTokenAccountId)(tokenAccountId);
122
- if (!token || blacklistedTokenIds.includes(token.id))
123
- return acc;
124
- if (!acc.has(token))
125
- acc.set(token, []);
126
- (_a = acc.get(token)) === null || _a === void 0 ? void 0 : _a.push(op);
104
+ };
105
+ async function getSubAccounts(info, accountId, newOps, blacklistedTokenIds = [], shouldSyncFromScratch) {
106
+ const opsPerToken = newOps.reduce((acc, op) => {
107
+ const { accountId: tokenAccountId } = (0, operation_1.decodeOperationId)(op.id);
108
+ const { token } = (0, index_1.decodeTokenAccountId)(tokenAccountId);
109
+ if (!token || blacklistedTokenIds.includes(token.id))
127
110
  return acc;
128
- }, new Map());
129
- const subAccountsPromises = [];
130
- for (const [token, ops] of opsPerToken.entries()) {
131
- subAccountsPromises.push(getSubAccountShape(info, accountId, token, ops, shouldSyncFromScratch));
132
- }
133
- return Promise.all(subAccountsPromises);
134
- });
111
+ if (!acc.has(token))
112
+ acc.set(token, []);
113
+ acc.get(token)?.push(op);
114
+ return acc;
115
+ }, new Map());
116
+ const subAccountsPromises = [];
117
+ for (const [token, ops] of opsPerToken.entries()) {
118
+ subAccountsPromises.push(getSubAccountShape(info, accountId, token, ops, shouldSyncFromScratch));
119
+ }
120
+ return Promise.all(subAccountsPromises);
135
121
  }
136
122
  const postSync = (initial, synced) => {
137
- var _a;
138
123
  // Set of ids from the already existing subAccount from previous sync
139
124
  const initialSubAccountsIds = new Set();
140
125
  for (const subAccount of initial.subAccounts || []) {
@@ -148,23 +133,29 @@ const postSync = (initial, synced) => {
148
133
  for (const op of pendingOperations) {
149
134
  coinPendingOperationsHashes.add(op.hash);
150
135
  }
151
- return Object.assign(Object.assign({}, synced), { pendingOperations, subAccounts: (_a = synced.subAccounts) === null || _a === void 0 ? void 0 : _a.map(subAccount => {
136
+ return {
137
+ ...synced,
138
+ pendingOperations,
139
+ subAccounts: synced.subAccounts?.map(subAccount => {
152
140
  // If the subAccount is new, just return the freshly synced subAccount
153
141
  if (!initialSubAccountsIds.has(subAccount.id))
154
142
  return subAccount;
155
- return Object.assign(Object.assign({}, subAccount), { pendingOperations: subAccount.pendingOperations.filter(tokenPendingOperation =>
143
+ return {
144
+ ...subAccount,
145
+ pendingOperations: subAccount.pendingOperations.filter(tokenPendingOperation =>
156
146
  // if the pending operation got removed from the main account, remove it as well
157
147
  coinPendingOperationsHashes.has(tokenPendingOperation.hash) &&
158
148
  // if the transaction has been confirmed, remove it
159
- !subAccount.operations.some(op => op.id === tokenPendingOperation.id)) });
160
- }) });
149
+ !subAccount.operations.some(op => op.id === tokenPendingOperation.id)),
150
+ };
151
+ }),
152
+ };
161
153
  };
162
154
  function reconciliatePubkey(publicKey, initialAccount) {
163
- var _a;
164
- if ((publicKey === null || publicKey === void 0 ? void 0 : publicKey.length) === 64)
155
+ if (publicKey?.length === 64)
165
156
  return publicKey;
166
157
  if (initialAccount) {
167
- if (((_a = initialAccount.xpub) === null || _a === void 0 ? void 0 : _a.length) === 64)
158
+ if (initialAccount.xpub?.length === 64)
168
159
  return initialAccount.xpub;
169
160
  const { xpubOrAddress } = (0, index_1.decodeAccountId)(initialAccount.id);
170
161
  if (xpubOrAddress.length === 64)