@cardano-sdk/wallet 0.11.0-nightly.8 → 0.11.2-patch.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.
- package/dist/cjs/services/AssetsTracker.d.ts +1 -1
- package/dist/cjs/services/AssetsTracker.d.ts.map +1 -1
- package/dist/cjs/services/AssetsTracker.js +15 -23
- package/dist/cjs/services/AssetsTracker.js.map +1 -1
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts +0 -1
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -1
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js +0 -1
- package/dist/cjs/services/ProviderTracker/TrackedAssetProvider.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/services/AssetsTracker.d.ts +1 -1
- package/dist/esm/services/AssetsTracker.d.ts.map +1 -1
- package/dist/esm/services/AssetsTracker.js +16 -21
- package/dist/esm/services/AssetsTracker.js.map +1 -1
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts +0 -1
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.d.ts.map +1 -1
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js +0 -1
- package/dist/esm/services/ProviderTracker/TrackedAssetProvider.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
|
@@ -4,7 +4,7 @@ import { Logger } from 'ts-log';
|
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
import { RetryBackoffConfig } from 'backoff-rxjs';
|
|
6
6
|
import { TrackedAssetProvider } from './ProviderTracker';
|
|
7
|
-
export declare const createAssetService: (assetProvider: TrackedAssetProvider, retryBackoffConfig: RetryBackoffConfig, onFatalError?: ((value: unknown) => void) | undefined) => (
|
|
7
|
+
export declare const createAssetService: (assetProvider: TrackedAssetProvider, retryBackoffConfig: RetryBackoffConfig, onFatalError?: ((value: unknown) => void) | undefined) => (assetId: Cardano.AssetId) => Observable<Asset.AssetInfo>;
|
|
8
8
|
export declare type AssetService = ReturnType<typeof createAssetService>;
|
|
9
9
|
export interface AssetsTrackerProps {
|
|
10
10
|
balanceTracker: BalanceTracker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsTracker.d.ts","sourceRoot":"","sources":["../../../src/services/AssetsTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"AssetsTracker.d.ts","sourceRoot":"","sources":["../../../src/services/AssetsTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAA+D,MAAM,MAAM,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD,eAAO,MAAM,kBAAkB,kBAEZ,oBAAoB,sBACf,kBAAkB,0BACf,OAAO,KAAK,IAAI,4BAE/B,QAAQ,OAAO,gCAQrB,CAAC;AACP,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,oBAAoB,CAAC;IACpC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,UAAU,sBAAsB;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,eAAO,MAAM,mBAAmB,gFAC+C,kBAAkB,qBACP,sBAAsB,sDAyC5G,CAAC"}
|
|
@@ -1,35 +1,30 @@
|
|
|
1
|
-
import { Observable, combineLatest, distinctUntilChanged, map,
|
|
1
|
+
import { Observable, combineLatest, distinctUntilChanged, map, mergeMap, of, tap } from 'rxjs';
|
|
2
2
|
import { coldObservableProvider } from './util';
|
|
3
|
-
import { concatAndCombineLatest } from '@cardano-sdk/util-rxjs';
|
|
4
3
|
import { deepEquals } from '@cardano-sdk/util';
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const ASSET_INFO_FETCH_CHUNK_SIZE = 100;
|
|
8
|
-
export const createAssetService = (assetProvider, retryBackoffConfig, onFatalError) => (assetIds) => concatAndCombineLatest(chunk(assetIds, ASSET_INFO_FETCH_CHUNK_SIZE).map((assetIdsChunk) => coldObservableProvider({
|
|
4
|
+
const isAssetInfoComplete = (assetInfo) => assetInfo.nftMetadata !== undefined && assetInfo.tokenMetadata !== undefined;
|
|
5
|
+
export const createAssetService = (assetProvider, retryBackoffConfig, onFatalError) => (assetId) => coldObservableProvider({
|
|
9
6
|
onFatalError,
|
|
10
7
|
pollUntil: isAssetInfoComplete,
|
|
11
|
-
provider: () => assetProvider.
|
|
12
|
-
assetIds: assetIdsChunk,
|
|
13
|
-
extraData: { nftMetadata: true, tokenMetadata: true }
|
|
14
|
-
}),
|
|
8
|
+
provider: () => assetProvider.getAsset({ assetId, extraData: { history: false, nftMetadata: true, tokenMetadata: true } }),
|
|
15
9
|
retryBackoffConfig,
|
|
16
10
|
trigger$: of(true)
|
|
17
|
-
})
|
|
11
|
+
});
|
|
18
12
|
export const createAssetsTracker = ({ assetProvider, balanceTracker, retryBackoffConfig, logger, onFatalError }, { assetService = createAssetService(assetProvider, retryBackoffConfig, onFatalError) } = {}) => new Observable((subscriber) => {
|
|
19
13
|
let assetsMap = new Map();
|
|
20
14
|
const sub = balanceTracker.utxo.total$
|
|
21
15
|
.pipe(map(({ assets }) => [...(assets?.keys() || [])]), distinctUntilChanged(deepEquals), tap((assetIds) => logger.debug(assetIds.length > 0
|
|
22
16
|
? `Balance total assets: ${assetIds.length}`
|
|
23
|
-
: 'Setting assetProvider stats as initialized')), tap((assetIds) => assetIds.length === 0 && assetProvider.setStatInitialized(assetProvider.stats.getAsset$)),
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
return
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
: 'Setting assetProvider stats as initialized')), tap((assetIds) => assetIds.length === 0 && assetProvider.setStatInitialized(assetProvider.stats.getAsset$)), map((assetIds) => assetIds.map((assetId) => {
|
|
18
|
+
const assetInfo = assetsMap.get(assetId);
|
|
19
|
+
if (assetInfo && isAssetInfoComplete(assetInfo)) {
|
|
20
|
+
return of(assetInfo);
|
|
21
|
+
}
|
|
22
|
+
logger.debug('Fetching asset data for', assetId);
|
|
23
|
+
return assetService(assetId);
|
|
24
|
+
})), mergeMap((assetInfos) => {
|
|
25
|
+
if (assetInfos.length === 0)
|
|
26
|
+
return of([]);
|
|
27
|
+
return combineLatest(assetInfos);
|
|
33
28
|
}), tap((assetInfos) => logger.debug(`Got metadata for ${assetInfos.length} assets`)), map((assetInfos) => new Map(assetInfos.map((assetInfo) => [assetInfo.assetId, assetInfo]))), tap((v) => (assetsMap = v)))
|
|
34
29
|
.subscribe(subscriber);
|
|
35
30
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetsTracker.js","sourceRoot":"","sources":["../../../src/services/AssetsTracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"AssetsTracker.js","sourceRoot":"","sources":["../../../src/services/AssetsTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ export declare class TrackedAssetProvider extends ProviderTracker implements Ass
|
|
|
11
11
|
readonly stats: AssetProviderStats;
|
|
12
12
|
readonly healthCheck: AssetProvider['healthCheck'];
|
|
13
13
|
readonly getAsset: AssetProvider['getAsset'];
|
|
14
|
-
readonly getAssets: AssetProvider['getAssets'];
|
|
15
14
|
constructor(assetProvider: AssetProvider);
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=TrackedAssetProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackedAssetProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/TrackedAssetProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAkB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErF,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,YAAY,mCAAwD;IAC7E,QAAQ,CAAC,SAAS,mCAAwD;IAE1E,QAAQ;IAKR,KAAK;CAIN;AAKD,qBAAa,oBAAqB,SAAQ,eAAgB,YAAW,aAAa;IAChF,QAAQ,CAAC,KAAK,qBAA4B;IAC1C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TrackedAssetProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/TrackedAssetProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAkB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErF,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,YAAY,mCAAwD;IAC7E,QAAQ,CAAC,SAAS,mCAAwD;IAE1E,QAAQ;IAKR,KAAK;CAIN;AAKD,qBAAa,oBAAqB,SAAQ,eAAgB,YAAW,aAAa;IAChF,QAAQ,CAAC,KAAK,qBAA4B;IAC1C,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;gBAEjC,aAAa,EAAE,aAAa;CASzC"}
|
|
@@ -21,7 +21,6 @@ export class TrackedAssetProvider extends ProviderTracker {
|
|
|
21
21
|
assetProvider = assetProvider;
|
|
22
22
|
this.healthCheck = () => this.trackedCall(() => assetProvider.healthCheck(), this.stats.healthCheck$);
|
|
23
23
|
this.getAsset = ({ assetId, extraData }) => this.trackedCall(() => assetProvider.getAsset({ assetId, extraData }), this.stats.getAsset$);
|
|
24
|
-
this.getAssets = ({ assetIds, extraData }) => this.trackedCall(() => assetProvider.getAssets({ assetIds, extraData }), this.stats.getAsset$);
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
//# sourceMappingURL=TrackedAssetProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrackedAssetProvider.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/TrackedAssetProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,OAAO,kBAAkB;IAA/B;QACW,iBAAY,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;QACpE,cAAS,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;IAW5E,CAAC;IATC,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;CACF;AAKD,MAAM,OAAO,oBAAqB,SAAQ,eAAe;
|
|
1
|
+
{"version":3,"file":"TrackedAssetProvider.js","sourceRoot":"","sources":["../../../../src/services/ProviderTracker/TrackedAssetProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,cAAc,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErF,MAAM,OAAO,kBAAkB;IAA/B;QACW,iBAAY,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;QACpE,cAAS,GAAG,IAAI,eAAe,CAAkB,cAAc,CAAC,CAAC;IAW5E,CAAC;IATC,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;CACF;AAKD,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAKvD,YAAY,aAA4B;QACtC,KAAK,EAAE,CAAC;QALD,UAAK,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAMxC,aAAa,GAAG,aAAa,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEtG,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CACzC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjG,CAAC;CACF"}
|