@ledgerhq/live-common 21.22.0 → 21.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/lib/account/formatters.d.ts.map +1 -1
  2. package/lib/account/formatters.js +1 -0
  3. package/lib/account/formatters.js.map +1 -1
  4. package/lib/account/support.d.ts.map +1 -1
  5. package/lib/account/support.js +1 -0
  6. package/lib/account/support.js.map +1 -1
  7. package/lib/data/icons/react/index.d.ts +1 -0
  8. package/lib/data/icons/react/index.d.ts.map +1 -1
  9. package/lib/data/icons/react/index.js +4 -2
  10. package/lib/data/icons/react/index.js.map +1 -1
  11. package/lib/data/icons/react/sol.js +4 -2
  12. package/lib/data/icons/react/sol.js.map +1 -1
  13. package/lib/data/icons/react/ssv.d.ts +8 -0
  14. package/lib/data/icons/react/ssv.d.ts.map +1 -0
  15. package/lib/data/icons/react/ssv.js +31 -0
  16. package/lib/data/icons/react/ssv.js.map +1 -0
  17. package/lib/data/icons/reactNative/index.d.ts +1 -0
  18. package/lib/data/icons/reactNative/index.d.ts.map +1 -1
  19. package/lib/data/icons/reactNative/index.js +4 -2
  20. package/lib/data/icons/reactNative/index.js.map +1 -1
  21. package/lib/data/icons/reactNative/sol.js +4 -2
  22. package/lib/data/icons/reactNative/sol.js.map +1 -1
  23. package/lib/data/icons/reactNative/ssv.d.ts +8 -0
  24. package/lib/data/icons/reactNative/ssv.d.ts.map +1 -0
  25. package/lib/data/icons/reactNative/ssv.js +32 -0
  26. package/lib/data/icons/reactNative/ssv.js.map +1 -0
  27. package/lib/derivation.d.ts.map +1 -1
  28. package/lib/derivation.js +0 -3
  29. package/lib/derivation.js.map +1 -1
  30. package/lib/env.d.ts +10 -10
  31. package/lib/env.d.ts.map +1 -1
  32. package/lib/env.js +5 -5
  33. package/lib/env.js.map +1 -1
  34. package/lib/env.react.d.ts +1 -1
  35. package/lib/env.react.d.ts.map +1 -1
  36. package/lib/families/algorand/account.d.ts.map +1 -1
  37. package/lib/families/algorand/account.js +0 -4
  38. package/lib/families/algorand/account.js.map +1 -1
  39. package/lib/families/algorand/api/algodv2.d.ts +5 -0
  40. package/lib/families/algorand/api/algodv2.d.ts.map +1 -0
  41. package/lib/families/algorand/api/algodv2.js +118 -0
  42. package/lib/families/algorand/api/algodv2.js.map +1 -0
  43. package/lib/families/algorand/api/algodv2.types.d.ts +24 -0
  44. package/lib/families/algorand/api/algodv2.types.d.ts.map +1 -0
  45. package/lib/families/algorand/api/algodv2.types.js +3 -0
  46. package/lib/families/algorand/api/algodv2.types.js.map +1 -0
  47. package/lib/families/algorand/api/index.d.ts +5 -0
  48. package/lib/families/algorand/api/index.d.ts.map +1 -0
  49. package/lib/families/algorand/api/index.js +17 -0
  50. package/lib/families/algorand/api/index.js.map +1 -0
  51. package/lib/families/algorand/api/indexer.d.ts +3 -0
  52. package/lib/families/algorand/api/indexer.d.ts.map +1 -0
  53. package/lib/families/algorand/api/indexer.js +134 -0
  54. package/lib/families/algorand/api/indexer.js.map +1 -0
  55. package/lib/families/algorand/api/indexer.types.d.ts +35 -0
  56. package/lib/families/algorand/api/indexer.types.d.ts.map +1 -0
  57. package/lib/families/algorand/api/indexer.types.js +10 -0
  58. package/lib/families/algorand/api/indexer.types.js.map +1 -0
  59. package/lib/families/algorand/bridge/js.d.ts +8 -0
  60. package/lib/families/algorand/bridge/js.d.ts.map +1 -0
  61. package/lib/families/algorand/bridge/js.js +85 -0
  62. package/lib/families/algorand/bridge/js.js.map +1 -0
  63. package/lib/families/algorand/bridge/libcore.d.ts +3 -3
  64. package/lib/families/algorand/bridge/libcore.d.ts.map +1 -1
  65. package/lib/families/algorand/bridge/libcore.js.map +1 -1
  66. package/lib/families/algorand/bridge/mock.d.ts +2 -2
  67. package/lib/families/algorand/bridge/mock.d.ts.map +1 -1
  68. package/lib/families/algorand/bridge/mock.js.map +1 -1
  69. package/lib/families/algorand/buildTransaction.d.ts +8 -0
  70. package/lib/families/algorand/buildTransaction.d.ts.map +1 -0
  71. package/lib/families/algorand/buildTransaction.js +101 -0
  72. package/lib/families/algorand/buildTransaction.js.map +1 -0
  73. package/lib/families/algorand/cli-transaction.js +1 -1
  74. package/lib/families/algorand/cli-transaction.js.map +1 -1
  75. package/lib/families/algorand/deviceTransactionConfig.d.ts +2 -2
  76. package/lib/families/algorand/deviceTransactionConfig.d.ts.map +1 -1
  77. package/lib/families/algorand/deviceTransactionConfig.js +0 -13
  78. package/lib/families/algorand/deviceTransactionConfig.js.map +1 -1
  79. package/lib/families/algorand/hw-getAddress.d.ts.map +1 -1
  80. package/lib/families/algorand/hw-getAddress.js +2 -24
  81. package/lib/families/algorand/hw-getAddress.js.map +1 -1
  82. package/lib/families/algorand/js-broadcast.d.ts +9 -0
  83. package/lib/families/algorand/js-broadcast.d.ts.map +1 -0
  84. package/lib/families/algorand/js-broadcast.js +63 -0
  85. package/lib/families/algorand/js-broadcast.js.map +1 -0
  86. package/lib/families/algorand/js-estimateMaxSpendable.d.ts +9 -0
  87. package/lib/families/algorand/js-estimateMaxSpendable.d.ts.map +1 -0
  88. package/lib/families/algorand/js-estimateMaxSpendable.js +89 -0
  89. package/lib/families/algorand/js-estimateMaxSpendable.js.map +1 -0
  90. package/lib/families/algorand/js-getFeesForTransaction.d.ts +5 -0
  91. package/lib/families/algorand/js-getFeesForTransaction.d.ts.map +1 -0
  92. package/lib/families/algorand/js-getFeesForTransaction.js +69 -0
  93. package/lib/families/algorand/js-getFeesForTransaction.js.map +1 -0
  94. package/lib/families/algorand/js-getTransactionStatus.d.ts +11 -0
  95. package/lib/families/algorand/js-getTransactionStatus.d.ts.map +1 -0
  96. package/lib/families/algorand/js-getTransactionStatus.js +201 -0
  97. package/lib/families/algorand/js-getTransactionStatus.js.map +1 -0
  98. package/lib/families/algorand/js-prepareTransaction.d.ts +5 -0
  99. package/lib/families/algorand/js-prepareTransaction.d.ts.map +1 -0
  100. package/lib/families/algorand/js-prepareTransaction.js +101 -0
  101. package/lib/families/algorand/js-prepareTransaction.js.map +1 -0
  102. package/lib/families/algorand/js-signOperation.d.ts +10 -0
  103. package/lib/families/algorand/js-signOperation.d.ts.map +1 -0
  104. package/lib/families/algorand/js-signOperation.js +164 -0
  105. package/lib/families/algorand/js-signOperation.js.map +1 -0
  106. package/lib/families/algorand/js-synchronization.d.ts +10 -0
  107. package/lib/families/algorand/js-synchronization.d.ts.map +1 -0
  108. package/lib/families/algorand/js-synchronization.js +411 -0
  109. package/lib/families/algorand/js-synchronization.js.map +1 -0
  110. package/lib/families/algorand/libcore-buildTransaction.d.ts +2 -2
  111. package/lib/families/algorand/libcore-buildTransaction.d.ts.map +1 -1
  112. package/lib/families/algorand/libcore-getFeesForTransaction.d.ts +4 -4
  113. package/lib/families/algorand/libcore-getFeesForTransaction.d.ts.map +1 -1
  114. package/lib/families/algorand/libcore-getFeesForTransaction.js +2 -2
  115. package/lib/families/algorand/libcore-getFeesForTransaction.js.map +1 -1
  116. package/lib/families/algorand/libcore-postBuildAccount.d.ts.map +1 -1
  117. package/lib/families/algorand/libcore-postBuildAccount.js +5 -11
  118. package/lib/families/algorand/libcore-postBuildAccount.js.map +1 -1
  119. package/lib/families/algorand/libcore-signOperation.d.ts +2 -2
  120. package/lib/families/algorand/libcore-signOperation.d.ts.map +1 -1
  121. package/lib/families/algorand/libcore-signOperation.js.map +1 -1
  122. package/lib/families/algorand/logic.d.ts +10 -0
  123. package/lib/families/algorand/logic.d.ts.map +1 -1
  124. package/lib/families/algorand/logic.js +79 -1
  125. package/lib/families/algorand/logic.js.map +1 -1
  126. package/lib/families/algorand/mock.d.ts.map +1 -1
  127. package/lib/families/algorand/mock.js +4 -11
  128. package/lib/families/algorand/mock.js.map +1 -1
  129. package/lib/families/algorand/serialization.js +4 -4
  130. package/lib/families/algorand/serialization.js.map +1 -1
  131. package/lib/families/algorand/specs.d.ts +2 -2
  132. package/lib/families/algorand/specs.d.ts.map +1 -1
  133. package/lib/families/algorand/specs.js +8 -16
  134. package/lib/families/algorand/specs.js.map +1 -1
  135. package/lib/families/algorand/speculos-deviceActions.d.ts +2 -2
  136. package/lib/families/algorand/speculos-deviceActions.d.ts.map +1 -1
  137. package/lib/families/algorand/speculos-deviceActions.js +4 -0
  138. package/lib/families/algorand/speculos-deviceActions.js.map +1 -1
  139. package/lib/families/algorand/test-dataset.d.ts +2 -2
  140. package/lib/families/algorand/test-dataset.d.ts.map +1 -1
  141. package/lib/families/algorand/test-dataset.js +1 -2
  142. package/lib/families/algorand/test-dataset.js.map +1 -1
  143. package/lib/families/algorand/tokens.d.ts.map +1 -1
  144. package/lib/families/algorand/tokens.js.map +1 -1
  145. package/lib/families/algorand/transaction.d.ts +5 -5
  146. package/lib/families/algorand/transaction.d.ts.map +1 -1
  147. package/lib/families/algorand/transaction.js.map +1 -1
  148. package/lib/families/algorand/types.d.ts +7 -5
  149. package/lib/families/algorand/types.d.ts.map +1 -1
  150. package/lib/families/algorand/types.js.map +1 -1
  151. package/lib/families/bitcoin/js-prepareTransaction.d.ts.map +1 -1
  152. package/lib/families/bitcoin/js-prepareTransaction.js +3 -2
  153. package/lib/families/bitcoin/js-prepareTransaction.js.map +1 -1
  154. package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
  155. package/lib/families/bitcoin/js-synchronisation.js +13 -14
  156. package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
  157. package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
  158. package/lib/families/bitcoin/wallet-btc/crypto/base.js +30 -22
  159. package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
  160. package/lib/families/bitcoin/wallet-btc/crypto/bip32.d.ts +11 -0
  161. package/lib/families/bitcoin/wallet-btc/crypto/bip32.d.ts.map +1 -0
  162. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js +32 -0
  163. package/lib/families/bitcoin/wallet-btc/crypto/bip32.js.map +1 -0
  164. package/lib/families/bitcoin/wallet-btc/crypto/decred.d.ts.map +1 -1
  165. package/lib/families/bitcoin/wallet-btc/crypto/decred.js +3 -115
  166. package/lib/families/bitcoin/wallet-btc/crypto/decred.js.map +1 -1
  167. package/lib/families/bitcoin/wallet-btc/storage/index.d.ts +24 -8
  168. package/lib/families/bitcoin/wallet-btc/storage/index.d.ts.map +1 -1
  169. package/lib/families/bitcoin/wallet-btc/storage/index.js +114 -128
  170. package/lib/families/bitcoin/wallet-btc/storage/index.js.map +1 -1
  171. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts +8 -7
  172. package/lib/families/bitcoin/wallet-btc/storage/types.d.ts.map +1 -1
  173. package/lib/families/bitcoin/wallet-btc/xpub.d.ts.map +1 -1
  174. package/lib/families/bitcoin/wallet-btc/xpub.js +42 -63
  175. package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
  176. package/lib/families/tezos/bridge/js.d.ts.map +1 -1
  177. package/lib/families/tezos/bridge/js.js +38 -17
  178. package/lib/families/tezos/bridge/js.js.map +1 -1
  179. package/lib/families/tezos/signOperation.d.ts.map +1 -1
  180. package/lib/families/tezos/signOperation.js +9 -0
  181. package/lib/families/tezos/signOperation.js.map +1 -1
  182. package/lib/families/tezos/synchronisation.js +1 -1
  183. package/lib/families/tezos/synchronisation.js.map +1 -1
  184. package/lib/generated/bridge/js.d.ts +4 -0
  185. package/lib/generated/bridge/js.d.ts.map +1 -1
  186. package/lib/generated/bridge/js.js +26 -24
  187. package/lib/generated/bridge/js.js.map +1 -1
  188. package/lib/generated/bridge/libcore.d.ts +1 -1
  189. package/lib/generated/bridge/mock.d.ts +1 -1
  190. package/lib/generated/specs.d.ts +1 -1
  191. package/lib/generated/speculos-deviceActions.d.ts +1 -1
  192. package/lib/generated/test-dataset.d.ts +1 -1
  193. package/lib/generated/transaction.d.ts +3 -3
  194. package/lib/libcore/buildAccount/index.d.ts.map +1 -1
  195. package/lib/libcore/buildAccount/index.js +0 -1
  196. package/lib/libcore/buildAccount/index.js.map +1 -1
  197. package/lib/mock/account.js +21 -21
  198. package/lib/mock/account.js.map +1 -1
  199. package/lib/types/operation.d.ts +1 -1
  200. package/lib/types/operation.d.ts.map +1 -1
  201. package/package.json +4 -3
  202. package/src/__tests__/__snapshots__/all.libcore.ts.snap +7 -114
  203. package/src/account/formatters.ts +1 -0
  204. package/src/account/support.ts +1 -0
  205. package/src/data/icons/react/index.tsx +1 -0
  206. package/src/data/icons/react/sol.tsx +1 -1
  207. package/src/data/icons/react/ssv.tsx +12 -0
  208. package/src/data/icons/reactNative/index.tsx +1 -0
  209. package/src/data/icons/reactNative/sol.tsx +1 -1
  210. package/src/data/icons/reactNative/ssv.tsx +13 -0
  211. package/src/data/icons/svg/SOL.svg +1 -3
  212. package/src/data/icons/svg/SSV.svg +4 -0
  213. package/src/derivation.ts +0 -2
  214. package/src/env.ts +5 -5
  215. package/src/families/algorand/account.ts +0 -9
  216. package/src/families/algorand/api/algodv2.ts +68 -0
  217. package/src/families/algorand/api/algodv2.types.ts +27 -0
  218. package/src/families/algorand/api/index.ts +4 -0
  219. package/src/families/algorand/api/indexer.ts +99 -0
  220. package/src/families/algorand/api/indexer.types.ts +41 -0
  221. package/src/families/algorand/bridge/js.ts +46 -0
  222. package/src/families/algorand/bridge/libcore.ts +4 -4
  223. package/src/families/algorand/bridge/mock.ts +3 -3
  224. package/src/families/algorand/buildTransaction.ts +100 -0
  225. package/src/families/algorand/cli-transaction.ts +1 -1
  226. package/src/families/algorand/deviceTransactionConfig.ts +2 -16
  227. package/src/families/algorand/hw-getAddress.ts +1 -10
  228. package/src/families/algorand/js-broadcast.ts +17 -0
  229. package/src/families/algorand/js-estimateMaxSpendable.ts +51 -0
  230. package/src/families/algorand/js-getFeesForTransaction.ts +25 -0
  231. package/src/families/algorand/js-getTransactionStatus.ts +178 -0
  232. package/src/families/algorand/js-prepareTransaction.ts +42 -0
  233. package/src/families/algorand/js-signOperation.ts +145 -0
  234. package/src/families/algorand/js-synchronization.ts +433 -0
  235. package/src/families/algorand/libcore-buildTransaction.ts +2 -2
  236. package/src/families/algorand/libcore-getFeesForTransaction.ts +4 -4
  237. package/src/families/algorand/libcore-postBuildAccount.ts +2 -7
  238. package/src/families/algorand/libcore-signOperation.ts +2 -2
  239. package/src/families/algorand/logic.ts +47 -0
  240. package/src/families/algorand/mock.ts +2 -12
  241. package/src/families/algorand/serialization.ts +4 -4
  242. package/src/families/algorand/specs.ts +16 -22
  243. package/src/families/algorand/speculos-deviceActions.ts +87 -82
  244. package/src/families/algorand/test-dataset.ts +5 -6
  245. package/src/families/algorand/tokens.ts +1 -0
  246. package/src/families/algorand/transaction.ts +13 -4
  247. package/src/families/algorand/types.ts +10 -5
  248. package/src/families/bitcoin/js-prepareTransaction.ts +3 -2
  249. package/src/families/bitcoin/js-synchronisation.ts +17 -15
  250. package/src/families/bitcoin/wallet-btc/crypto/base.ts +33 -21
  251. package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +36 -0
  252. package/src/families/bitcoin/wallet-btc/crypto/decred.ts +3 -155
  253. package/src/families/bitcoin/wallet-btc/storage/index.ts +23 -11
  254. package/src/families/bitcoin/wallet-btc/storage/types.ts +8 -10
  255. package/src/families/bitcoin/wallet-btc/xpub.ts +14 -10
  256. package/src/families/tezos/bridge/js.ts +43 -18
  257. package/src/families/tezos/signOperation.ts +12 -0
  258. package/src/families/tezos/synchronisation.ts +1 -1
  259. package/src/generated/bridge/js.ts +3 -0
  260. package/src/libcore/buildAccount/index.ts +1 -2
  261. package/src/mock/account.ts +27 -27
  262. package/src/types/operation.ts +9 -4
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,8 +46,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
46
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
47
  }
37
48
  };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
38
52
  exports.__esModule = true;
39
53
  var lodash_1 = require("lodash");
54
+ var base_1 = __importDefault(require("../crypto/base"));
40
55
  // a mock storage class that just use js objects
41
56
  // sql.js would be perfect for the job
42
57
  var BitcoinLikeStorage = /** @class */ (function () {
@@ -46,172 +61,143 @@ var BitcoinLikeStorage = /** @class */ (function () {
46
61
  this.primaryIndex = {};
47
62
  // accounting
48
63
  this.unspentUtxos = {};
64
+ this.addressCache = {};
49
65
  // only needed to handle the case when the input
50
66
  // is seen before the output (typically explorer
51
67
  // returning unordered tx within the same block)
52
68
  this.spentUtxos = {};
53
69
  }
54
70
  BitcoinLikeStorage.prototype.getLastTx = function (txFilter) {
55
- return __awaiter(this, void 0, void 0, function () {
56
- var tx;
57
- return __generator(this, function (_a) {
58
- tx = (0, lodash_1.findLast)(this.txs, function (t) {
59
- return ((!(0, lodash_1.has)(txFilter, "account") || t.account === txFilter.account) &&
60
- (!(0, lodash_1.has)(txFilter, "index") || t.index === txFilter.index) &&
61
- (!(0, lodash_1.has)(txFilter, "address") || t.address === txFilter.address) &&
62
- (!(0, lodash_1.has)(txFilter, "confirmed") ||
63
- (txFilter.confirmed && t.block) ||
64
- (!txFilter.confirmed && !t.block)));
65
- });
66
- return [2 /*return*/, tx];
67
- });
71
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
72
+ // @ts-ignore
73
+ var tx = (0, lodash_1.findLast)(this.txs, function (t) {
74
+ return ((!(0, lodash_1.has)(txFilter, "account") || t.account === txFilter.account) &&
75
+ (!(0, lodash_1.has)(txFilter, "index") || t.index === txFilter.index) &&
76
+ (!(0, lodash_1.has)(txFilter, "address") || t.address === txFilter.address) &&
77
+ (!(0, lodash_1.has)(txFilter, "confirmed") ||
78
+ (txFilter.confirmed && t.block) ||
79
+ (!txFilter.confirmed && !t.block)));
68
80
  });
81
+ return tx;
69
82
  };
70
83
  BitcoinLikeStorage.prototype.getTx = function (address, hash) {
71
- return __awaiter(this, void 0, void 0, function () {
72
- var index;
73
- return __generator(this, function (_a) {
74
- index = "".concat(address, "-").concat(hash);
75
- return [2 /*return*/, this.txs[this.primaryIndex[index]]];
76
- });
77
- });
84
+ var index = "".concat(address, "-").concat(hash);
85
+ return this.txs[this.primaryIndex[index]];
78
86
  };
79
87
  // TODO: only expose unspentUtxos
80
88
  BitcoinLikeStorage.prototype.getAddressUnspentUtxos = function (address) {
81
- return __awaiter(this, void 0, void 0, function () {
82
- var indexAddress;
83
- return __generator(this, function (_a) {
84
- indexAddress = address.address;
85
- return [2 /*return*/, this.unspentUtxos[indexAddress]];
86
- });
87
- });
89
+ var indexAddress = address.address;
90
+ return this.unspentUtxos[indexAddress];
88
91
  };
89
92
  BitcoinLikeStorage.prototype.appendTxs = function (txs) {
90
- return __awaiter(this, void 0, void 0, function () {
91
- var lastLength;
92
- var _this = this;
93
- return __generator(this, function (_a) {
94
- lastLength = this.txs.length;
95
- txs.forEach(function (tx) {
96
- var indexAddress = tx.address;
97
- var index = "".concat(indexAddress, "-").concat(tx.hash);
98
- // we reject already seen tx
99
- if (_this.txs[_this.primaryIndex[index]]) {
100
- return;
101
- }
102
- _this.primaryIndex[index] = _this.txs.push(tx) - 1;
103
- _this.unspentUtxos[indexAddress] = _this.unspentUtxos[indexAddress] || [];
104
- _this.spentUtxos[indexAddress] = _this.spentUtxos[indexAddress] || [];
105
- tx.outputs.forEach(function (output) {
106
- if (output.address === tx.address) {
107
- _this.unspentUtxos[indexAddress].push(output);
108
- }
109
- });
110
- tx.inputs.forEach(function (input) {
111
- if (input.address === tx.address) {
112
- _this.spentUtxos[indexAddress].push(input);
113
- }
114
- });
115
- _this.unspentUtxos[indexAddress] = _this.unspentUtxos[indexAddress].filter(function (output) {
116
- var matchIndex = (0, lodash_1.findIndex)(_this.spentUtxos[indexAddress], function (input) {
117
- return input.output_hash === output.output_hash &&
118
- input.output_index === output.output_index;
119
- });
120
- if (matchIndex > -1) {
121
- _this.spentUtxos[indexAddress].splice(matchIndex, 1);
122
- return false;
123
- }
124
- return true;
125
- });
93
+ var _this = this;
94
+ var lastLength = this.txs.length;
95
+ txs.forEach(function (tx) {
96
+ var indexAddress = tx.address;
97
+ var index = "".concat(indexAddress, "-").concat(tx.hash);
98
+ // we reject already seen tx
99
+ if (_this.txs[_this.primaryIndex[index]]) {
100
+ return;
101
+ }
102
+ _this.primaryIndex[index] = _this.txs.push(tx) - 1;
103
+ _this.unspentUtxos[indexAddress] = _this.unspentUtxos[indexAddress] || [];
104
+ _this.spentUtxos[indexAddress] = _this.spentUtxos[indexAddress] || [];
105
+ tx.outputs.forEach(function (output) {
106
+ if (output.address === tx.address) {
107
+ _this.unspentUtxos[indexAddress].push(output);
108
+ }
109
+ });
110
+ tx.inputs.forEach(function (input) {
111
+ if (input.address === tx.address) {
112
+ _this.spentUtxos[indexAddress].push(input);
113
+ }
114
+ });
115
+ _this.unspentUtxos[indexAddress] = _this.unspentUtxos[indexAddress].filter(function (output) {
116
+ var matchIndex = (0, lodash_1.findIndex)(_this.spentUtxos[indexAddress], function (input) {
117
+ return input.output_hash === output.output_hash &&
118
+ input.output_index === output.output_index;
126
119
  });
127
- return [2 /*return*/, this.txs.length - lastLength];
120
+ if (matchIndex > -1) {
121
+ _this.spentUtxos[indexAddress].splice(matchIndex, 1);
122
+ return false;
123
+ }
124
+ return true;
128
125
  });
129
126
  });
127
+ return this.txs.length - lastLength;
130
128
  };
131
129
  BitcoinLikeStorage.prototype.getUniquesAddresses = function (addressesFilter) {
132
- return __awaiter(this, void 0, void 0, function () {
133
- return __generator(this, function (_a) {
134
- // TODO: to speed up, create more useful indexes in appendTxs
135
- return [2 /*return*/, (0, lodash_1.uniqBy)(
136
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
137
- // @ts-ignore
138
- (0, lodash_1.filter)(this.txs, addressesFilter).map(function (tx) { return ({
139
- address: tx.address,
140
- account: tx.account,
141
- index: tx.index
142
- }); }), "address")];
143
- });
144
- });
130
+ // TODO: to speed up, create more useful indexes in appendTxs
131
+ return (0, lodash_1.uniqBy)(
132
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
133
+ // @ts-ignore
134
+ (0, lodash_1.filter)(this.txs, addressesFilter).map(function (tx) { return ({
135
+ address: tx.address,
136
+ account: tx.account,
137
+ index: tx.index
138
+ }); }), "address");
145
139
  };
146
140
  BitcoinLikeStorage.prototype.removeTxs = function (txsFilter) {
147
- return __awaiter(this, void 0, void 0, function () {
148
- var newTxs;
149
- var _this = this;
150
- return __generator(this, function (_a) {
151
- newTxs = [];
152
- this.primaryIndex = {};
153
- this.txs.forEach(function (tx) {
154
- // clean
155
- var indexAddress = tx.address;
156
- var index = "".concat(indexAddress, "-").concat(tx.hash);
157
- if (tx.account !== txsFilter.account || tx.index !== txsFilter.index) {
158
- _this.primaryIndex[index] = newTxs.push(tx) - 1;
159
- return;
160
- }
161
- delete _this.unspentUtxos[indexAddress];
162
- delete _this.spentUtxos[indexAddress];
163
- });
164
- this.txs = newTxs;
165
- return [2 /*return*/];
166
- });
141
+ var _this = this;
142
+ var newTxs = [];
143
+ this.primaryIndex = {};
144
+ this.txs.forEach(function (tx) {
145
+ // clean
146
+ var indexAddress = tx.address;
147
+ var index = "".concat(indexAddress, "-").concat(tx.hash);
148
+ if (tx.account !== txsFilter.account || tx.index !== txsFilter.index) {
149
+ _this.primaryIndex[index] = newTxs.push(tx) - 1;
150
+ return;
151
+ }
152
+ delete _this.unspentUtxos[indexAddress];
153
+ delete _this.spentUtxos[indexAddress];
167
154
  });
155
+ this.txs = newTxs;
168
156
  };
169
157
  // We are a bit ugly because we can't rely undo unspentUTXO
170
158
  // So we clean the address and rebuild without the pendings
171
159
  BitcoinLikeStorage.prototype.removePendingTxs = function (txsFilter) {
172
- return __awaiter(this, void 0, void 0, function () {
173
- var newTxs, txsToReAdd;
174
- var _this = this;
175
- return __generator(this, function (_a) {
176
- switch (_a.label) {
177
- case 0:
178
- newTxs = [];
179
- txsToReAdd = [];
180
- this.primaryIndex = {};
181
- this.txs.forEach(function (tx) {
182
- // clean
183
- var indexAddress = tx.address;
184
- var index = "".concat(indexAddress, "-").concat(tx.hash);
185
- if (tx.account !== txsFilter.account || tx.index !== txsFilter.index) {
186
- _this.primaryIndex[index] = newTxs.push(tx) - 1;
187
- return;
188
- }
189
- if (tx.block) {
190
- txsToReAdd.push(tx);
191
- }
192
- delete _this.unspentUtxos[indexAddress];
193
- delete _this.spentUtxos[indexAddress];
194
- });
195
- this.txs = newTxs;
196
- return [4 /*yield*/, this.appendTxs(txsToReAdd)];
197
- case 1:
198
- _a.sent();
199
- return [2 /*return*/];
200
- }
201
- });
160
+ var _this = this;
161
+ var newTxs = [];
162
+ var txsToReAdd = [];
163
+ this.primaryIndex = {};
164
+ this.txs.forEach(function (tx) {
165
+ // clean
166
+ var indexAddress = tx.address;
167
+ var index = "".concat(indexAddress, "-").concat(tx.hash);
168
+ if (tx.account !== txsFilter.account || tx.index !== txsFilter.index) {
169
+ _this.primaryIndex[index] = newTxs.push(tx) - 1;
170
+ return;
171
+ }
172
+ if (tx.block) {
173
+ txsToReAdd.push(tx);
174
+ }
175
+ delete _this.unspentUtxos[indexAddress];
176
+ delete _this.spentUtxos[indexAddress];
202
177
  });
178
+ this.txs = newTxs;
179
+ this.appendTxs(txsToReAdd);
180
+ };
181
+ BitcoinLikeStorage.prototype.addAddress = function (key, address) {
182
+ if (!this.addressCache) {
183
+ this.addressCache = {};
184
+ }
185
+ this.addressCache[key] = address;
203
186
  };
204
187
  BitcoinLikeStorage.prototype.exportSync = function () {
205
188
  return {
206
189
  txs: this.txs,
207
190
  primaryIndex: this.primaryIndex,
208
- unspentUtxos: this.unspentUtxos
191
+ unspentUtxos: this.unspentUtxos,
192
+ addressCache: this.addressCache
209
193
  };
210
194
  };
211
195
  BitcoinLikeStorage.prototype.loadSync = function (data) {
212
196
  this.txs = data.txs;
213
197
  this.primaryIndex = data.primaryIndex;
214
198
  this.unspentUtxos = data.unspentUtxos;
199
+ this.addressCache = data.addressCache;
200
+ base_1["default"].addressCache = __assign(__assign({}, base_1["default"].addressCache), this.addressCache);
215
201
  };
216
202
  BitcoinLikeStorage.prototype["export"] = function () {
217
203
  return __awaiter(this, void 0, void 0, function () {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/storage/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/storage/index.ts"],"names":[],"mappings":"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"}
@@ -36,27 +36,28 @@ export interface Address {
36
36
  address: string;
37
37
  }
38
38
  export interface IStorage {
39
- appendTxs(txs: TX[]): Promise<number>;
40
- getAddressUnspentUtxos(address: Address): Promise<Output[]>;
39
+ appendTxs(txs: TX[]): number;
40
+ getAddressUnspentUtxos(address: Address): Output[];
41
41
  getLastTx(txFilter: {
42
42
  account?: number;
43
43
  index?: number;
44
44
  address?: string;
45
45
  confirmed?: boolean;
46
- }): Promise<TX | undefined>;
47
- getTx(address: string, hash: string): Promise<TX | undefined>;
46
+ }): TX | undefined;
47
+ getTx(address: string, hash: string): TX | undefined;
48
48
  getUniquesAddresses(addressesFilter: {
49
49
  account?: number;
50
50
  index?: number;
51
- }): Promise<Address[]>;
51
+ }): Address[];
52
52
  removeTxs(txsFilter: {
53
53
  account: number;
54
54
  index: number;
55
- }): Promise<void>;
55
+ }): void;
56
56
  removePendingTxs(txsFilter: {
57
57
  account: number;
58
58
  index: number;
59
- }): Promise<void>;
59
+ }): void;
60
+ addAddress(key: string, address: string): void;
60
61
  export(): Promise<unknown>;
61
62
  load(data: unknown): Promise<void>;
62
63
  exportSync(): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/storage/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,EAAE;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5D,SAAS,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAC9D,mBAAmB,CAAC,eAAe,EAAE;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvB,SAAS,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,gBAAgB,CAAC,SAAS,EAAE;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/families/bitcoin/wallet-btc/storage/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,EAAE;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAC7B,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IACnD,SAAS,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,EAAE,GAAG,SAAS,CAAC;IACnB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;IACrD,mBAAmB,CAAC,eAAe,EAAE;QACnC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,EAAE,CAAC;IACd,SAAS,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,gBAAgB,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"xpub.d.ts","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;AAGjE,cAAM,IAAK,SAAQ,YAAY;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAElB,QAAQ,EAAE,SAAS,CAAC;IAEpB,MAAM,EAAE,OAAO,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAC;IAEb,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,iBAAiB,EAAE,MAAM,CAAC;IAI1B,gBAAgB,EAAE,MAAM,CAA2B;IAEnD,GAAG,SAAM;IAET,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IAGzC,gBAAgB,SAAQ;gBAEZ,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,cAAc,GACf,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;KACxB;IAWK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAuD1C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOlD,WAAW,CAAC,OAAO,EAAE,MAAM;IAmC3B,IAAI;IA0BJ,cAAc;IAQd,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAQjC,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAWlC,gBAAgB;IAKhB,mBAAmB,CAAC,OAAO,EAAE,MAAM;IAKnC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAwB1C,OAAO,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,mBAAmB,EAAE,eAAe,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyGtB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAK5B,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE;IAa9C,WAAW,CAAC,IAAI,EAAE,GAAG;IAMrB,UAAU,CAAC,IAAI,EAAE,GAAG;IAMpB,gBAAgB,CAAC,IAAI,EAAE,GAAG;IAK1B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/C,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;IA0BT,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CA4BvD;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"xpub.d.ts","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAM,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;AAGjE,cAAM,IAAK,SAAQ,YAAY;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAElB,QAAQ,EAAE,SAAS,CAAC;IAEpB,MAAM,EAAE,OAAO,CAAC;IAEhB,IAAI,EAAE,MAAM,CAAC;IAEb,cAAc,EAAE,MAAM,CAAC;IAEvB,YAAY,EAAE,MAAM,CAAC;IAErB,iBAAiB,EAAE,MAAM,CAAC;IAI1B,gBAAgB,EAAE,MAAM,CAA2B;IAEnD,GAAG,SAAM;IAET,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAM;IAGzC,gBAAgB,SAAQ;gBAEZ,EACV,OAAO,EACP,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,cAAc,GACf,EAAE;QACD,OAAO,EAAE,QAAQ,CAAC;QAClB,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;KACxB;IAWK,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IA2D1C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAOlD,WAAW,CAAC,OAAO,EAAE,MAAM;IAmC3B,IAAI;IA0BJ,cAAc;IAQd,iBAAiB,CAAC,OAAO,EAAE,MAAM;IAQjC,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAWlC,gBAAgB;IAKhB,mBAAmB,CAAC,OAAO,EAAE,MAAM;IAKnC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAwB1C,OAAO,CAAC,MAAM,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,OAAO,CAAC;QACvB,mBAAmB,EAAE,eAAe,CAAC;QACrC,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,eAAe,CAAC;IAyGtB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAK5B,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE;IAa9C,WAAW,CAAC,IAAI,EAAE,GAAG;IAMrB,UAAU,CAAC,IAAI,EAAE,GAAG;IAMpB,gBAAgB,CAAC,IAAI,EAAE,GAAG;IAK1B,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB/C,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;IA0BT,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CA4BvD;AAED,eAAe,IAAI,CAAC"}
@@ -117,6 +117,7 @@ var Xpub = /** @class */ (function (_super) {
117
117
  switch (_a.label) {
118
118
  case 0:
119
119
  address = this.crypto.getAddress(this.derivationMode, this.xpub, account, index);
120
+ this.storage.addAddress("".concat(this.derivationMode, "-").concat(this.xpub, "-").concat(account, "-").concat(index), address);
120
121
  return [4 /*yield*/, this.whenSynced("address", address)];
121
122
  case 1:
122
123
  _a.sent();
@@ -131,40 +132,34 @@ var Xpub = /** @class */ (function (_super) {
131
132
  total = 0;
132
133
  _a.label = 2;
133
134
  case 2:
134
- _a.trys.push([2, 8, , 9]);
135
+ _a.trys.push([2, 5, , 6]);
135
136
  // TODO perf: bad : looping in the tx array
136
137
  return [4 /*yield*/, this.checkAddressReorg(account, index)];
137
138
  case 3:
138
139
  // TODO perf: bad : looping in the tx array
139
140
  _a.sent();
140
- return [4 /*yield*/, this.storage.getLastTx({
141
- confirmed: false,
142
- account: account,
143
- index: index
144
- })];
141
+ hasPendings = !!this.storage.getLastTx({
142
+ confirmed: false,
143
+ account: account,
144
+ index: index
145
+ });
146
+ if (hasPendings) {
147
+ this.storage.removePendingTxs({ account: account, index: index });
148
+ }
149
+ return [4 /*yield*/, this.fetchHydrateAndStoreNewTxs(address, account, index)];
145
150
  case 4:
146
- hasPendings = !!(_a.sent());
147
- if (!hasPendings) return [3 /*break*/, 6];
148
- return [4 /*yield*/, this.storage.removePendingTxs({ account: account, index: index })];
149
- case 5:
150
- _a.sent();
151
- _a.label = 6;
152
- case 6: return [4 /*yield*/, this.fetchHydrateAndStoreNewTxs(address, account, index)];
153
- case 7:
154
151
  total = _a.sent();
155
- return [3 /*break*/, 9];
156
- case 8:
152
+ return [3 /*break*/, 6];
153
+ case 5:
157
154
  e_1 = _a.sent();
158
155
  this.emitSyncedFailed(data);
159
156
  throw e_1;
160
- case 9:
157
+ case 6:
161
158
  this.emitSynced(__assign(__assign({}, data), { total: total }));
162
- return [4 /*yield*/, this.storage.getLastTx({
163
- account: account,
164
- index: index
165
- })];
166
- case 10:
167
- lastTx = _a.sent();
159
+ lastTx = this.storage.getLastTx({
160
+ account: account,
161
+ index: index
162
+ });
168
163
  if (account === 0 && lastTx) {
169
164
  this.freshAddressIndex = Math.max(this.freshAddressIndex, index + 1);
170
165
  }
@@ -312,9 +307,7 @@ var Xpub = /** @class */ (function (_super) {
312
307
  case 0: return [4 /*yield*/, this.whenSynced("address", address.address)];
313
308
  case 1:
314
309
  _a.sent();
315
- return [4 /*yield*/, this.storage.getAddressUnspentUtxos(address)];
316
- case 2:
317
- unspentUtxos = _a.sent();
310
+ unspentUtxos = this.storage.getAddressUnspentUtxos(address);
318
311
  return [2 /*return*/, unspentUtxos.reduce(function (total, _a) {
319
312
  var value = _a.value;
320
313
  return total.plus(value);
@@ -516,40 +509,33 @@ var Xpub = /** @class */ (function (_super) {
516
509
  };
517
510
  Xpub.prototype.fetchHydrateAndStoreNewTxs = function (address, account, index) {
518
511
  return __awaiter(this, void 0, void 0, function () {
519
- var pendingTxs, txs, inserted, lastTx, _a, _b;
520
- return __generator(this, function (_c) {
521
- switch (_c.label) {
512
+ var pendingTxs, txs, inserted, lastTx;
513
+ return __generator(this, function (_a) {
514
+ switch (_a.label) {
522
515
  case 0:
523
516
  pendingTxs = [];
524
517
  txs = [];
525
518
  inserted = 0;
526
- _c.label = 1;
527
- case 1: return [4 /*yield*/, this.storage.getLastTx({
519
+ _a.label = 1;
520
+ case 1:
521
+ lastTx = this.storage.getLastTx({
528
522
  account: account,
529
523
  index: index,
530
524
  confirmed: true
531
- })];
532
- case 2:
533
- lastTx = _c.sent();
525
+ });
534
526
  return [4 /*yield*/, this.explorer.getAddressTxsSinceLastTxBlock(this.txsSyncArraySize, { address: address, account: account, index: index }, lastTx)];
535
- case 3:
536
- txs = _c.sent();
527
+ case 2:
528
+ txs = _a.sent();
537
529
  if (pendingTxs.length === 0) {
538
530
  pendingTxs = txs.filter(function (tx) { return !tx.block; });
539
531
  }
540
- _a = inserted;
541
- return [4 /*yield*/, this.storage.appendTxs(txs.filter(function (tx) { return tx.block; }))];
542
- case 4:
543
- inserted = _a + _c.sent(); // only insert not pending tx
544
- _c.label = 5;
545
- case 5:
532
+ inserted += this.storage.appendTxs(txs.filter(function (tx) { return tx.block; })); // only insert not pending tx
533
+ _a.label = 3;
534
+ case 3:
546
535
  if (txs.length - pendingTxs.length >= this.txsSyncArraySize) return [3 /*break*/, 1];
547
- _c.label = 6;
548
- case 6:
549
- _b = inserted;
550
- return [4 /*yield*/, this.storage.appendTxs(pendingTxs)];
551
- case 7:
552
- inserted = _b + _c.sent();
536
+ _a.label = 4;
537
+ case 4:
538
+ inserted += this.storage.appendTxs(pendingTxs);
553
539
  return [2 /*return*/, inserted];
554
540
  }
555
541
  });
@@ -560,18 +546,17 @@ var Xpub = /** @class */ (function (_super) {
560
546
  var lastTx, block;
561
547
  return __generator(this, function (_a) {
562
548
  switch (_a.label) {
563
- case 0: return [4 /*yield*/, this.storage.getLastTx({
549
+ case 0:
550
+ lastTx = this.storage.getLastTx({
564
551
  account: account,
565
552
  index: index,
566
553
  confirmed: true
567
- })];
568
- case 1:
569
- lastTx = _a.sent();
554
+ });
570
555
  if (!lastTx) {
571
556
  return [2 /*return*/];
572
557
  }
573
558
  return [4 /*yield*/, this.explorer.getBlockByHeight(lastTx.block.height)];
574
- case 2:
559
+ case 1:
575
560
  block = _a.sent();
576
561
  // all good the block is valid
577
562
  if (block && block.hash === lastTx.block.hash) {
@@ -581,16 +566,10 @@ var Xpub = /** @class */ (function (_super) {
581
566
  // for that address
582
567
  // TODO: delete only everything for this (address, block)
583
568
  // but need to think if its possible with current storage implem
584
- return [4 /*yield*/, this.storage.removeTxs({
585
- account: account,
586
- index: index
587
- })];
588
- case 3:
589
- // in this case the block is not valid so we delete everything
590
- // for that address
591
- // TODO: delete only everything for this (address, block)
592
- // but need to think if its possible with current storage implem
593
- _a.sent();
569
+ this.storage.removeTxs({
570
+ account: account,
571
+ index: index
572
+ });
594
573
  return [2 /*return*/];
595
574
  }
596
575
  });
@@ -1 +1 @@
1
- {"version":3,"file":"xpub.js","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xpub.js","sourceRoot":"","sources":["../../../../src/families/bitcoin/wallet-btc/xpub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4C;AAC5C,8DAAqC;AAErC,sEAAgD;AAIhD,6CAAiC;AAGjC,qEAAqE;AACrE;IAAmB,wBAAY;IA0B7B,cAAY,EAYX;YAXC,OAAO,aAAA,EACP,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,cAAc,oBAAA;QALhB,YAaE,iBAAO,SAQR;QAhCD,kHAAkH;QAClH,uEAAuE;QACvE,sBAAgB,GAAW,MAAM,CAAC,gBAAgB,CAAC;QAEnD,SAAG,GAAG,EAAE,CAAC;QAET,aAAO,GAA+B,EAAE,CAAC;QAEzC,8FAA8F;QAC9F,sBAAgB,GAAG,IAAI,CAAC;QAgBtB,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;;IAC7B,CAAC;IAEK,0BAAW,GAAjB,UAAkB,OAAe,EAAE,KAAa;;;;;;wBACxC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACpC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,KAAK,CACN,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,UAAU,CACrB,UAAG,IAAI,CAAC,cAAc,cAAI,IAAI,CAAC,IAAI,cAAI,OAAO,cAAI,KAAK,CAAE,EACzD,OAAO,CACR,CAAC;wBACF,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;wBAEpC,IAAI,GAAG;4BACX,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,OAAO,SAAA;yBACR,CAAC;wBAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAInB,KAAK,GAAG,CAAC,CAAC;;;;wBAEZ,2CAA2C;wBAC3C,qBAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAD5C,2CAA2C;wBAC3C,SAA4C,CAAC;wBAIvC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC3C,SAAS,EAAE,KAAK;4BAChB,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,IAAI,WAAW,EAAE;4BACf,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;yBACnD;wBACO,qBAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;wBAAtE,KAAK,GAAG,SAA8D,CAAC;;;;wBAEvE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBAC5B,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,uBAAM,IAAI,KAAE,KAAK,OAAA,IAAG,CAAC;wBAE9B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,IAAI,OAAO,KAAK,CAAC,IAAI,MAAM,EAAE;4BAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;yBACtE;wBACD,sBAAO,CAAC,CAAC,MAAM,EAAC;;;;KACjB;IAEK,kCAAmB,GAAzB,UAA0B,OAAe,EAAE,KAAa;;;;;;4BAC7B,qBAAM,OAAO,CAAC,GAAG,CACxC,IAAA,cAAK,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,GAAG,IAAK,OAAA,KAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,EAAtC,CAAsC,CAAC,CACxE,EAAA;;wBAFK,gBAAgB,GAAG,SAExB;wBACD,sBAAO,IAAA,aAAI,EAAC,gBAAgB,EAAE,UAAC,MAAM,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,EAAC;;;;KACrD;IAEK,0BAAW,GAAjB,UAAkB,OAAe;;;;;4BAC/B,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAErD,IAAI,CAAC,WAAW,CAAC;4BACf,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;yBACR,CAAC,CAAC;wBAEC,KAAK,GAAG,CAAC,CAAC;;;;;4BAIL,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAA;;6BAA9C,SAA8C;wBACnD,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;;;;;wBAGpB,IAAI,CAAC,gBAAgB,CAAC;4BACpB,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;yBACR,CAAC,CAAC;wBACH,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,CAAC;4BACd,IAAI,EAAE,SAAS;4BACf,GAAG,EAAE,OAAO;4BACZ,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;wBACH,sBAAO,KAAK,EAAC;;;;KACd;IAED,sCAAsC;IAChC,mBAAI,GAAV;;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAClC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;wBACvB,OAAO,GAAG,CAAC,CAAC;;;;;;wBAGP,KAAA,OAAO,GAAG,CAAC,CAAA;iCAAX,wBAAW;wBAAK,qBAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAA;;wBAAhC,KAAA,CAAC,SAA+B,CAAC,CAAA;;;;wBACrD,2FAA2F;wBAC3F,OAAO,IAAI,CAAC,CAAC;;;;;wBAGf,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvC,MAAM,GAAC,CAAC;;wBAGV,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;wBAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CACxC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,CAAC,EACD,IAAI,CAAC,iBAAiB,CACvB,CAAC;wBACF,sBAAO,OAAO,EAAC;;;;KAChB;IAEK,6BAAc,GAApB;;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAEX,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAAzC,SAAS,GAAG,SAA6B;wBAE/C,sBAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC;;;;KAC5C;IAEK,gCAAiB,GAAvB,UAAwB,OAAe;;;;;4BACrC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAEnC,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAA;;wBAAnD,SAAS,GAAG,SAAuC;wBAEzD,sBAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAC;;;;KAC5C;IAEK,gCAAiB,GAAvB,UAAwB,OAAgB;;;;;4BACtC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAAjD,SAAiD,CAAC;wBAE5C,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;wBAElE,sBAAO,YAAY,CAAC,MAAM,CACxB,UAAC,KAAK,EAAE,EAAS;oCAAP,KAAK,WAAA;gCAAO,OAAA,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;4BAAjB,CAAiB,EACvC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,EAAC;;;;KACH;IAEK,+BAAgB,GAAtB;;;;4BACE,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAC7B,sBAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAC;;;;KAC7C;IAEK,kCAAmB,GAAzB,UAA0B,OAAe;;;;4BACvC,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBACrD,sBAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,SAAA,EAAE,CAAC,EAAC;;;;KACtD;IAEK,4BAAa,GAAnB,UAAoB,OAAe,EAAE,GAAW;;;;;4BAC9C,qBAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAA;;wBAApD,SAAoD,CAAC;wBAE5B,qBAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAA;;wBAA1D,gBAAgB,GAAG,SAAuC;wBAC1D,SAAS,GAAG,CAAC,IAAA,cAAK,EAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;wBAE5E,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;4BACpB,KAAK,GAAG,CAAC,CAAC;yBACX;6BAAM;4BACL,KAAK,GAAG,SAAS,GAAG,GAAG,CAAC;yBACzB;wBACK,OAAO,GAAY;4BACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAC7B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,KAAK,CACN;4BACD,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC;wBACF,sBAAO,OAAO,EAAC;;;;KAChB;IAEK,sBAAO,GAAb,UAAc,MAOb;;;;;;4BACC,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAA;;wBAA5B,SAA4B,CAAC;wBAEvB,OAAO,GAAiB,EAAE,CAAC;wBAM3B,sBAAsB,GAAG;4BAC7B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC;4BACtD,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,OAAO,EAAE,MAAM,CAAC,WAAW;4BAC3B,QAAQ,EAAE,KAAK;yBAChB,CAAC;wBACF,OAAO,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;4BAC7D,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM,EAAE,sBAAsB,CAAC,MAAM;gCACrC,KAAK,EAAE,IAAI,yBAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;gCAC3C,OAAO,EAAE,MAAM,CAAC,WAAW;gCAC3B,QAAQ,EAAE,KAAK;6BAChB,CAAC,CAAC;4BACH,sBAAsB,CAAC,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAC/D,IAAI,CAAC,gBAAgB,CACtB,CAAC;yBACH;wBAED,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;yBACtC;wBAQG,qBAAM,MAAM,CAAC,mBAAmB,CAAC,uBAAuB,CAC1D,IAAI,EACJ,OAAO,EACP,MAAM,CAAC,UAAU,CAClB,EAAA;;wBATK,KAKF,SAIH,EARa,KAAK,gBAAA,EACH,mBAAmB,kBAAA,EACjC,GAAG,SAAA,EACH,gBAAgB,sBAAA;wBAOH,qBAAM,OAAO,CAAC,GAAG,CAC9B,mBAAmB,CAAC,GAAG,CAAC,UAAC,WAAW;gCAClC,OAAA,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC;4BAA/C,CAA+C,CAChD,CACF,EAAA;;wBAJK,MAAM,GAAG,SAId;wBACW,qBAAM,OAAO,CAAC,GAAG,CAC3B,mBAAmB,CAAC,GAAG,CAAC,UAAC,WAAW;gCAClC,OAAA,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;4BAAhE,CAAgE,CACjE,CACF,EAAA;;wBAJK,GAAG,GAAG,SAIX;wBAEK,MAAM,GAAgB,mBAAmB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;4BAC9D,OAAO;gCACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gCACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gCAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gCAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC1B,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACG,qBAAqB,GAAuB,mBAAmB,CAAC,GAAG;wBACvE,6DAA6D;wBAC7D,aAAa;wBACb,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAtC,CAAsC,CACxD,CAAC;wBAEI,MAAM,GAAG,KAAK,CAAC,aAAa,CAChC,mBAAmB,CAAC,MAAM,EAC1B,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC,EAC7B,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,cAAc,CACpB,CAAC;wBACI,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;wBAChE,6EAA6E;wBAC7E,IACE,gBAAgB;4BAChB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,EAClD;4BACA,OAAO,CAAC,IAAI,CAAC;gCACX,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;gCAChE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;gCAC5C,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;gCACrC,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC;yBACJ;wBAEK,YAAY,GAAc,OAAO,CAAC,MAAM,CAC5C,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAC7B,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,CAAC;wBAEF,sBAAO;gCACL,MAAM,QAAA;gCACN,qBAAqB,uBAAA;gCACrB,OAAO,SAAA;gCACP,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;gCACzC,aAAa,EAAE,MAAM,CAAC,aAAa;6BACpC,EAAC;;;;KACH;IAEK,0BAAW,GAAjB,UAAkB,QAAgB;;;gBAChC,sBAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC;;;KAC1C;IAED,WAAW;IACL,kCAAmB,GAAzB,UAA0B,SAAoB;;;;;;4BAC3B,qBAAM,OAAO,CAAC,GAAG,CAChC,SAAS,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAA/B,CAA+B,CAAC,CAC5D,EAAA;;wBAFK,QAAQ,GAAG,SAEhB;wBAED,sBAAO,QAAQ,CAAC,MAAM,CACpB,UAAC,KAAK,EAAE,OAAO,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAnB,CAAmB,EACvC,IAAI,yBAAS,CAAC,CAAC,CAAC,CACjB,EAAC;;;;KACH;IAED,qDAAqD;IACrD,8DAA8D;IAC9D,0BAAW,GAAX,UAAY,IAAS;QACnB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,IAAI,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,8DAA8D;IAC9D,yBAAU,GAAV,UAAW,IAAS;QAClB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,8DAA8D;IAC9D,+BAAgB,GAAhB,UAAiB,IAAS;QACxB,IAAI,CAAC,OAAO,CAAC,UAAG,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,GAAG,CAAE,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,yBAAU,GAAV,UAAW,IAAY,EAAE,GAAY;QAArC,iBAmBC;QAlBC,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACzB,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,UAAG,IAAI,cAAI,GAAG,CAAE,CAAC,EAAE;gBACnC,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,8DAA8D;gBAC9D,IAAM,SAAO,GAAG,UAAC,GAAQ;oBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;wBACxC,6DAA6D;wBAC7D,aAAa;wBACb,KAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;wBAC5B,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC;gBACF,6DAA6D;gBAC7D,aAAa;gBACb,KAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAO,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,yCAA0B,GAAhC,UACE,OAAe,EACf,OAAe,EACf,KAAa;;;;;;wBAET,UAAU,GAAS,EAAE,CAAC;wBACtB,GAAG,GAAS,EAAE,CAAC;wBACf,QAAQ,GAAG,CAAC,CAAC;;;wBAET,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;wBAEG,qBAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CACrD,IAAI,CAAC,gBAAgB,EACrB,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,KAAK,OAAA,EAAE,EAC3B,MAAM,CACP,EAAA;;wBAJD,GAAG,GAAG,SAIL,CAAC;wBACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC3B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,CAAC,EAAE,CAAC,KAAK,EAAT,CAAS,CAAC,CAAC;yBAC5C;wBACD,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,KAAK,EAAR,CAAQ,CAAC,CAAC,CAAC,CAAC,6BAA6B;;;4BACxF,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB;;;wBAChE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBAC/C,sBAAO,QAAQ,EAAC;;;;KACjB;IAEK,gCAAiB,GAAvB,UAAwB,OAAe,EAAE,KAAa;;;;;;wBAC9C,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACpC,OAAO,SAAA;4BACP,KAAK,OAAA;4BACL,SAAS,EAAE,IAAI;yBAChB,CAAC,CAAC;wBAEH,IAAI,CAAC,MAAM,EAAE;4BACX,sBAAO;yBACR;wBAEa,qBAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAA;;wBAAjE,KAAK,GAAG,SAAyD;wBAEvE,8BAA8B;wBAC9B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;4BAC7C,sBAAO;yBACR;wBAED,8DAA8D;wBAC9D,mBAAmB;wBACnB,yDAAyD;wBACzD,gEAAgE;wBAEhE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BACrB,OAAO,SAAA;4BACP,KAAK,OAAA;yBACN,CAAC,CAAC;;;;;KACJ;IACH,WAAC;AAAD,CAAC,AA9cD,CAAmB,yBAAY,GA8c9B;AAED,qBAAe,IAAI,CAAC"}