@ledgerhq/coin-framework 6.19.0 → 6.20.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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-framework@6.19.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-framework
3
- > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
2
+ > @ledgerhq/coin-framework@6.20.0 build /home/runner/work/ledger-live/ledger-live/libs/coin-framework
3
+ > tsc --project tsconfig.build.json && tsc --project tsconfig.build.json -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,75 @@
1
1
  # @ledgerhq/coin-framework
2
2
 
3
+ ## 6.20.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#14445](https://github.com/LedgerHQ/ledger-live/pull/14445) [`ffb3c46`](https://github.com/LedgerHQ/ledger-live/commit/ffb3c46acd292b9ac0f46a2b84509d02775a5f20) Thanks [@qperrot](https://github.com/qperrot)! - Feature: LWM Speed up / Cancel Bitcoin transaction
8
+
9
+ - [#15166](https://github.com/LedgerHQ/ledger-live/pull/15166) [`17e1fb3`](https://github.com/LedgerHQ/ledger-live/commit/17e1fb3fdb92d6dab9af72adcbcde62bdd772a71) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): remove unused `assetInfo`
10
+
11
+ - [#15242](https://github.com/LedgerHQ/ledger-live/pull/15242) [`7038137`](https://github.com/LedgerHQ/ledger-live/commit/703813747349288325fdc661637644d980073b9d) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): move functions to `AlpacaApi`
12
+
13
+ - [#15155](https://github.com/LedgerHQ/ledger-live/pull/15155) [`164788e`](https://github.com/LedgerHQ/ledger-live/commit/164788e4a7e9c063d7769d44393708632854cb0a) Thanks [@jnicoulaud-ledger](https://github.com/jnicoulaud-ledger)! - chore(coin-framework): make `feesPayer` optional in `getBlock`
14
+
15
+ - [#15266](https://github.com/LedgerHQ/ledger-live/pull/15266) [`9f559e9`](https://github.com/LedgerHQ/ledger-live/commit/9f559e98a1af37073e0e79ee5bb54b4aaecfb8c4) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): pass currency id to `validateAddress`
16
+
17
+ - [#15237](https://github.com/LedgerHQ/ledger-live/pull/15237) [`312d92d`](https://github.com/LedgerHQ/ledger-live/commit/312d92dbd9d115a2ec6ad6628445c31d45806aea) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): duplicate `BroadcastConfig` inside coin framework
18
+
19
+ - [#15062](https://github.com/LedgerHQ/ledger-live/pull/15062) [`08ee941`](https://github.com/LedgerHQ/ledger-live/commit/08ee9414908ec1f7489493c98b9a823a20cce550) Thanks [@qperrot](https://github.com/qperrot)! - Feature: validateTransaction check before broadcast
20
+
21
+ - [#14274](https://github.com/LedgerHQ/ledger-live/pull/14274) [`173946c`](https://github.com/LedgerHQ/ledger-live/commit/173946ce652ffef216f04d82b680b14f5686500e) Thanks [@pvoliveira](https://github.com/pvoliveira)! - add Observable support for getAccountShape in makeSync (multi-emission: one updater per shape) and makeScanAccounts (first emission per index via take(1))
22
+
23
+ - [#13880](https://github.com/LedgerHQ/ledger-live/pull/13880) [`37bc15e`](https://github.com/LedgerHQ/ledger-live/commit/37bc15e245107ce1044f36b57d191552a77329e6) Thanks [@qperrot](https://github.com/qperrot)! - Feature LWD Bitcoin speedup and cancel hook
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies [[`c8d7be6`](https://github.com/LedgerHQ/ledger-live/commit/c8d7be6964aa9d8defd77de0b77ba7d42f472025), [`ffb3c46`](https://github.com/LedgerHQ/ledger-live/commit/ffb3c46acd292b9ac0f46a2b84509d02775a5f20), [`7cbfb7d`](https://github.com/LedgerHQ/ledger-live/commit/7cbfb7dd2d52ad8380ab4d37b02f63292699cd68), [`bfa4315`](https://github.com/LedgerHQ/ledger-live/commit/bfa4315d2f3b4b95c5a742ffd6e05272662f4550), [`75dfb86`](https://github.com/LedgerHQ/ledger-live/commit/75dfb86c871a026aa90136d0184637878d484484), [`e6f26e0`](https://github.com/LedgerHQ/ledger-live/commit/e6f26e0f475763aaf3271e2d4ed6cf36fb1f5060), [`42bf9b7`](https://github.com/LedgerHQ/ledger-live/commit/42bf9b7c40c04c7d2eeffba30b778be0b123bfd0), [`9f559e9`](https://github.com/LedgerHQ/ledger-live/commit/9f559e98a1af37073e0e79ee5bb54b4aaecfb8c4), [`fd24208`](https://github.com/LedgerHQ/ledger-live/commit/fd242082615ef0af25f0f5f96389b7406fc194dc), [`8cb2da1`](https://github.com/LedgerHQ/ledger-live/commit/8cb2da1f175f143666abcb66ef94bd230456846d), [`70f6288`](https://github.com/LedgerHQ/ledger-live/commit/70f6288597722a1e8fd6b5884d843f27be87e9d8), [`ad66568`](https://github.com/LedgerHQ/ledger-live/commit/ad66568fd9c96cfa08d11123a711e3fa79705f65), [`79f2f0e`](https://github.com/LedgerHQ/ledger-live/commit/79f2f0e3e8b8089664d2aee7c3dd25c7685aec2c), [`4cc02f3`](https://github.com/LedgerHQ/ledger-live/commit/4cc02f3c1ba0bdb93917b5427a375ab44cd5d208), [`37bc15e`](https://github.com/LedgerHQ/ledger-live/commit/37bc15e245107ce1044f36b57d191552a77329e6)]:
28
+ - @ledgerhq/cryptoassets@13.42.0
29
+ - @ledgerhq/devices@8.12.0
30
+ - @ledgerhq/errors@6.31.0
31
+ - @ledgerhq/logs@6.16.0
32
+ - @ledgerhq/types-cryptoassets@7.35.0
33
+ - @ledgerhq/types-live@6.101.0
34
+ - @ledgerhq/live-currency-format@0.6.0
35
+ - @ledgerhq/live-env@2.30.0
36
+ - @ledgerhq/live-network@2.4.1
37
+
38
+ ## 6.20.0-next.0
39
+
40
+ ### Minor Changes
41
+
42
+ - [#14445](https://github.com/LedgerHQ/ledger-live/pull/14445) [`ffb3c46`](https://github.com/LedgerHQ/ledger-live/commit/ffb3c46acd292b9ac0f46a2b84509d02775a5f20) Thanks [@qperrot](https://github.com/qperrot)! - Feature: LWM Speed up / Cancel Bitcoin transaction
43
+
44
+ - [#15166](https://github.com/LedgerHQ/ledger-live/pull/15166) [`17e1fb3`](https://github.com/LedgerHQ/ledger-live/commit/17e1fb3fdb92d6dab9af72adcbcde62bdd772a71) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): remove unused `assetInfo`
45
+
46
+ - [#15242](https://github.com/LedgerHQ/ledger-live/pull/15242) [`7038137`](https://github.com/LedgerHQ/ledger-live/commit/703813747349288325fdc661637644d980073b9d) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): move functions to `AlpacaApi`
47
+
48
+ - [#15155](https://github.com/LedgerHQ/ledger-live/pull/15155) [`164788e`](https://github.com/LedgerHQ/ledger-live/commit/164788e4a7e9c063d7769d44393708632854cb0a) Thanks [@jnicoulaud-ledger](https://github.com/jnicoulaud-ledger)! - chore(coin-framework): make `feesPayer` optional in `getBlock`
49
+
50
+ - [#15266](https://github.com/LedgerHQ/ledger-live/pull/15266) [`9f559e9`](https://github.com/LedgerHQ/ledger-live/commit/9f559e98a1af37073e0e79ee5bb54b4aaecfb8c4) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): pass currency id to `validateAddress`
51
+
52
+ - [#15237](https://github.com/LedgerHQ/ledger-live/pull/15237) [`312d92d`](https://github.com/LedgerHQ/ledger-live/commit/312d92dbd9d115a2ec6ad6628445c31d45806aea) Thanks [@francois-guerin-ledger](https://github.com/francois-guerin-ledger)! - refactor(coin-framework): duplicate `BroadcastConfig` inside coin framework
53
+
54
+ - [#15062](https://github.com/LedgerHQ/ledger-live/pull/15062) [`08ee941`](https://github.com/LedgerHQ/ledger-live/commit/08ee9414908ec1f7489493c98b9a823a20cce550) Thanks [@qperrot](https://github.com/qperrot)! - Feature: validateTransaction check before broadcast
55
+
56
+ - [#14274](https://github.com/LedgerHQ/ledger-live/pull/14274) [`173946c`](https://github.com/LedgerHQ/ledger-live/commit/173946ce652ffef216f04d82b680b14f5686500e) Thanks [@pvoliveira](https://github.com/pvoliveira)! - add Observable support for getAccountShape in makeSync (multi-emission: one updater per shape) and makeScanAccounts (first emission per index via take(1))
57
+
58
+ - [#13880](https://github.com/LedgerHQ/ledger-live/pull/13880) [`37bc15e`](https://github.com/LedgerHQ/ledger-live/commit/37bc15e245107ce1044f36b57d191552a77329e6) Thanks [@qperrot](https://github.com/qperrot)! - Feature LWD Bitcoin speedup and cancel hook
59
+
60
+ ### Patch Changes
61
+
62
+ - Updated dependencies [[`c8d7be6`](https://github.com/LedgerHQ/ledger-live/commit/c8d7be6964aa9d8defd77de0b77ba7d42f472025), [`ffb3c46`](https://github.com/LedgerHQ/ledger-live/commit/ffb3c46acd292b9ac0f46a2b84509d02775a5f20), [`7cbfb7d`](https://github.com/LedgerHQ/ledger-live/commit/7cbfb7dd2d52ad8380ab4d37b02f63292699cd68), [`bfa4315`](https://github.com/LedgerHQ/ledger-live/commit/bfa4315d2f3b4b95c5a742ffd6e05272662f4550), [`75dfb86`](https://github.com/LedgerHQ/ledger-live/commit/75dfb86c871a026aa90136d0184637878d484484), [`e6f26e0`](https://github.com/LedgerHQ/ledger-live/commit/e6f26e0f475763aaf3271e2d4ed6cf36fb1f5060), [`42bf9b7`](https://github.com/LedgerHQ/ledger-live/commit/42bf9b7c40c04c7d2eeffba30b778be0b123bfd0), [`9f559e9`](https://github.com/LedgerHQ/ledger-live/commit/9f559e98a1af37073e0e79ee5bb54b4aaecfb8c4), [`fd24208`](https://github.com/LedgerHQ/ledger-live/commit/fd242082615ef0af25f0f5f96389b7406fc194dc), [`8cb2da1`](https://github.com/LedgerHQ/ledger-live/commit/8cb2da1f175f143666abcb66ef94bd230456846d), [`70f6288`](https://github.com/LedgerHQ/ledger-live/commit/70f6288597722a1e8fd6b5884d843f27be87e9d8), [`ad66568`](https://github.com/LedgerHQ/ledger-live/commit/ad66568fd9c96cfa08d11123a711e3fa79705f65), [`79f2f0e`](https://github.com/LedgerHQ/ledger-live/commit/79f2f0e3e8b8089664d2aee7c3dd25c7685aec2c), [`4cc02f3`](https://github.com/LedgerHQ/ledger-live/commit/4cc02f3c1ba0bdb93917b5427a375ab44cd5d208), [`37bc15e`](https://github.com/LedgerHQ/ledger-live/commit/37bc15e245107ce1044f36b57d191552a77329e6)]:
63
+ - @ledgerhq/cryptoassets@13.42.0-next.0
64
+ - @ledgerhq/devices@8.12.0-next.0
65
+ - @ledgerhq/errors@6.31.0-next.0
66
+ - @ledgerhq/logs@6.16.0-next.0
67
+ - @ledgerhq/types-cryptoassets@7.35.0-next.0
68
+ - @ledgerhq/types-live@6.101.0-next.0
69
+ - @ledgerhq/live-currency-format@0.6.0-next.0
70
+ - @ledgerhq/live-env@2.30.0-next.0
71
+ - @ledgerhq/live-network@2.4.1-next.0
72
+
3
73
  ## 6.19.0
4
74
 
5
75
  ### Minor Changes
@@ -1,5 +1,17 @@
1
- import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
- import { BroadcastConfig, Operation as LiveOperation } from "@ledgerhq/types-live";
1
+ import type { TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
+ import type { Operation as LiveOperation } from "@ledgerhq/types-live";
3
+ export type BroadcastConfig = {
4
+ mevProtected: boolean;
5
+ sponsored?: boolean;
6
+ source?: TransactionSource;
7
+ };
8
+ /**
9
+ * TransactionSource identifies the origin of a transaction
10
+ */
11
+ export type TransactionSource = {
12
+ type: "dApp" | "live-app" | "coin-module" | "swap";
13
+ name: string;
14
+ };
3
15
  export type BlockInfo = {
4
16
  height: number;
5
17
  hash: string;
@@ -43,7 +55,6 @@ export type Operation<MemoType extends Memo = MemoNotSupported> = {
43
55
  * This can include things like status, error messages, swap info, etc.
44
56
  */
45
57
  details?: Record<string, unknown>;
46
- assetInfo?: AssetInfo;
47
58
  tx: {
48
59
  hash: string;
49
60
  block: BlockInfo;
@@ -96,7 +107,7 @@ export type BlockTransaction = {
96
107
  /** The fee amount paid for this transaction, in base unit of the network native coin, always positive or zero. */
97
108
  fees: bigint;
98
109
  /** The address that paid for this transaction's fees. */
99
- feesPayer: string;
110
+ feesPayer?: string;
100
111
  };
101
112
  /** An operation belonging to a {@link BlockTransaction}. */
102
113
  export type BlockOperation = TransferBlockOperation | OtherBlockOperation;
@@ -355,7 +366,7 @@ export type AccountInfo = {
355
366
  sequence: number;
356
367
  };
357
368
  export type AddressValidationCurrencyParameters = {
358
- currency: CryptoCurrency;
369
+ currencyId: string;
359
370
  networkId: number;
360
371
  };
361
372
  export type AlpacaApi<MemoType extends Memo = MemoNotSupported, TxDataType extends TxData = TxDataNotSupported> = {
@@ -530,6 +541,30 @@ export type AlpacaApi<MemoType extends Memo = MemoNotSupported, TxDataType exten
530
541
  * @throws if the transaction is rejected by the network (e.g., invalid signature, insufficient funds)
531
542
  */
532
543
  broadcast: (tx: string, broadcastConfig?: BroadcastConfig) => Promise<string>;
544
+ /**
545
+ * Validate a transaction intent.
546
+ *
547
+ * @param transactionIntent the transaction intent describing what the user wants to do
548
+ * @param balances current balances of the intent sender
549
+ * @param customFees optional custom fees to use instead of the default estimation
550
+ * @returns additional values the intent has been validated with, and optional errors/warnings
551
+ */
552
+ validateIntent: (transactionIntent: TransactionIntent<MemoType, TxDataType>, balances: Balance[], customFees?: FeeEstimation) => Promise<TransactionValidation>;
553
+ /**
554
+ * Get the next sequence number (nonce) for an address
555
+ *
556
+ * @param address the account address
557
+ * @returns the next usable sequence number
558
+ */
559
+ getNextSequence: (address: string) => Promise<bigint>;
560
+ /**
561
+ * Validate whether an address is well-formed for the blockchain.
562
+ *
563
+ * @param address the address to validate
564
+ * @param parameters currency-specific validation parameters
565
+ * @returns `true` if the address is valid, `false` otherwise
566
+ */
567
+ validateAddress: (address: string, parameters: Partial<AddressValidationCurrencyParameters>) => Promise<boolean>;
533
568
  };
534
569
  export type ChainSpecificRules = {
535
570
  getAccountShape: (address: string) => void;
@@ -537,15 +572,16 @@ export type ChainSpecificRules = {
537
572
  throwIfPendingOperation?: boolean;
538
573
  };
539
574
  };
540
- export type BridgeApi<MemoType extends Memo = MemoNotSupported, TxDataType extends TxData = TxDataNotSupported> = {
541
- validateIntent: (transactionIntent: TransactionIntent<MemoType, TxDataType>, balances: Balance[], customFees?: FeeEstimation) => Promise<TransactionValidation>;
542
- getSequence: (address: string) => Promise<bigint>;
575
+ export type BridgeApi = {
543
576
  getChainSpecificRules?: () => ChainSpecificRules;
544
577
  getTokenFromAsset?: (asset: AssetInfo) => Promise<TokenCurrency | undefined>;
545
578
  getAssetFromToken?: (token: TokenCurrency, owner: string) => AssetInfo;
546
579
  computeIntentType?: (transaction: Record<string, unknown>) => string;
547
580
  refreshOperations?: (operations: LiveOperation[]) => Promise<LiveOperation[]>;
581
+ validateTransaction?: (signature: string) => Promise<{
582
+ error: Error | undefined;
583
+ }>;
548
584
  };
549
- export type Api<MemoType extends Memo = MemoNotSupported, TxDataType extends TxData = TxDataNotSupported> = AlpacaApi<MemoType, TxDataType> & BridgeApi<MemoType, TxDataType>;
585
+ export type Api<MemoType extends Memo = MemoNotSupported, TxDataType extends TxData = TxDataNotSupported> = AlpacaApi<MemoType, TxDataType> & BridgeApi;
550
586
  export {};
551
587
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -29,17 +29,18 @@ export type AccountShapeInfo<A extends Account = Account> = {
29
29
  deviceId?: string;
30
30
  };
31
31
  export type GetAccountShape<A extends Account = Account> = (accountShape: AccountShapeInfo<A>, config: SyncConfig) => Promise<Partial<A>>;
32
+ export type GetAccountShapeStream<A extends Account = Account> = (accountShape: AccountShapeInfo<A>, config: SyncConfig) => Observable<Partial<A>>;
32
33
  export declare const sameOp: (a: Operation, b: Operation) => boolean;
33
34
  export declare function mergeOps(existing: Operation[], // existing operations. sorted (newer to older). deduped.
34
35
  newFetched: Operation[]): Operation[];
35
36
  export declare const mergeNfts: (oldNfts: ProtoNFT[], newNfts: ProtoNFT[]) => ProtoNFT[];
36
37
  export declare const makeSync: <T extends TransactionCommon = TransactionCommon, A extends Account = Account, U extends TransactionStatusCommon = TransactionStatusCommon, O extends Operation = Operation, R extends AccountRaw = AccountRaw>({ getAccountShape, postSync, shouldMergeOps, }: {
37
- getAccountShape: GetAccountShape<A>;
38
+ getAccountShape: GetAccountShape<A> | GetAccountShapeStream<A>;
38
39
  postSync?: (initial: A, synced: A) => A;
39
40
  shouldMergeOps?: boolean;
40
41
  }) => AccountBridge<T, A, U, O, R>["sync"];
41
42
  export declare const makeScanAccounts: <A extends Account = Account>({ getAccountShape, buildIterateResult, getAddressFn, postSync, }: {
42
- getAccountShape: GetAccountShape<A>;
43
+ getAccountShape: GetAccountShape<A> | GetAccountShapeStream<A>;
43
44
  buildIterateResult?: IterateResultBuilder;
44
45
  getAddressFn: GetAddressFn;
45
46
  postSync?: (initial: A, synced: A) => A;
@@ -1 +1 @@
1
- {"version":3,"file":"jsHelpers.d.ts","sourceRoot":"","sources":["../../src/bridge/jsHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsHelpers.d.ts","sourceRoot":"","sources":["../../src/bridge/jsHelpers.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,20 @@ const pending_1 = require("../account/pending");
23
23
  const support_1 = require("../account/support");
24
24
  const errors_2 = require("../errors");
25
25
  const getAddressWrapper_1 = __importDefault(require("./getAddressWrapper"));
26
+ /**
27
+ * Normalizes a Promise or Observable to an Observable.
28
+ * This helper function allows the framework to handle both Promise-based
29
+ * and Observable-based getAccountShape implementations uniformly.
30
+ *
31
+ * @param value - Either a Promise or Observable
32
+ * @returns An Observable
33
+ */
34
+ function normalizeToObservable(value) {
35
+ if ((0, rxjs_1.isObservable)(value)) {
36
+ return value;
37
+ }
38
+ return (0, rxjs_1.from)(value);
39
+ }
26
40
  // compare that two dates are roughly the same date in order to update the case it would have drastically changed
27
41
  const sameDate = (a, b) => Math.abs(a.getTime() - b.getTime()) < 1000 * 60 * 30;
28
42
  // an operation is relatively immutable, however we saw that sometimes it can temporarily change due to reorg,..
@@ -111,6 +125,8 @@ const getCustomDataFromAccountId = (accountId) => {
111
125
  }
112
126
  };
113
127
  const makeSync = ({ getAccountShape, postSync = (_, a) => a, shouldMergeOps = true, }) => (initial, syncConfig) => new rxjs_1.Observable((o) => {
128
+ let innerSub = null;
129
+ let cancelled = false;
114
130
  async function main() {
115
131
  const customData = getCustomDataFromAccountId(initial.id);
116
132
  const accountId = (0, account_1.encodeAccountId)({
@@ -124,7 +140,7 @@ const makeSync = ({ getAccountShape, postSync = (_, a) => a, shouldMergeOps = tr
124
140
  const needClear = initial.id !== accountId;
125
141
  try {
126
142
  const freshAddressPath = (0, derivation_1.getSeedIdentifierDerivation)(initial.currency, initial.derivationMode);
127
- const shape = await getAccountShape({
143
+ const shapeResult = getAccountShape({
128
144
  currency: initial.currency,
129
145
  index: initial.index,
130
146
  address: initial.freshAddress,
@@ -132,9 +148,10 @@ const makeSync = ({ getAccountShape, postSync = (_, a) => a, shouldMergeOps = tr
132
148
  derivationMode: initial.derivationMode,
133
149
  initialAccount: needClear ? (0, account_1.clearAccount)(initial) : initial,
134
150
  }, syncConfig);
135
- const updater = (acc) => {
151
+ const shape$ = normalizeToObservable(shapeResult);
152
+ const updater = (shape) => (acc) => {
136
153
  let a = acc; // a is a immutable version of Account, based on acc
137
- if (needClear) {
154
+ if (needClear && acc.id !== accountId) {
138
155
  a = (0, account_1.clearAccount)(acc);
139
156
  }
140
157
  // FIXME reconsider doing mergeOps here. work is redundant for impl like eth
@@ -158,14 +175,36 @@ const makeSync = ({ getAccountShape, postSync = (_, a) => a, shouldMergeOps = tr
158
175
  }
159
176
  return a;
160
177
  };
161
- o.next(updater);
162
- o.complete();
178
+ const observer = {
179
+ next: shape => {
180
+ if (!cancelled)
181
+ o.next(updater(shape));
182
+ },
183
+ complete: () => {
184
+ if (!cancelled)
185
+ o.complete();
186
+ },
187
+ error: e => {
188
+ if (!cancelled)
189
+ o.error(e);
190
+ },
191
+ };
192
+ innerSub = shape$.subscribe(observer);
193
+ if (cancelled) {
194
+ innerSub.unsubscribe();
195
+ return;
196
+ }
163
197
  }
164
198
  catch (e) {
165
- o.error(e);
199
+ if (!cancelled)
200
+ o.error(e);
166
201
  }
167
202
  }
168
203
  main();
204
+ return () => {
205
+ cancelled = true;
206
+ innerSub?.unsubscribe();
207
+ };
169
208
  });
170
209
  exports.makeSync = makeSync;
171
210
  const defaultIterateResultBuilder = (getAddressFn) => () => Promise.resolve(async ({ index, derivationsCache, derivationScheme, derivationMode, currency, deviceId, }) => {
@@ -183,20 +222,23 @@ const defaultIterateResultBuilder = (getAddressFn) => () => Promise.resolve(asyn
183
222
  }
184
223
  return res;
185
224
  });
186
- const makeScanAccounts = ({ getAccountShape, buildIterateResult, getAddressFn, postSync = (_, a) => a, }) => ({ currency, deviceId, syncConfig, scheme }) => new rxjs_1.Observable((o) => {
225
+ const makeScanAccounts = ({ getAccountShape, buildIterateResult, getAddressFn, postSync = (_, a) => a, }) => ({ currency, deviceId, syncConfig, scheme }) => new rxjs_1.Observable((outerObs) => {
187
226
  if (buildIterateResult === undefined) {
188
227
  buildIterateResult = defaultIterateResultBuilder(getAddressFn);
189
228
  }
190
229
  let finished = false;
230
+ const teardown$ = new rxjs_1.Subject();
191
231
  const unsubscribe = () => {
232
+ teardown$.next();
233
+ teardown$.complete();
192
234
  finished = true;
193
235
  };
194
236
  const derivationsCache = {};
195
- async function stepAccount(index, res, derivationMode, seedIdentifier) {
237
+ function stepAccount(index, res, derivationMode, seedIdentifier) {
196
238
  if (finished)
197
- return;
239
+ return (0, rxjs_1.of)(null);
198
240
  const { address, path: freshAddressPath, ...rest } = res;
199
- const accountShape = await getAccountShape({
241
+ const accountShapeResult = getAccountShape({
200
242
  currency,
201
243
  index,
202
244
  address,
@@ -205,70 +247,62 @@ const makeScanAccounts = ({ getAccountShape, buildIterateResult, getAddressFn, p
205
247
  rest,
206
248
  deviceId,
207
249
  }, syncConfig);
208
- if (finished)
209
- return;
210
- const freshAddress = address;
211
- const operations = accountShape.operations || [];
212
- const operationsCount = accountShape.operationsCount || operations.length;
213
- const creationDate = operations.length > 0 ? operations[operations.length - 1].date : new Date();
214
- const balance = accountShape.balance || new bignumber_js_1.BigNumber(0);
215
- const spendableBalance = accountShape.spendableBalance || new bignumber_js_1.BigNumber(0);
216
- if (!accountShape.id)
217
- throw new Error("account ID must be provided");
218
- if (balance.isNaN())
219
- throw new Error("invalid balance NaN");
220
- const initialAccount = {
221
- type: "Account",
222
- id: accountShape.id,
223
- seedIdentifier,
224
- freshAddress,
225
- freshAddressPath,
226
- derivationMode,
227
- used: false,
228
- index,
229
- currency,
230
- operationsCount,
231
- operations: [],
232
- swapHistory: [],
233
- pendingOperations: [],
234
- lastSyncDate: new Date(),
235
- creationDate,
236
- // overrides
237
- balance,
238
- spendableBalance,
239
- blockHeight: 0,
240
- balanceHistoryCache: account_1.emptyHistoryCache,
241
- };
242
- let account = { ...initialAccount, ...accountShape };
243
- if (account.balanceHistoryCache === account_1.emptyHistoryCache) {
244
- account.balanceHistoryCache = (0, balanceHistoryCache_1.generateHistoryFromOperations)(account);
245
- }
246
- if (accountShape.used === undefined) {
247
- account.used = !(0, account_1.isAccountEmpty)(account);
248
- }
249
- // Bitcoin needs to compute the freshAddressPath itself,
250
- // so we update it afterwards
251
- if (account?.freshAddressPath) {
252
- res.address = account.freshAddress;
253
- derivationsCache[account.freshAddressPath] = res;
254
- }
255
- // Temporary: we're going to remove transformations in postSync that should be done in getAccountShape
256
- // Using the generic doesn't resolve correctly
257
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
258
- account = postSync(initialAccount, account);
259
- (0, logs_1.log)("scanAccounts", "derivationsCache", res);
260
- (0, logs_1.log)("scanAccounts", `scanning ${currency.id} at ${freshAddressPath}: ${res.address} resulted of ${account ? `Account with ${account.operations.length} txs` : "no account"}`);
261
- if (!account)
262
- return;
263
- const showNewAccount = (0, support_1.shouldShowNewAccount)(currency, derivationMode);
264
- if (account.used || showNewAccount) {
265
- (0, logs_1.log)("debug", `Emit 'discovered' event for a new account found. AccountUsed: ${account.used} - showNewAccount: ${showNewAccount}`);
266
- o.next({
267
- type: "discovered",
268
- account,
269
- });
250
+ const accountShape$ = normalizeToObservable(accountShapeResult);
251
+ function accountShapePipe(accountShape) {
252
+ const freshAddress = address;
253
+ const operations = accountShape.operations || [];
254
+ const operationsCount = accountShape.operationsCount || operations.length;
255
+ const creationDate = operations.length > 0 ? operations[operations.length - 1].date : new Date();
256
+ const balance = accountShape.balance || new bignumber_js_1.BigNumber(0);
257
+ const spendableBalance = accountShape.spendableBalance || new bignumber_js_1.BigNumber(0);
258
+ if (!accountShape.id)
259
+ throw new Error("account ID must be provided");
260
+ if (balance.isNaN())
261
+ throw new Error("invalid balance NaN");
262
+ const initialAccount = {
263
+ type: "Account",
264
+ id: accountShape.id,
265
+ seedIdentifier,
266
+ freshAddress,
267
+ freshAddressPath,
268
+ derivationMode,
269
+ used: false,
270
+ index,
271
+ currency,
272
+ operationsCount,
273
+ operations: [],
274
+ swapHistory: [],
275
+ pendingOperations: [],
276
+ lastSyncDate: new Date(),
277
+ creationDate,
278
+ // overrides
279
+ balance,
280
+ spendableBalance,
281
+ blockHeight: 0,
282
+ balanceHistoryCache: account_1.emptyHistoryCache,
283
+ };
284
+ let account = { ...initialAccount, ...accountShape };
285
+ if (account.balanceHistoryCache === account_1.emptyHistoryCache) {
286
+ account.balanceHistoryCache = (0, balanceHistoryCache_1.generateHistoryFromOperations)(account);
287
+ }
288
+ if (accountShape.used === undefined) {
289
+ account.used = !(0, account_1.isAccountEmpty)(account);
290
+ }
291
+ // Bitcoin needs to compute the freshAddressPath itself,
292
+ // so we update it afterwards
293
+ if (account?.freshAddressPath) {
294
+ res.address = account.freshAddress;
295
+ derivationsCache[account.freshAddressPath] = res;
296
+ }
297
+ // Temporary: we're going to remove transformations in postSync that should be done in getAccountShape
298
+ // Using the generic doesn't resolve correctly
299
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
300
+ account = postSync(initialAccount, account);
301
+ (0, logs_1.log)("scanAccounts", "derivationsCache", res);
302
+ (0, logs_1.log)("scanAccounts", `scanning ${currency.id} at ${freshAddressPath}: ${res.address} resulted of ${account ? `Account with ${account.operations.length} txs` : "no account"}`);
303
+ return account;
270
304
  }
271
- return account;
305
+ return accountShape$.pipe((0, rxjs_1.takeUntil)(teardown$), (0, rxjs_1.map)(accountShapePipe));
272
306
  }
273
307
  async function main() {
274
308
  try {
@@ -337,18 +371,36 @@ const makeScanAccounts = ({ getAccountShape, buildIterateResult, getAddressFn, p
337
371
  });
338
372
  if (!res)
339
373
  break;
340
- const account = await stepAccount(index, res, derivationMode, seedIdentifier);
341
- if (account && !account.used) {
342
- if (emptyCount >= mandatoryEmptyAccountSkip)
343
- break;
344
- emptyCount++;
374
+ const account$ = stepAccount(index, res, derivationMode, seedIdentifier);
375
+ const account = await (0, rxjs_1.lastValueFrom)(account$.pipe((0, rxjs_1.takeLast)(1), (0, rxjs_1.defaultIfEmpty)(null)));
376
+ if (finished) {
377
+ (0, logs_1.log)("debug", `new account scanning process has been finished`);
378
+ break;
379
+ }
380
+ if (account) {
381
+ const showNewAccount = (0, support_1.shouldShowNewAccount)(currency, derivationMode);
382
+ if (account.used || showNewAccount) {
383
+ (0, logs_1.log)("debug", `Emit 'discovered' event for a new account found. AccountUsed: ${account.used} - showNewAccount: ${showNewAccount}`);
384
+ outerObs.next({
385
+ type: "discovered",
386
+ account,
387
+ });
388
+ }
389
+ if (!account.used) {
390
+ if (emptyCount >= mandatoryEmptyAccountSkip) {
391
+ break; // stop scanning indices for this derivation mode only
392
+ }
393
+ emptyCount++;
394
+ }
345
395
  }
346
396
  }
347
397
  }
348
- o.complete();
398
+ if (!finished) {
399
+ outerObs.complete();
400
+ }
349
401
  }
350
402
  catch (e) {
351
- o.error(e);
403
+ outerObs.error(e);
352
404
  }
353
405
  }
354
406
  main();