@metamask-previews/assets-controller 10.2.0-preview-2263d69 → 10.2.0-preview-cab0b56bc
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/CHANGELOG.md +6 -0
- package/dist/AssetsController.cjs +16 -3
- package/dist/AssetsController.cjs.map +1 -1
- package/dist/AssetsController.d.cts +4 -2
- package/dist/AssetsController.d.cts.map +1 -1
- package/dist/AssetsController.d.mts +4 -2
- package/dist/AssetsController.d.mts.map +1 -1
- package/dist/AssetsController.mjs +16 -3
- package/dist/AssetsController.mjs.map +1 -1
- package/dist/data-sources/SnapDataSource.cjs +32 -2
- package/dist/data-sources/SnapDataSource.cjs.map +1 -1
- package/dist/data-sources/SnapDataSource.d.cts +8 -1
- package/dist/data-sources/SnapDataSource.d.cts.map +1 -1
- package/dist/data-sources/SnapDataSource.d.mts +8 -1
- package/dist/data-sources/SnapDataSource.d.mts.map +1 -1
- package/dist/data-sources/SnapDataSource.mjs +32 -2
- package/dist/data-sources/SnapDataSource.mjs.map +1 -1
- package/dist/data-sources/index.cjs.map +1 -1
- package/dist/data-sources/index.d.cts +1 -1
- package/dist/data-sources/index.d.cts.map +1 -1
- package/dist/data-sources/index.d.mts +1 -1
- package/dist/data-sources/index.d.mts.map +1 -1
- package/dist/data-sources/index.mjs.map +1 -1
- package/dist/data-sources/stellar.cjs +50 -0
- package/dist/data-sources/stellar.cjs.map +1 -0
- package/dist/data-sources/stellar.d.cts +44 -0
- package/dist/data-sources/stellar.d.cts.map +1 -0
- package/dist/data-sources/stellar.d.mts +44 -0
- package/dist/data-sources/stellar.d.mts.map +1 -0
- package/dist/data-sources/stellar.mjs +44 -0
- package/dist/data-sources/stellar.mjs.map +1 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +2 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +2 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Add Stellar-only snap account-asset enrichment ([9455] (https://github.com/MetaMask/core/pull/9455))
|
|
13
|
+
- Add optional `snapDataSourceConfig.isStellarEnabled` getter to `AssetsControllerOptions` so clients can enable or disable Stellar snap `getAccountAssetInfo` enrichment at runtime (defaults to disabled)
|
|
14
|
+
- Add Stellar-only snap account-asset enrichment on `SnapDataSource.fetch` when `isStellarEnabled` is true: trustline fields from `getAccountAssetInfo` are attached to matching `stellar:pubnet` native and trustline balance rows under `metadata` on `FungibleAssetBalance`; balance push events (`AccountsController:accountBalancesUpdated`) pass amounts through without enrichment — clients should call `getAssets` after trustline-related snap events (e.g. `AccountsController:accountAssetListUpdated`)
|
|
15
|
+
|
|
10
16
|
## [10.2.0]
|
|
11
17
|
|
|
12
18
|
### Added
|
|
@@ -199,6 +199,12 @@ function normalizeResponse(response) {
|
|
|
199
199
|
}
|
|
200
200
|
return normalized;
|
|
201
201
|
}
|
|
202
|
+
function mergeBalanceEntry(previous, incoming) {
|
|
203
|
+
return {
|
|
204
|
+
...(previous ?? { amount: '0' }),
|
|
205
|
+
...incoming,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
202
208
|
/**
|
|
203
209
|
* Merge account balances from a data-source response into prior state.
|
|
204
210
|
*
|
|
@@ -211,7 +217,11 @@ function normalizeResponse(response) {
|
|
|
211
217
|
*/
|
|
212
218
|
function mergeAccountBalances(previousBalances, accountBalances, customAssetIds, replaceCoveredChains) {
|
|
213
219
|
if (!replaceCoveredChains) {
|
|
214
|
-
|
|
220
|
+
const next = { ...previousBalances };
|
|
221
|
+
for (const [assetId, balance] of Object.entries(accountBalances)) {
|
|
222
|
+
next[assetId] = mergeBalanceEntry(previousBalances[assetId], balance);
|
|
223
|
+
}
|
|
224
|
+
return next;
|
|
215
225
|
}
|
|
216
226
|
const coveredChains = new Set(Object.keys(accountBalances).map((assetId) => assetId.split('/')[0]));
|
|
217
227
|
const next = {};
|
|
@@ -220,7 +230,9 @@ function mergeAccountBalances(previousBalances, accountBalances, customAssetIds,
|
|
|
220
230
|
next[assetId] = balance;
|
|
221
231
|
}
|
|
222
232
|
}
|
|
223
|
-
Object.
|
|
233
|
+
for (const [assetId, balance] of Object.entries(accountBalances)) {
|
|
234
|
+
next[assetId] = mergeBalanceEntry(previousBalances[assetId], balance);
|
|
235
|
+
}
|
|
224
236
|
for (const customId of customAssetIds) {
|
|
225
237
|
if (!Object.prototype.hasOwnProperty.call(next, customId)) {
|
|
226
238
|
const prev = previousBalances[customId];
|
|
@@ -260,7 +272,7 @@ function mergeAccountBalances(previousBalances, accountBalances, customAssetIds,
|
|
|
260
272
|
* - The controller does NOT manage polling - it simply receives pushed updates
|
|
261
273
|
*/
|
|
262
274
|
class AssetsController extends base_controller_1.BaseController {
|
|
263
|
-
constructor({ messenger, state = {}, defaultUpdateInterval = DEFAULT_POLLING_INTERVAL_MS, isEnabled = () => true, isBasicFunctionality, subscribeToBasicFunctionalityChange, queryApiClient, rpcDataSourceConfig, trace, captureException, accountsApiDataSourceConfig, priceDataSourceConfig, stakedBalanceDataSourceConfig, isOnboarded, tempMigrateAssetsInfoMetadataAssets3346, }) {
|
|
275
|
+
constructor({ messenger, state = {}, defaultUpdateInterval = DEFAULT_POLLING_INTERVAL_MS, isEnabled = () => true, isBasicFunctionality, subscribeToBasicFunctionalityChange, queryApiClient, rpcDataSourceConfig, trace, captureException, accountsApiDataSourceConfig, priceDataSourceConfig, stakedBalanceDataSourceConfig, snapDataSourceConfig, isOnboarded, tempMigrateAssetsInfoMetadataAssets3346, }) {
|
|
264
276
|
super({
|
|
265
277
|
name: CONTROLLER_NAME,
|
|
266
278
|
messenger,
|
|
@@ -362,6 +374,7 @@ class AssetsController extends base_controller_1.BaseController {
|
|
|
362
374
|
__classPrivateFieldSet(this, _AssetsController_snapDataSource, new SnapDataSource_1.SnapDataSource({
|
|
363
375
|
messenger: this.messenger,
|
|
364
376
|
onActiveChainsUpdated: __classPrivateFieldGet(this, _AssetsController_onActiveChainsUpdated, "f"),
|
|
377
|
+
...snapDataSourceConfig,
|
|
365
378
|
}), "f");
|
|
366
379
|
__classPrivateFieldSet(this, _AssetsController_rpcDataSource, new RpcDataSource_1.RpcDataSource({
|
|
367
380
|
messenger: this.messenger,
|